12323 Commits

Author SHA1 Message Date
matz
a8a1114efe * ext/openssl/openssl_missing.c (HMAC_CTX_copy): adopted to
prototype change in openssl bundled with newer OpenBSD.
  a patch from Takahiro Kambe <taca at back-street.net> in
  [ruby-dev:34691].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 09:44:38 +00:00
nobu
22361a3d1c * file.c (file_expand_path): support for alternative data stream
and ignored trailing garbages of NTFS.

* file.c (rb_file_s_basename): ditto.

* file.c (rb_file_s_extname): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 06:34:02 +00:00
mame
40a98ca132 * ChangeLog: fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 13:10:02 +00:00
mame
f09f597422 * test/ruby/test_object.rb: new tests to achieve over 90% test
coverage of object.c, eval.c and eval_method.c.

* test/ruby/test_module.rb: ditto.

* test/ruby/test_trace.rb: ditto.

* test/ruby/test_integer.rb: ditto.

* test/ruby/test_float.rb: ditto.

* test/ruby/test_method.rb: ditto.

* test/ruby/test_variable.rb: ditto.

* test/ruby/test_eval.rb: ditto.

* test/ruby/test_exception.rb: ditto.

* test/ruby/test_class.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 12:52:17 +00:00
nobu
e4f8e61ddd * test/ruby/test_file_exhaustive.rb (assert_integer): may not Fixnum.
* test/ruby/test_file_exhaustive.rb (test_stat, test_readable_p)
  (test_readable_real_p, test_world_readable_p, test_writable_p)
  (test_writable_real_p, test_world_writable_p, test_executable_p)
  (test_executable_real_p, test_owned_p, test_chmod, test_lchmod)
  (test_umask, test_stat_readable_p, test_stat_readable_real_p)
  (test_stat_world_readable_p, test_stat_writable_p)
  (test_stat_writable_real_p, test_stat_world_writable_p)
  (test_stat_executable_p, test_stat_executable_real_p)
  (test_stat_owned_p): mode, owner and group can't rely on cygwin.

* test/ruby/test_file_exhaustive.rb (test_stat_init): test hard link
  on Windows too.

* test/ruby/test_file_exhaustive.rb (test_test): struct stat dosn't
  have sub second mtime on cygwin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 09:11:10 +00:00
knu
10b1c8298a Remove spaces before BOL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 03:50:47 +00:00
ko1
a6bec14471 * iseq.c (insn_operand_intern): remove Qundef related code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 03:48:39 +00:00
knu
921fb6ae25 * array.c (rb_ary_count): Override Enumerable#count for better
performance.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 03:46:37 +00:00
ko1
5e4edb43a2 * insns.def: add a "putcbase" instruction.
* compile.c, insns.def: fix to use putcbase instruction for
  class search.  Qundef should not be used.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 02:31:28 +00:00
akr
86294fad68 test the actual value of (10**32768-1).to_s.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 00:01:24 +00:00
matz
0e0229f302 * eval.c (rb_call0): defer calling of rb_frame_self() until it
become really necessary.

* eval.c (rb_call): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-13 22:53:01 +00:00
akr
759c6d2a89 add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-13 17:16:03 +00:00
mame
1951ceeed7 * test/ruby/test_io_m17n.rb: remove a duplicative method.
* test/ruby/test_utf16.rb: rename a conflicting method name.

* test/ruby/test_array.rb: ditto.

* test/ruby/test_file_exhaustive.rb: ditto.

* test/ruby/test_hash.rb: ditto.

* test/ruby/test_env.rb: ditto.

* test/ruby/test_fixnum.rb: ditto.

* test/ruby/test_rational.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-13 15:57:22 +00:00
mame
4bb3fa6982 * eval_method.c (rb_add_method): fix check for warning when
Object#initialize is redefined. (same as 1.8)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-13 15:49:38 +00:00
nobu
1072cb65c9 * enum.c (enum_yield): use rb_yield_values2.
* enum.c (DEFINE_ENUMFUNCS): macro to define enumerator and yielding
  functions.

* enum.c (enum_all_func, enum_any_func, enum_one_func,
  enum_none_func): reduced duplicate code.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-13 14:32:46 +00:00
knu
74430e8679 * enumerator.c: Update rdoc.
(enumerator_initialize): Discourage the use.
  (enum_each_slice, enum_each_cons, enumerator_each)
  (enumerator_with_index): Add a note about a call without a block.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-13 06:10:56 +00:00
akr
ec1f2095a1 check the chracters in (10**32768-1).to_s.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-13 04:21:33 +00:00
matz
5f0e8f582b * string.c (rb_str_cat): fixed buffer overrun reported by
Christopher Thompson <cthompson at nexopia.com> in [ruby-core:16746]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-13 01:13:55 +00:00
akr
20f4f5f82c * io.c (rb_f_gets.): re-enable rdoc.
(rb_f_readline): ditto.
  (rb_f_readlines): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 23:27:17 +00:00
mame
18e46b81ff * vm.c (collect_local_variables_in_env): remove unnecessary check
which causes: x=1;proc{local_variables}.call #=> []

* test/ruby/test_variable.rb: add a test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 14:42:17 +00:00
usa
9c504ea811 * ChangeLog: small fixes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 14:27:00 +00:00
usa
9416fedc28 * process.c, include/ruby/intern.h (rb_run_exec_options): externed.
* process.c (save_redirect_fd, save_env_i, save_env, run_exec_dup2,
	  run_exec_open, run_exec_pgroup, run_exec_rlimit, rb_run_exec_options):
	  save parent's process environments.
	  !!!remark!!! these are not thread-safe.

	* process.c (rb_spawn_internal): remove calling run_exec_options()
	  because cannot restore after spawn. we'll fix this later.

	* io.c (pipe_open): ditto.

	* test/ruby/test_process.rb (test_execopts_env): upcase environment
	  variable name for case insensitive platforms.

	* win32/win32.c (init_env): set USER environment variable only when
	  USERNAME is available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 14:15:32 +00:00
