summaryrefslogtreecommitdiff
path: root/ChangeLog
AgeCommit message (Collapse)Author
2007-08-21* util.c (ruby_strtod): replaced by the implementation by Davidmatz
M. Gay inspired by William D. Clinger's paper "How to Read Floating Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101]. a patch from Satoshi Nakagawa <snakagawa AT infoteria.co.jp>. [ruby-dev:31582] * test/ruby/test_float.rb (TestFloat::test_float): add test for precision. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-21* cont.c: add Fiber#resume and Fiber.yield.ko1
and Fiber::Core class to realize Coroutine. * include/ruby/intern.h: declare rb_fiber_yield(), rb_fiber_resume(), * enumerator.c: use above api. * test/ruby/test_fiber.rb: fix and add tests for above changes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-21* lib/tmpdir.rb (Dir.mktmpdir): make directory suffix specifiable.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-21* st.c (st_clear): reset num_entries too.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-21* hash.c (st_foreach_func, rb_foreach_func): typedefed.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-21* hash.c (rb_hash_clear): use st_clear() unless iterating.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-21* st.c (struct st_table_entry): add new members, fore and back, tonobu
iterate in inserted order. * include/ruby/st.h (struct st_table): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-20* benchmark/bm_vm2_case.rb: add a new benchmark.ko1
YARV optimize case/when syntax. If every conditions are literal (such as Symbol, Fixnum, String), dispatch calc order will be O(1). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-20* test/ruby/test_enumerator.rb: fix last commit.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-20* test_enumerator.rb (enum_test): fix to return sortedko1
array (for Hash test). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-20* enumerator.c (next_i): fix to return with Fiber#yield atko1
the end of each block. [ruby-dev:31470] * enumerator.c (enumerator_next_p): call init_next if not initialized. [ruby-dev:31514] * test/ruby/test_enumerator.rb: add tests for Enumerator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-20* io.c (rb_io_s_foreach): argument count check before makingmatz
Enumerator. [ruby-dev:31525] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-20* dir.c (dir_foreach): return Enumerator if no block given.matz
[ruby-dev:31525] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-20* string.c (Init_String): remove Symbol.intern and Symbol#dump.matz
[ruby-dev:31525] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-20* vm_core.h (struct rb_thread_struct): removed first_func_arg andnobu
reuse first_args instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-19* gc.c: use VALGRIND_MAKE_MEM_UNDEFINED to detect use of collectedakr
objects if valgrind is available. It cannot detect first 2 words because they are used as the free list. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-19* compile.c (iseq_compile_each/NODE_RESBODY): fix to addko1
additional nop to prevent tailcall optimization. * vm_opts.h: clean up comments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-19* insnhelper.ci (vm_call_bmethod): fix to propagate informationko1
that this proc is "from Method". [ruby-dev:31490] * proc.c (method_proc, rb_mod_define_method): ditto. * vm.c (vm_invoke_proc_core): removed. * vm_core.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-19* test/ruby/sentence.rb: new method Sentence().akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-19* insnhelper.ci (vm_callee_setup_arg): fix to mark enough VM stack.ko1
[ruby-dev:31492] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* test/ruby/test_yield.rb (TestYieldGen): relax array size checkakr
in nested parameters. [ruby-dev:31485] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* ext/tk/tcltklib.c (Init_tcltklib): use rb_set_end_proc().nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* thread.c (is_ruby_native_thread): check properly. [ruby-dev:31166]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* insnhelper.ci (vm_call_bmethod),ko1
vm.c (vm_invoke_proc_core): fix to do not restore $SAFE when proc invoked by bmethod. * vm_core.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* eval_error.ci (ruby_error_print): call error_print.nobu
* eval_jump.ci, process.c (rb_exit, rb_f_exit, rb_f_abort): moved. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* process.c (detach_process_watcher): should not pass the pointernobu
to an auto variable to the thread to be created. pointed and fix by KUBO Takehiro <kubo at jiubao.org> [ruby-dev:30618] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* insnhelper.ci (vm_send_optimize): use MEMMOVE to shift values insidenobu
an array. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* insnhelper.ci (vm_yield_setup_args): rsize and psize should not benobu
negative. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* insnhelper.ci (vm_callee_setup_arg, vm_send_optimize,nobu
vm_yield_setup_args): bulk copy for arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* compile.c (iseq_compile_each): fix to allow self.x=ko1
if x= is private. * bootstraptest/test_method.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* parse.y (reg_compile_gen): obtain error info from errinfo.nobu
* re.c (rb_reg_error_desc): make RegexpError for initialization error. * re.c (rb_reg_compile): return nil and set errinfo if error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* eval.c: $! should not be writable.ko1
* eval.c (rb_rubylevel_errinfo): added. rb_errinfo() returns rb_threa_t#errinfo. rb_rubylevel_errinfo() returns $! value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* insnhelper.ci (vm_callee_setup_arg): fix to check argumentsko1
correctly. [ruby-dev:31472] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* bootstraptest/test_exception.rb: add escape character ("\") forko1
editors. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* test/ruby/test_yield.rb (TestYieldGen): add test for yielding toakr
lambda using lambda parameter passing emulator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* sample/test.rb, test/ruby/test_system.rb(valid_syntax?): keepnobu
comment lines first. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18add ChangeLog entry.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* compile.c (iseq_set_arguments), insnhelper.ciko1
(vm_callee_setup_arg, vm_yield_setup_args): * bootstraptest/test_block.rb: add tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-17* eval.c (frame_func_id): return proper method ID.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-17* compile.c (iseq_compile_each): massign should return rvalue(s).ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-17* test/ruby/test_basicinstructions.rb: fix old tests.ko1
class variables should be inherited. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-17* eval.c (rb_call), eval_method.ci (rb_add_method, rb_alias),ko1
insnhelper.ci (vm_call_method): fix to save safelevel for method node. * include/ruby/node.h: ditto. * bootstraptest/test_method.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-17* thread.c (rb_thread_terminate_all): fix to ignoreko1
exceptions. * thread.c (thread_start_func_2): fix abort_on_exception process. [ruby-dev:31394] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-17* bootstraptest/runner.rb (in_temporary_working_directory): useakr
Dir.mktmpdir to create and remove temporary directory. (Dir.mktmpdir): define if not available. [ruby-dev:31431] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-16ChangeLog: typo fixed. [ruby-dev:31439]matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-16* bignum.c (bigtrunc): RBIGNUM(x)->len may be zero. out of boundmatz
access. [ruby-dev:31404] * sprintf.c (rb_str_format): small float should not call rb_dbl2big(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-16* compile.c (iseq_compile_each): fix thorw insn option of next.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-16* compile.c (iseq_set_arguments), insnhelper.ciko1
(vm_callee_setup_arg, vm_yield_setup_args): fix block parameter problems. [ruby-dev:31437], [ruby-dev:31440] * bootstraptest/test_block.rb: add a test of [ruby-dev:31440]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-16* iseq.c (ruby_iseq_disasm): fix to show arg_simple value.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-16* insns.def (throw): insert a RUBY_VM_CHECK_INTS(). [ruby-dev:31361]ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e