Commit graph

5576 commits

Author SHA1 Message Date
nobu
00d61f1fe5 * vm_insnhelper.c (vm_call_method): __send__ can call protected
methods.  [ruby-core:24500]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-26 09:30:08 +00:00
nobu
c689ee1a89 * io.c (argf_eof): should not have reached EOF before trying to
read.  based on a patch by Heesob Park <phasis AT gmail.com> at
  [ruby-core:24559].  [ruby-core:24557]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-25 08:49:08 +00:00
nobu
d6ab828369 * complex.c (nucomp_hash), rational.c (nurat_hash): not to use
hash value of class so that equality against subclasses can
  work.  [ruby-dev:38850]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-25 04:44:36 +00:00
duerst
2886207584 * enc/trans/big5.trans, big5-hkscs-tbl.rb:
new Chinese BIG5-HKSCS transcoding (with Tatsuya Mizuno)

* test/ruby/test_transcode.rb: added tests for the above
  (with Tatsuya Mizuno)

* enc/big5.c: Added BIG5-HKSCS as a replicate encoding of BIG5
  (short term solution, needs more work; with Tatsuya Mizuno)

* tool/transcode-tblgen.rb: made 'pat' directly accessible in
  class StrSet


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-24 10:26:18 +00:00
shugo
9914a16ca9 * lib/net/imap.rb (idle): leaves IDLE in a ensure clause. a patch
from Eric Hodel.
* test/net/imap/test_imap.rb (setup, teardown): turn on
  Socket.do_not_reverse_lookup in tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-24 09:09:04 +00:00
shugo
4676ede3d1 * lib/net/imap.rb (resp_text_code): accepts response codes without
text.  [ruby-core:24194]
* lib/net/imap.rb (idle, idle_done): new methods for the IMAP4 IDLE
  command (RFC 2177).  Thanks, Eric Hodel.
* lib/net/imap.rb (format_date, format_datetime): new method to
  format IMAP-style date/datetime. Thanks, Eric Hodel.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-23 15:20:47 +00:00