akr
fe7dae730f * lib/date.rb (once): use Object#object_id instead of Symbol#to_i.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 13:24:38 +00:00
usa
e67e71d36a * test/ruby/envutil.rb (rubybin): return expanded rubyexe instead of
expanded ruby if available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 12:35:37 +00:00
matz
d34ad36c52 * string.c (sym_to_i): really removed. [ruby-dev:34641]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 12:26:15 +00:00
knu
d701d21dbe * enum.c (grep_i): Be aware of multiple values;
fix [ruby-dev:34653].
  (grep_iter_i): Ditto.
  (count_i): Ditto.
  (find_i): Ditto.
  (find_index_i): Ditto.
  (find_all_i): Ditto.
  (reject_i): Ditto.
  (inject_i): Ditto.
  (inject_op_i): Ditto.
  (partition_i): Ditto.
  (group_by_i): Ditto.
  (first_i): Ditto.
  (sort_by_i): Ditto.
  (all_i): Ditto.
  (all_iter_i): Ditto.
  (any_i): Ditto.
  (any_iter_i): Ditto.
  (one_i): Ditto.
  (one_iter_i): Ditto.
  (none_i): Ditto.
  (none_iter_i): Ditto.
  (min_i): Ditto.
  (min_ii): Ditto.
  (max_i): Ditto.
  (max_ii): Ditto.
  (minmax_i): Ditto.
  (minmax_ii): Ditto.
  (min_by_i): Ditto.
  (max_by_i): Ditto.
  (minmax_by_i): Ditto.
  (member_i): Ditto.
  (take_i): Ditto.
  (take_while_i): Ditto.
  (drop_i): Ditto.
  (drop_while_i): Ditto.
  (cycle_i): Ditto.

* enum.c (each_with_index): Update rdoc.  each_with_index() takes
  argments that are passed through to each(), and a hash preserves
  key order.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 11:21:39 +00:00
usa
8d72d7bd2a * process.c (rb_spawn_internal): remove calling run_exec_options()
because cannot restore after spawn. we'll fix this later.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 10:07:00 +00:00
usa
ad72d1d3a2 * process.c (rb_spawn_internal): need to call run_exec_options() before
spawn if the platform doesn't have fork. [ruby-dev:34647]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 09:17:58 +00:00
akr
430cabfad8 * gc.c (ruby_vm_xmalloc): increase malloc_increase only if malloc
succeeds.  failed malloc size can be huge.  it may increase
  malloc_limit too big which cause less GC and memory full.
  (ruby_vm_xrealloc): ditto.
  (rb_objspace): make params.limit and params.increase size_t.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 06:28:43 +00:00
matz
ab24f2b077 * re.c (rb_reg_prepare_re): made non static with small refactoring.
* ext/strscan/strscan.c (strscan_do_scan): should adjust encoding
  before regex searching.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 06:09:53 +00:00
matz
b15fe02d19 * eval.c (is_defined): add NODE_OP_ASGN_{OR,AND}. "defined?(a||=1)"
should not operate assignment.  [ruby-dev:34645]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 05:05:50 +00:00
akr
6c1e664bb1 * bignum.c (bigzero_p): check from MSB to LSB. [ruby-dev:34649]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 04:44:13 +00:00
akr
e17c10a391 add a test for [ruby-dev:34579].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 03:47:12 +00:00
akr
21140756e1 add a test for [ruby-dev:34646].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 03:41:48 +00:00
akr
10fc0eb781 add tests for [ruby-dev:34591].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 03:37:58 +00:00
nobu
bdfe8eab49 * common.mk (RUBYOPT): affected BASERUBY too. [ruby-talk:301514]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 03:32:12 +00:00
akr
2c012e01db * gc.c (assign_heap_slot): fix condition for number of objects in
a heap.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 03:30:34 +00:00
matz
63cb03494e * string.c (sym_to_i): really removed. [ruby-dev:34641]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 03:28:10 +00:00
yugui
183970f49e * ChangeLog: changelog of the changeset 16372. It was:
"gc.c (assign_heap_slot): put the binary-search routine in order."


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 02:34:37 +00:00
yugui
7c104f88eb * gc.c (assign_heap_slot): put the binary-search routine in order.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 02:15:55 +00:00
nobu
294a1d2270 * ruby.c (ruby_init_gems), gem_prelude.rb: check if Gem is defined
instead of Gem::Enable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 01:52:53 +00:00
nobu
669d43780e * gem_prelude.rb (load_full_rubygems_library, const_missing): prevent
infinite recursion.  [ruby-dev:34539]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 01:51:47 +00:00
nobu
8481c848da * enum.c (all_iter_i, any_iter_i): reduced duplicated code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 14:19:41 +00:00
nobu
93df43f8ae * enum.c: removed trailing garbage spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 14:10:20 +00:00
nobu
589a164abc * bootstraptest/runner.rb (main): leave -I options for purelib.rb
untouched.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 13:54:04 +00:00
nobu
b7a1480540 * bootstraptest/runner.rb (main): handle relative path -r options.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 13:39:35 +00:00
kazu
7467524ca2 fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 10:53:52 +00:00
akr
8b817f1a4e fix a typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 10:25:47 +00:00
mame
c030326a09 * test/ruby/test_thread.rb: kill and join temporal threads that are
created in each test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 10:06:58 +00:00
akr
65d1a419d9 fix typos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 09:58:46 +00:00