Commit graph

5576 commits

Author SHA1 Message Date
nobu
15fb1619e3 * doc/ChangeLog-1.9.3, test/gdbm/test_gdbm.rb: fixed mingw typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-28 02:40:28 +00:00
nobu
2f6d8bdc94 * st.c (st_update): new function to lookup the given key and
update the value.  [ruby-dev:44998]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-27 13:04:30 +00:00
mame
d0baa0dd52 * vm_core.h (struct rb_iseq_struct), compile.c (iseq_set_arguments), iseq.c (rb_iseq_parameters), vm_insnhelper.c (vm_callee_setup_arg_complex): support Method#parameters for keyword arguments. The provisional spec is what Benoit Daloze proposed. [ruby-core:40518]
* test/ruby/test_keyword.rb: add a test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-26 14:20:15 +00:00
mame
a0a2c144b8 * vm_core.h (struct rb_iseq_struct), compile.c (iseq_set_arguments, iseq_compile_each), vm_insnhelper.c (vm_callee_setup_arg_complex): implement keyword arguments. See [ruby-core:40290] The feature is promised to be included in 2.0, but the detail spec is still under discussion; this commit is a springboard for further discussion. Please try it and give us feedback. This commit includes fixes for some problems reported by Benoit Daloze <eregontp AT gmail.com> [ruby-core:40518] and Marc-Andre Lafortune <ruby-core-mailing-list AT marc-andre.ca> [ruby-core:41772].
* iseq.c (iseq_free, prepare_iseq_build): bookkeeping.

* test/ruby/test_keyword.rb: add tests for keyword arguments.

* test/ripper/dummyparser.rb (class DummyParser): temporal fix for
  ripper test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-26 14:20:09 +00:00
shirosaki
68fde4449a * io.c (rb_sys_fail_path): move the definition.
Move above for using it in set_binary_mode_with_seek_cur().

* io.c (set_binary_mode_with_seek_cur): fix improper seek cursor.
  Seeking file cursor with setting binary mode has possibility to
  cause infinite loop. Fixed the bug and refined error handling.
  Introduced at r34043.

  And cleanups as below.
  Remove unnecessary parentheses of `fptr`.
  Use return value of setmode().

