Граф коммитов

12358 Коммитов

Автор SHA1 Сообщение Дата
nobu 75aa81b79d * ruby.c (process_options): --dump option exit immediately.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-20 04:19:27 +00:00
nobu 8afd39ad09 * ruby.c (proc_options, process_options): --dump option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-20 03:13:52 +00:00
nobu 0343750b62 * include/ruby/ruby.h (PRI[diouxX]VALUE): printf format for VALUE.
* gc.c (assign_heap_slot): suppress a warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-20 02:36:09 +00:00
ko1 d457fdad2d * eval.c, vm_insnhelper.c: fix cref in instance_eval
and cvar_base search protocol.
* bootstraptest/test_knownbug.rb, test_eval.rb: move soleved test
  and add new tests.
* test/ruby/test_eval.rb: fix tests for spec.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 18:47:56 +00:00
ko1 e07663ec1f * bootstraptest/test_knownbug.rb: fix a test.
"block_given?" returns true if "yield" can be used.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 16:47:42 +00:00
mame 2d9135f7a8 * parse.y (assignable_gen): when "self = 1" was evalueted, unnecessary
error message was output, which might cause null pointer access.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 16:14:30 +00:00
ko1 b001dbad6e * vm.c (invoke_block_from_c): fix call flow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 14:36:13 +00:00
mame a4195fc99b * regexec.c (slow_search): check the case when the length is 1.
The behavior of memcmp is undefined if the third argument is 0.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 14:21:15 +00:00
ko1 67d0fbd03f * thread_pthread.c (native_thread_apply_priority):
fix argument range check.  [ruby-dev:33124]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 12:09:14 +00:00
knu 3c95aacfcb * ext/openssl/ossl_pkcs5.c (ossl_pkcs5_pbkdf2_hmac): Fix the type
of md; pointed out by Takahiro Kambe <taca at back-street.net>
  in [ruby-dev:34748].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 09:27:55 +00:00
matz 44cd8e457b * regparse.c (PINC): use optimized enclen() instead of
ONIGENC_MBC_ENC_LEN().

* regparse.c (PFETCH): ditto.

* regparse.c (PFETCH): small optimization.

* regexec.c (slow_search): single byte encoding optimization.

* regenc.h (enclen): avoid calling function when encoding's
  min_len == max_len.

* re.c (rb_reg_regsub): rb_enc_ascget() optimization for single
  byte encoding.

* re.c (rb_reg_search): avoid allocating new re_registers if we
  already have MatchData.

* re.c (match_init_copy): avoid unnecessary onig_region_free()
  before onig_region_copy. 

* encoding.c (rb_enc_get_index): remove implicit enc_capable check
  each time.

* encoding.c (rb_enc_set_index): ditto.

* encoding.c (enc_compatible_p): small refactoring.

* include/ruby/encoding.h (rb_enc_dummy_p): inline
  rb_enc_dummy_p() and export related code.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 08:25:03 +00:00
akr 48a42a0387 add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 07:30:41 +00:00
ko1 950ee3e0a6 * version.h: fix strange change by version.h update tool.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 05:33:45 +00:00
ko1 39fcd1cdf2 * bootstraptest/test_knownbug.rb: move solved tests.
* bootstraptest/test_eval.rb, test_literal.rb, test_syntax.rb,
  test_thread.rb: ditto.
* test/ruby/test_m17n.rb, test_proc.rb, test_sprintf.rb,
  test_string.rb, test/ruby/test_struct.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 05:20:21 +00:00
usa 888c935930 * process.c (rb_spawn_internal): set last_status when status == -1
because there is no path to set it on win32. this patch is derived
	  from [ruby-core:16787], submitted by Luis Lavena <luislavena at
	  gmail.com>



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 04:26:43 +00:00
ko1 385f0e8af6 * vm.c, insns.def, eval.c, vm_insnhelper.c: fix CREF handling.
VM value stack frame of block contains cref information.
  (dfp[-1] points CREF)
* compile.c, eval_intern.h, eval_method.c, load.c, proc.c,
  vm_dump.h, vm_core.h: ditto.