matz
7a5d48f6ab * test/ruby/test_module.rb (TestModule#test_alias): warning
message updated.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-22 18:21:32 +00:00
matz
9ce6eb65bb * test/ruby/test_enum.rb (TestEnumerable#each): recursive join now
raises ArgumentError.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-22 17:53:56 +00:00
mame
31c561f66a * vm_core.h (struct rb_iseq_t): add a new field line_no. This field
represents line number from which the original code of the iseq
  starts.  [ruby-dev:38698]

* iseq.c, compile.c: ditto.

* parse.y: line number hack (for Proc#source_location) is no longer
  needed.

* test/ruby/test_settracefunc.rb: line number of set_trace_func is now
  compatible with 1.8's.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-22 13:37:26 +00:00
nobu
2e4ad56fc2 * test/ruby/test_rand.rb (test_big_seed): tests also instance methods.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-21 23:38:23 +00:00
mame
4516f623b8 * random.c (rand_init): array length of random seed was broken, which
causes memory error with srand(2**1000000-1).

* test/ruby/test_rand.c: test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-21 14:51:17 +00:00
suke
904abb1d9b * ext/win32ole/win32ole.c (vtdate2rbtime): VT_DATE variant object
is converted to Time object now. 

* test/win32ole/test_win32ole_variant.rb (test_s_new_with_nil,
  test_conversion_time2date, test_conversion_str2date,
  test_conversion_vt_date, test_set_value): ditto.

* ext/win32ole/win32ole.c (rbtime2vtdate): refactoring. 


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-21 07:27:08 +00:00
nobu
5a392c71db * compile.c (compile_dstr_fragments): reduced needless literal.
* parse.y (xstring, regexp, dsym, literal_concat, evstr2dstr):
  literal at the top of dstr is no longer needed if it is empty,
  since concatstrings and toregexp always create new strings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-20 10:01:05 +00:00
akr
666049981f Use UDP for sendmsg/recvmsg tests.
sendmsg/recvmsg doesn't work with SOCK_STREAM on Windows.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-19 08:53:11 +00:00
nobu
2737b90e36 * io.c (io_read): should taint the result. [ruby-dev:38826]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-19 08:32:44 +00:00
nobu
33fc55acef * vm_method.c (me_opts): fixed optimized method aliasing.
[ruby-dev:38824]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-19 02:00:27 +00:00
usa
828d7a368a * test_socket.rb (test_udp_server): cannot check the existance of sendmsg by
respond_to?.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-19 00:48:40 +00:00
akr
bdfe1c7f8e fix skip condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-17 22:28:28 +00:00
usa
229b4e4c37 * ext/socket/socket.c (socket_s_ip_address_list): drop inactive
adapters.

	* test/socket/test_{nonblock,addrinfo,socket}.rb: skip some tests on
	  Windows.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-17 13:40:59 +00:00
akr
0101958745 * array.c (recursive_hash): reject recursive key.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-17 07:49:06 +00:00
matz
ae487eda6e * array.c (recursive_join): raise ArgumentError for joining
recursive array.

* array.c (ary_join_1): ditto.

* test/ruby/test_array.rb (TestArray#test_join2): test updated for
  recursive join.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-17 02:04:37 +00:00
akr
6dc1fea552 remove test for recursive hash key. [ruby-core:22921]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-17 00:18:34 +00:00
suke
6d7ddc3b29 * test/win32ole/test_win32ole.rb (test_s_codepage_changed,
test_s_locale_set, test_s_locale_change): skip test if Japanese
  locale is not installed. [ruby-core:23806]
	
* test/win32ole/test_win32ole_variant.rb (test_conversion_str2cy):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-16 12:06:23 +00:00
nobu
415d5ebc2f * id.c (Init_id), vm.c (vm_exec): @#__ThrowState__ is no longer
used.  [ruby-dev:38760]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-16 09:28:12 +00:00
ko1
b5dd85f049 * vm_method.c (rb_alias): fix a case which try non-existing method alias.
* test/ruby/test_alias.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-16 08:44:23 +00:00
nobu
53163f8138 * io.c (io_reopen): discards read buffer. [ruby-core:24240]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-16 07:00:23 +00:00
nobu
eb9bc2d265 * random.c (rb_random_t): objectified. [EXPERIMENTAL]
[ruby-dev:30954]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-16 06:00:35 +00:00
naruse
ed55083246 Set tempfile name with literal.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-14 19:26:59 +00:00
nobu
9681409e36 * io.c (rb_io_initialize): check if the descriptor can be accessed
in the specified open mode.  [ruby-dev:38571]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-14 07:13:11 +00:00
naruse
5cc1edcd0d Follow tests for changes of ENV's encoding.
* test/ruby/test_m17n.rb (TestM17N#test_env): the encoding of ENV
  is now locale encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-13 16:32:00 +00:00
yugui
d41195a3bc * test/ruby/test_case.rb (TestCase#test_deoptimization):
test for [ruby-core:23190].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-13 15:47:20 +00:00
yugui
7287b852da * lib/prime.rb (Prime#prime_division): now decomposes
negative integer into a decomposition with element [-1, 1].

* test/test_prime.rb: test for it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-13 13:51:49 +00:00
naruse
cb7075a6a2 * test/ruby/test_io_m17n.rb (test_strip_bom): added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-11 05:46:36 +00:00
nobu
38867cc115 * array.c (ary_join_1): should recurse for element array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-10 15:11:43 +00:00
kouji
257c314fbb * ext/readline/extconf.rb: checked rl_refresh_line in readline.
* ext/readline/readline.c (readline_s_refresh_line): add new
  method, a patch from Koichiro Ohba. see [ruby-list:45922].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-10 13:03:40 +00:00
kouji
89fd521319 * ext/readline/extconf.rb: checked rl_line_buffer and rl_point in
readline.

* ext/readline/readline.c (readline_s_get_line_buffer): new method.
  (readline_s_get_point): new method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-10 12:13:18 +00:00
nobu
5d8b373b05 * test/ruby/test_array.rb (test_join2): fixed typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-10 11:41:27 +00:00
nobu
af8f8e5b0e * array.c (recursive_join): use obj to tell if recursion occurs.
[ruby-core:24150]

* enum.c (enum_join): reverted r23966.  [ruby-core:24196]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-10 07:30:08 +00:00
naruse
5e2a28d13d Add test for marshaling regexp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-10 05:51:28 +00:00
nobu
bee49b3494 * vm_insnhelper.c (vm_search_superclass): checks for implicit
argument passing before method search.  [ruby-core:24244]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-10 01:25:26 +00:00
nobu
ca93e00559 * file.c (rb_file_s_basename): returns new string instead of
shared string from FilePathStringValue().  [ruby-core:24199]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-08 07:47:09 +00:00
nobu
e895bc3cdb * enum.c (rb_enum_join): non-nil separator must be convertible to
String.  [ruby-core:24172]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-07 04:34:34 +00:00
nobu
06b9094f96 * proc.c (make_curry_proc): should propagate lambda-ness.
[ruby-core:24127]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-06 00:31:55 +00:00
matz
ed86848563 * test/ruby/test_module.rb (TestModule#test_undef): adjust to
message change.

* test/ruby/test_object.rb (TestObject#test_redefine_method_which_may_case_serious_problem): ditto.

* test/ruby/test_object.rb (TestObject#test_remove_method): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-06 00:15:29 +00:00
nobu
7c3fff4f54 * enum.c (enum_join): deals with self recursive objects to get rid
of infinite recursion.  [ruby-core:24150]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-06 00:09:59 +00:00
nobu
b35d1e714c * thread.c (rb_threadptr_exec_event_hooks): new function to
execute event hooks, with preserving errinfo.  [ruby-core:24118]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-05 05:04:41 +00:00
nobu
918fefb7f7 * vm_insnhelper.c (vm_yield_setup_block_args): restores the first
arg where is overwritten at funcall.  [ruby-core:24139]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-04 23:08:32 +00:00
tadf
0d2d098660 * complex.c (nucomp_equal_p): removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-03 12:31:26 +00:00
tadf
bac1841a93 * rational.c: renamed equal_p to eqeq_p.
* complex.c: ditto.

	* complex.c (nucomp_equal_p): added.
	  Complex(NaN).equal?(Complex(NaN)) should return true.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-03 12:19:54 +00:00
tadf
b61ab11f49 * complex.c: undef-ed shome methods. [ruby-core:24110]
* complex.c (Numeric#arg): NaN for NaN.  [ruby-core:24116]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-03 10:50:17 +00:00