aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * test/ruby/test_dir.rb (TestDir::setup): ?c now makes a string.matz2007-08-2412-22/+35
| | | | | | | | | | * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::initialize): initialize @workdir to stop warning. * lib/drb/drb.rb (DRb::DRbServer::InvokeMethod::perform_without_block): replace funcall by send!. other files in the distribution as well. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_f_send_bang): abandon the name funcall for privatematz2007-08-248-30/+35
| | | | | | aware method call. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c: optimize simple massign.ko12007-08-232-10/+84
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c (reg_get_value): use RegQueryValueEx insteadsuke2007-08-233-25/+80
| | | | | | | | | | | | | of RegQueryValueEx. * ext/win32ole/win32ole.c (typelib_file_from_clsid): fix the bug that the function always returns Qnil. * test/win32ole/test_win32ole_type.rb (test_initialize): add some test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in (group_member): check if presents.nobu2007-08-234-4/+16
| | | | | | | | | | | * configure.in (XCFLAGS): add _GNU_SOURCE on linux. * file.c (group_member): use system routine if available. * process.c: moved _GNU_SOURCE macro to Makefile. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (compile_massign), insnhelper.ci (vm_throw): not use C99nobu2007-08-233-3/+6
| | | | | | | comment. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enumerator.c (sym_call): initialize first.nobu2007-08-232-9/+19
| | | | | | | | | * enumerator.c (enum_iter): typedefed. * enumerator.c (next_i): suppress a warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * cont.c (rb_cont_call, fiber_switch, rb_fiber_resume, rb_fiber_yield):nobu2007-08-232-6/+12
| | | | | | | | | | suppress warnings. * cont.c (rb_fiber_start): change on non-volatile variable between setjmp and longjmp may not has an effect. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c, insns.def, parse.y: fix massign order. This changeko12007-08-237-163/+122
| | | | | | | | | | | | | causes performance problem. Try vm1_swap benchmark. [ruby-dev:31522] * insns.def, insnhelper.ci: move process body of expandarray insn to vm_expandarray(). * bootstraptest/test_knownbug.rb, bootstraptest/test_massign.rb: move a solved test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (f_norm_arg): ripper has no shadowing check.nobu2007-08-232-1/+10
| | | | | | | * parse.y (f_block_arg): dispatch blkarg_mark. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (make_masgn_lhs, iseq_compile_each): fixed indent.nobu2007-08-235-54/+73
| | | | | | | | | | | | | * compile.c (iseq_translate_threaded_code), vm_evalbody.ci (get_insns_address_table), template/vmtc.inc.tmpl (insns_address_table): constified. * vm_evalbody.ci (vm_eval), template/insns_info.inc.tmpl (insn_stack_increase, insn_ret_num): suppress warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (f_norm_arg): check also nested arguments. [ruby-dev:31502]nobu2007-08-232-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * util.c: updated for ANSI C only. applied a patch frommatz2007-08-222-169/+36
| | | | | | <snakagawa AT infoteria.co.jp>. [ruby-dev:31591] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * missing/strtod.c: removed. [ruby-dev:31588]matz2007-08-224-291/+24
| | | | | | * LEGAL: updated. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test for [ruby-dev:31592].akr2007-08-221-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/test_knownbug.rb:ko12007-08-222-0/+5
| | | | | | | | fix typo of filename (test_knwonbug.rb). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/test_knwonbug.rb: added. This file will containko12007-08-223-3/+19
| | | | | | | | | | | test cases which point out known bug. If bug is fixed, tests should move to the suitable place. * bootstraptest/test_massign.rb: move a test which show known bug to test_knownbug.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bootstraptest/runner.rb (in_temporary_working_directory):akr2007-08-222-1/+5
| | | | | | | don't remove the directory specified by --dir. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add test for [ruby-dev:31522].akr2007-08-221-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * util.c (ruby_strtod): replaced by the implementation by Davidmatz2007-08-213-252/+3294
| | | | | | | | | | | | 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
* * cont.c: add Fiber#resume and Fiber.yield.ko12007-08-216-75/+163
| | | | | | | | | | | 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
* * lib/tmpdir.rb (Dir.mktmpdir): make directory suffix specifiable.akr2007-08-212-5/+32
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * st.c (st_clear): reset num_entries too.nobu2007-08-212-0/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (st_foreach_func, rb_foreach_func): typedefed.nobu2007-08-212-5/+11
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * st.c (rehash): suppress warnings.nobu2007-08-211-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (rb_hash_clear): use st_clear() unless iterating.nobu2007-08-212-2/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * st.c (struct st_table_entry): add new members, fore and back, tonobu2007-08-213-93/+174
| | | | | | | | | 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
* * benchmark/bm_vm2_case.rb: add a new benchmark.ko12007-08-202-0/+21
| | | | | | | | | | 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
* * test/ruby/test_enumerator.rb: fix last commit.ko12007-08-202-4/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test_enumerator.rb (enum_test): fix to return sortedko12007-08-202-1/+6
| | | | | | | | array (for Hash test). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enumerator.c (next_i): fix to return with Fiber#yield atko12007-08-204-10/+73
| | | | | | | | | | | 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
* * io.c (rb_io_s_foreach): argument count check before makingmatz2007-08-203-2/+5
| | | | | | Enumerator. [ruby-dev:31525] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (dir_foreach): return Enumerator if no block given.matz2007-08-202-0/+4
| | | | | | [ruby-dev:31525] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (Init_String): remove Symbol.intern and Symbol#dump.matz2007-08-202-19/+5
| | | | | | [ruby-dev:31525] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h (struct rb_thread_struct): removed first_func_arg andnobu2007-08-205-15/+17
| | | | | | | reuse first_args instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Sentence.expand_syntax refined.akr2007-08-191-42/+61
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: use VALGRIND_MAKE_MEM_UNDEFINED to detect use of collectedakr2007-08-192-0/+15
| | | | | | | | 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
* * compile.c (iseq_compile_each/NODE_RESBODY): fix to addko12007-08-193-13/+26
| | | | | | | | | 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
* * insnhelper.ci (vm_call_bmethod): fix to propagate informationko12007-08-195-15/+23
| | | | | | | | | | | 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
* * test/ruby/sentence.rb: new method Sentence().akr2007-08-192-11/+53
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_callee_setup_arg): fix to mark enough VM stack.ko12007-08-193-6/+10
| | | | | | | | [ruby-dev:31492] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* sentence.rb documented.akr2007-08-183-15/+281
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_yield.rb (TestYieldGen): relax array size checkakr2007-08-182-7/+13
| | | | | | | | in nested parameters. [ruby-dev:31485] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/tk/tcltklib.c (Init_tcltklib): use rb_set_end_proc().nobu2007-08-182-5/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (is_ruby_native_thread): check properly. [ruby-dev:31166]nobu2007-08-184-4/+45
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_call_bmethod),ko12007-08-184-4/+23
| | | | | | | | | | 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
* * eval_error.ci (ruby_error_print): call error_print.nobu2007-08-184-149/+159
| | | | | | | * 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
* * process.c (detach_process_watcher): should not pass the pointernobu2007-08-182-9/+13
| | | | | | | | 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
* * insnhelper.ci (vm_send_optimize): use MEMMOVE to shift values insidenobu2007-08-182-1/+6
| | | | | | | an array. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_yield_setup_args): rsize and psize should not benobu2007-08-182-2/+6
| | | | | | | negative. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e