* test/ruby/test_io_m17n.rb
  (TestIO_M17N#test_seek_with_setting_binmode): add a test for abobe.
  [ruby-core:41671] [Bug #5714]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-26 13:49:31 +00:00
usa
bec52ad787 * test/ruby/test_io.rb (TestIO#test_autoclose): Tempfile.new doesn't
accept the block argument.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-26 04:21:15 +00:00
sorah
38ade50140 * test/testunit/test_parallel.rb (test_separate): Test for "--separate"
option (r34121)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-25 14:17:28 +00:00
nobu
1dec79c324 * ext/readline/readline.c (readline_readline): check if outstream
is closed to get rid of a bug of readline 6.  [ruby-dev:45043]
  [Bug #5803]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-24 01:56:36 +00:00
nobu
8397134330 * test/readline/test_readline.rb (test_line_buffer__point): use
lambda not to exit entire method by "return".  or "next" for
  proc.  [ruby-dev:45042] [Bug #5802]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-23 21:59:54 +00:00
akr
dc42e8bbe8 refine message for test_thr_kill.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-23 07:55:39 +00:00
akr
e89bebdab4 * test/thread/test_queue.rb (test_thr_kill): show the number of loop
run when the test failed.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-23 01:15:35 +00:00
akr
8beb0d3587 * test/test_pty.rb (test_pty_check_default): call PTY.check until
"cat" command is finished.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-23 00:24:52 +00:00
akr
37b79d03a6 * test/test_pty.rb (test_pty_check_default): "cat" may not terminateed
in the 0.1 second.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-22 15:10:20 +00:00
naruse
92c5d84a40 Decrease timeout limit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-22 14:58:16 +00:00
akr
3be2c7db1e * test/ruby/test_thread.rb: don't test the maximum sleep time. Ruby
is not a real-time system.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-22 14:39:46 +00:00
naruse
afbcfdf961 Suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-22 09:48:50 +00:00
nobu
f9a4d5717c * ext/bigdecimal/bigdecimal.c (BigDecimal_s_allocate): follow
Allocation Framework.  [Bug #5775]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-21 03:35:27 +00:00
nobu
1c6226b67d * test/ruby/test_require.rb (test_race_exception): delete temporary library name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-20 20:37:43 +00:00
kazu
327ea26b59 * ext/bigdecimal/README: Update redmine.ruby-lang.org to bugs.ruby-lang.org
* ext/socket/ancdata.c: ditto
* test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb: ditto
* test/syck/test_yaml.rb: ditto
* doc/ChangeLog-1.9.3: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-20 16:09:17 +00:00
tadf
5aea2ad18c * ext/date/date_core.c: uses to_integer instead.
* test/date/test_switch_hitter.rb: added a test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-20 12:03:42 +00:00
nahi
be4f7bf512 * Make sure to clear $! when ignoring an exception
* ext/openssl/ossl.c (ossl_pem_passwd_cb0, ossl_verify_cb): 
  pem_passwd_cb and verify_cb ignores the exception raised in a 
  callback proc so it should clear $! for subsequent execution. 

  That's said, both subsequent processes for pem_passwd_cb and 
  verify_cb raises another exception before leaking $! to Ruby world.
  We cannot test this fix in Ruby land.

* test/openssl/test_pkey_rsa.rb
  (test_read_private_key_pem_pw_exception): Test for pem_passwd_cb + 
  exception.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-20 06:06:46 +00:00
nobu
0ead5c4983 * test/ruby/test_require.rb (test_race_exception): rewrote without
global attribute.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-20 05:57:53 +00:00
nobu
f26ee7454f * test/date/test_date_base.rb (test_jd): tests for
[ruby-dev:45008].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-20 02:49:15 +00:00
nobu
9c00c1234d * ext/bigdecimal/bigdecimal.c (Init_bigdecimal): does not follow
allocation framework right now.  [ruby-core:41710] [Bug #5773]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-18 05:34:34 +00:00
tenderlove
cf2bbc89d2 * ext/psych/lib/psych/visitors/to_ruby.rb: BigDecimals can be restored
from YAML.
* ext/psych/lib/psych/visitors/yaml_tree.rb: BigDecimals can be dumped
  to YAML.
* test/psych/test_numeric.rb: tests for BigDecimal serialization

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-18 03:44:09 +00:00
tenderlove
9f688d53c2 * ext/psych/lib/psych/scalar_scanner.rb: Strings that look like dates
should be treated as strings and not dates.

* test/psych/test_scalar_scanner.rb: corresponding tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-18 03:05:02 +00:00
nagachika
07fa1c9144 * test/thread/test_queue.rb (test_thr_kill): extend timeout.
this test takes a long time at slow machine.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-18 00:46:32 +00:00
nagachika
e9300c4a69 * test/ruby/envutil.rb (invoke_ruby): remove :timeout option before
pass it to Kernel#spawn.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-18 00:38:35 +00:00
nobu
73768d54d3 * io.c (argf_type): make typed data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-15 08:57:01 +00:00
nobu
9dccfb5513 * error.c (rb_check_typeddata): refine error message with
including expected struct name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-15 05:33:34 +00:00
naruse
57537ccb0e Use SIGINT to interrupt.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-15 04:29:20 +00:00
nobu
84dcc38273 * regcomp.c (onig_region_memsize): implemented for memsize_of().
* ext/objspace/objspace.c (memsize_of): use it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-15 04:15:54 +00:00
nobu
15f26afdf0 * array.c (rb_ary_reject_bang, rb_ary_delete_if): update rdoc.
documentation from Thomas Leitner <t_leitner AT gmx.at> in
  [ruby-core:41616].  [Bug #5752]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-15 01:44:58 +00:00
nobu
15a66805d8 * test/ruby/test_require.rb (test_race_exception): get rid of
not-guaranteed timing issue.  [ruby-core:41655] [Bug #5754]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-15 01:10:45 +00:00
usa
7c5105c120 * test/ruby/test_io_m17n.rb
(TestIO_M17N#test_{read_with_binmode_and_get[cs]}): only for Windows.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-14 12:59:45 +00:00
usa
0c6103cf50 * win32/win32.c, include/ruby/win32.h (rb_w32_fd_is_text): new function.
* win32/win32.c (init_stdhandle): set default mode of stdin as binmode.

* io.c (set_binary_mode_with_seek_cur): new function to replace
  SET_BINARY_MODE_WITH_SEEK_CUR macro.  now returns previous mode of the
  fd and take care of LF in rbuf.

* io.c (do_writeconv): set text mode when needed.

* io.c (io_read): need to change the mode of the IO to binmode
  temporally when the length for IO#read, because IO#read with length
  must behave so.

* test/ruby/test_io_m17n.rb (TestIO_M17N#est_{read_with_length,
  read_with_length_binmode,get[cs]_and_read_with_binmode,
  read_with_binmode_and_get[cs],read_write_with_binmode}): tests for
  above changes.

all patches are written by Hiroshi Shirosaki. [ruby-core:41496]
[Feature #5714]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-14 10:38:12 +00:00
naruse
8fbf055e33 Use pipe instead of $stdin.read.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-14 05:42:34 +00:00
naruse
23f9e74604 * thread_pthread.c (ubf_select): call rb_thread_wakeup_timer_thread()
only when it is not timer_thread. [Bug #5757] [ruby-dev:44985]
  patched by Tomoyuki Chikanaga.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-14 02:26:20 +00:00
naruse
24c3766624 The test added in r34034 needs to run thousands of times.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-14 02:26:17 +00:00
naruse
aa432d2334 FreeBSD 9.0 RC3 is now released.
See also r33677, r33967, and r33973.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-14 00:28:26 +00:00
naruse
8cec0d5653 Add test for [Bug #5343] [ruby-core:39634]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-14 00:23:43 +00:00
nobu
d62f56b041 * parse.y (primary): point method name line. [ruby-core:40936]
[Bug #5614]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-13 15:01:20 +00:00
nagachika
d61d9d5e8e * error.c (name_err_mesg_to_str): clear rb_thread_t::errinfo when
ignore exception under rb_protect().

* test/ruby/test_exception.rb (test_exception_in_name_error_to_str):
  add a corresponding test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-13 14:50:12 +00:00
nobu
ab6c8910f4 * load.c (load_unlock): all threads requiring one file should
share same loading barrier, so it must be kept alive while those
  are waiting on it.  [ruby-core:41618] [Bug #5754]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-13 07:13:31 +00:00
tenderlove
0cbec6027c * lib/webrick/httpresponse.rb (setup_header): 1xx responses
are allowed to have Keep-Alive connections.

* test/webrick/test_httpresponse.rb: corresponding test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-12 22:33:56 +00:00
tenderlove
6ef323d6f8 * lib/webrick/httpresponse.rb (setup_header): 204 and 304 responses
are allowed to have a Keep-Alive connection. [ruby-core:41581]

* test/webrick/test_httpresponse.rb: corresponding test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-12 22:15:31 +00:00
nobu
0f9662f366 * parse.y (parser_magic_comment): should pass the proper value.
[ruby-dev:44984][Bug #5753]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-12 21:29:53 +00:00
nobu
50ae8a8651 * vm_insnhelper.c (vm_yield_setup_block_args): splat single
argument if optinal arguments are defined not only mandatory or
  post arguments.  [ruby-core:41557] [Bug #5730]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-12 20:50:09 +00:00
shugo
900b4a6db6 * parse.y (stmt_or_begin): changed the error message for BEGIN not
at toplevel.  [ruby-dev:44963] [Bug #5738]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-12 13:43:56 +00:00
naruse
f2323dee14 Set yamler as syck.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-12 08:30:24 +00:00