* include/ruby/ruby.h, gc.c: remove T_VALUES because of above
  changes.
* bootstraptest/test_eval.rb, test_knownbug.rb: move solved test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 03:08:50 +00:00
knu 2e5e857a0b fix grammo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 02:56:54 +00:00
gotoyuzo 581ec6f87d test material for r16453.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-18 13:54:04 +00:00
gotoyuzo 8ee3267d26 * lib/webrick/httpservlet/filehandler.rb: should normalize path
name in path_info to prevent script disclosure vulnerability on
  DOSISH filesystems. (fix: CVE-2008-1891)
  Note: NTFS/FAT filesystem should not be published by the platforms
  other than Windows. Pathname interpretation (including short
  filename) is less than perfect.

* lib/webrick/httpservlet/abstract.rb
  (WEBrick::HTTPServlet::AbstracServlet#redirect_to_directory_uri):
  should escape the value of Location: header.

* lib/webrick/httpservlet/cgi_runner.rb: accept interpreter
  command line arguments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-18 13:33:24 +00:00
mame a0e236f606 * pack.c (pack_pack): check errno to detect error of ruby_strtoul.
* pack.c (pack_unpack): ditto.

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 17:56:41 +00:00
nobu 04351d9558 * file.c (file_expand_path): fix for short file name on Cygwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 14:54:07 +00:00
yugui 9aceaa1129 * vm.c (Init_VM): removed the definition of Thread#initialize,
which is overwritten in Init_Thread and is never used.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 09:14:24 +00:00
nobu 9afd5465e2 * array.c (rb_ary_sort_bang): should not free shared pointer, and set
shared.  [ruby-dev:34732]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 05:01:52 +00:00
yugui 02838f3508 Kernel#.sleep used never to sleep on Mac OS X. Fixed it and added error checks.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 03:37:37 +00:00
nobu 8676f8baf2 * test/ruby/test_eval.rb (test_define_method_block): new test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 02:44:38 +00:00
nobu 166f8d6d0b * parse.y (ripper_warnS): now unused.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 02:39:43 +00:00
nobu 34c96140f3 * file.c (rb_file_s_extname): first dot is not an extension name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 02:29:13 +00:00
matz c39e8c6e85 * array.c (rb_ary_sort_bang): stop memory leak. [ruby-dev:34726]
* re.c (rb_reg_search): need to free allocated buffer in re_register.

* regexec.c (onig_region_new): more pedantic malloc check.

* regexec.c (onig_region_resize): ditto.

* regexec.c (STATE_CHECK_BUFF_INIT): ditto.

* regexec.c (onig_region_copy): use onig_region_resize.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-16 18:27:01 +00:00
nobu 03ed3bde9a * test/ruby/test_module.rb (assert_method_defined?): added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-16 08:08:06 +00:00
matz f970ffedae * math.c (to_flo): rb_Float() accepts even strings for input.
* complex.c (nucomp_to_f): fix wrong message.

* complex.c (nucomp_to_r): ditto.

* object.c (rb_Float): do not check NaN for error.  NaN is a part
  of valid float values.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-16 04:17:45 +00:00
mame b8118e9645 * test/ruby/test_string.rb: add tests to achieve over 90% test
coverage of string.c.

* test/ruby/test_m17n.rb: ditto.

* test/ruby/test_symbol.rb: ditto.

* test/ruby/test_pack.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 14:37:18 +00:00
mame 41bf214fd7 * string.c (tr_find): String#delete returned wrong result when multiple
utf-8 arguments are passed.

* test/ruby/test_m17n.rb (test_delete): add a test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 14:03:21 +00:00
usa 42389bd736 * parse.y (ripper_warningS): now used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 13:38:21 +00:00
matz 1d53405b31 * object.c (rb_cstr_to_dbl): no need for forceful warning when
converting to float.  overflow is a nature of float values.

* parse.y (parser_yylex): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 10:48:10 +00:00
matz 880a96c795 * re.c (rb_reg_prepare_enc): error condition was updated for non
ASCII compatible strings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 10:45:58 +00:00
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