Sun Jul 10 22:50:00 2011 Kenta Murata * ext/bigdecimal/bigdecimal.c (rmpd_power_by_big_decimal): fix precision treatment errors. * test/bigdecimal/test_bigdecimal.rb: add tests for the above change. fix precision treatment errors. * ext/bigdecimal/bigdecimal.c (BigDecimal_power): precision argument should be optional for its compatibility. Sun Jul 10 22:38:09 2011 Nobuyoshi Nakada * parse.y (var_ref): distinguish vcall from local variable references. based on a patch by Michael Edgar michael.j.edgar AT dartmouth.edu. Bug #5002 Sun Jul 10 21:51:29 2011 Koichi Sasada * internal.h: add comments (cautions). Sun Jul 10 20:59:38 2011 Shota Fukumori * lib/test/unit.rb: Add new class variable `@@testfile_prefix`. This is for changing test name prefix. (For testing) * test/testunit/tests_for_parallel/ptest_first.rb: Renamed from test_first.rb * test/testunit/tests_for_parallel/ptest_second.rb: Renamed from test_second.rb * test/testunit/tests_for_parallel/ptest_third.rb: Renamed from test_third.rb * test/testunit/tests_for_parallel/ptest_forth.rb: Renamed from test_forth.rb * test/testunit/tests_for_parallel/runner.rb: Remove misc.rb * test/testunit/tests_for_parallel/ptest_first.rb: ditto. * test/testunit/tests_for_parallel/ptest_second.rb: ditto. * test/testunit/tests_for_parallel/ptest_third.rb: ditto. * test/testunit/tests_for_parallel/ptest_forth.rb: ditto. * test/testunit/tests_for_parallel/misc.rb: Removed because no longer needed. * test/testunit/test_parallel.rb: Fix assertions for above. Sun Jul 10 16:57:08 2011 Koichi Sasada * vm_insnhelper.c (vm_throw): check a class frame. Fixes Bug #4648. The patch is contributed by Kazuki Tsujimoto. * bootstraptest/test_proc.rb: add tests for above. Sun Jul 10 17:28:01 2011 KOSAKI Motohiro * thread_pthread.c (mutex_debug): use exit(EXIT_FAILURE) instead of exit(1). * thread_pthread.c (add_signal_thread_list): ditto. * thread.c (rb_thread_call_with_gvl): ditto. * util.c (Bug): ditto. Sun Jul 10 15:58:12 2011 NARUSE, Yui * ext/json: Merge json gem 1.5.4+ (f7f78896607b6f6226cd). [Bug #4700] Sun Jul 10 16:41:32 2011 KOSAKI Motohiro * vm_core.h (typedef struct rb_vm_struct): create a new 'inhibit_thread_creation' field. * thread.c (rb_thread_terminate_all): set inhibit_thread_creation. * thread.c (thread_s_new): don't permit to create new thread if the VM is under destruction. Otherwise evil finalizer code can make SEGV. [Bug #4992][ruby-core:37858] * bootstraptest/test_objectspace.rb: new test for this fix. Sun Jul 10 16:06:16 2011 KOSAKI Motohiro * signal.c (sigsegv): use abort() instead of exit() when nested SEGV was happen. Because unnested SEGV use abort(). [Bug #5013][ruby-dev:44078] Sun Jul 10 15:30:00 2011 Kenta Murata * load.c (rb_f_autoload): prevent to autoload for singleton classes. fixes [Bug #4886] [ruby-dev:43816] * bootstraptest/test_autoload.rb: add tests for the above change. Sun Jul 10 15:09:17 2011 Shota Fukumori * lib/test/unit/assertions.rb: Import documentation patch by Justin Collins. [ruby-core:37225] [Feature #4903] Sun Jul 10 14:57:36 2011 Tadayoshi Funaba * ext/date/date_core.c: canonicalizes nth and sf. Sun Jul 10 14:13:50 2011 Koichi Sasada * internal.h (rb_thread_call_with_gvl, rb_thread_call_without_gvl): make them visible as experimental C APIs. fixes Feature #4328. Sun Jul 10 12:18:00 2011 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigDecimal_power): support non-integral exponent. fixes [Bug #3271] * ext/bigdecimal/bigdecimal.c (rmpd_power_by_big_decimal): ditto. * ext/bigdecimal/bigdecimal.c (BigDecimal_power_op): add a function to only use for "**" operator. * test/bigdecimal/test_bigdecimal.rb: add a bunch of tests for the above changes. * ext/bigdecimal/bigdecimal.c (is_integer): add an utility function. * ext/bigdecimal/bigdecimal.c (is_negative): ditto. * ext/bigdecimal/bigdecimal.c (is_positive): ditto. * ext/bigdecimal/bigdecimal.c (is_zero): ditto. * ext/bigdecimal/bigdecimal.c (is_one): ditto. * ext/bigdecimal/bigdecimal.c (is_even): ditto. Sun Jul 10 12:08:39 2011 Yusuke Endoh * compile.c (when_vals): when a string literal is written on when clause, skip string creation to make it faster. [ruby-dev:44068] [Feature #5000] Sun Jul 10 11:35:29 2011 Yusuke Endoh * parse.y (reduce_nodes_gen): NODE_RETURN in rescue body must not be reduced when there is an else clause. This caused bizarre behavior in [Bug #4473] [ruby-core:35629] [ruby-core:37884]. Sun Jul 10 09:46:14 2011 Masaya Tarui * range.c (range_max): fix behavior with excluded end value. [Bug #4591] Sun Jul 10 09:13:18 2011 Eric Hodel * NEWS: Fix RubyGems version. [Ruby 1.9 - Bug #5004] Sat Jul 9 20:01:59 2011 Tadayoshi Funaba * internal.h: rb_rational_reciprocal is defined in rational.c. Sat Jul 9 19:48:31 2011 Tadayoshi Funaba * internal.h: added declarations. * complex.c: followed the above change. Sat Jul 9 17:24:41 2011 Tadayoshi Funaba * NEWS: bigdecimal is not a builtin. Sat Jul 9 17:17:53 2011 Tadayoshi Funaba * ext/date/date_core.c: some improvements for performance. Sat Jul 9 16:56:01 2011 Nobuyoshi Nakada * atomic.h (ATOMIC_OR): _InterlockedOr is unavailable in VC6. * numeric.c (ULLONG_MAX): fallback definition. Sat Jul 9 15:59:19 2011 Nobuyoshi Nakada * win32/win32.c (rb_w32_{read,write}): should be signed. Bug #5001 Sat Jul 9 14:02:20 2011 Takeyuki FUJIOKA * lib/cgi/core.rb: fix multipart form parsing bug. [Bug #3866] Sat Jul 9 11:41:03 2011 Marc-Andre Lafortune * lib/matrix.rb: Add Vector#normalize [ruby-dev:43829] Sat Jul 9 09:25:06 2011 Eric Hodel * enumerator.c: Remove "enumeration sequenced by". [Ruby 1.9 - Bug #4757] Sat Jul 9 09:14:56 2011 Eric Hodel * io.c: Note that methods other than IO#gets may increase IO#lineno. [Ruby 1.9 - Bug #4902] Sat Jul 9 08:39:39 2011 Nobuyoshi Nakada * common.mk (RUN_OPT): disable gems. Sat Jul 9 08:37:05 2011 Nobuyoshi Nakada * io.c (rb_io_close): close(2) on a fd which is being read by another thread causes deadlock on Mac OS X 10.5 Fri Jul 8 21:20:39 2011 NARUSE, Yui * addr2line.c: use USE_ELF instead of __ELF__ because Solaris doesn't define it. USE_ELF is already provided by configure. patched by Naohisa Goto. [ruby-dev:44066] [Bug #4998] * addr2line.h: ditto. * vm_dump.c: ditto. Fri Jul 8 16:40:38 2011 Nobuyoshi Nakada * ext/json/parser/parser.rl (convert_encoding): should not modify the argument. * ext/json/parser/parser.rl (convert_encoding): no needs to use force_encoding. Fri Jul 8 15:53:31 2011 Nobuyoshi Nakada * error.c (rb_bug): get rid of segfault after all threads disposed. Fri Jul 8 15:01:06 2011 NAKAMURA Usaku * ext/openssl/ossl.h: include openssl/e_os2.h before checking the definition of OPENSSL_SYS_WIN32. Fri Jul 8 14:40:39 2011 NAKAMURA Usaku * win32/win32.c (wunlink): reverted a part of r32426. it was mistakenly mixed. Fri Jul 8 14:29:47 2011 Narihiro Nakamura * configure.in: can't subtract void *. Fri Jul 8 14:33:26 2011 NAKAMURA Usaku * win32/Makefile.sub (config.h): define GC_MARK_STACKFRAME_WORD. fixed build problem of r32438. the value (30) is temporary value. maybe it's enough by 20~24 according to my observation. Fri Jul 8 13:47:39 2011 KOSAKI Motohiro * thread.c (rb_mutex_unlock_all): folded into rb_threadptr_unlock_all_locking_mutexes. * thread.c (rb_threadptr_unlock_all_locking_mutexes) ditto. Fri Jul 8 13:36:02 2011 KOSAKI Motohiro * thread.c (thread_unlock_all_locking_mutexes): rename to rb_threadptr_unlock_all_locking_mutexes and remove static. * vm_core.h: add rb_threadptr_unlock_all_locking_mutexes declaration. * thread.c (thread_start_func_2): adjust the above rename. * eval.c (ruby_cleanup): call rb_threadptr_unlock_all_locking_mutexes again after finalizer. [Bug #4988] [ruby-dev:44049] Fri Jul 8 13:06:09 2011 KOSAKI Motohiro * cont.c (FIBER_MACHINE_STACK_ALLOCATION_SIZE): Fiber stack size don't need to keep multiple number of sizeof(VALUE). Fri Jul 8 11:39:12 2011 Nobuyoshi Nakada * common.mk (sudo-precheck): true command is not standard on Windows. Fri Jul 8 10:39:52 2011 KOSAKI Motohiro * thread_pthread.c (gvl_destroy): fix cond_t leak. Fri Jul 8 09:17:59 2011 Eric Hodel * gc.c: Improve documentation Thu Jul 7 23:35:31 2011 Narihiro Nakamura * gc.c: change water_mark value that may call gc_mark(lev <= GC_LEVEL_MAX) in gc_mark(). In ruby_stack_check(), water_mark is a value that may call some C function. Fixes Bug #3781 * configure.in: define GC_MARK_STACKFRAME_WORD that approximate size of gc_mark() and gc_mark_children() stackframes. Thu Jul 7 17:55:05 2011 NAKAMURA Usaku * test/testunit/test_parallel.rb (TestParallelWorker#teardown): wait the child process even if the communication pipe is broken. Thu Jul 7 15:44:42 2011 Nobuyoshi Nakada * encoding.c (rb_enc_set_index, rb_enc_associate_index): should check if frozen. * parse.y (rb_intern3), ruby.c (process_options, ruby_script): defer freezing after associating encodings. Thu Jul 7 15:16:51 2011 NARUSE, Yui * numeric.c (rb_num2ull): use own switch sentence. Current implementation can't convert 18446744073709551615. Thu Jul 7 06:56:15 2011 NARUSE, Yui * cont.c (FIBER_STACK_FLAGS): workaround fix for r32420 on FreeBSD. Thu Jul 7 06:46:12 2011 Eric Hodel * benchmark/driver.rb: Add difference column to report that averages across all runs of a benchmark. [Ruby 1.9 - Feature #4982] Thu Jul 7 06:19:38 2011 Eric Hodel * lib/rubygems.rb: Reduce requires to improve `make benchmark`. [#4962] * lib/rubygems/specification.rb: Delay initialization of rubygems until require is called. Thu Jul 7 04:31:26 2011 Nobuyoshi Nakada * parse.y (arg): rescue_mod is in inverse order from other modifiers. patched by michael.j.edgar AT dartmouth.edu at [ruby-core:36248]. fixed #4716. Thu Jul 7 00:40:16 2011 NAKAMURA Usaku * win32/win32.c (kill): check that the process exited or not before terminating it. [Bug #4943] Wed Jul 6 23:13:19 2011 Yukihiro Matsumoto * parse.y (opt_call_args): allow trailing comma after assoc argument e.g. 'foo(bar:1,)'. fixed #3456 Wed Jul 6 22:11:12 2011 Shota Fukumori * test/cgi/test_cgi_header.rb(test_cgi_header_nph): Validate date in "Date:" header Wed Jul 6 21:29:33 2011 KOSAKI Motohiro * cont.c (fiber_machine_stack_alloc): cleanup pointer arithmetic. "size/sizeof(VALUE)" is ugly and easy confusing. * cont.c (fiber_initialize_machine_stack_context): ditto. Wed Jul 6 21:24:53 2011 KOSAKI Motohiro * cont.c (fiber_machine_stack_alloc): fix mprotect misuse. A stack guard page should have PROT_NONE. * cont.c (fiber_initialize_machine_stack_context): th->machine_stack_maxsize shouldn't be included guard pages size. [Bug #4983][ruby-dev:44043] Wed Jul 6 21:23:38 2011 KOSAKI Motohiro * cont.c (fiber_machine_stack_alloc): use MAP_STACK if it's provided. Wed Jul 6 21:22:16 2011 KOSAKI Motohiro * cont.c (fiber_machine_stack_alloc): use MAP_FAILED instead of -1. Wed Jul 6 21:21:05 2011 KOSAKI Motohiro * cont.c (fiber_machine_stack_alloc): remove unnecessary cast. Wed Jul 6 18:10:13 2011 Shota Fukumori * test/cgi/test_cgi_header.rb(test_cgi_header_nph): Adding space after comma. * test/cgi/test_cgi_header.rb(test_cgi_header_nph): Remove variable `now`. Suppress warning. Wed Jul 6 12:18:09 2011 Shota Fukumori * test/cgi/test_cgi_header.rb(test_cgi_header_nph): Fix bug depends to time. The test fails if time past 1 second in line 136-145 Tue Jul 5 15:28:04 2011 Nobuyoshi Nakada * parse.y (parser_here_document): should dispatch heredoc_end scanner event on an empty here document. fixed Bug#4543. Tue Jul 5 13:49:26 2011 Yusuke Endoh * addr2line.c: fix r32407 to check HAVE_ALLOCA_H. Tue Jul 5 14:05:43 2011 NARUSE, Yui * lib/webrick/httpauth/digestauth.rb (_authenticate): Literal texts in HTTP ABNF is case-insensitive (RFC2616 2.1), and a sample implementation in RFC2617 also ignores the case of algorithms. So now this ignores those cases. [ruby-dev:43965] [Feature #4936] * lib/webrick/httpauth/digestauth.rb (initialize): Because of above, opera_hack is useless and removed. Tue Jul 5 01:30:01 2011 Yusuke Endoh * thread_pthread.c (native_sleep): cut the waiting time up to 100,000,000 because Solaris cond_timedwait() return EINVAL if an argument is greater than current_time + 100,000,000. This is considered as a kind of spurious wakeup. The caller to native_sleep should care about spurious wakeup. Tue Jul 5 01:24:26 2011 Yusuke Endoh * cont.c: disable FIBER_USE_NATIVE on Solaris because resuming any Fiber caused SEGV. I haven't follow up the issue deeply, but it works when disabling the feature. Tue Jul 5 01:22:46 2011 Yusuke Endoh * addr2line.c: include to fix a build issue on Solaris. Tue Jul 5 00:49:05 2011 CHIKANAGA Tomoyuki * ext/coverage/coverage.c: resurrect r32071 + add GC guard for rb_coverages. [ruby-core:37352] [Bug #4927] [ruby-core:36539] [Feature #4796] * test/coverage/test_coverage.rb resurrect r32071. Mon Jul 4 22:24:46 2011 KOSAKI Motohiro * thread_pthread.c (get_stack): For NetBSD/FreeBSD, use pthread_attr_getstack() if possible. and, remove an assumption of stack growing direction. Mon Jul 4 20:42:31 2011 Yusuke Endoh * ext/coverage/coverage.c: revert r32071. The commit caused SEGV on some minor nonfree OS. I have no means of debugging the bug. My personal opinion is that such OS should be unsupported unless there is an active maintainer. [ruby-core:37352] * test/coverage/test_coverage.rb: ditto. Mon Jul 4 07:14:12 2011 NARUSE, Yui * thread_pthread.c (get_stack): the return address of get_stack must be the highest address of the current thread's stack. Mon Jul 4 06:37:22 2011 Koichi Sasada * include/ruby/intern.h, thread_pthread.c (rb_reserved_fd_p, RB_RESERVED_FD_P): added. This C API is to limit to access fds which are used by RubyVM internal. In this version of CRuby, return 1 if fd is communication pipe. If your application needs to close all file descriptors to present resource leak, skip internal fds using this C API. We also define a macro RB_RESERVED_FD_P(fd). So you can write #ifndef RB_RESERVED_FD_P #define RB_RESERVED_FD_P(fd) 0 #endif for Ruby 1.9.2 or previous version to write compatible extensions. See [ruby-core:37727] * thread_win32.c (rb_reserved_fd_p): added (return 0 for any fds). * io.c (rb_io_initialize): raise ArgumentError if given fd is reserved by Ruby. Sun Jul 3 23:43:56 2011 Yuki Sonoda (Yugui) * ext/extmk.rb (extmake): suppresses outputs from extconf.rb. (extmake) warns a failure in extconf.rb. Sun Jul 3 13:44:51 2011 Nobuyoshi Nakada * array.c (ary_reject_bang): should not remove elements which are not yielded. [Bug #2545] Sun Jul 3 06:10:26 2011 KOSAKI Motohiro * thread_pthread.c (get_stack): pthread_attr_getstack() doesn't return stack start address, but stack base address. Thus, we need to add stack size for getting stack start address. And, we don't have to decrease guard size twice. * thread_pthread.c (thread_start_func_1): don't use inaccurate stack start guess if native_thread_init_stack() can be used. [Bug #1813] [ruby-core:24540] Sun Jul 3 04:50:08 2011 KOSAKI Motohiro * thread_pthread.c (get_stack): add to a care of guard page on Mac OS X. [Bug #1813] [ruby-core:24540] * signal.c (ruby_signal): SIGBUS use alternative stack too. * signal.c (sigbus): On Mac, thread stack overflow makes SIGBUS instead of SIGSEGV. thus, added stackoverflow check. * signal.c (default_handler): get rid of compilation warning. * signal.c (Init_signal): ditto. Sat Jul 02 08:59:20 2011 Martin Bosslet * test/openssl/test_ocsp.rb * test/openssl/test_x509_cert.rb: Perform SHA-256 tests only if supported by the available OpenSSL version. Versions < 0.9.8 don't support it. [ruby-core:37724] Sat Jul 2 07:17:45 2011 Nobuyoshi Nakada * array.c (rb_ary_reject_bang, rb_ary_delete_if): rejected elements should be removed. fixed [Bug #2545] Sat Jul 2 01:57:00 2011 Kenta Murata * NEWS: remove a description of Kernel#respond_to? because it has been reverted at revision 28564. Sat Jul 2 00:58:00 2011 Kenta Murata * NEWS: describe a change of multiplication of Bignum. Fri Jul 1 18:52:31 2011 KOSAKI Motohiro * benchmark/bm_app_erb.rb: increase loop count. too short measurement time makes less accuracy. * benchmark/bm_app_factorial.rb: ditto. * benchmark/bm_app_mandelbrot.rb: ditto. * benchmark/bm_app_strconcat.rb: ditto. * benchmark/bm_io_file_create.rb: ditto. * benchmark/bm_io_file_read.rb: ditto. * benchmark/bm_io_file_write.rb: ditto. * benchmark/bm_so_concatenate.rb: ditto. * benchmark/bm_so_lists.rb: ditto. * benchmark/bm_so_matrix.rb: ditto. * benchmark/bm_so_random.rb: ditto. * benchmark/bm_so_sieve.rb: ditto. * benchmark/bm_vm_thread_mutex1.rb: ditto. * benchmark/bm_vm_thread_mutex2.rb: ditto. * benchmark/bm_vm_thread_mutex3.rb: ditto. * benchmark/bm_vm1_block.rb: cleanup. * benchmark/bm_vm1_const.rb: cleanup. * benchmark/bm_vm1_ensure.rb: cleanup. * benchmark/bm_vm1_ivar.rb: cleanup. * benchmark/bm_vm1_length.rb: cleanup. * benchmark/bm_vm1_neq.rb: cleanup. * benchmark/bm_vm1_not.rb: cleanup. * benchmark/bm_vm1_rescue.rb: cleanup. * benchmark/bm_vm1_simplereturn.rb: cleanup. * benchmark/bm_vm1_swap.rb: cleanup. * benchmark/bm_vm2_array.rb: cleanup. * benchmark/bm_vm2_case.rb: cleanup. * benchmark/bm_vm2_defined_method.rb: cleanup. * benchmark/bm_vm2_eval.rb: cleanup. * benchmark/bm_vm2_method.rb: cleanup. * benchmark/bm_vm2_mutex.rb: cleanup. * benchmark/bm_vm2_poly_method.rb: cleanup. * benchmark/bm_vm2_poly_method_ov.rb: cleanup. * benchmark/bm_vm2_proc.rb: cleanup. * benchmark/bm_vm2_regexp.rb: cleanup. * benchmark/bm_vm2_send.rb: cleanup. * benchmark/bm_vm2_super.rb: cleanup. * benchmark/bm_vm2_unif1.rb: cleanup. * benchmark/bm_vm2_zsuper.rb: cleanup. * benchmark/bm_vm_thread_alive_check1.rb: cleanup. Fri Jul 1 15:23:00 2011 Marc-Andre Lafortune * lib/matrix: Add LUP decomposition Fri Jul 1 15:21:14 2011 Marc-Andre Lafortune * lib/matrix.rb: Allow non integer exponents for Matrix#** Fri Jul 1 15:13:25 2011 Marc-Andre Lafortune * lib/matrix: Add Eigenvalue Decomposition Fri Jul 1 15:10:22 2011 Marc-Andre Lafortune * lib/matrix: Add Matrix#round Fri Jul 1 11:41:12 2011 NARUSE, Yui * string.c (tr_trans): free heap ptr when the str is not embedded. patched by Eric Wong. [Bug #4956] [ruby-core:37708] Fri Jul 1 11:07:43 2011 KOSAKI Motohiro * thread.c (do_select): fix memory leak. Patch by Eric Wong. Thank you! [Bug #4953] [ruby-core:37702] Fri Jul 1 08:21:28 2011 Koichi Sasada * vm_insnhelper.c (vm_getivar): check vm state version to invalidate inline cache (ivar index). fixes Bug #4926. * vm_insnhelper.c (vm_setivar): ditto. Fri Jul 1 08:03:15 2011 Nobuyoshi Nakada * error.c, thread_pthread.c (WRITE_CONST): suppress warnings `ignoring return value'. Fri Jul 1 06:41:36 2011 Koichi Sasada * thread.c (rb_threadptr_check_signal): only wake up main thread. * thread.c (rb_threadptr_execute_interrupts_common): check signal delivery if it is main thread. fixes [ruby-dev:44005] [Ruby 1.9 - Bug #4950] * bootstraptest/test_fork.rb: add a test for above. * signal.c (rb_get_next_signal): skip if signal_buff is empty. (check signal_buff.size first) * vm_core.h: remove unused variable rb_thread_t::exec_signal. * thread.c (rb_thread_check_trap_pending): check rb_signal_buff_size() because rb_thread_t::exec_signal is no longer available. Fri Jul 1 03:28:25 2011 Yukihiro Matsumoto * class.c (Init_class_hierarchy): should name BasicObject explicitly. * variable.c (rb_const_defined_0): should not check for superclasses as const_get. Fri Jul 1 03:24:03 2011 Tadayoshi Funaba * ext/date/date_core.c: mathn is still alive (should die soon). Thu Jun 30 23:50:00 2011 Kenta Murata * misc/ruby-mode.el (ruby-indent-beg-re): Fix broken regular expression. Fixes #4546 Thu Jun 30 23:43:30 2011 Martin Bosslet * ext/openssl/ossl.c/.h: Added ossl_x509_name_sk2ary. * ext/openssl/ossl.c: Replaced ossl_x509_ary2k by generic macro to simplify future conversions. * ext/openssl/ossl_ssl.c: Implement SSLSocket#client_ca. * test/openssl/test_ssl.rb: Add test for SSLSocket#client_ca. Thanks to Ippei Obayashi for providing the patch! [ Ruby 1.9 - Feature #4481 ] [ruby-core:35461] Thu Jun 30 22:38:58 2011 Koichi Sasada * benchmark/bm_vm2_defined_method.rb: added to measure performance of bmethod (method defined by define_method()). Thu Jun 30 22:17:04 2011 Koichi Sasada * vm_insnhelper.c (vm_call_bmethod): fix to hook call/return event for methods defined by define_method(). fixes Bug #4613. * thread.c (call_trace_proc): Fix to skip if class is not given (0). Note that ID and Class object are passed for call/return event if the called method was defined by define_method(). If you are author of tracer/profiler/debugger, this may be an important change. You should check passed class as zero or non-zero instead of checking the event type. * test/ruby/test_settracefunc.rb: add a test for above. Thu Jun 30 21:18:35 2011 Yutaka Kanemoto * configure.in: Add warnflags for XL/C on AIX during configure to avoid [Bug #3971]. See [ruby-core:32859] Thu Jun 30 21:16:04 2011 Tadayoshi Funaba * ext/date/date_core.c (m_ajd): refers a constant. Thu Jun 30 20:54:25 2011 Nobuyoshi Nakada * ext/io/console/io-console.gemspec: spin-off gem for 1.9.2. Thu Jun 30 20:36:23 2011 Tadayoshi Funaba * ext/date/date_core.c: trivial changes. Thu Jun 30 20:12:36 2011 Nobuyoshi Nakada * test/ruby/test_module.rb: tests for [Bug #3422] and [Bug #3423]. Thu Jun 30 20:03:39 2011 Tadayoshi Funaba * ext/date/date_core.c: modified doc. Thu Jun 30 19:09:19 2011 Koichi Sasada * thread_pthread.c (thread_timer): ignore unknown errno. (we observed that select(2) was canceled by errno=514 on boron == Linux/Xen environment) Thu Jun 30 17:33:25 2011 Koichi Sasada * ext/objspace/objspace.c (ObjectSpace.count_tdata_objects): Fix rdoc. Fixes Bug #3892. * ext/objspace/objspace.c (ObjectSpace.count_tdata_objects): Change key type if the klass of a object is zero (internal object). Read rdoc for details. * internal.h: export rb_objspace_data_type_name(). Thu Jun 30 17:25:08 2011 Koichi Sasada * thread_pthread.c (ping_signal_thread_list, thread_timer): fix to keep polling state if there are any ping-tasks. Thu Jun 30 12:25:34 2011 Koichi Sasada * thread_pthread.c (rb_thread_create_timer_thread): allocate machine stack for the timer thread at least 12KB. FreeBSD 8.2 AMD64 causes machine stack overflow (SIGSEGV) only with PTHREAD_STACK_MIN (maybe defined as 2KB). Thu Jun 30 09:36:37 2011 Eric Hodel * lib/weakref.rb: Attach documentation to WeakRef and add missing documentation Thu Jun 30 09:30:14 2011 Eric Hodel * lib/yaml.rb: Document toplevel YAML and YAML::ENGINE to describe Psych vs Syck engines. Thu Jun 30 09:21:52 2011 Eric Hodel * lib/cmath.rb: Hide handle_no_method_error from RDoc. * error.c: Document or hide undocumented error classes. Thu Jun 30 07:49:04 2011 Eric Hodel * hash.c: Document ENV Thu Jun 30 06:37:43 2011 Nobuyoshi Nakada * ruby.c (ruby_init_loadpath_safe): ensure RUBYLIB_PREFIX stored before RUBYLIB, even if MANGLED_PATH is enabled. fixed #1679. MANGLED_PATH is disabled by the default and will be removed completely in the future. Thu Jun 30 06:32:21 2011 Eric Hodel * lib/drb/drb.rb: Hide deprecated toplevel DRb constants. Thu Jun 30 06:17:02 2011 NARUSE, Yui * lib/cmath.rb (CMath.log): second argument: b can be nil. Thu Jun 30 06:23:28 2011 Eric Hodel * thread.c (ruby_thread_s_pass): Fix typo. Thu Jun 30 06:16:53 2011 Eric Hodel * lib/rdoc: Update to RDoc 3.8 which contains fixes for documentation in trunk. Thu Jun 30 02:53:26 2011 KOSAKI Motohiro * thread.c (rb_threadptr_execute_interrupts_common): remove meaningless native_thread_yield(). It never close a race. Thu Jun 30 02:41:47 2011 KOSAKI Motohiro * thread.c (rb_thread_schedule_limits): minor optimization. eliminate machine context saving when running time is enough small. Thu Jun 30 02:28:11 2011 KOSAKI Motohiro * thread.c (rb_thread_schedule_rec): move interrupt_flag check to rb_thread_schedule(). And also rename to rb_thread_schedule_limits() and remove sched_depth argument. It's no longer called recursive. * thread.c (rb_thread_schedule): add to check interrupt_flag as above explained. * thread.c (rb_threadptr_execute_interrupts_rec): rename to rb_threadptr_execute_interrupts_common() and remove sched_depth argument. It's no longer called recursive. * thread.c (rb_thread_sleep): adapt the renaming. * thread.c (rb_threadptr_execute_interrupts): ditto. * thread.c (rb_thread_execute_interrupts): ditto. Thu Jun 30 01:31:33 2011 KOSAKI Motohiro * thread.c (thread_s_pass): change RDoc description and remove a sample code. The actual implementation never behave as explained by an example. It's a documentation bug. Thu Jun 30 00:54:33 2011 KOSAKI Motohiro * thread.c (rb_thread_stop): change RDoc sample code. The old example is buggy and may cause deadlock. The patch is suggested by Heesob Park . Thank you! [Bug #3606][ruby-core:31454] Thu Jun 30 00:49:53 2011 KOSAKI Motohiro * thread.c (rb_thread_wakeup): change RDoc sample code. The old example is buggy and may not display anything by a race. The patch is suggested by Heesob Park . Thank you! [Bug #3606][ruby-core:31454] Thu Jun 30 00:43:33 2011 KOSAKI Motohiro * thread.c (rb_thread_run): change RDoc. The old example is buggy and may cause deadlock. The patch is suggested by Heesob Park . Thank you! [Bug #3606][ruby-core:31454] Thu Jun 30 00:30:15 2011 Keiju Ishitsuka * lib/cmath.rb: make same exception for Math. fix [Bug #3137]. Thu Jun 30 00:03:20 2011 Keiju Ishitsuka * lib/irb/completion.rb: complement correctly string literal. fix [Bug #1145]. Wed Jun 29 23:42:51 2011 Tadayoshi Funaba * ext/date/date_core.c: avoided using timev. * ext/date/date_strftime.c: ditto. * ext/date/date_tmx.h: ditto. Wed Jun 29 23:17:57 2011 WATANABE Hirofumi * ext/openssl/ossl.h (OPENSSL_SYS_WIN32): support for mingw(msys). Wed Jun 29 23:09:14 2011 WATANABE Hirofumi * ext/tk/extconf.rb (intptr_t, uintptr_t): support for the latest ActiveTcl with mingw. Wed Jun 29 22:49:10 2011 Keiju Ishitsuka * lib/irb/cmd/help.rb: support RDoc 3.7. fix [Bug #3760]. Wed Jun 29 22:04:14 2011 CHIKANAGA Tomoyuki * lib/tracer.rb: Tracer.on only if required by -r command-line option. and consider --disable-gems option. * test/test_tracer.rb: add tests for it. Wed Jun 29 13:55:36 2011 Yukihiro Matsumoto * variable.c (rb_const_get_0): should not look for superclasses if the second optional argument is given for #const_get(). fix [Bug #3422] [Bug #3423] Wed Jun 29 12:07:27 2011 Eric Hodel * math.c: Attach documentation for Math. * object.c: Document NIL, TRUE, FALSE. * io.c: Improve grammar in ARGF comment. Document STDIN/OUT/ERR. Document ARGF global constant. * lib/rake: Hide deprecated toplevel constants from RDoc (import from rake trunk). * lib/thwait.rb: Document ThWait. * lib/mathn.rb: Hide Math redefinition from RDoc * lib/sync.rb: Add a basic comment for Sync_m, Synchronizer_m, Sync, Synchronizer. * parse.y: Document SCRIPT_LINES__. * hash.c: Document ENV class and global constant. * vm.c: Document TOPLEVEL_BINDING. * version.c: Document RUBY_* constants. * ruby.c: Document DATA and ARGV. Wed Jun 29 10:13:12 2011 Marc-Andre Lafortune * lib/matrix.rb: Matrix.zero can build rectangular matrices. Vector#r should be called #magnitude Wed Jun 29 10:11:08 2011 Marc-Andre Lafortune * lib/matrix.rb: Add Matrix#diagonal?, hermitian?, normal?, orthogonal? permutation?, symmetric?, {lower|upper}triangular?, unitary?, zero? Wed Jun 29 10:09:35 2011 Marc-Andre Lafortune * lib/matrix.rb: Specialize Matrix#find_index to return [row, col] and accept the same optional argument as #each Wed Jun 29 10:07:32 2011 Marc-Andre Lafortune * lib/matrix.rb: Matrix#each{_with_index} can iterate over a subset of the Matrix Wed Jun 29 06:21:02 2011 Koichi Sasada * thread_pthread.c (native_stop_timer_thread): skip to close communication pipe to avoid timing bug (process termination timing). The communication pipe will closed by OS. Wed Jun 29 06:09:54 2011 Koichi Sasada * error.c (rb_async_bug_errno): async-safe bug report function. In timer thread, signal handler should use it. The patch is contributed by Eric Wong . Refs: [ruby-core:37644] and [ruby-core:37647] * thread_pthread.c: use rb_async_bug_errno(). And replace all fprintf() to write(). * internal.h (rb_async_bug_errno): add decl. of above func. Tue Jun 28 23:46:08 2011 Keiju Ishitsuka * lib/tracer.rb: count only non-internal libraries in stack trace, ignoring custom_require. Tue Jun 28 21:44:58 2011 Keiju Ishitsuka * lib/irb/ruby-lex.rb: recognize '\char' in ruby statement. Tue Jun 28 20:39:29 2011 Hiroshi Nakamura * lib/debug.rb (var_list): Command 'var *' did not work on 1.9(!). global_variables, local_variables, and instance_variables returns Symbols from 1.9 and need to stringify before evaling it. See #4931. Tue Jun 28 19:23:01 2011 KOSAKI Motohiro * signal.c: Now, USE_TRAP_SIGMASK depend on HAVE_PTHREAD_SIGMASK. The code have already depended on pthread_sigmask since r27464. Tue Jun 28 15:09:21 2011 NARUSE, Yui * lib/benchmark.rb: merge eregon/benchmark. https://github.com/eregon/ruby/tree/benchmark patched by Benoit Daloze. [ruby-core:37593] [Bug #4940] * lib/benchmark (Benchmark#bmbm): bmbm should be consistent with bm for the return value. * test/benchmark: remove preemptive test instead of skipping I removed the preemptive test I wrote for Feature #4197. I'll add it back when the implementation will be able to satisfy it. * lib/benchmark (Benchmark#bmbm): remove useless explicit call, #format is an alias of #to_s test/benchmark: add a test for format of long time. * lib/benchmark: fix label width: always add 1 to ensure there is a space delimiter even with times over 100s When I asked for Feature #4197, I wanted to make delimiting spaces consistent for #bm and #bmbm. But with times over 100s, the output contains no space between the label and the first time (user). Now both ensure there is always a space, even if that means 3 spaces with times under 10s (because it is formatted as %10.6f) * test/benchmark: let labels be a constant lib/benchmark (Benchmark#realtime): avoid creating an unused Proc lib/benchmark (Benchmark#benchmark): use ensure clause to restore STDOUT.sync, as in #bmbm Tue Jun 28 13:41:51 2011 NAKAMURA Usaku * thread_win32.c (native_stop_timer_thread): fixed commit miss of r32244. grep sources before changing the signature of a function. Tue Jun 28 11:49:14 2011 Koichi Sasada * thread_pthread.c (consume_communication_pipe): Make "buff" as static. (Maybe) "buff" can be shared between any caller (any threads) because no one use the read values. "buff" (1024 byte) on stack may cause stack overflow on several environment (we found a crash on FreeBSD). And remove const value "buff_size", and define CCP_READ_BUFF_SIZE macro. Tue Jun 28 11:45:30 2011 Eric Hodel * lib/rake: Update rake to fix some bugs and hide deprecated features from RDoc. * lib/rake/version.rb: Bump version to 0.9.2.1 to distinguish it from the released version. * NEWS: ditto Tue Jun 28 11:17:28 2011 Eric Hodel * lib/rdoc: Update to RDoc 3.7 (final) * NEWS: ditto Tue Jun 28 10:18:42 2011 NARUSE, Yui * process.c (rb_daemon): fix wrong #endif position. Tue Jun 28 07:50:32 2011 Eric Hodel * object.c (Init_Object): Teach RDoc what Init_class_hierarchy does to hook up ri for BasicObject, Object, Module and Class. Tue Jun 28 05:03:32 2011 Hiroshi Nakamura * thread.c (rb_thread_local_aref): RDoc fix. Thread#[] example had a race. See #4480. Tue Jun 28 01:22:00 2011 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigMath_s_log): move BigMath.log from bigdecimal/math.rb. * ext/bigdecimal/lib/bigdecimal/math.rb: ditto. * test/bigdecimal/test_bigdecimal.rb: move test for BigMath.log from test/bigdecimal/test_bigmath.rb. * test/bigdecimal/test_bigmath.rb: ditto. Tue Jun 28 01:19:52 2011 Keiju Ishitsuka * lib/irb/ruby-lex.rb: fix [Bug #4232]. Tue Jun 28 00:14:13 2011 Masatoshi SEKI * lib/drb/drb.rb: fix [Bug #4409]. add DRbServer#here?. * test/drb/test_drb.rb: ditto. * test/drb/drbtest.rb: ditto. * test/drb/ut_eq.rb: ditto. Tue Jun 28 00:08:43 2011 Keiju Ishitsuka * lib/irb/workspace.rb: fix BUG#4793. Mon Jun 27 22:06:12 2011 KOSAKI Motohiro * thread_pthread.c (consume_communication_pipe): don't use C99 style variable length array. Mon Jun 27 22:04:27 2011 KOSAKI Motohiro * thread_pthread.c (consume_communication_pipe): change return type to void. caller doesn't use it. Mon Jun 27 21:29:50 2011 KOSAKI Motohiro * thread_pthread.h (rb_global_vm_lock_struct): add volatile to gvl->waiting. now thread_timer() access it w/o lock. Mon Jun 27 21:16:11 2011 KOSAKI Motohiro * thread_pthread.c: s/__gvl_acquire/gvl_acquire_common/ and s/__gvl_release/gvl_release_common/. Mon Jun 27 11:41:47 2011 NARUSE, Yui * thread_pthread.c (rb_thread_create_timer_thread): the type of return value of write(2) is ssize_t. Mon Jun 27 09:57:02 2011 Koichi Sasada * thread_pthread.c (rb_thread_create_timer_thread): Fixes missing initialization of oflags. Mon Jun 27 09:07:42 2011 Koichi Sasada * thread_pthread.c: Stop polling in the timer thread when there are no waiting thread. If there are 2 or more runnable threads, the timer thread does polling. Avoid polling makes power save for several computers (0.2W per a Ruby process, when I measured). If outside-event such as signal or Thread#kill was occurred when the timer thread does not do polling, then wake-up the timer thread using communication-pipe (the timer thread waits this communication-pipe with select(2)). The discussion about this modification can be found from the post [ruby-core:33456] and other related posts. Note that Eric Wong and KOSAKI Motohiro give us the huge contributions for this modification. Thanks. * thread_pthread.c (rb_thread_wakeup_timer_thread): add a function. This function wakes up the timer thread using communication-pipe. * thread.c (rb_thread_stop_timer_thread): add a parameter which specify closing communication-pipe or not. * thread.c (rb_thread_terminate_all): do not stop timer thread here (ruby_cleanup() terminate timer thread). * signal.c: wake up timer thread using rb_thread_wakeup_timer_thread() from signal handler. * eval.c (ruby_cleanup): use rb_thread_stop_timer_thread(1). * process.c: use rb_thread_stop_timer_thread(0) (reuse communication-pipe). * thread_win32.c (rb_thread_wakeup_timer_thread): add a dummy function. * vm_core.h: add and fix decl. of functions. Mon Jun 27 08:01:19 2011 Tadayoshi Funaba * ext/date/date_parse.c: should use ALLOCA_N. Mon Jun 27 01:34:18 2011 Nobuyoshi Nakada * test/etc/test_etc.rb (TestEtc#test_get{pw,gr}nam): skip entries start with + sign, which means NIS. these are returned in the case that passwd and group entries in /etc/nsswitch.conf are set to use "nis" explicitly on Debian. fixed #3683 Mon Jun 27 00:44:53 2011 NARUSE, Yui * parse.y (rb_parser_end_seen_p): fix documentation about return value. patched by Sho Hashimoto. [Bug #4511] Mon Jun 27 00:40:47 2011 NARUSE, Yui * hash.c (rb_hash_reject): add documentation that Hash#reject without block returns enumerator. patched by Michael Edgar [Bug #4847] [ruby-core:36800] Sun Jun 26 23:49:21 2011 Tadayoshi Funaba * test/date/test_switch_hitter.rb: added a test. Sun Jun 26 22:21:23 2011 Tadayoshi Funaba * ext/date/date_core.c: refactoring. Sun Jun 26 18:03:30 2011 URABE Shyouhei * parse.y: comma at the end of line is no longer allowed. A patch from Yukihiro Matsumoto . (fixed #3456). Sun Jun 26 13:35:35 2011 KOSAKI Motohiro * vm_dump.c (rb_vm_bugreport): change CrashReporter suggestion messages on Mac. It should be placed after "-- C level backtrace" line. Suggested by Endoh-san. -- See Crash Report log file under ~/Library/Logs/CrashReporter or --------- -- /Library/Logs/CrashReporter, for the more detail of --------------------- -- C level backtrace information ------------------------------------------- -- C level backtrace information ------------------------------------------- See Crash Report log file under ~/Library/Logs/CrashReporter or /Library/Logs/CrashReporter, for the more detail of. Sun Jun 26 10:08:28 2011 Martin Bosslet * ext/openssl/extconf.rb * ext/openssl/ossl_missing.h/.c: add ASN1_put_eoc if missing. * ext/openssl/ossl_asn1.c: introduce ossl_asn1_object_size and ossl_asn1_put_object to wrap functionality depending on OpenSSL version in use. Fixes [ Ruby 1.9 - Bug #4916 ] reported by Hiroshi Nakamura. [ruby-core:37286] Sun Jun 26 01:00:15 2011 Tadayoshi Funaba * ext/date/date_core.c (date_strftime_internal): removed meaningless braces. * ext/date/date_core.c (gengo): the value should be int. Sat Jun 25 23:45:30 2011 CHIKANAGA Tomoyuki * vm_insnhelper.c (vm_search_superclass): avoid control frame stack overrun. currently super() in Proc created in a method defined by Module#define_method raise NoMethodError. [Bug #4881] * test/ruby/test_method.rb t_super_in_proc_from_define_method): add test for it. Sat Jun 25 23:23:14 2011 CHIKANAGA Tomoyuki * thread.c (sleep_forever): now Kernel#sleep don't wakeup by signal handler execution. [Bug #4072] Sat Jun 25 23:14:47 2011 CHIKANAGA Tomoyuki * thread.c (rb_threadptr_check_signal): remove unnecessary th->status backup. fix race condition which may results unexpected main thread's status transition. see #4072 Fri Jun 24 19:57:30 2011 Hiroshi Nakamura * lib/webrick/httprequest.rb (setup_forwarded_info): Parsing request header failed when the request is from 2 or more Apache reverse proxies. It's said that all X-Forwarded-* headers will contain more than one (comma-separated) value if the original request already contained one of these headers. Since we could use these values as Host header, we choose the initial(first) value. See #4922. * test/webrick/test_httprequest.rb (test_forwarded): Test it. Fri Jun 24 17:06:33 2011 Nobuyoshi Nakada * process.c (proc_daemon): should not start timer thread twice. fixed Bug#4920. Fri Jun 24 15:54:14 2011 Hiroshi Nakamura * ext/openssl/ossl_ssl.c (ossl_ssl_shutdown): Try to shutdown SSL connection more gracefully. Call SSL_shutdown() max 4 times until it returns 1 (success). Bi-directional SSL close has several states but SSL_shutdown() kicks only 1 transition per call. Max 4 is from mod_ssl.c of Apache httpd that says 'max 2x pending + 2x data = 4'. See #4237. Fri Jun 24 07:24:37 2011 Eric Hodel * lib/rake/version.rb: Fixed VERSION to work with tool/rbinstall.rb * bin/rake: Import bin/rake from 0.9.2 * tool/rbinstall.rb (install): Rake::VERSION is now in lib/rake/version.rb. Fixes `make install` Fri Jun 24 07:11:37 2011 Eric Hodel * lib/rake: Import Rake 0.9.2 Fri Jun 24 00:44:15 2011 Tadayoshi Funaba * ext/date/date_core.c (c_valid_{julian,gregorian}_p): fixed the range of month. Fri Jun 24 00:14:23 2011 Tadayoshi Funaba * ext/date/date_core.c: trivial changes on text. Thu Jun 23 22:46:57 2011 Hiroshi Nakamura * ext/openssl/ossl_x509name.c: Add X509::Name#hash_old as a wrapper for X509_NAME_hash_old in OpenSSL 1.0.0. See #4805 * test/openssl/test_x509name.rb (test_hash): Make test pass with OpenSSL 1.0.0. * NEWS: Add it. Thu Jun 23 19:30:53 2011 Hiroshi Nakamura * ext/openssl/ossl_ssl_session.c (ossl_ssl_session_set_time): Check argument type with NUM2LONG if the arg is not a Time object. See #4919. * ext/openssl/ossl_ssl_session.c (ossl_ssl_session_set_timeout): Check type with NUM2LONG. Time as an arg is not allowed. See #4919. * test/openssl/test_ssl_session.rb (test_session_time, test_session_timeout): Test it. Wed Jun 23 13:30:30 2011 Shota Fukumori * signal.c(ruby_atomic_exchange): Fix definition style. Wed Jun 22 22:34:05 2011 Hiroshi Nakamura * ext/openssl/ossl_ssl.c (ossl_sslctx_session_new_cb): Return 0 to OpenSSL from the callback for SSL_CTX_sess_set_get_cb(). Returning 0 means to OpenSSL that the session is still valid (since we created Ruby Session object) and was not freed by us with SSL_SESSION_free(). Call SSLContext#remove_session(sess) in session_get_cb block if you don't want OpenSSL to cache the session internally. This potential issue was pointed by Ippei Obayashi. See #4416. * test/openssl/test_ssl_session.rb (test_ctx_server_session_cb): Test it. Wed Jun 22 22:21:17 2011 Martin Bosslet * ext/openssl/ossl_ssl_session.c: Respect T_BIGNUM time values. Patch by Tomoyuki Chikanaga. [ Ruby 1.9 - Bug #4919 ] [ruby-dev:43869] Wed Jun 22 21:29:25 2011 KOSAKI Motohiro * ext/socket/depend (SOCK_HEADERS): use $(top_srcdir) instead of $(topdir). sorry! Wed Jun 22 19:47:03 2011 NARUSE, Yui * cont.c (cont_capture): add volatile. On clang -O, it is needed to avoid the optimization. With this and llvm/clang's recent fix, clang 3.0 can build ruby-trunk with -O option. * cont.c (cont_capture): use for-loop. * array.c (rb_ary_each): add volatile and use it. * vm_insnhelper.c (vm_call_cfunc): ditto. Wed Jun 22 18:20:46 2011 Hiroshi Nakamura * ext/openssl/ossl_ssl.c (ossl_sslctx_session_remove_cb): OpenSSL::SSL::SSLContext#session_remove_cb was broken. It wrongly tried to call the session_*new*_cb callback. * test/openssl/test_ssl_session.rb (class OpenSSL): Test it. Wed Jun 22 17:37:49 2011 Martin Bosslet * ext/openssl/ossl.h: Introduced OSSL_BIO_reset macro for PEM/DER fallback scenarios. * ext/openssl/ossl_pkey_dsa.c * ext/openssl/ossl_x509req.c * ext/openssl/ossl_pkey_rsa.c * ext/openssl/ossl_pkey_ec.c * ext/openssl/ossl_ssl_session.c * ext/openssl/ossl_x509crl.c * ext/openssl/ossl_pkey.c * ext/openssl/ossl_pkey_dh.c * ext/openssl/ossl_x509cert.c * ext/openssl/ossl_pkcs7.c: Use OSSL_BIO_reset. * ext/openssl/ossl_ssl.c * ext/openssl/ossl_cipher.c * ext/openssl/ossl_pkey_ec.c * ext/openssl/ossl_pkcs12.c * ext/openssl/ossl_ssl_session.c: Replace rb_raise occurrences by ossl_raise. This automatically flushes OpenSSL's error queue. * ext/openssl/ossl_pkcs7.c: Raise error if DER fallback for parsing fails. * test/openssl/test_pkey_ec.rb * test/openssl/test_pkey_dsa.rb * test/openssl/test_pkey_rsa.rb: Add assertions that OpenSSL.errors is empty. * test/openssl/test_pkey_rsa.rb: Remove initial OpenSSL.errors call in test_new. [ Ruby 1.9 - Bug #4885 ] [ruby-core:37134] Wed Jun 22 15:01:24 2011 Martin Bosslet * ext/openssl/ossl_ssl.c: Use SSL_MODE_RELEASE_BUFFERS if available. Thanks, Eric Wong, for providing the patch. [ Ruby 1.9 - Feature #4672 ] [ruby-core:36127] Wed Jun 22 14:47:53 2011 Martin Bosslet * test/openssl/test_buffering.rb * test/openssl/test_pkcs12.rb: Inherit from Test::Unit::TestCase instead of MiniTest::Unit::TestCase. [ruby-core:37275] Wed Jun 22 12:41:03 2011 Hiroshi Nakamura * ext/openssl/ossl_ssl_session.c (ossl_ssl_session_to_der): OpenSSL::SSL::Session#to_der was broken. Fix buffer handling. * test/openssl/test_ssl_session.rb (test_session): Test it. Wed Jun 22 12:38:52 2011 Hiroshi Nakamura * test/openssl/test_ssl_session.rb: Split out SSL::Session related tests from test_ssl.rb Wed Jun 22 03:20:52 2011 Aaron Patterson * ext/psych/lib/psych/visitors/to_ruby.rb: Fix cyclic references of objects. Thanks to CvX for reporting the bug and a test case. * test/psych/test_object.rb: test for cyclic object references. Wed Jun 22 02:39:54 2011 Hiroshi Nakamura * lib/net/http.rb (Net::HTTP.post_form): Do not ignore query part of the given URI to post. See #655. * test/net/http/test_http.rb, test/net/http/utils.rb: Test it. Wed Jun 22 01:28:13 2011 Hiroshi Nakamura * test/openssl/test_x509store.rb (test_set_errors): Redhat is distributing a patched version of OpenSSL that allows multiple CRL for a key (multi-crl.patch.) Make test pass on such env. See #4122, #4554. Tue Jun 21 21:50:37 2011 Hiroshi Nakamura * lib/webrick/httpresponse.rb (HTTPResponse#setup_header): Close HTTP/1.1 connection when returning an IO object as response body without setting HTTPResponse#chunked to true. See #855 no.1. * test/webrick/test_httpserver.rb: Test it. Tue Jun 21 21:27:34 2011 KOSAKI Motohiro * internal.h: move rb_thread_io_blocking_region() declaration from intern.h to internal.h. It's still experimental API and need more discussion. [ruby-dev:43698] * include/ruby/intern.h: ditto. * ext/socket/rubysocket.h: include internal.h. * ext/socket/depend: add internal.h dependency. * ext/socket/extconf.rb: add $INCFLAGS to topdir. Tue Jun 21 20:38:47 2011 Tadayoshi Funaba * ext/date/date_core.c (datetime_s_*): canonicalize 24 o'clock. Tue Jun 21 19:46:23 2011 KOSAKI Motohiro * test/ruby/test_thread.rb (TestThread#test_priority): enable this test again. Current GVL respect thread priority rather than past. Tue Jun 21 13:25:35 2011 TAKAO Kouji * ext/readline/readline.c (readline_getc): applied a patch in #3827 by by Akio Tajima . (see #3827) Tue Jun 21 13:16:31 2011 TAKAO Kouji * ext/readline/extconf.rb: fixed bug, specify --disable-libedit then disable libedit, does not specify then check readline and libedit if failed checking readline. (fixes #3375) Mon Jun 20 22:52:07 2011 KOSAKI Motohiro * process.c (before_exec): use sig_do_nothing instead of SIG_DFL for avoiding a race. * process.c (sig_do_nothing): new function. Mon Jun 20 21:31:03 2011 KOSAKI Motohiro * thread_pthread.c (thread_timer): rename timeout_10ms to time_quantum. it's no longer 10ms. Mon Jun 20 18:46:02 2011 Hiroshi Nakamura * ext/openssl/ossl_cipher.c, ext/openssl/lib/openssl/cipher.rb: Documentation fix by Ippei Obayashi. See #4419. Mon Jun 20 15:41:33 2011 Hiroshi Nakamura * lib/webrick/cookie.rb (WEBrick::Cookie.parse): Revert r31228. r31228 was for allowing the 'Cookie:' header which did not have no SP after ';' for separating cookie-pairs but RFC6265 requires single SP after ';' there. We allow multiple SPs here for compatibility with older WEBrick version. * test/webrick/test_cookie.rb: Test it. Sun Jun 19 13:31:26 2011 Shota Fukumori * NEWS: Introduce --hide-skip on test/unit. Sun Jun 19 10:05:16 2011 Shota Fukumori * lib/test/unit/parallel.rb: Override Test::Unit::TestCase#on_parallel_worker? only when $0 == __FILE__. * lib/test/unit/parallel.rb: Run Test::Unit::Worker.run only when $0 == __FILE__. Sat Jun 18 23:59:24 2011 Nobuyoshi Nakada * io.c (fill_cbuf): finish reading at EOF, and the readconv has been cleared by another thread while io_fillbuf() is waiting at select(). a patch in [ruby-core:37197] by Hiroshi Shirosaki . fixed #3840 Sat Jun 18 21:36:29 2011 KOSAKI Motohiro * thread_pthread.c: remove GVL_DEBUG Sat Jun 18 21:32:02 2011 KOSAKI Motohiro * vm.c, vm_core.h (rb_vm_stack_to_heap): remove const. It makes compilations warnings. Sat Jun 18 18:54:15 2011 Koichi Sasada * vm.c, vm_core.h (rb_vm_stack_to_heap): fix "const" place. Sat Jun 18 17:23:38 2011 Tanaka Akira * eval.c, hash.c, load.c, proc.c, range.c, thread.c, time.c: don't declare internal functions. * internal.h, vm_core.h: declare internal functions. * array.c: include internal.h. * common.mk: update dependency for array.o. Sat Jun 18 13:39:33 2011 Tanaka Akira * internal.h: declarations declared in include/ruby/*.h removed. Sat Jun 18 12:42:17 2011 Tanaka Akira * method.h, internal.h iseq.h: declare internal functions. * compile.c, eval.c, iseq.c, object.c, parse.y, proc.c, process.c, thread.c, vm.c, vm_eval.c, vm_insnhelper.c, vm_method.c: don't declare internal functions. Note that rb_method_entry_eq() is defined in vm_method.c but there was a declaration in proc.c with different const-ness. Now it is declared in method.h with same const-ness to the definition. * object.c (rb_mod_module_exec): don't declare functions declared in include/ruby/intern.h. Sat Jun 18 12:05:08 2011 Nobuyoshi Nakada * include/ruby/backward/classext.h: for evil gems. fixed #4803 Sat Jun 18 11:12:13 2011 Tanaka Akira * common.mk: update dependencies. Sat Jun 18 11:09:03 2011 Tanaka Akira * io.c: suppress warnings. Sat Jun 18 10:22:39 2011 Tanaka Akira * internal.h: declare more internal functions. * iseq.h (rb_method_get_iseq): declared. * compile.c, eval.c, eval_error.c, iseq.c, parse.y, proc.c, range.c, ruby.c, time.c, util.c, vm.c: don't declare internal functions. * eval.c, parse.y, thread_pthread.c: non-existing function declarations removed. Sat Jun 18 08:12:54 2011 Tanaka Akira * common.mk: dependencies updated. * tool/update-deps: new file to assist update dependencies in common.mk. Sat Jun 18 07:27:27 2011 Tanaka Akira * internal.h: declare internal functions here. * node.h: declare NODE dependent internal functions here. * iseq.h: declare rb_iseq_t dependent internal functions here. * vm_core.h: declare rb_thread_t dependent internal functions here. * bignum.c, class.c, compile.c, complex.c, cont.c, dir.c, encoding.c, enumerator.c, error.c, eval.c, file.c, gc.c, hash.c, inits.c, io.c, iseq.c, load.c, marshal.c, math.c, numeric.c, object.c, parse.y, proc.c, process.c, range.c, rational.c, re.c, ruby.c, string.c, thread.c, time.c, transcode.c, variable.c, vm.c, tool/compile_prelude.rb: don't declare internal functions declared in above headers. include above headers if required. Note that rb_thread_mark() was declared as void rb_thread_mark(rb_thread_t *th) in cont.c but defined as void rb_thread_mark(void *ptr) in vm.c. Now it is declared as the later in internal.h. Sat Jun 18 02:36:00 2011 Kenta Murata * ext/bigdecimal/bigdecimal.c (VpNewRbClass): fix type of the 2nd argument. * ext/bigdecimal/bigdecimal.h: ditto. Sat Jun 18 02:30:00 2011 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): move BigMath.exp from bigdecimal/math.rb. * ext/bigdecimal/lib/bigdecimal/math.rb: ditto. * test/bigdecimal/test_bigdecimal.rb: move test for BigMath.exp from test/bigdecimal/test_bigmath.rb. * test/bigdecimal/test_bigmath.rb: ditto. Sat Jun 18 00:20:54 2011 Tadayoshi Funaba * ext/date/date_core.c: do not define wnum[01]. Fri Jun 17 18:57:36 2011 NARUSE, Yui * compile.c (iseq_compile_each): fix return value of obj[a,*b]=c. Fri Jun 17 13:09:45 2011 Eric Hodel * ext/curses/curses.c: Clean up documentation. Fri Jun 17 09:25:14 2011 Eric Hodel * ext/curses/curses.c: Document curses constants. Patch by Vincent Batts. [Ruby 1.9 - Bug #4880] Fri Jun 17 09:11:05 2011 Eric Hodel * object.c: Document Module#method_added and #method_removed. Patch by Bryce Kerley. [Ruby 1.9 - Feature #4867] Fri Jun 17 08:50:16 2011 Eric Hodel * io.c: Improve documentation of IO and File open and new. Patch by Roger Pack. [Ruby 1.9 - Bug #4790] Fri Jun 17 07:53:50 2011 Eric Hodel * lib/csv.rb: Document #raw_encoding. Patch by David Czarnecki. [Ruby 1.9 - Bug #4874] Fri Jun 17 07:46:50 2011 Eric Hodel * lib/benchmark.rb: Document Benchmark::Tms#memberwise. Patch by David Czarnecki. [Ruby 1.9 - Bug #4873] Fri Jun 17 07:38:31 2011 Eric Hodel * lib/prettyprint.rb: Improve documentation. Patch by Ysiad Ferreiras. [#4834] Fri Jun 17 07:23:03 2011 Eric Hodel * array.c (rb_ary_drop): Improve documentation. Patch by Caley Woods. [Ruby 1.9 - Bug #4858] Fri Jun 17 06:11:31 2011 Eric Hodel * lib/webrick/log.rb: Improve documentation of BasicLog and Log. Patch by Olivier Brisse. [Ruby 1.9 - Bug #4833] * lib/webrick/httpstatus.rb: Improve documentation of WEBrick::HTTPStatus. Patch by Olivier Brisse. [Ruby 1.9 - Bug #4833] Fri Jun 17 04:48:22 2011 Koichi Sasada * thread_pthread.c, thread_pthread.h: remove unused variables. (native_thread_data_t::gvl_cond, native_thread_data_t::gvl_next) Thu Jun 16 14:32:31 2011 NARUSE, Yui * time.c (rb_time_new): prevent overflow by "* 1000". Fri Jun 17 03:07:36 2011 Koichi Sasada * benchmark/bm_vm4_thread_create_join.rb, benchmark/bm_vm4_thread_mutex[1-3].rb: renamed to bm_thread_* (fix last rename). Fri Jun 17 02:26:47 2011 Koichi Sasada * thread_pthread.c (native_thread_create): fix debug message. (add last newline) Thu Jun 16 23:40:49 2011 KOSAKI Motohiro * thread.c (rb_thread_schedule_rec): fix {UN,}LIKELY macro misuse. * gc.c (rb_newobj): ditto. * vm_insnhelper.c (vm_method_search): ditto. Thu Jun 16 20:06:15 2011 Shota Fukumori * test/testunit/test_parallel.rb: Fix Regexp for test. * test/testunit/tests_for_parallel/test_third.rb: Use Test::Unit::TestCase#on_parallel_worker? for detecting worker. * lib/test/unit/testcase.rb(Test::Unit::TestCase#on_parallel_worker?): New Method Test::Unit::TestCase#on_parallel_worker? returns true when a testcase is running on parallel worker. * lib/test/unit/parallel.rb(Test::Unit::TestCase#on_parallel_worker?): ditto. Thu Jun 16 19:27:12 2011 Hiroshi Nakamura * test/test_securerandom.rb: Add testcase. This testcase does NOT aim to test cryptographically strongness and randomness. It includes the test for PID recycle issue of OpenSSL described in #4579 but it's disabled by default. Thu Jun 16 17:55:07 2011 KOSAKI Motohiro * test/ruby/test_io.rb (TestIO#test_copy_stream_socket): fix test hanging up issue. Patch by CHIKANAGA Tomoyuki. Thu Jun 16 15:17:39 2011 Eric Hodel * variable.c (const_missing): Add simple example of const_missing. Patch by Anuj Dutta. [Ruby 1.9 - Bug #4794] Thu Jun 16 15:09:29 2011 Eric Hodel * lib/monitor.rb: Improve documentation. Patch by Sandor Szucs. [Ruby 1.9 - Bug #4823] Thu Jun 16 14:54:09 2011 Eric Hodel * lib/webrick/utils.rb: Document WEBrick::Utils. Patch by Olivier Brisse. [Ruby 1.9 - Bug #4819] Thu Jun 16 14:26:46 2011 Eric Hodel * lib/webrick/httpservlet/erbhandler.rb: Allow the ERB document to alter the content-type of the response. [Ruby 1.9 - Bug #4685] Thu Jun 16 14:15:47 2011 Eric Hodel * lib/timeout.rb: Clarify timeout duration types. Patch by Alf Mikula. [Ruby 1.9 - Bug #4791] * lib/net/http.rb: ditto Thu Jun 16 13:25:25 2011 Eric Hodel * lib/rdoc*: Import RDoc 3.7 release candidate Thu Jun 16 11:35:09 2011 Shugo Maeda * lib/net/imap.rb (search_response): parses SEARCH responses from the Yahoo IMAP server correctly. patched by Mark Nadig. [Bug #4509] Thu Jun 16 09:12:38 2011 Nobuyoshi Nakada * fix for build on solaris 10. Thu Jun 16 09:08:39 2011 Nobuyoshi Nakada * test/io/console/test_io_console.rb (TestIO_Console#test_sync): fix for daemon process. Thu Jun 16 07:58:01 2011 Shota Fukumori * test/testunit/test_parallel.rb(test_ignore_tzero): Test for r32109. * test/testunit/tests_for_parallel/test_third.rb: Use another way to detect that test is running on worker. This fixes sometimes TestParallel failing. Thu Jun 16 07:20:06 2011 Shota Fukumori * lib/test/unit.rb(Test::Unit::Runner#_run_parallel): Ignore -j0 because it makes blocking forever by IO.select. Thu Jun 16 03:08:11 2011 NAKAMURA Usaku * test/testunit/test_parallel.rb (TestParallel::TestParallelWorker# setup): now can run on Windows, probably. * test/testunit/test_parallel.rb (TestParallel::TestParallel#setup): ditto. Thu Jun 16 03:00:26 2011 NAKAMURA Usaku * thread.c (do_select): Windows: no need to poll if select(2) is cancelable. * thread_win32.c (native_fd_select): new function to make select(2) cancelable. * thread_win32.c (rb_w32_check_interrupt): new function for checking interrupt. * win32/win32.c (rb_w32_select_with_thread): new function. cancelable select(2). * win32/win32.c (rb_w32_select): use above function internally. Wed Jun 15 23:30:45 2011 KOSAKI Motohiro * gc.c: fix a regression by r31690 on AIX because AIX malloc return NULL if it's passed 0. But some caller don't expect it. patch by Yutaka Kanemoto. [ruby-dev:43779] (vm_malloc_prepare): return calculated size. (vm_xmalloc): use above result. (vm_xcalloc): ditto. Wed Jun 15 23:11:35 2011 KOSAKI Motohiro * thread.c: remove BLOCKING_REGION_CORE() macro. It's no longer used since r32022. Wed Jun 15 21:00:47 2011 Martin Bosslet * test/openssl/test_config.rb: execute based on the existence of the OpenSSL module. Wed Jun 15 12:35:11 2011 Tanaka Akira * test/ruby/test_io.rb (test_copy_stream_socket): wait a child process before SIGUSR1 handler is removed. * test/pathname/test_pathname.rb (define_assertion): use line number for test method names. Wed Jun 15 10:37:43 2011 NARUSE, Yui * file.c (rb_stat_rdev): use DEVT2NUM. * file.c (rb_stat_rdev_major): ditto. * file.c (rb_stat_rdev_minor): ditto. Wed Jun 15 05:12:59 2011 Hidetoshi NAGAI * ext/tk/tcltklib.c (lib_eventloop_core): revert the last change (it's the part for ruby_1_8), and use rb_thread_check_ints() when RUBY_VM is defined. Wed Jun 15 04:42:47 2011 Koichi Sasada * benchmark/bm_vm3_thread_*.rb: renamed bm_vm3_thread_*.rb to benchmark/bm_vm_thread_*.rb. Wed Jun 15 04:28:39 2011 KOSAKI Motohiro * benchmark/bm_vm4_thread_pass.rb: rename bm_vm4* to bm_vm_thread_*. suggested by ko1. * benchmark/bm_vm4_pipe.rb: ditto. * benchmark/bm_vm4_alive_check1.rb: ditto. * benchmark/bm_vm4_pass_flood.rb: ditto. Wed Jun 15 03:52:50 2011 KOSAKI Motohiro * benchmark/bm_vm4_pass_flood.rb: new benchmark for GVL fairness. * benchmark/bm_vm4_alive_check1.rb: ditto. Wed Jun 15 01:27:53 2011 KOSAKI Motohiro * thread_pthread.c (gvl_yield): fix live lock issue on 1-2 cpus system. It's additional fix for r32021. * thread_pthread.c (gvl_init): add switch_wait_cond. * thread_pthread.h (typedef struct rb_global_vm_lock_struct): ditto. Tue Jun 14 23:16:22 2011 Tanaka Akira * bootstraptest/runner.rb (show_progress): refine verbose mode. (exec_test): ditto. Tue Jun 14 23:02:36 2011 Tanaka Akira * bootstraptest/runner.rb (show_progress): extracted from assert_check. (assert_check): use show_progress. (assert_normal_exit): ditto. (assert_finish): ditto. (flunk): ditto. Tue Jun 14 22:51:42 2011 Tadayoshi Funaba * test/date/test_*.rb: added tests. Tue Jun 14 22:09:58 2011 Tadayoshi Funaba * ext/date/date_core.c: renamed some functions. * ext/date/date_core.c: modified doc. Tue Jun 14 21:26:01 2011 CHIKANAGA Tomoyuki * cont.c (cont_save_thread): add new utility function. rb_context_t::saved_thread.machine_stack_start and machine_stack_end should be cleared immediately after a snapshot of current thread is stored to saved_thread. [ruby-dev:43680] [Bug #4855] this change aims to get rid of unnecessary GC mark at machine stack. Tue Jun 14 19:50:49 2011 Tanaka Akira * test/ruby/test_autoload.rb: remove temporary directory. Tue Jun 14 11:05:03 2011 Narihiro Nakamura * gc.c (rb_gc_set_params): call initial_expand_heap if initial_heap_min_slots is set. Tue Jun 14 11:02:08 2011 Narihiro Nakamura * gc.c: use size_t. Tue Jun 14 01:10:38 2011 Yusuke Endoh * test/coverage/test_coverage.rb: add a test for restart. a patch from Xavier Shay. [ruby-core:36745] Tue Jun 14 01:05:10 2011 Yusuke Endoh * ext/coverage/coverage.c: make it restartable. [ruby-core:36539] Mon Jun 13 23:55:40 2011 KOSAKI Motohiro * thread.c (rb_thread_schedule_rec): call gvl_yield() unconditionally. * thread_pthread.c: remove HAVE_GVL_YIELD macro. * thread_win32.c (gvl_yield): new. this fallback logic was moved from rb_thread_schedule_rec(). Mon Jun 13 23:50:25 2011 NAKAMURA Usaku * ext/io/console/console.c (console_dev): typo. Mon Jun 13 23:38:23 2011 Nobuyoshi Nakada * parse.y (parser_parse_string): flush delayed token. based on a patch by Masaya Tarui in [ruby-dev:43762]. Bug #4544 * parse.y (yylex): revert r24557. delayed token at the end of string should be flushed already by the above change. Mon Jun 13 23:33:31 2011 Nobuyoshi Nakada * ext/io/console/console.c (console_dev): console should be unbuffered. * ext/io/console/console.c (console_dev): take care of no-ctty case. Mon Jun 13 23:06:12 2011 KOSAKI Motohiro * thread_pthread.c: rewrite GVL completely. This fix improve some benchmark dramatically (e.g. vm3_thread_mutex result changed form 120.601sec to 3.426sec). * thread_win32.c: ditto. * thread_pthread.h: ditto. * vm_core.h: ditto. * thread.c: ditto. Mon Jun 13 23:11:52 2011 Tanaka Akira * test/socket/test_unix.rb: don't use Thread.abort_on_exception. Mon Jun 13 23:05:01 2011 Tanaka Akira * ext/socket/unixsocket.c (unix_send_io): race condition fixed. (unix_recv_io): ditto. fixed by Eric Wong. [ruby-core:35574] * test/socket/test_unix.rb: test added for above problem. Mon Jun 13 21:41:05 2011 KOSAKI Motohiro * thread_win32.c (native_cond_signal): remove unnecessary rb_bug(). It's additional fix for r32021. [Bug #4696] Mon Jun 13 20:50:49 2011 Martin Bosslet * test/openssl/test_ec.rb test/openssl/test_pkey_ec.rb: merge both files into test_pkey_ec.rb. Removed redundant group instantiation from PKey tests. * test/openssl/utils.rb: only create TEST_PKEY_EC_P256V1 if EC is defined. Mon Jun 13 20:28:24 2011 Martin Bosslet * test/openssl/digest.rb: remove MDC2 from test, it is not available by default in an OpenSSL installation. Mon Jun 13 20:18:55 2011 Koichi Sasada * vm_core.h, vm_insnhelper.h: move decl. of ruby_vm_global_state_version and related macros from vm_core.h to vm_insnhelper.h. * vm.c (vm_clear_all_cache): added. This function is called when ruby_vm_global_state_version overflows. TODO: vm_clear_all_inline_method_cache() is only place holder. We need to implement it ASAP. * vm_method.c (vm_clear_global_method_cache): added. Mon Jun 13 19:46:21 2011 Keiju Ishitsuka * lib/cmath.rb: add new method Object#real?. fix #3137 Mon Jun 13 18:52:00 2011 Kenta Murata * ext/bigdecimal/bigdecimal.c (is_kind_of_BigDecimal): new function to examine the whether the object is kind of BigDecimal. Mon Jun 13 18:49:00 2011 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigDecimalCmp): use GetVpValueWithPrec for Float and Rational arguments. * test/bigdecimal/test_bigdecimal.rb (test_new, test_cmp, test_power): add and modify tests for the above change. * ext/bigdecimal/bigdecimal.c (BigDecimalCmp): modify coding style to match ruby's standard. Mon Jun 13 18:33:04 2011 Tanaka Akira * lib/securerandom.rb (SecureRandom.random_bytes): modify PRNG state to prevent random number sequence repetition at forked child process which has same pid. reported by Eric Wong. [ruby-core:35765] Mon Jun 13 17:02:34 2011 NARUSE, Yui * lib/net/http.rb (Net::HTTP#use_ssl?): require 'openssl' only when https is needed. fixes r31933. Mon Jun 13 14:35:00 2011 Kenta Murata * lib/cmath.rb (CMath.cbrt): returns the principal value of the cube root of the argument. fix #3676 * test/test_cmath.rb (test_cbrt_returns_principal_value_of_cube_root): test for the above change. Mon Jun 13 14:17:00 2011 Kenta Murata * lib/test/unit.rb (Test::Unit::GlobOption#non_options): fix typo. Mon Jun 13 13:04:20 2011 Martin Bosslet * ext/openssl/ossl_digest.c: fix error for digests that have no oid (e.g. DSS1). * test/openssl/test_digest.c: add tests for this. Mon Jun 13 12:51:51 2011 NARUSE, Yui * lib/yaml.rb: load psych only when syck is not loaded. Mon Jun 13 12:23:39 2011 NARUSE, Yui Mon Jun 13 12:23:39 2011 NARUSE, Yui * ext/psych/lib/psych/deprecated.rb (Object#to_yaml_properties): undef to_yaml_properties before redefine it. * ext/syck/lib/syck/rubytypes.rb: ditto. Mon Jun 13 11:30:10 2011 Martin Bosslet * ext/openssl/ossl_digest.c: allow Digests to be created by sn, ln or oid. * test/openssl/test_digest.rb: add tests for this. [Ruby 1.9 - Feature #4412] [ruby-core:35319] Mon Jun 13 10:54:03 2011 Martin Bosslet * ext/openssl/pkey_dh.c: corrected documentation. * test/openssl/utils.rb: add test key for DH. * test/openssl/test_pkey_dh.rb: add tests. Mon Jun 13 10:13:08 2011 Martin Bosslet * ext/openssl/pkey_dh.c: clarify difference between DH#public_key and DH#pub_key in documentation. Mon Jun 13 05:50:43 2011 Martin Bosslet * NEWS: introduce PKey.read. Mon Jun 13 05:17:29 2011 Martin Bosslet * ext/openssl/ossl_pkey.c: added PKey.read module function that allows reading arbitrary public/private keys from DER-/PEM-encoded File or string instances. * ext/openssl/ossl_pkey_dh.c: improved documentation. * test/openssl/utils.rb: added EC test key. * test/openssl/test_pkey_rsa.rb test/openssl/test_pkey_dsa.rb: Test PKey.read. Reuse keys from OpenSSL::TestUtils. * test/openssl/test_pkey_ec.rb: Created test file for EC tests. Test PKey.read. [Ruby 1.9 - Feature #4424] [ruby-core:35330] Mon Jun 13 04:42:24 2011 Koichi Sasada * ext/objspace/objspace.c (total_i): fix to skip no ruby objects. Mon Jun 13 03:07:38 2011 NARUSE, Yui * test/benchmark/test_benchmark.rb (capture_output): replace '-' as space. On NetBSD, subtract between two Process.times after and before the short process may return negative value like: t0=Process.times; yield; t1=Process.times; p t1.utime-t0.utime Mon Jun 13 02:40:23 2011 Martin Bosslet * test/openssl/test_pkey_dsa.rb: Test for DSA#syssign/sysverify. Mon Jun 13 01:59:19 2011 Martin Bosslet * ext/openssl/ossl_pkey_dh.c: completed documentation. * ext/openssl/ossl_pkey_dsa.c: corrected examples. Improved parameter sections. Mon Jun 13 00:25:10 2011 Martin Bosslet * ext/openssl/ossl_pkey_dsa.c: completed documentation. Sun Jun 12 23:36:46 2011 Masatoshi SEKI * lib/drb/drb.rb (kill_sub_thread): remove the method. [ruby-core:34185] Sun Jun 12 21:01:56 2011 Tadayoshi Funaba * ext/date/date_core.c (d_lite_marshal_load): should give converted value. Sun Jun 12 20:36:30 2011 Tadayoshi Funaba * ext/date/date_core.c: edited doc. Sun Jun 12 18:12:07 2011 Koichi Sasada * benchmark/bm_vm3_clearmethodcache.rb: added. Sun Jun 12 17:40:29 2011 Koichi Sasada * vm_method.c (rb_clear_cache*): update only vm state version. * vm_method.c (rb_method_entry_get_without_cache, rb_method_entry): Fill method cache entry with vm state version, and check current vm state version for method (cache) look up. This modification speed-up invalidating of global method cache table. [Ruby 1.9 - Feature #3905] [ruby-core:36908] Sun Jun 12 16:19:48 2011 Hidetoshi NAGAI * ext/tk/extconf.rb: fail on Mac OS X. [Bug #4853][ruby-dev:43655] Sun Jun 12 15:56:08 2011 KOSAKI Motohiro * thread.c: remove th->transition_for_lock. It's thread unsafe. [Bug #4723][ruby-dev:43563] Sun Jun 12 15:47:35 2011 KOSAKI Motohiro * thread.c: introduce spurious wakeup safe deadlock check. [Bug #4696][ruby-dev:43554] Sun Jun 12 13:33:52 2011 Koichi Sasada * benchmark/bm_vm3_thread_mutex.rb: remove it. * benchmark/bm_vm3_thread_mutex[1-3].rb: added 3 benchmarks. 1: one thread with one mutex (no contention). 2: two threads with one mutex (contention). 3: 1000 threads with one mutex (huge number of contention) Above removed benchmark was type 3. Therefore, this commit adds type 1 and 2 benchmark. Sun Jun 12 11:16:59 2011 Tanaka Akira * io.c: use select() appropriately for sendfile(). Fixed by Eric Wong. [ruby-core:36150] (maygvl_copy_stream_wait_readwrite): removed. (nogvl_copy_stream_sendfile): use nogvl_copy_stream_wait_write and maygvl_copy_stream_wait_read instead of maygvl_copy_stream_wait_readwrite. Sun Jun 12 09:32:13 2011 Nobuyoshi Nakada * atomic.h (ATOMIC_OR): _InterlockedOr is not available on mingw.h * gc.c (rb_gc_set_params): VM_OBJSPACE is disabled on mingw. Sun Jun 12 01:07:09 2011 Tadayoshi Funaba * ext/date/date_core.c: edited doc. Sat Jun 11 23:18:00 2011 KOSAKI Motohiro * vm_core.h (RUBY_VM_SET_TIMER_INTERRUPT, RUBY_VM_SET_INTERRUPT, RUBY_VM_SET_FINALIZER_INTERRUPT): use atomic ops for preventing interrupt_flag bit lost. [Bug #4770][ruby-dev:43467] * thread.c (rb_threadptr_execute_interrupts_rec): ditto. * vm_core.h (typedef struct rb_thread_struct): change type of interrupt_flag to rb_atomic_t. * atomic.h: move atomic ops definition from signal.c. * signal.c: remove atomic ops definition. * common.mk (gc, signal, thread, cont): add to dependency to atomic.h. Sat Jun 11 23:23:52 2011 Tadayoshi Funaba * ext/date/date_core.c: edited doc. Sat Jun 11 23:02:36 2011 Hiroshi Nakamura * ext/openssl/lib/openssl/buffering.rb (module OpenSSL): Buffering#each_byte should return String in accordance with IO in 1.9. * test/openssl/test_buffering.rb (class OpenSSL): add tests for getc and each_byte. Sat Jun 11 22:41:37 2011 Tadayoshi Funaba * time.c: a correction of doc for strftime (%v). Sat Jun 11 22:30:53 2011 Tadayoshi Funaba * ext/date/date_core.c: replaced doc for strftime based on Time's one. Sat Jun 11 22:07:56 2011 Tadayoshi Funaba * ext/date/date_core.c (datetime_s_{iso8601,rfc3339,xmlschema,rfc2822,httpdate}): do not take argument comp. Sat Jun 11 21:58:31 2011 Tadayoshi Funaba * ext/date/date_core.c: added examples. Sat Jun 11 19:40:45 2011 Narihiro Nakamura * gc.c: expand heap if initial_heap_min_slots is bigger than HEAP_MIN_SLOTS. Sat Jun 11 19:42:50 2011 WATANABE Hirofumi * ChangeLog (vim): set shiftwidth to 2. Sat Jun 11 19:27:06 2011 Hiroshi Nakamura * ext/openssl/ossl_x509req.c: raise RequestError instead of CertificateError when Request#to_der gets an error from OpenSSL. Patch from Ippei Obayashi, see #4420. I cannot write a test for this... Request does not allow to create broken bytes... Sat Jun 11 19:34:51 2011 Tadayoshi Funaba * ext/date/date_core.c (Date::(ABBR_)?(MONTH|DAY)NAMES): should be usascii. Sat Jun 11 19:24:33 2011 Tadayoshi Funaba * ext/date/date_core.c: rewrote doc. Sat Jun 11 19:04:15 2011 Nobuyoshi Nakada * lib/test/unit.rb (Test::Unit::GlobOption#non_options): should run with 1.8. Sat Jun 11 18:05:57 2011 WATANABE Hirofumi * bootstraptest/runner.rb: should initialize $stress to avoid warnings. Sat Jun 11 18:02:09 2011 Nobuyoshi Nakada * io.c (io_getc): should be 7bit if ascii. fixes #4557 Sat Jun 11 16:52:16 2011 Nobuyoshi Nakada * numeric.c (rb_enc_uint_chr): fix message format. Bug#4869 Sat Jun 11 16:28:25 2011 Kouhei Sutou * lib/rexml/formatters/pretty.rb (REXML::Formatters::Pretty#write_text), test/rexml/test_core.rb (Tester#test_pretty_format_long_text_finite): don't ignore 'width' parameter in pretty formatter. fixes #4498 Reported by Michael Frasca. Thanks!!! Sat Jun 11 16:11:36 2011 Kouhei Sutou * test/rexml/test_core.rb (Tester#test_pretty_format_long_text_finite): remove needless assert_nothing_raised. Sat Jun 11 16:04:03 2011 Kouhei Sutou * lib/rexml/parsers/xpathparser.rb (REXML::Parsers::XPathParser#parse), test/rexml/test_elements.rb (ElementsTester#test_each_with_frozen_condition): don't modify original XPath. fixes #4161 Reported by Pavel Shved. Thanks!!! Sat Jun 11 15:53:27 2011 Kouhei Sutou * test/rexml/test_elements.rb (ElementsTester): remove needless prefix from test name. Sat Jun 11 15:36:36 2011 Martin Duerst * common.mk: fixed a grammatical error Sat Jun 11 14:20:16 2011 KOSAKI Motohiro * vm.c (thread_memsize): don't ignore size of th->local_storage. Sat Jun 11 10:32:46 2011 Nobuyoshi Nakada * lib/mkmf.rb: should quote arch_hdrdir and libpath for the case installed prefix contains spaces. Sat Jun 11 10:20:52 2011 Nobuyoshi Nakada * thread_pthread.c (native_cond_timeout): wrap conditionally used label. * thread_pthread.c (native_sleep): remove unused variable. Sat Jun 11 10:15:50 2011 Tanaka Akira * thread.c (rb_thread_execute_interrupts): use GetThreadPtr to extract rb_thread_t from VALUE. reported by Motohiro KOSAKI. [ruby-dev:43700] Sat Jun 11 10:00:49 2011 Nobuyoshi Nakada * ruby.c (ruby_process_options): add missing return type. Fri Jun 10 23:18:09 2011 KOSAKI Motohiro * ext/tk/tcltklib.c (lib_eventloop_core): replace CHECK_INTS with rb_thread_check_ints(). Because current code can't be compiled. Fri Jun 10 16:38:13 2011 NARUSE, Yui * encoding.c (rb_locale_charmap): When ruby process is run as Windows Service the console codepage is not set, GetConsoleCP returns 0. So on such environment, use GetACP(). http://blogs.msdn.com/b/michkap/archive/2005/02/08/369197.aspx patched by Rafal Bigaj [ruby-core:36832] [Bug #4854] Fri Jun 10 14:34:24 2011 Koichi Sasada * common.mk: restore TESTRUN_SCRIPT to "$(srcdir)/test.rb". TESTRUN_SCRIPT is used by "make run", "make gdb" and so on. Fri Jun 10 13:01:24 2011 Nobuyoshi Nakada * test/ruby/test_module.rb (TestModule#remove_rake_mixins): remove all module related to Rake. Fri Jun 10 09:52:38 2011 Eric Hodel * encoding.c: Mention that Encoding.compatible? can work with more than just Strings. Fri Jun 10 02:25:53 2011 Aaron Patterson * ext/psych/lib/psych.rb: updating version to match released gem. Fri Jun 10 01:06:29 2011 Tadayoshi Funaba * ext/bigdecimal (BigDecimal_to_i): Integer#** may return flonum. Fri Jun 10 00:35:12 2011 Tadayoshi Funaba * complex.c (string_to_c_internal): uses rb_reg_nth_match; * rational.c (string_to_r_internal): ditto. Fri Jun 10 00:25:03 2011 CHIKANAGA Tomoyuki * gc.c: remove an unused declaration. Fri Jun 10 00:24:04 2011 Tadayoshi Funaba * rational.c (string_to_r): Rational#** may return flonum. Thu Jun 9 23:57:53 2011 Tanaka Akira * io.c: fix IO.copy_stream interrupt handling. based on the patch by Eric Wong. [ruby-core:36156] * vm_core.h (rb_thread_call_with_gvl): don't declare here. * thread.c: include internal.h. (rb_thread_execute_interrupts): new function. * internal.h (rb_thread_execute_interrupts): declared. (rb_thread_call_with_gvl): declared. Thu Jun 9 23:34:01 2011 CHIKANAGA Tomoyuki * gc.c (rb_objspace_call_finalizer): use rb_typeddata_is_kind_of() for type check to get rid of a double free when main Thread has singleton class. [ruby-core:36741] [Bug #4828] * thread.c (rb_obj_is_mutex): add a new utility function. * vm.c (rb_obj_is_thread): ditto. Thu Jun 9 22:53:49 2011 CHIKANAGA Tomoyuki * test/ruby/test_thread.rb (TestThread#test_kill_thread_subclass): add test for Thread.kill with Thread subclass instance. Thu Jun 9 22:31:47 2011 CHIKANAGA Tomoyuki * test/ruby/test_thread.rb (TestThread#test_kill_wrong_argument): test for [ruby-core:35086]. partially forward porting r31402 from ruby_1_9_2 branch. Thu Jun 9 18:36:00 2011 Kenta Murata * string.c: Fix the ambiguous description of the behavior of rb_str_aref_m with a range. It returns nil when the beginning of the range is greater than the end of the string rather than the range. Thu Jun 9 10:57:03 2011 Aaron Patterson * ext/psych/lib/psych/visitors/to_ruby.rb: Hash subclasses can be read from YAML files. * ext/psych/lib/psych/visitors/yaml_tree.rb: Hash subclasses can be dumped to YAML files. * test/psych/test_hash.rb: corresponding test. Thu Jun 9 09:18:51 2011 Aaron Patterson * ext/psych/lib/psych/visitors/to_ruby.rb: Ruby modules can be loaded from YAML files. * ext/psych/lib/psych/visitors/yaml_tree.rb: Ruby modules can be dumped to YAML files. * test/psych/test_class.rb: corresponding test. Thu Jun 9 09:05:04 2011 Aaron Patterson * ext/psych/lib/psych/visitors/to_ruby.rb: Ruby classes can be loaded from YAML files. * ext/psych/lib/psych/visitors/yaml_tree.rb: Ruby classes can be dumped to YAML files. * test/psych/test_class.rb: corresponding test. Wed Jun 8 21:38:57 2011 CHIKANAGA Tomoyuki * cont.c (root_fiber_alloc): set root fiber's status RUNNING. in cont_mark() only RUNNING fiber's machine stack is marked. root fiber's status should be RUNNING at the beginning regardless of FIBER_USE_NATIVE. [ruby-core:36735] fixes #4827 Tue Jun 7 20:50:11 2011 KOSAKI Motohiro * doc/irb/irb.rd: fix typo. patch by Nobuhiro IMAI. [Bug #4843] [ruby-dev:43639] * doc/irb/irb.rd.ja: ditto. * doc/ChangeLog-YARV: ditto. Tue Jun 7 18:52:55 2011 NAKAMURA Usaku * lib/rubygems/user_interaction.rb (Gem::StreamUI#tty?): IO#tty? of Windows has been fixed at r29969. * test/rubygems/test_gem_stream_ui.rb: now can run tests. Tue Jun 7 18:36:41 2011 NAKAMURA Usaku * test/rubygems/test_gem.rb (TestGem#{test_self_user_home_userprofile, test_self_user_home_user_drive_and_path}): should simply ignore meaningless tests instead of skipping them. Tue Jun 7 18:15:00 2011 NAKAMURA Usaku * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_set_program_name): should show some messages when skipping tests. Tue Jun 7 13:59:47 2011 Nobuyoshi Nakada * ext/date/date_core.c (date_s_today, datetime_s_now): check the result of localtime_r(). Tue Jun 7 13:36:51 2011 Nobuyoshi Nakada * ext/tk/extconf.rb: use $defs not $CPPFLAGS to get rid of command line escape issues on Windows. fixed #4835. Tue Jun 7 03:18:45 2011 Kazuhiro NISHIYAMA * test/ruby/test_io.rb (TestIO#test_s_{,bin}write): do not create a file under /tmp. [Bug #4846] Mon Jun 6 22:51:43 2011 CHIKANAGA Tomoyuki * cont.c: use #if FIBER_USE_NATIVE instead of #ifdef. you can suppress use of setcontext for Fiber with compile option -DFIBER_USE_NATIVE=0 Mon Jun 6 21:59:23 2011 Tadayoshi Funaba * test/date/test_switch_hitter.rb: added a test. Mon Jun 6 21:37:45 2011 Tadayoshi Funaba * ext/date/date_core.c: added notes. Mon Jun 6 21:02:12 2011 Tadayoshi Funaba * ext/date/date_core.c: flattened format to strftimev. * ext/date/date_core.c (date_strftime_internal): taints run. Mon Jun 6 15:10:17 2011 NAKAMURA Usaku * include/ruby/{defines,missing}.h (rb_infinity, rb_nan): move from defines.h to missing.h. (couldn't use RUBY_EXTERN there.) Mon Jun 6 14:35:48 2011 NAKAMURA Usaku * test/rdoc/test_rdoc_markup_pre_process.rb (TestRDocMarkupPreProcess# {test_include_file,test_include_file_encoding_incompatible}): no need to write such workaround. don't hide the bug of ruby. (and the bug is already fixed.) Mon Jun 6 14:11:11 2011 NAKAMURA Usaku * ext/date/date_core.c (valid_jd_sub): need to convert from VALUE to double. * ext/date/date_core.c (offset_to_sec): get rid of a compiler warning. Mon Jun 6 14:09:08 2011 NAKAMURA Usaku * include/ruby/defines.h (rb_infinity, rb_nan): export for Windows. Mon Jun 6 10:54:45 2011 Shota Fukumori * lib/test/unit.rb(Test::Unit::Runner#puke): Add overriding from MiniTest::Unit#puke. This reverts minitest's fix that skip messages are hidden when not verbose mode (-v option). To hide skip messages, use --hide-skip option instead. Mon Jun 6 10:52:13 2011 NARUSE, Yui * lib/net/http.rb: don't use autoload. Mon Jun 6 09:39:43 2011 Aaron Patterson * ext/psych/parser.c (parse): release event objects to plug memory leak. Thanks Mark J. Titorenko! Sun Jun 5 23:26:15 2011 KOSAKI Motohiro * eval.c: remove rb_thread_stop_timer_thread function declaration. Instead, include vm_core.h. * process.c: ditto. Sun Jun 5 21:38:51 2011 KOSAKI Motohiro * thread_pthread.c (thread_timer): add to care a spurious wakeup. When native_cond_timedwait() return 0 by spurious wakeup, we don't have to neither 1) call timer_thread_function and 2) exit the timer thread. Sun Jun 5 17:50:01 2011 Tadayoshi Funaba * ext/date/date_core.c (m_real_cwyear): new. derived from m_cwyear. * ext/date/date_strftime.c: trivial changes. Sun Jun 5 17:22:01 2011 Hidetoshi NAGAI * ext/tk/config_list.in: add new options for tcltklib. Sun Jun 5 10:06:50 2011 Tadayoshi Funaba * ext/date/date_tmx.h: now does not place decoded data. allows to access indirectly via functions on demand. * ext/date/date_strftime.c: ditto. * ext/date/date_core.c: ditto. * ext/date/date_core.c ({d|dt}_lite_to_s): use strftime. Sun Jun 5 06:22:02 2011 Tadayoshi Funaba * NEWS: wrote about changes of date. Sat Jun 4 16:59:26 2011 Tadayoshi Funaba * ext/date/date_core.c (d_lite_inspect): changed the format. * ext/date/date_core.c: refactoring and fixing some bugs. Sat Jun 4 11:30:57 2011 Nobuyoshi Nakada * class.c (check_mix_method_i, do_mix_method_i): not mix methods renamed as nil. Sat Jun 4 04:04:41 2011 NARUSE, Yui * test/rubygems/test_gem_commands_which_command.rb: "missing" exists on ruby's top source directory. [Bug #4815] Fri Jun 3 21:48:12 2011 NARUSE, Yui * lib/rubygems/test_case.rb: Refix for test-all in separate directory. r31147 + r31151. Fri Jun 3 20:58:47 2011 NAKAMURA Usaku * ext/date/date_core.c (d_lite_plus): get rid of compiler warnings. Fri Jun 3 20:56:40 2011 NAKAMURA Usaku * include/ruby/missing.h, numeric.c (round): moved prototype of round() from numeric.c to missing.h. (note: round() is C99 feature, so ruby provides it if not exist in C runtime.) Fri Jun 3 20:42:04 2011 Shota Fukumori * lib/test/unit/parallel.rb: Keep $stdin, $stdout before run testcase and restore after run. Because some test break $stdin, $stdout. Fixes [Bug #4433] [ruby-core:35353] Fri Jun 3 19:58:14 2011 NAKAMURA Usaku * io.c (io_fflush): windows -- call fsync() only when the FD is tied to file, because if the FD is pipe, it blocks. Fri Jun 3 09:27:31 2011 NARUSE, Yui * lib/net/http.rb (URI::HTTP#request_uri): return nil when the uri is path-rootless form. Bug #4759 Thu Jun 2 23:51:03 2011 James Edward Gray II * lib/csv.rb: Improve the line ending detection algorithm patch by Alexey). Thu Jun 2 20:05:57 2011 NAKAMURA Usaku * io.c (rb_io_s_write, rb_io_s_binwrite): return!!! Thu Jun 2 16:29:34 2011 Shota Fukumori * io.c: Add File.write, File.binwrite. [Feature #1081] [ruby-core:21701] * test/ruby/test_io.rb: Test for File.write, File.binwrite. * NEWS: News for above. Thu Jun 2 12:33:09 2011 NAKAMURA Usaku * io.c (io_fflush, rb_io_flush): need to fsync() when ruby calls internal flush. [ruby-core:36670] [Bug #4813] Thu Jun 2 07:56:24 2011 Hidetoshi NAGAI * ext/tk/tcltklib.c: reduce CPU power required by an eventloop. Tue May 31 21:28:33 2011 Tanaka Akira * test/ruby/test_signal.rb (TestSignal#test_signal_requiring): redirect stderr to null device. Thu Jun 2 00:45:26 2011 Hidetoshi NAGAI * ext/tk/extconf.rb: fix for uninitialized global variables. [Ruby 1.9 - Bug #4811] Wed Jun 1 21:57:08 2011 KOSAKI Motohiro * thread_pthread.c (native_sleep): fix 1000times calculation error. this is a regression since r31457. [Bug #4808] [ruby-dev:43606] Wed Jun 1 17:19:16 2011 KOSAKI Motohiro * thread_pthread.c: remove unused macro. Wed Jun 1 15:42:18 2011 Nobuyoshi Nakada * parse.y (peek_n): new macro to see next nth char. Wed Jun 1 15:40:46 2011 Nobuyoshi Nakada * tool/rbinstall.rb (gem): fix for rubygems change. Wed Jun 1 14:07:57 2011 Ryan Davis * lib/minitest/*: Imported minitest 2.2.2 (r6281) * test/minitest/*: ditto Wed Jun 1 12:35:50 2011 Ryan Davis * lib/rubygems*: Import rubygems 1.8.5 (released @ 137c80f) * test/rubygems: Ditto Wed Jun 1 12:34:00 2011 Kenta Murata * NEWS: add new features of bigdecimal. Wed Jun 1 09:41:14 2011 Eric Hodel * lib/cgi/util.rb: Improve documentation. Patch by Kuba Fietkiewicz. [Ruby 1.9 - Bug #4775] * lib/cgi/core.rb: ditto Wed Jun 1 09:26:05 2011 Eric Hodel * lib/mathn.rb: Improve documentation and attach it to Numeric. Modified from patch by Anil V. [Ruby 1.9 - Bug #4762] Wed Jun 1 09:21:30 2011 Eric Hodel * lib/prime.rb: Indent examples enough to appear as code sections. Note that Prime is Enumerable. [#4762] Wed Jun 1 07:34:57 2011 Eric Hodel * hash.c (key_i): Change rdoc from "the first occurrence" to "an occurrence" since first occurrence is not a specification of Hash#key. [Ruby 1.9 - Bug #4760] Wed Jun 1 07:26:19 2011 Eric Hodel * ext/pty/pty.c (pty_check): Restore "not reached" comment. [Ruby 1.9 - Bug #4756] Wed Jun 1 07:21:40 2011 Eric Hodel * ext/zlib/zlib.c: Fix document-method declarations for set_sync and set_comment. [Ruby 1.9 - Bug #4695] Wed Jun 1 06:43:13 2011 Masaya Tarui * load.c (loaded_feature_path): cut nonsense loop execution to fix performance bug. Wed Jun 1 01:16:02 2011 Nobuyoshi Nakada * class.c (rb_mix_module): implement Module#mix. Wed Jun 1 01:15:12 2011 Nobuyoshi Nakada * io.c (io_encoding_set): should honor already set ecflags since it might be set by mode option. fixed #4804 Wed Jun 1 00:34:04 2011 CHIKANAGA Tomoyuki * ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): remove unused variable. Wed Jun 1 00:32:00 2011 Kenta Murata * ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): support instantiation from a Float through Rational. * ext/bigdecimal/bigdecimal.c (BigDecimal_new): ditto. * test/bigdecimal/test_bigdecimal.rb (test_global_new_float): add a test for the above changes. * test/bigdecimal/test_bigdecimal.rb (test_new_with_float): ditto. Wed Jun 1 00:07:00 2011 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigDecimal_coerce): support coerce with a Rational. The precision used for instantiate a BigDecimal from the given Rational is obtained from the receiver BigDecimal. * test/bigdecimal/test_bigdecimal.rb (test_coerce): add a test for the above change. Tue May 31 23:49:08 2011 Tadayoshi Funaba * ext/date/date_core.c (offset_to_sec): fixed invalid validation. Tue May 31 23:43:00 2011 Kenta Murata * ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): replace the algorithm for coercing from a Rational to stop requiring "bigdecimal/util.rb". [ruby-core:34318] * ext/bigdecimal/bigdecimal.c (GetVpValue): refactoring. * ext/bigdecimal/bigdecimal.c (BigDecimal_new): support instantiation from a Rational. * test/bigdecimal/test_bigdecimal.rb (test_global_new_with_rational): add a test for the above change. * test/bigdecimal/test_bigdecimal.rb (test_new_with_rational): ditto. Tue May 31 22:44:00 2011 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigDecimal_new): support instantiation a BigDecimal object from an Integer. * test/bigdecimal/test_bigdecimal.rb (test_new_with_integer): add for testing the above change. * ext/bigdecimal/bigdecimal.c (BigDecimal_global_new): replace its body with a BigDecimal_new call. * test/bigdecimal/test_bigdecimal.rb (test_global_new_with_integer): add for testing the above change. Tue May 31 22:24:39 2011 Tadayoshi Funaba * ext/date/date_core.c: use simple/complex mode instead of light/right mode. * test/date/*.rb: followed the above changes. Tue May 31 21:28:33 2011 Tanaka Akira * test/ruby/test_signal.rb (TestSignal#test_signal_requiring): initialize SIGINT handler. Tue May 31 17:03:24 2011 Hiroshi Nakamura * lib/net/http.rb, lib/net/protocol.rb: Allow to configure to wait server returning '100 continue' response before sending HTTP request body. See NEWS for more detail. See #3622. Original patch is made by Eric Hodel . * test/net/http/test_http.rb: test it. * NEWS: Add new feature. Tue May 31 14:17:49 2011 NAKAMURA Usaku * io.c (rb_io_s_pipe): potential bug. the mode of read IO is set as DEFAULT_TEXTMODE in call of io_set_encoding(), and of write IO is also set as it in call of io_new_instance() via rb_protect(). so, if DEFAULT_TEXTMODE is not 0, we should check the result of extract_binmode() and avoid crush of default IO mode and the result. Tue May 31 13:00:17 2011 Yuki Sonoda (Yugui) * strftime.c (rb_strftime_with_timespec): improved style consistency. constified some variables. * test/test_time.rb (TestTime#test_huge_precision): test for #4456. Tue May 31 12:53:10 2011 NAKAMURA Usaku * test/io/wait/test_io_wait.rb (TestIOWait#{test_nread,test_ready?, test_wait}: give system some time to process the written data. Tue May 31 12:40:49 2011 NAKAMURA Usaku * test/ruby/test_io.rb (TestIO#test_open_mode): MUST release resources explicitly. fix problem of r31671 Tue May 31 10:49:55 2011 NARUSE, Yui * vm_exec.c: remove conditions for clang because clang version 3.0 (trunk 132165) doesn't need them. Mon May 30 22:19:33 2011 Tanaka Akira * test/ruby/test_signal.rb (TestSignal#test_signal_requiring): don't close stderr. Mon May 30 20:22:00 2011 NAKAMURA Usaku * test/ruby/test_signal.rb (TestSignal#test_signal_requiring): small but critical typo of r31642. sorry... [Bug #4798] [ruby-core:36550] Mon May 30 15:44:16 2011 NARUSE, Yui * insns.def (opt_mult): as r31805, volatile it. Without this, clang -O fails calculation. * numeric.c (fix_mul): ditto. * rational.c (f_imul): ditto. Mon May 30 10:26:51 2011 NARUSE, Yui * numeric.c (int_pow): make sure to assign the result of x * z. If xz is optimized out, the value won't overflow. Sun May 29 23:17:29 2011 NARUSE, Yui * re.c (rb_reg_match): fix rdoc of Regexp#=~. patched by Tsuyoshi Sawada. [Bug #4781] Sun May 29 23:10:42 2011 NARUSE, Yui * lib/webrick/https.rb (WEBrick::HTTPRequest#parse_uri): keep parse_uri as private. patched by okkez. [Bug #4773] Sun May 29 17:53:03 2011 CHIKANAGA Tomoyuki * numeric.c: add #include "internal.h" for rb_big_uminus() prototype. Sun May 29 15:09:05 2011 Nobuyoshi Nakada * numeric.c (flo_round): fix for negative value. Sun May 29 02:16:53 2011 KOSAKI Motohiro * test/net/http/utils.rb (TestNetHTTPUtils#teardown): add nil check. Sun May 29 00:22:40 2011 KOSAKI Motohiro * process.c (before_exec, after_exec): change from macro to function. Sat May 28 19:30:17 2011 KOSAKI Motohiro * process.c (before_exec, after_exec): change SIGPIPE handler to SIG_DFL before calling execve(). Because r31760 reintroduced an issue that system() may hang up (i.e. [ruby-dev:12261]). * process.c (save_sigpipe, restore_sigpipe): new. Sat May 28 16:08:16 2011 KOSAKI Motohiro * signal.c (Init_signal, default_handler): change default SIGPIPE handler from empty function to SIG_IGN. [ruby-dev:43215] * signal.c (sigpipe): removed. Sat May 28 03:04:27 2011 NARUSE, Yui * io.c (fill_cbuf): return MORE_CHAR_SUSPENDED when cbuf is not empty. Sat May 28 02:22:48 2011 KOSAKI Motohiro * string.c (rb_str_bytesize): rb_str_bytesize() should use LONG2NUM(). Patch by Nikolai Weibull. [Bug #4789] [ruby-core:36511] Sat May 28 02:06:26 2011 KOSAKI Motohiro * io.c (fill_cbuf): Fix test-all crash. Sat May 28 00:58:40 2011 Marc-Andre Lafortune * lib/ostruct.rb (method_missing): Handle [] and []= correctly. Based on a patch by Caius Durling, bug #4179 [ruby-core:33792] Fri May 27 23:56:54 2011 Kouhei Sutou * test/rexml/test_core.rb (Tester::test_text_frozen): split frozen string test. refs #4783 Fri May 27 22:46:23 2011 Nobuyoshi Nakada * tool/rbinstall.rb (gem): install gemspec of json. fixed #4784 Fri May 27 22:45:10 2011 Nobuyoshi Nakada * io.c (validate_enc_binmode): do not clear textmode flag if default. fixed #4732 * io.c (fill_cbuf): finish reading at EOF. Fri May 27 11:31:51 2011 misfo * lib/rexml/text.rb (REXML::Text#initialize): prevent an error when passing a frozen string to REXML::Text.new dup the string passed in instead of cloning so that it's frozen state is ignored Fri May 27 08:47:26 2011 Hidetoshi NAGAI * thread.c (ppoll): typo bug fix. Fri May 27 08:35:04 2011 Hidetoshi NAGAI * ext/tk/lib/tk.rb: hang-up at exit before calling Tk.mainloop. * ext/tk/lib/tk/extconf.rb: cannot make on MinGW [Ruby 1.9 - Bug #4141]. Thu May 27 00:34:07 2011 James Edward Gray II * lib/csv.rb: Enhance each() to support Enumerator. Thu May 26 10:32:11 2011 James Edward Gray II * lib/csv.rb: Documentation improvements from Ysiad Ferreiras. [Ruby 1.9 - Bug #4785] Thu May 26 15:42:02 2011 Cezary Baginski * lib/xmlrpc/parser.rb (FaultException): fix to_s and inspect * test/xmlrpc/parser.rb: test for the above Wed May 25 11:54:31 2011 Eric Hodel * ext/curses/curses.c: Remove color constants block. [Ruby 1.9 - Bug #4748] Wed May 25 09:56:45 2011 Eric Hodel * ext/curses/curses.c: Add missing documentation for button state, MIN and MAX comments. Add Curses. to TABSIZE= and ESCDELAY= methods. [Ruby 1.9 - Bug #4747] Wed May 25 09:35:31 2011 Eric Hodel * lib/benchmark.rb: Restore nodoc for Benchmark::Job and Benchmark::Report. [Ruby 1.9 - Bug #4726] Wed May 25 09:29:38 2011 Eric Hodel * lib/net/pop.rb: Hide implementation details from RDoc. [Ruby 1.9 - Bug #4711] Wed May 25 09:26:29 2011 Eric Hodel * lib/net/ftp.rb: Add :nodoc: for private methods. [Ruby 1.9 - Bug #4710] Wed May 25 09:19:17 2011 Eric Hodel * ext/zlib/zlib.c: Fix Document-method declarations. Improve Zlib::GzipFile's method catalog. [Ruby 1.9 - Bug #4695] Wed May 25 08:22:12 2011 Eric Hodel * lib/erb.rb: Hide documentation for implementation details of ERB. [Ruby 1.9 - Bug #4694] Wed May 25 07:58:14 2011 Nobuyoshi Nakada * lib/tempfile.rb (Tempfile.{mkdir,rmdir}): revert for backward compatibility. Wed May 25 07:13:12 2011 Nobuyoshi Nakada * spec/README: update the description. Wed May 25 07:12:16 2011 Nobuyoshi Nakada * lib/tempfile.rb (Tempfile.{lock,unlock}_tempfile): refactor. Tue May 24 17:30:36 2011 NARUSE, Yui * spec/README: fix typo. patched by bowsersenior. https://github.com/ruby/ruby/pull/24 Tue May 24 07:06:34 2011 Hidetoshi NAGAI * ext/tk/lib/tk.rb: fail to start Tk.mainloop (exit immediately) on some environment (reported on [ruby-talk:381444]). * ext/tk/lib/tk/canvas.rb: support creating a canvas item object from an item ID number. * ext/tk/lib/tk/image.rb: import documents which are pull-requested. [Ruby 1.9 - Feature #4595] * ext/tk/lib/tk/extconf.rb: search directories for 64bit library (e.g. /usr/lib64), add some new configure options (see README.tcltklib), and bug fix. * ext/tk/lib/tk/README.tcltklib: modify docs for some new configure options. Tue May 24 04:01:46 2011 Aaron Patterson * lib/yaml.rb: switch default YAML engine to Psych, old syck engine may be enabled via YAML::ENGINE.yamler = "syck". [ruby-core:36374] Mon May 23 09:45:26 2011 Hiroshi Nakamura * include/ruby/defines.h (CASEFOLD_FILESYSTEM): Revert r30508. Forgot to include this file in the commit r31692. __APPLE__ is not CASEFOLD_FILESYSTEM again, from this time. Mon May 23 10:01:02 2011 Martin Bosslet * ext/openssl/ossl_asn1.c: Do not parse zero-tagged values as EOC. Do not let current length become negative for infinite length constructed values. Support constructed values of length zero. Added tests. Mon May 23 09:19:53 2011 Eric Hodel * lib/net/smtp.rb: Document Net::SMTP::Response. Patch by J.R. Garcia. [Ruby 1.9 - Bug #4768] Mon May 23 09:03:52 2011 Shota Fukumori * lib/test/unit/parallel.rb: Never Ignore SIGINT. When received Interrupt, immediately puts result and exit. [ruby-dev:43571] * lib/test/unit.rb: When received Interrupt, wait results from workers and collect them. [ruby-dev:43571] Mon May 23 09:08:07 2011 Eric Hodel * lib/mathn.rb: Improve documentation. Patch by Sandor Szucs. [Ruby 1.9 - Bug #4767] Mon May 23 08:45:55 2011 Eric Hodel * lib/ostruct.rb: Improve documentation. Patch by Franklin Webber. [Ruby 1.9 - Bug #4761] Mon May 23 08:35:24 2011 Eric Hodel * hash.c: Improve documentation of Hash#key. Patch by Utkarsh Kukreti. [Ruby 1.9 - Bug #4760] Mon May 23 08:32:59 2011 Eric Hodel * enumerator.c: Improve documentation. Patch by Dave Copeland. [Ruby 1.9 - Bug #4757] Mon May 23 07:19:45 2011 Martin Bosslet * NEWS (openssl): Infinite length support. Different behavior of Constructive and Primitive constructors. Mon May 23 06:58:33 2011 Martin Bosslet * ext/openssl/ossl_asn1.c: Forbid Constructives whose value is not an Array to prevent segfault. Added test. Mon May 23 06:33:17 2011 Martin Bosslet * ext/openssl/ossl_asn1.c: Forbid Constructive without infinite length. This also prevents a segfault. Added test and improved documentation. Mon May 23 05:58:14 2011 Martin Bosslet * ext/openssl/ossl_asn1.c: Fix decoding of infinite length values. Simplified ossl_asn1_decode0 by splitting it into three separate functions. Add tests. [Ruby 1.9 - Bug #4374][ruby-core:35123] Mon May 23 04:03:46 2011 Martin Bosslet * ext/openssl/ossl_asn1.c (ossl_asn1_initialize): Allow creation of Constructives with an explicit tag_class parameter without automatically setting tagging to :EXPLICIT. Fixes a bug when encoding infinite length primitive values. Mon May 23 04:03:46 2011 Martin Bosslet * ext/openssl/ossl_asn1.c (ossl_asn1_cons_to_der): Add an additional EOC for infinite length Constructives that are supposed to be encoded with explicit tagging. Also tabify method correctly. Mon May 23 03:44:39 2011 Martin Bosslet * ext/openssl/ossl_asn1.c (ossl_asn1data_to_der): Remove redundant flag tmp_cons. Mon May 23 00:35:00 2001 Kenta Murata * bignum.c (dump_bignum, bigmul1_balance, big_split, biglsh_bang), (bigrsh_bang, big_split3, bigmul1_toom3, bigmul0): implement Toom3 (Toom-Cook) multiplication. * include/ruby/defines.h: add format prefixes for BDIGIT and BDIGIT_DBL. Sun May 22 23:24:02 2011 Martin Bosslet * ext/openssl/ossl_asn1.c: Instead of rb_intern use static symbols to improve performance. Sun May 22 21:56:51 2011 Martin Bosslet * ext/openssl/ossl_asn1.c: Use OpenSSL constants V_ASN1_xxx instead of hardcoded numbers for initializing class_tag_map. Sun May 22 21:29:29 2011 Hiroshi Nakamura * include/ruby/defines.h (CASEFOLD_FILESYSTEM): Revert r30508. See #4255. Now __APPLE__ is not CASEFOLD_FILESYSTEM again. * load.c (loaded_feature_path, rb_feature_p, load_lock): Revert r30508. See #4255. Make $LOADED_FEATURES scanning case-sensitive again. Sun May 22 18:59:27 2011 Hiroshi Nakamura * ext/openssl/ossl_asn1.c(ossl_asn1_default_tag): avoid using RCLASS_SUPER to make it compilable. Plus, tabify and change variable definition style. Sun May 22 18:26:43 2011 Nobuyoshi Nakada * gc.c (vm_xcalloc): use calloc provided by platforms. fixes #4754 Sun May 22 11:44:53 2011 Eric Hodel * ext/pty/pty.c: Improve documentation. Patch by David Copeland. [Ruby 1.9 - Bug #4756] Sun May 22 11:26:39 2011 Eric Hodel * lib/timeout.rb: Improve documentation. Patch by David Copeland. [Ruby 1.9 - Bug #4755] Sun May 22 11:21:41 2011 Eric Hodel * lib/ipaddr.rb: Improve documentation. Patch by Sandor Szucs. [Ruby 1.9 - Bug #4753] Sun May 22 11:14:40 2011 Eric Hodel * lib/forwardable.rb: Document def_delegator. Patch by Sandor Szucs. [Ruby 1.9 - Bug #4752] Sun May 22 11:11:41 2011 Eric Hodel * lib/fileutils.rb: Document block behavior of FileUtils.cd. Patch by Bil Kleb. [Ruby 1.9 - Bug #4751] Sun May 22 11:07:47 2011 Eric Hodel * ext/curses/curses.c: Complete documentation. Patch by Vincent Batts. [Ruby 1.9 - Bug #4748] Sun May 22 09:29:43 2011 KOSAKI Motohiro * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_set_program_name): use spawn. it prevent that other tests inherit renamed $0. Sun May 22 08:57:13 2011 Martin Bosslet * ext/openssl/ossl_asn1.c: Default tag lookup in constant time via hash instead of previous linear algorithm. [Ruby 1.9 - Feature #4309][ruby-core:34813] Sun May 22 07:54:16 2011 Martin Bosslet * ext/openssl/ossl_digest.c: Explain DSS and DSS1 in documentation. Sun May 22 07:10:25 2011 Martin Bosslet * test/openssl/test_pkey_dsa.rb: Add tests for sign/verify. Sun May 22 06:07:17 2011 Martin Bosslet * test/openssl/test_x509cert.rb: Merge DSA-related tests from ruby_1_8 branch. Sun May 22 04:11:12 2011 KOSAKI Motohiro * thread.c (Init_Thread): add a code comment why the meaningless line is necessary. Sun May 22 01:35:12 2011 Tadayoshi Funaba * ext/date/date_core.c: modified documentation. Sat May 21 22:46:26 2011 Tadayoshi Funaba * ext/date/date_strftime(date_strftime_with_tmx): "%v" means "%e-%b-%Y". Sat May 21 22:14:35 2011 KOSAKI Motohiro * io.c (rb_io_extract_modeenc): accept combination hash and File::Constants. (eg. File.open('yo', :mode => File::WRONLY)) [Feature #4742][ruby-core:36338] * test/ruby/test_io.rb (TestIO#test_open_mode): new test. Sat May 21 21:44:14 2011 Tadayoshi Funaba * test/date/test_switch_hitter.rb: new. Sat May 21 21:18:29 2011 Tadayoshi Funaba * ext/date/date_{core,parse}.c: moved nearly all core code from ext/date/lib. * ext/date/lib/{date,date/format}.rb: removed nearly all code. Sat May 21 02:58:46 2011 Eric Hodel * ext/.document: Add curses to documented extensions. * ext/curses/curses.c: Improve documentation. Patch by Vincent Batts. [Ruby 1.9 - Bug #4747] Sat May 21 02:51:01 2011 Eric Hodel * ext/bigdecimal/lib/bigdecimal/util.rb: Improve documentation. Patch by Pete Higgins. [Ruby 1.9 - Bug #4746] Sat May 21 02:44:10 2011 Eric Hodel * ext/bigdecimal/lib/bigdecimal/jacobian.rb: Document isEqual. Patch by Kuba Fietkiewicz. [Ruby 1.9 - Bug #4744] Sat May 21 02:22:34 2011 Eric Hodel * ext/date/lib/date/format.rb: Document date formats. Patch by Clinton Nixon. [Ruby 1.9 - Bug #4743] Fri May 20 05:15:19 2011 Nobuhiro Iwamatsu * gc.c: Fix build on m68k by 'error: too few arguments to function 'mark_locations_array''. Fri May 20 04:23:42 2011 Eric Hodel * lib/scanf.rb: Improve documentation. Patch by Gabe McArthur. [Ruby 1.9 - Bug #4735] Fri May 20 00:58:01 2011 Nobuyoshi Nakada * enc/trans/ibm737-tbl.rb: greek code page. fixes #4738 Thu May 19 14:44:05 2011 NAKAMURA Usaku * test/ruby/test_signal.rb (test_signal_requiring): skip on Windows. we can send SIGINT only to pid 0 and the process itself. Thu May 19 09:07:08 2011 Nobuyoshi Nakada * lib: revert r31635-r31638 and untabify with expand(1). Thu May 19 07:47:26 2011 Martin Bosslet * test/openssl/test_pkey_rsa.rb: Add tests for sign/verify. Thu May 19 07:19:16 2011 Martin Bosslet * ext/openssl/ossl_pkey.c: Add documentation. Thu May 19 07:06:56 2011 Eric Hodel * lib/benchmark.rb: Fix indentation. * lib/net/imap.rb: Fix indentation of regular expressions. Thu May 19 06:36:11 2011 Eric Hodel * lib/net/imap.rb: Fix indentation of EOF for heredoc. * lib/debug.rb (Commands): Fix indentation of EOHELP for heredoc. Thu May 19 06:30:38 2011 Eric Hodel * lib/mkmf.rb: Fix indentation of EOM for heredoc. Thu May 19 06:16:41 2011 Eric Hodel * lib: Convert tabs to spaces for ruby files per http://bugs.ruby-lang.org/projects/ruby/wiki/DeveloperHowto#coding-style Patch by Steve Klabnik [Ruby 1.9 - Bug #4730] Patch by Jason Dew [Ruby 1.9 - Feature #4718] Thu May 19 06:06:07 2011 Eric Hodel * lib/cgi/util.rb: Improve documentation. Patch by Clinton Nixon. [Ruby 1.9 - Bug #4733] * lib/cgi/core.rb: ditto * lib/cgi/cookie.rb: ditto Thu May 19 06:02:21 2011 Eric Hodel * lib/tempfile.rb: Document Dir.mkdir and Dir.rmdir. Patch by Clinton Nixon. [Ruby 1.9 - Bug #4728] Thu May 19 05:57:52 2011 Eric Hodel * encoding.c: Improve documentation for Encoding#default_external and Encoding#default_internal. Wed May 18 22:45:26 2011 Nobuyoshi Nakada * ext/io/console/lib/console/size.rb (IO#console_size): new method. (EXPERIMENTAL) Wed May 18 22:41:51 2011 Nobuyoshi Nakada * internal.h: add for internal use only. Wed May 18 22:36:43 2011 Nobuyoshi Nakada * eval.c (setup_exception): internal exception should be hidden Wed May 18 20:25:04 2011 KOSAKI Motohiro * lib/timeout.rb (Timeout#timeout): don't leak "execution expired" exception. [Bug #4283] [ruby-core:34534]. Wed May 18 06:09:24 2011 Eric Hodel * lib/cmath.rb: Add some examples and improve documentation. Patch by Sandor Szucs. [Ruby 1.9 - Bug #4727] Wed May 18 05:40:31 2011 Eric Hodel * lib/benchmark.rb: Remove nodoc from Benchmark::Job and Benchmark::Report. Patch by Sandor Szucs. [Ruby 1.9 - Bug #4726] Wed May 18 05:29:26 2011 Eric Hodel * lib/webrick/compat.rb: Improve documentation. Patch by Sandor Szucs. [Ruby 1.9 - Bug #4725] Wed May 18 05:10:35 2011 Eric Hodel * lib/tracer.rb: Improve documentation. Patch by Richard Ramsden. [Ruby 1.9 - Feature #4720] Wed May 18 04:53:41 2011 Eric Hodel * lib/cmath.rb: Improve documentation. Patch by Jason Dew. [Ruby 1.9 - Feature #4717] Wed May 18 04:50:24 2011 Eric Hodel * lib/net/ftp.rb: Improve documentation. Patch by Vincent Batts. [Ruby 1.9 - Bug #4710] Wed May 18 03:14:49 2011 Eric Hodel * test/test_singleton.rb: Add tests from lib/singleton.rb. Patch by Pete Higgins. [Ruby 1.9 - Bug #4715] Wed May 18 03:03:07 2011 Eric Hodel * lib/singleton.rb: Improve documentation. Patch by Pete Higgins. [Ruby 1.9 - Bug #4709] Tue May 17 21:24:04 2011 KOSAKI Motohiro * thread.c (rb_mutex_lock): remove remove_signal_thread_list() call. It's meaningless because lock_interrupt doesn't call add_signal_thread_list(). Tue May 17 20:20:49 2011 KOSAKI Motohiro * vm_core.h (rb_thread_struct): add volatile to transition_for_lock because it is not protected by lock. Tue May 17 20:08:53 2011 NAKAMURA Usaku * LEGAL (missing/{elf,tgamma,lgamma_r}.c): they've been replaced by public domain implementations. * LEGAL (vsnprintf.c): it has moved to srcdir from missing/. * LEGAL (missing/crypt.c): list its original license. Tue May 17 19:54:26 2011 KOSAKI Motohiro * LEGAL (configure): add missing/setproctitle.c Tue May 17 19:35:01 2011 KOSAKI Motohiro Fix FreeBSD test failure. * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_set_program_name): use ps -o command instead of ps -o cmd. FreeBSD doesn't support -o cmd option. Tue May 17 08:04:26 2011 Martin Bosslet * ext/openssl/ossl_digest.c: Add documentation. Tue May 17 07:14:58 2011 Eric Hodel * lib/net/http.rb: Improve documentation of proxy configuration methods. Patch by Alf Mikula. [Ruby 1.9 - Bug #4714] Tue May 17 07:09:01 2011 Eric Hodel * lib/net/pop.rb: Improve documentation. Patch by Vincent Batts. [Ruby 1.9 - Bug #4711] * lib/net/telnet.rb: ditto Tue May 17 07:00:41 2011 Eric Hodel * lib/net/http.rb: Fix nodoc for Net::HTTP::version_1_1?. Patch by Alf Mikula. [Ruby 1.9 - Bug #4713] Tue May 17 06:56:26 2011 Eric Hodel * lib/optparse.rb: Add link to make_switch to improve documentation. Patch by David Copeland. [Ruby 1.9 - Bug #4708] Tue May 17 06:50:40 2011 Eric Hodel * lib/observer.rb: Improve documentation. Patch by David Copeland. [Ruby 1.9 - Bug #4707] Tue May 17 06:42:53 2011 Eric Hodel * lib/logger.rb: Improve documentation. Patch by David Copeland. [Ruby 1.9 - Bug #4706] Tue May 17 06:28:14 2011 Eric Hodel * lib/gserver.rb: Improve documentation. Patch by David Copeland. [Ruby 1.9 - Bug #4705] Tue May 17 06:21:15 2011 Eric Hodel * lib/cgi.rb: Add toplevel documentation to class CGI * lib/cgi/session.rb: Add overview documentation to CGI::Cookie * lib/cgi/html.rb: Don't add CGI::TagMaker documentation to CGI. Patch by David Copeland. [Ruby 1.9 - Bug #4704] * lib/cgi/core.rb: Clean up CGI documentation. Patch by David Copeland. [Ruby 1.9 - Bug #4704] * lib/cgi/cookie.rb: Clean up CGI::Cookie documentation. Patch by David Copeland. [Ruby 1.9 - Bug #4704] Tue May 17 05:52:30 2011 Eric Hodel * ext/digest: Improve documentation of Digest, Digest::HMAC and Digest::SHA2. Patch by Pete Higgins. [Ruby 1.9 - Bug #4702] Tue May 17 03:51:42 2011 Eric Hodel * lib/abbrev.rb: Hide copyright and revision information from RDoc. Inspired by patch from David Copeland, bug #4703. Tue May 17 03:33:21 2011 Eric Hodel * lib/timeout.rb (module Timeout): Hide internal constants. Patch by Pete Higgins. [Ruby 1.9 - Bug #4701] Mon May 16 11:21:09 2011 NAKAMURA Usaku * configure.in, win32/Makefile.sub (RUBY_SO_NAME): add CPU as prefix of RUBY_SO_NAME on x64/ia64 mswin/mingw. [Feature #4602] Mon May 16 08:00:05 2011 Eric Hodel * lib/rdoc.rb: Update to RDoc 3.6.1, allows OpenSSL::Digest to be found. Mon May 16 05:49:54 2011 Eric Hodel * lib/drb/acl.rb: Add documentation. Mon May 16 05:13:20 2011 Martin Bosslet * ext/openssl/ossl_asn1.c: Add documentation. Mon May 16 00:32:05 2011 KOSAKI Motohiro * test/ruby/test_signal.rb (TestSignal#test_signal_process_group): skip if the platform doesn't have :pgroup capability. (i.e. skip if mswin32) Sun May 15 23:53:31 2011 KOSAKI Motohiro * include/ruby/intern.h: resurrect old rb_fd_copy(). * thread.c (rb_fd_copy): ditto. Sun May 15 23:45:11 2011 KOSAKI Motohiro * include/ruby/intern.h: remove rb_fd_copy() to rb_fd_dup() and rb_w32_fdcopy() to rb_w32_fd_dup(). * win32/win32.c: ditto. * thread.c: ditto. Sun May 15 22:26:39 2011 CHIKANAGA Tomoyuki * signal.c (rb_f_kill): accept '-SIGXXX' style signal with Symbol or implicit conversion with #to_str. [ruby-dev:43169] fixes #4362 * test/ruby/test_signal.rb (test_signal_process_group): add a test for send signal to process group. Sun May 15 21:22:35 2011 CHIKANAGA Tomoyuki * cont.c (cont_init): clear macihne_stack_start/end of saved thread to prevent mark machine stack of GC'ed Thread. root Fiber is not initialized by fiber_init(). based on a patch by Serge Balyuk [ruby-core:35891] fixes #4612 * test/ruby/test_fiber.rb (test_gc_root_fiber): add test for it. Sun May 15 21:04:29 2011 Nobuyoshi Nakada * transcode.c (econv_init): revert r31353. [ruby-dev:43512] Sun May 15 03:39:35 2011 Eric Hodel * ext/zlib/zlib.c: Improve documentation. Patch by Vincent Batts. [Ruby 1.9 - Bug #4695] Sun May 15 03:23:46 2011 Eric Hodel * lib/erb.rb: Document ERB::Compiler. Patch by Simon Chiang. [Ruby 1.9 - Bug #4694] Sun May 15 00:58:47 2011 KOSAKI Motohiro fix mswin32 build error. * missing/setproctitle.c: add #ifdef HAVE_UNISTD_H. * win32/Makefile.sub (MISSING): add setproctitle.obj Sat May 14 22:45:28 2011 KOSAKI Motohiro * missing/setproctitle.c: add to include "ruby/util.h". Sat May 14 19:52:22 2011 KOSAKI Motohiro * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_set_program_name): add for $0 test. Sat May 14 19:50:46 2011 KOSAKI Motohiro * missing/setproctitle.c (compat_init_setproctitle): use ruby_strdup() instead of strdup(). Sat May 14 19:37:31 2011 KOSAKI Motohiro * include/ruby/missing.h: add setproctitle() declaration. * missing/setproctitle.c: added. * configure.in: add check for missing/setproctitle.c. * ruby.c (ruby_process_options): add to call compat_init_setproctitle(). * ruby.c (set_arg0): remove all platform specific code. it's moved to missing/setproctitle.c. * ruby.c (origarg): remove len field. It's no longer used. * ruby.c (get_arglen): removed. This patch makes a lot of cleanup set_arg0 related code and fixes [Feature #4689]. Sat May 14 17:42:21 2011 CHIKANAGA Tomoyuki * process.c (rb_proc_times): improve documentation. [ruby-core:35785] fixes #4581, reported by Andrew Grimm. Sat May 14 12:12:54 2011 Martin Bosslet * test/openssl/test_pkey_dsa.rb: Add basic tests and tests that ensure new public key PEM encoding behavior and ensure backward compatibility. [Ruby 1.9 - Bug #4422] [ruby-core:35328] * test/openssl/test_pkey_rsa.rb: Remove line with 'puts'. Sat May 14 12:06:49 2011 Eric Hodel * lib/rdoc/context.rb (class RDoc): Fix infinite loop caused by re-encountering BasicObject. Sat May 14 10:32:36 2011 Martin Bosslet * test/openssl/test_pkey_rsa.rb: Add tests that ensure new public key encoding behavior and also ensure backward compatibility. [Ruby 1.9 - Bug #4421] [ruby-core:35327] Sat May 14 09:50:10 2011 Eric Hodel * lib/yaml/dbm.rb: Add documentation. Patch by Justin Collins. [Ruby 1.9 - Bug #4693] * lib/yaml/store.rb: ditto Sat May 14 09:31:43 2011 Eric Hodel * lib/rdoc.rb: Updated to RDoc 3.6 Sat May 14 07:30:29 2011 Aaron Patterson * ext/psych/lib/psych.rb: released a new gem, so increasing version. Sat May 14 05:08:32 2011 Martin Bosslet * ext/openssl/ossl_digest.c * ext/openssl/ossl_pkey.c * ext/openssl/ossl_pkey.h * test/openssl/pkey/test_pkey_rsa.rb Reverted premature commit. Sorry for the noise! Sat May 14 05:02:58 2011 Eric Hodel * lib/uri.rb: Add toplevel documentation. Patch by Vincent Batts. [Ruby 1.9 - Bug #4690] Sat May 14 04:19:06 2011 Martin Bosslet * NEWS: Describe altered behaviour for RSA and DSA public key encoding. [Ruby 1.9 - Bug #4421, Bug #4422] [ruby-core:35327,35328] Sat May 14 02:57:52 2011 Eric Hodel * lib/ipaddr.rb (unless Socket): Document valid*? methods. Patch by Sebastian Martinez. [Ruby 1.9 - Feature #4687] Sat May 14 02:54:04 2011 Eric Hodel * lib/rexml/functions.rb: Add some documentation for REXML::Functions. Patch by Sebastian Martinez. [Ruby 1.9 - Feature #4688] Sat May 14 02:51:42 2011 Eric Hodel * lib/resolv.rb: Hide private method and state-tracking constants from RDoc. Patch by Mark Turner. [Ruby 1.9 - Feature #4691] Fri May 13 19:23:21 2011 URABE Shyouhei * numeric.c (flo_coerce): Add #flo_coerce documentation. Patch by Sebastian Martinez. https://github.com/ruby/ruby/pull/21 Fri May 13 18:42:22 2011 URABE Shyouhei * README.EXT: fix typo. Patch by William Blackerby. https://github.com/ruby/ruby/pull/19 * README.EXT.ja: ditto. Fri May 13 15:22:34 2011 NAKAMURA Usaku * win32/win32.c (rb_w32_select): check invalid handle before doing select operations. see [ruby-dev:43513], [ruby-dev:43535] Fri May 13 08:34:00 2011 Eric Hodel * lib/rdoc/rdoc.rb: Output summary after documentation report. * lib/rdoc/stats/normal.rb: Don't output information for users when we're not on a TTY Fri May 13 07:49:02 2011 Eric Hodel * lib/fileutils.rb: Hide internal methods from RDoc. Patch by Darragh Curran. [Ruby 1.9 - Bug #4684] Fri May 13 07:36:23 2011 Eric Hodel * lib/webrick/httpservlet/erbhandler.rb: Add documentation. Fri May 13 07:04:33 2011 Eric Hodel * lib/mathn.rb: Fix indentation. Patch by Jason Dew. [Ruby 1.9 - Feature #4682] Fri May 13 06:50:43 2011 Eric Hodel * lib/mathn.rb: Add documentation. Patch by Jason Dew. [Ruby 1.9 - Feature #4667] Fri May 13 05:44:19 2011 Eric Hodel * lib/logger.rb (class Logger): Document Logger#datetime_format. Patch by Sergio Gil Perez de la Manga. [Ruby 1.9 - Bug #4678] Fri May 13 05:39:11 2011 Eric Hodel * re.c (Init_Regexp): Document option constants. Patch by Vincent Batts. [Ruby 1.9 - Bug #4677] * lib/uri/common.rb (module URI): Documentation for URI. Patch by Vincent Batts. [Ruby 1.9- Bug #4677] * lib/uri/ftp.rb (module URI): ditto * lib/uri/generic.rb (module URI): ditto * lib/uri/http.rb (module URI): ditto * lib/uri/https.rb (module URI): ditto * lib/uri/ldap.rb (module URI): ditto * lib/uri/ldaps.rb (module URI): ditto * lib/uri/mailto.rb (module URI): ditto * process.c (Init_process): Document Process constants. Patch by Vincent Batts. [Ruby 1.9- Bug #4677] Fri May 13 05:16:38 2011 Eric Hodel * lib/rss/atom.rb (module RSS): Document URIs. Patch by Mark Turner. [Ruby 1.9 - #4671] * lib/rss/rss.rb (module RSS): Document exception classes. Patch by Mark Turner. [Ruby 1.9 - #4671] Fri May 13 02:15:18 2011 KOSAKI Motohiro * io.c (select_internal): remove unused variable (interrupt_flag). Thu May 12 18:24:34 2011 Kouhei Sutou * configure.in: limit to "T" type for prefix of external symbols because x86_64-w64-mingw32-gcc on Debian GNU/Linux generates the following symbol: 0000000068483390 D _GLOBAL__F__conftest_external Approved by nobu. Thu May 12 14:50:52 2011 NAKAMURA Usaku * test/dl/test_base.rb (Fiddle::LIBC_SO): its always msvc*.dll on mswin/mingw. Thu May 12 14:47:53 2011 NAKAMURA Usaku * lib/mkmf.rb (Logging.postpone): copy only when temporary logfile exists. Thu May 12 12:24:22 2011 Nobuhiro Iwamatsu * ext/openssl/ossl_ssl.c: By trunk@31346, function check of SSLv2 is executed. However, the problem is not revised in this. This adds the control of using function of SSLv2 in made macro by function check. Thu May 12 08:10:46 2011 Eric Hodel * lib/set.rb (class Set): Add nodoc to internal-use methods. Patch by Pete Higgins. [Ruby 1.9 - Bug #4665] Thu May 12 08:01:14 2011 Martin Bosslet * ext/openssl/ossl_pkey_ec.c: Allow encryption when PEM-encoding Elliptic Curve private keys. [ruby-core:35329] [Bug #4423] Thu May 12 07:54:59 2011 Eric Hodel * object.c (rb_obj_equal): Add documentation. Patch by Vincent Batts. [Ruby 1.9 - Bug #4664] * lib/rexml: ditto * lib/mkmf.rb: ditto * ext/socket/lib/socket.rb: ditto Thu May 12 07:30:08 2011 Eric Hodel * Various .document files: Update .document files to match files which have documentation. Thu May 12 07:18:45 2011 Martin Bosslet * ext/openssl/ossl_pkey_dsa.c: Use generic X.509 SubjectPublicKeyInfo format for PEM-encoding DSA public keys. [ruby-core:35328] [Bug #4422] Thu May 12 06:27:31 2011 Martin Bosslet * ext/openssl/ossl_pkey_rsa.c: Use generic X.509 SubjectPublicKeyInfo format for encoding RSA public keys. [ruby-core:35327] [Bug #4421] Wed May 11 19:45:27 2011 Keiju Ishitsuka * lib/forwardable.rb: support 'delegate :foo => :bar' for to meet by specification of RDOC. Wed May 11 08:36:38 2011 Eric Hodel * lib/webrick: Add documentation for WEBrick::HTTPAuth Wed May 11 03:06:35 2011 Eric Hodel * lib/rss.rb: Add documentation for RSS. Patch by Steve Klabnik. [Ruby 1.9 - Bug #4663] Tue May 10 14:50:32 2011 Shota Fukumori * lib/test/unit.rb: Add option for hiding skip messages when test ends. #4657 * test/testunit/test_hideskip.rb, test/testunit/test4test_hideskip.rb: test for above. Tue May 10 10:53:04 2011 Eric Hodel * common.mk (rdoc): Add rdoc-coverage rule Tue May 10 09:13:21 2011 Eric Hodel * lib/webrick: Add Documentation Tue May 10 04:22:09 Eric Hodel * lib/webrick/log.rb: Hide copyright info from ri * lib/webrick/httpstatus.rb: ditto * lib/webrick/htmlutils.rb: ditto * lib/webrick/httpversion.rb: ditto * lib/webrick/version.rb: ditto * lib/webrick/httpauth/userdb.rb: ditto * lib/webrick/httpauth/authenticator.rb: ditto * lib/webrick/accesslog.rb: ditto Mon May 9 20:57:13 2011 Tadayoshi Funaba * test/ruby/test_{complex,rational}.rb: added tests. Mon May 9 20:29:44 2011 Tadayoshi Funaba * complex.c (string_to_c_internal): a refactoring. Mon May 9 18:33:05 2011 NARUSE, Yui * string.c: Improve documentation for String#start_with? and String#end_with?. fixes #4652 patched by Andrew Grimm Mon May 9 13:49:00 2011 Kenta Murata * complex.c (string_to_c_internal): support scientific notation. patched by Tinco Andringa. https://github.com/ruby/ruby/pull/16 [ruby-core:36046][Bug #4655] Mon May 9 11:52:48 2011 NARUSE, Yui * numeric.c (int_ord): remove K&R style. patched by Daehyub Kim. https://github.com/ruby/ruby/pull/17 Sun May 8 22:17:24 2011 Tadayoshi Funaba * test/ruby/test_{complex2,complexrational}.rb: use skip. * test/date/*.rb: ditto. Sun May 8 21:02:31 2011 Tadayoshi Funaba * test/ruby/test_{complex2,complexrational}.rb: NEVER SKIP. Sun May 8 21:01:21 2011 Tadayoshi Funaba * test/date/test_date_base.rb: fixed. Sun May 8 20:54:11 2011 Tadayoshi Funaba * test/date/*.rb: NEVER SKIP. Sun May 8 20:37:33 2011 Tadayoshi Funaba * test/date/*.rb: reverted 31432. Sun May 8 20:32:43 2011 Tadayoshi Funaba * test/date/*.rb: reverted 31483. Sun May 8 19:39:16 2011 KOSAKI Motohiro * thread_pthread.c (native_cond_timedwait): add to care EINTR. * thread_pthread.c (thread_timer): remove EINTR check. Sun May 8 19:04:15 2011 Tadayoshi Funaba * lib/time.rb (xmlschema): avoid passing any negative numbers. Sun May 8 18:40:03 2011 Tadayoshi Funaba * ext/date/date_{parse,strptime}.c: introduced some macros. Sun May 8 17:17:13 2011 Tadayoshi Funaba * test/date/*.rb: use skip /w messages. Sun May 8 17:04:55 2011 Tadayoshi Funaba * ext/date/lib/date/format.rb (_httpdate): omitted to call zone_to_diff. Sun May 8 16:56:19 2011 Tadayoshi Funaba * ext/date/date_core.c (date_s_test_*): use macros. Sun May 8 10:24:16 2011 KOSAKI Motohiro * thread_pthread.c: cleanup signal_thread_list related ifdef. 1) we don't have to use #ifdef FOO-PLATFORM directly 2) About half #ifdef didn't care symbian properly. Sun May 8 05:19:37 2011 KOSAKI Motohiro * test/io/wait/test_io_wait.rb: Linux socketpair(2) only support AF_UNIX, but windows socketpair doesn't support it. we can't avoid platform check. sigh! Sun May 8 00:13:05 2011 KOSAKI Motohiro * test/io/wait/test_io_wait.rb: use Socket.pair instead of pipe. Windows can only treat a socket. Sat May 7 22:43:48 2011 KOSAKI Motohiro * thread.c (rb_fd_zero): remove redundant zero fill. Sat May 7 22:38:04 2011 KOSAKI Motohiro * thread.c (rb_fd_init): remove volatile qualifier. Sat May 7 22:34:29 2011 KOSAKI Motohiro * thread.c (rb_fd_init_copy): new internal api. It provide efficient copy constructor semantics. * thread.c (do_select): use rb_fd_init_copy(). Sat May 7 15:18:06 2011 KOSAKI Motohiro fix incorrect native_cond_signal call when deadlock was detected. * thread.c (lock_func): decrement cond_waiting if timeout was happen. Sat May 7 18:28:37 2011 Nobuyoshi Nakada * thread_pthread.c (USE_MONOTONIC_COND): check the availability more strictly. * thread_pthread.h (rb_thread_cond_t): ditto. Sat May 7 15:15:10 2011 KOSAKI Motohiro fix win32 native_cond_timedwait() makes SIGSEGV. * thread_win32.h (rb_thread_cond_struct): add prev field instead of last. (ie cond_event_entry is now using double linked list instead of single) * thread_win32.c (cond_event_entry): add prev field. * thread_win32.c (__cond_timedwait): remove entry properly if timeout was happen. * thread_win32.c (native_cond_signal): change for double linked list. * thread_win32.c (native_cond_broadcast): ditto. * thread_win32.c (native_cond_initialize): ditto. Sat May 7 12:41:04 2011 KOSAKI Motohiro fix mutex deadlock test hang-up. * thread_win32.c (abs_timespec_to_timeout_ms): fix 1000x calculation mistake. (ie fix hang-up native_cond_timedwait()) Sat May 7 03:14:13 2011 KOSAKI Motohiro sleep_cond use monotonic time if possible. * thread_pthread.c (native_thread_init): change sleep_cond attribute to monotonic. * thread_pthread.c (native_sleep): use native_cond_timeout(). * thread_pthread.c (native_cond_timeout): add overflow care. * thread_win32.c (native_cond_timeout): ditto. Sat May 7 02:49:12 2011 KOSAKI Motohiro fix win32 compile error. * thread_win32.c (RB_CONDATTR_CLOCK_MONOTONIC): define RB_CONDATTR_CLOCK_MONOTONIC always. * thread_pthread.c (RB_CONDATTR_CLOCK_MONOTONIC): ditto. Sat May 7 02:29:41 2011 KOSAKI Motohiro mutex: deadlock check timeout use monotonic time. * thread_pthread.c (native_cond_timeout): new internal api. it calculate a proper time for argument of native_cond_timedwait(). * thread_win32.c (native_cond_timeout): ditto. * thread_pthread.c (thread_timer): use native_cond_timeout() instead of get_ts. * thread.c (lock_func): ditto. * thread_pthread.c (get_ts): removed. use native_cond_timeout(). * thread.c (init_lock_timeout): ditto. Sat May 7 01:54:21 2011 KOSAKI Motohiro * thread_pthread.c (get_ts): add monotonic clock capability. * thread_pthread.c (rb_thread_create_timer_thread): use monotonic clock if possible. Sat May 7 01:43:37 2011 KOSAKI Motohiro * thread_pthread.h (rb_thread_cond_t): add clockid field. it's no longer an alias of pthread_cond_t. * thread_pthread.c: adapt new rb_thread_cond_t type. * thread.c (mutex_alloc): ditto. * thread_win32.c (native_cond_initialize): ditto. * configure.in: add check for pthread_cond_attr_setclock() and clockid_t type. Fri May 6 23:29:47 2011 KOSAKI Motohiro * thread.c (rb_wait_for_single_fd): use ppoll() instead of poll() if possible. based on a patch from Eric Wong. [ruby-core:36003]. Fri May 6 23:13:43 2011 KOSAKI Motohiro * configure.in: remove nanosleep check. we no longer use it. r20124 removed last usage. Fri May 6 22:35:56 2011 Nobuyoshi Nakada * ext/syck/rubyext.c (mktime_do): extra digits are not used. Fri May 6 17:43:07 2011 NARUSE, Yui * ext/syck/rubyext.c (mktime_do): remove unused variable offset. * ext/syck/syck.h: use #ifdef instead of #if DEBUG. Fri May 6 16:27:33 2011 NARUSE, Yui * ext/date/date_core.c (DAY_IN_NANOSECONDS): refix: 31438. check with LONG_MAX and cast as long; without this the calculation will be done as int and overflow. Fri May 6 15:01:11 2011 URABE Shyouhei * ext/syck/rubyext.c (mktime_do): avoid buffer overrun, by silently ignoring lesser significant digits. Required buffer length can be computable so you might at first think of allocating enough memory space on the fly using alloca(). That is a wrong idea because when using alloca there is always risk of integer overflow. A function that accepts outer-process resources like this should not blindly trust its inputs. In this particular case we just want to generate milliseconds resolution by strtod() so the string in question needs no more length than what we originally have. Ignoring lesser significant digits should suffice I believe. Fri May 6 14:25:53 2011 Tinco Andringa * ext/syck/rubyext.c (mktime_do): YAML.load time correctly parse usecs smaller than 1 fixes #4571 Thu May 5 22:23:34 2011 KOSAKI Motohiro * thread_pthread.c (native_mutex_reinitialize_atfork): removed unused macro. * thread_win32.c (native_mutex_reinitialize_atfork): ditto. Thu May 5 22:09:39 2011 Nobuyoshi Nakada * ext/date/date_core.c (DAY_IN_NANOSECONDS): long long int is not available on all platforms. Thu May 5 17:36:31 2011 CHIKANAGA Tomoyuki * eval.c (frame_func_id): store result of method_entry_of_iseq() to cfp->me because method_entry_of_iseq() might become expensive. Thu May 5 15:03:51 2011 CHIKANAGA Tomoyuki * eval.c (frame_func_id): __method__ return different name from methods defined by Module#define_method with a same block. [ruby-core:35386] fixes #4606 * eval.c (method_entry_of_iseq): new helper function. search control frame stack for a method entry which has given iseq. * test/ruby/test_method.rb: add tests for #4606 Wed May 4 22:13:09 2011 KOSAKI Motohiro * benchmark/bm_vm4_pipe.rb: Reduced iterations. Too slow benchmark is bad. * benchmark/bm_vm4_thread_pass.rb: ditto. Wed May 4 22:08:22 2011 KOSAKI Motohiro * test/date/test_date_base.rb: don't use no message skip(). Wed May 4 21:11:28 2011 KOSAKI Motohiro * benchmark/bm_io_select2.rb: reduce number of using file descriptors. because gdb need some fds. Wed May 4 19:00:59 2011 KOSAKI Motohiro * thread.c (rb_wait_for_single_fd): Fix wrong return value. * test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb (TestWaitForSingleFD#test_wait_for_closed_pipe): test for it. Wed May 4 18:46:39 2011 KOSAKI Motohiro * ext/-test-/wait_for_single_fd: New. for testing rb_wait_for_single_fd() internal function. The patch was written by Eric Wong. [ruby-core:35991] * test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb: ditto. Wed May 4 12:46:25 2011 KOSAKI Motohiro * thread.c (rb_wait_for_single_fd): Added POLLNVAL check. based on a patch from Eric Wong at [ruby-core:35991]. Wed May 4 11:51:01 2011 KOSAKI Motohiro * io.c (rb_f_select): remove useless ifdef. Wed May 4 11:42:47 2011 KOSAKI Motohiro * ext/socket/init.c (wait_connectable): fix error handling code. RB_WAITFD_OUT is turned on even though an error occur. Wed May 4 10:12:39 2011 KOSAKI Motohiro * ext/readline/readline.c (readline_event): use rb_wait_for_single_fd(). The patch was written by Eric Wong. [Ruby 1.9 - Feature #4531] Wed May 4 10:10:28 2011 KOSAKI Motohiro * ext/socket/init.c (wait_connectable): use rb_wait_for_single_fd(). The patch was written by Eric Wong. [Ruby 1.9 - Feature #4531] * ext/socket/init.c (try_wait_connectable, wait_connectable_ensure): removed. Wed May 4 10:07:48 2011 KOSAKI Motohiro * ext/io/wait/wait.c (io_wait): use rb_wait_for_single_fd(). The patch was written by Eric Wong. [Ruby 1.9 - Feature #4531] Wed May 4 10:01:27 2011 KOSAKI Motohiro * thread.c (rb_wait_for_single_fd): new. poll(2) based backend for rb_wait_for_single_fd(). Now only Linux uses it. The patch was written by Eric Wong. [Ruby 1.9 - Feature #4531] Wed May 4 09:56:57 2011 KOSAKI Motohiro * thread.c (rb_wait_for_single_fd): new. * thread.c (select_single): select(2) based backend for rb_wait_for_single_fd(). * io.c (make_writeconv): use rb_wait_for_single_fd() instead of rb_thread_fd_select(). * io.c (rb_io_wait_readable): ditto. * thread.c (rb_thread_wait_fd_rw): ditto. * io.c (wait_readable): removed. * thread.c (init_set_fd): new helper function. * include/ruby/io.h (RB_WAITFD_IN, RB_WAITFD_PRI, RB_WAITFD_OUT): new constant for rb_single_wait_fd(). The patch was written by Eric Wong. [Ruby 1.9 - Feature #4531] Wed May 4 08:04:59 2011 Aaron Patterson * ext/psych/lib/psych/visitors/yaml_tree.rb: fix time dumping so that Syck can load UTC times that Psych dumps. Wed May 4 07:33:00 2011 KOSAKI Motohiro * thread.c (rb_fd_copy): fix wrong argument.This issue was pointed out by Eric Wong. [ruby-core:35982] Tue May 3 20:29:33 2011 KOSAKI Motohiro * test/fileutils/test_fileutils.rb (TestFileUtils#test_chmod_symbol_mode): Skip sticky bit test if the platform is FreeBSD. It doesn't allow to change sticky bit if a target is regular file. Tue May 3 18:23:57 2011 Yuki Sonoda (Yugui) * test/date/test_date.rb (TestDate#test_coerce): test for [ruby-core:35127]. Tue May 3 04:27:53 2011 Nobuyoshi Nakada * thread.c (rb_thread_select): preserve errno if no error occurred. Tue May 3 03:57:04 2011 Nobuyoshi Nakada * include/ruby/intern.h (rb_w32_fdcopy): add prototype. fixes #4640 Mon May 2 01:02:04 2011 KOSAKI Motohiro * lib/fileutils.rb (FileUtils#chmod): accept symbolic mode argument. The patch was written by takkanm. [ruby-core:26029][Feature #2190] * lib/fileutils.rb (FileUtils#fu_mode): new helper function. * lib/fileutils.rb (FileUtils#symbolic_modes_to_i): ditto. * lib/fileutils.rb (FileUtils#mode_mask): ditto. * lib/fileutils.rb (FileUtils#user_mask): ditto. * test/fileutils/test_fileutils.rb (TestFileUtils#test_chmod_symbol_mode): new test for the above symbolic mode. * test/fileutils/test_fileutils.rb (TestFileUtils#test_chmod_R): ditto. Mon May 2 00:36:12 2011 KOSAKI Motohiro * ext/socket/init.c (rsock_connect): add to care EINTR. based on a patch from Eric Wong at [ruby-core:35621][Bug #4555] Sun May 1 01:06:24 2011 KOSAKI Motohiro * thread.c (rb_thread_select): release GVL while waiting select(). Sat Apr 30 23:10:15 2011 KOSAKI Motohiro * win32/win32.c (rb_w32_fdcopy): New. This can copy even though fdset size exceed FD_SETSIZE. * include/ruby/intern.h (rb_fd_copy): use rb_w32_fdcopy() Sat Apr 30 20:18:43 2011 KOSAKI Motohiro * thread.c (do_select): Change argument type to rb_fdset_t. Now do_select() is free from unexpected hangup if HAVE_RB_FD_INIT=1 [Bug #4636] * thread.c (rb_thread_fd_select, rb_thread_wait_fd_rw): adapt new argument type. * thread.c (rb_thread_select): make dummy implementation. Sat Apr 30 20:16:53 2011 KOSAKI Motohiro * thread.c (rb_fd_copy): Change function argument. Now rb_fd_copy() has fully copy semantics. * include/ruby/intern.h: ditto. Sat Apr 30 20:11:47 2011 KOSAKI Motohiro * include/ruby/intern.h (rb_thread_select): mark as deprecated. * ext/io/wait/wait.c (wait_readable): use rb_thread_fd_select instead of rb_thread_select. * ext/socket/init.c (wait_connectable0): ditto. * ext/readline/readline.c (readline_event): ditto. * io.c (rb_io_wait_readable, wait_readable, rb_io_wait_writable, wait_writable): ditto. Sat Apr 30 20:06:36 2011 KOSAKI Motohiro * thread.c (do_select): remove useless ifdef. time calculation is not heavy weight. Sat Apr 30 16:48:36 2011 KOSAKI Motohiro * benchmark/bm_io_select3.rb: New. Sat Apr 30 16:27:09 2011 KOSAKI Motohiro * io.c (copy_stream_body, rb_io_s_copy_stream): move rb_fd_init() from copy_stream_body to rb_io_s_copy_stream. fds of passing rb_fd_term() have to be guaranteed initialized. Sat Apr 30 16:13:17 2011 KOSAKI Motohiro * benchmark/bm_io_select.rb, benchmark/bm_io_select2.rb: New. based on a patch from Eric Wong at [Feature #4531] Sat Apr 30 03:25:53 2011 KOSAKI Motohiro * test/io/wait/test_io_wait.rb: New. for testing ext/io/wait. the patch was written by Eric Wong. [Feature #4531] Sat Apr 30 00:34:56 2011 KOSAKI Motohiro * include/ruby/win32.h: remove redundant declaration of rb_w32_time_subtract(). Sat Apr 30 00:16:40 2011 KOSAKI Motohiro * thread_pthread.c (gvl_init): fix hangup if GVL_SIMPLE_LOCK=1. We don't have to call mutex_unlock() before initialize it! Fri Apr 29 13:15:15 2011 KOSAKI Motohiro * thread_win32.c (native_cond_timedwait): New. r31373 caused win32 build failure. * thread_win32.c (__cond_timedwait, abs_timespec_to_timeout_ms): New helper functions. * win32/win32.c (rb_w32_time_subtract): rename from subtract and remove static. Fri Apr 29 10:43:09 2011 KOSAKI Motohiro * benchmark/bm_vm4_pipe.rb: Add two new benchmark for GVL performance. They was written by Koichi Sasada. * benchmark/bm_vm4_thread_pass.rb: ditto. Fri Apr 29 10:25:31 2011 KOSAKI Motohiro * vm_method.c (rb_clear_cache_by_class): Revert r29673. It made a segmentation fault regression. [Bug #4289][ruby-core:34554]. Fri Apr 29 10:24:51 2011 Nobuyoshi Nakada * io.c (make_writeconv): do not add textmode newline decorator if any newline decorator is set already. fixes #4618, fixes #4619 Fri Apr 29 10:17:42 2011 KOSAKI Motohiro * thread.c (lock_func): small cleanup. Fri Apr 29 10:07:13 2011 KOSAKI Motohiro * thread.c (rb_mutex_lock, lock_func): Avoid busy loop and performance regression. bm_vm3_thread_mutex.rb performance change from 109.064sec to 16.331sec. [Feature #4607] * thread.c (init_lock_timeout): New helper function. Thu Apr 28 16:15:49 2011 NAKAMURA Usaku * win32/{win32.c,dir.h} (rb_w32_uopendir): new API to pass UTF-8 path. * win32/win32.c (opendir_internal, rb_w32_opendir): extract and merge common part of rb_w32_opendir() and rb_w32_uopendir(). * dir.c (do_opendir, glob_helper): encoding. * dir.c (dir_initialize, do_opendir): convert path to UTF-8 and call rb_w32_uopendir() instead of rb_w32_opendir() on Windows. fixes #4491, reported by Joey Zhou. Thu Apr 28 15:32:53 2011 NAKAMURA Usaku * test/dl/test_base.rb (DL::LIBC_SO): its always msvc*.dll on mswin/mingw. Thu Apr 28 06:07:06 2011 Nobuyoshi Nakada * lib/csv.rb (CSV::open): suppress universal newline decorator. fixes #4603 * lib/csv.rb (CSV.read): no mode is needed. Thu Apr 28 06:06:56 2011 Nobuyoshi Nakada * io.c (rb_io_extract_modeenc, rb_f_backquote): set default text mode. fixes #4619 * io.c (pipe_open): set universal newline decorator if needed. Wed Apr 27 11:33:08 2011 NARUSE, Yui * enc/trans/emoji_iso2022_kddi.trans: ISO-2022-JP-KDDI doesn't have CP932 UDA. Another reason is emacs-mule: the implementation of stateless-iso-2022-jp doesn't support beyond 94x94 (0x7fxx); but CP932 UDA is in 7Fxx-92xx. Wed Apr 27 07:42:44 2011 Nobuyoshi Nakada * configure.in (STRIP): use proper toolchain. based on a patch from Jon Forums at [ruby-core:35909]. fixes #4617 Wed Apr 27 01:20:59 2011 Tadayoshi Funaba * ext/date/date_core.c (date_zone_to_diff): renamed. * ext/date/date_parse.c: ditto. * ext/date/date_strptime.c: ditto. Wed Apr 27 01:16:59 2011 Nobuyoshi Nakada * encoding.c (enc_find): accept Encoding objects. Wed Apr 27 00:55:56 2011 Nobuyoshi Nakada * transcode.c (econv_opts): add newline option. * io.c (validate_enc_binmode, rb_io_extract_modeenc): set newline decorator according to open mode. * transcode.c (rb_econv_prepare_options): new function, to prepare econv options with newline flags. * include/ruby/encoding.h (ECONV_NEWLINE_DECORATOR_MASK): add. Wed Apr 27 00:51:01 2011 Nobuyoshi Nakada * file.c (rb_file_truncate): fix function. * include/ruby/win32.h (ftruncate, truncate, ftello, fseeko): non-64 versions on mingw are useless because they use int32_t. fixes #4564 Wed Apr 27 00:50:33 2011 Tadayoshi Funaba * ext/date/date_core.c: modified validation methods. * ext/date/lib/date.rb: ditto. Wed Apr 27 00:00:37 2011 Tadayoshi Funaba * ext/date/date_core.c (dt_lite_set_tmx): should get df value. Tue Apr 26 22:34:04 2011 Tadayoshi Funaba * ext/date/lib/date/format.rb (_iso8601): allowed day only civil date. disallowed separatorless day only ordinal date. Mon Apr 25 21:31:36 2011 Nobuhiro Iwamatsu * ext/openssl/extconf.rb: Should check SSLv2_*method. openssl compiled with "no-ssl2" the extconf don't fail when running `make' having this compilation errors. Patched by Laurent Arnoud. fixes #4562, #4556 Mon Apr 25 20:53:32 2011 Tajima, Akio * win32/win32.c (kill): accept 0 only sig is SIGINT #4596 Mon Apr 25 19:59:47 2011 Tajima, Akio * win32/win32.c (kill): accept 0 as pid, fixes #4596 Mon Apr 25 16:43:45 2011 NARUSE, Yui * random.c (random_rand): remove unused variables. * struct.c (rb_struct_define_without_accessor): ditto. * strftime.c (rb_strftime_with_timespec): ditto. * sprintf.c: ditto. * time.c (time_asctime): remove useless GetTimeval(). * thread_pthread.c: cast to (void *) for %p. Mon Apr 25 11:02:11 2011 NARUSE, Yui * ext/ripper/lib/ripper/sexp.rb: fix rdoc around sexp. patched by Sho Hashimoto. fixes #4599 Mon Apr 25 08:24:04 2011 Shota Fukumori * random.c (rb_f_rand, random_s_rand): RDocs for them. Mon Apr 25 07:18:00 2011 Kenta Murata * random.c (random_s_rand, Init_Random): Random.rand should behave as Random::DEFAULT.rand rather than Kernel#rand. * random.c (rand_range, random_rand): rand_range function extracted from random_rand function. * random.c (rb_f_rand): accept a Range argument as Random#rand [ruby-dev:43427] #4605 Mon Apr 25 03:31:06 2011 Tadayoshi Funaba * lib/time.rb: require 'date'. * ext/date/lib/date/format.rb: removed require line. Mon Apr 25 03:08:39 2011 Tadayoshi Funaba * ext/date/lib/date/format.rb: require 'date'. Mon Apr 25 03:04:16 2011 Tadayoshi Funaba * ext/date/lib/date/format.rb (_iso8601): added a pattern. Mon Apr 25 02:51:22 2011 NARUSE, Yui * ext/date/lib/date/format.rb: require 'date_core.so'. date/format needs methods which are now in date_core.so. This breaks make rdoc which uses Date._parse from time.rb. Mon Apr 25 02:47:46 2011 Tadayoshi Funaba * ext/date/lib/date/format.rb (_iso8601): fixed a bug of regex. Mon Apr 25 02:12:26 2011 Tadayoshi Funaba * ext/date/lib/date/format.rb: an adjustment of regex. Mon Apr 25 01:58:50 2011 Tadayoshi Funaba * ext/date/lib/date/format.rb: omitted to call _parse. Mon Apr 25 01:03:03 2011 KOSAKI Motohiro * string.c (rb_to_id): remove unused variable. Sun Apr 24 22:19:05 2011 Tadayoshi Funaba * complex.c, rational.c: omitted some method calls. Sun Apr 24 02:57:27 2011 Tadayoshi Funaba * ext/date/date_parse.c (n2i): takes long. Sun Apr 24 02:51:06 2011 Tadayoshi Funaba * ext/date/date_parse.c: reverted. Sun Apr 24 02:25:23 2011 NARUSE, Yui * include/ruby/intern.h: pcc can't use __builtin_constant_p. * vm_exec.c: change condition. Sun Apr 24 01:58:01 2011 NARUSE, Yui * ext/date/date_core.c (leap_p): suppress warning: parentheses. * ext/date/date_core.c (date_s__parse_internal): remove unused variable "str". * ext/date/date_parse.c (parse_ddd_cb): use RSTRING_LENINT. * ext/date/date_strftime.c (date_strftime_with_tmx): remove unused variable. Sun Apr 24 00:34:23 2011 Tadayoshi Funaba * ext/date/date_parse.c: removed some unused macros. use strchr() instead of index(). Sat Apr 23 21:29:42 2011 Tadayoshi Funaba * ext/date/date_core.c: replacement of implementation of _parse. [experimental] * ext/date/date_parse.c: new. * ext/date/lib/date/format.rb: removed ruby version of _parse. Fri Apr 22 12:04:15 2011 NARUSE, Yui * array.c (rb_ary_sort_bang): fix rdoc. patched by burningTyger. https://github.com/ruby/ruby/pull/11 Fri Apr 22 11:49:49 2011 NARUSE, Yui * lib/xmlrpc/create.rb (XMLRPC::Create#conv2value): XML-RPC's int is 32bit int, and Fixnum also may be beyond 32bit. * lib/xmlrpc/create.rb (XMLRPC::Create#conv2value): XML-RPC doesn't allow Infinity and NaN. http://www.xmlrpc.com/spec Fri Apr 22 04:16:14 2011 Aaron Patterson * ext/psych/parser.c (parse): strings from psych have proper taint markings. * test/psych/test_tainted.rb: test for string taint Thu Apr 21 01:30:02 2011 NARUSE, Yui * random.c (rb_f_srand): fix rdoc: srand(0)'s 0 is a seed. [ruby-core:35833] fixes #4590 Thu Apr 21 01:01:28 2011 Masaya Tarui * win32/win32.c (CreateChild): maximum length of lpCommandLine is 32,768 characters, including the Unicode terminating null character. Wed Apr 20 21:32:11 2011 Tadayoshi Funaba * ext/date/date_strptime.c (date__strptime_internal): do not overwrite local variables. Wed Apr 20 14:41:28 2011 NARUSE, Yui * string.c (rb_str_each_line): check string's length when compare separator and string. [ruby-core:35815] fixes #4586 Wed Apr 20 00:02:13 2011 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-parse-partial): use position of open paren. Tue Apr 19 01:00:21 2011 Tajima Akio * test/ruby/test_io.rb (TestIO#test_cross_thread_close_fd): skip cross thread pipe close if windows Mon Apr 18 12:15:46 2011 NAKAMURA Usaku * test/ruby/test_range.rb (TestRange#test_step_ruby_core_35753): avoid float error. [ruby-core:35804] Sun Apr 17 00:20:14 2011 Tadayoshi Funaba * ext/date/date_{core,strftime}.c: use struct tmx instead of vtm. * ext/date/date_tmx.h: new. Sat Apr 16 22:23:52 2011 Tadayoshi Funaba * ext/date/date_strftime.c (date_strftime_wo_timespec): changed the way of validation of locale modifiers. Sat Apr 16 21:55:12 2011 Tadayoshi Funaba * ext/date/date_core.c: replacement of implementation of _strptime. [experimental] * ext/date/date_strptime.c: new. * ext/date/lib/date/format.rb: removed ruby version of _strptime. Sat Apr 16 10:18:30 2011 Kazuhiro NISHIYAMA * vm.c (Init_VM): suppress warning: "OPT_BASIC_OPERATIONS" is not defined. Fri Apr 15 23:41:18 2011 Kazuhiro NISHIYAMA * ruby.c (proc_options): suppress warning: "ALLOW_DEFAULT_SOURCE_ENCODING" is not defined. Fri Apr 15 15:10:29 2011 Akinori MUSHA * lib/uri/generic.rb (#route_from_path): Fix a bug where URI('http://h/b/').route_to('http://h/b') wrongly returned './' (should be '../b'). [Bug #4476] Fri Apr 15 14:58:06 2011 Akinori MUSHA * lib/fileutils.rb (FileUtils#touch): Fix corrupted output when mtime is specified in addition to nocreate (and verbose). ref [ruby-dev:43401] Thu Apr 14 23:43:43 2011 NAKAMURA Usaku * numeric.c (ruby_float_step): wrong loop condition. fixes [ruby-core:35753], reported by Joey Zhou. * test/ruby/test_range.rb (TestRange#test_step_ruby_core_35753): test above change. Thu Apr 14 22:48:12 2011 Nobuyoshi Nakada * lib/test/unit.rb (Test::Unit::Options#setup_options): set possible values for completion. no conversion is needed. * lib/test/unit.rb (Test::Unit::Runner::Worker#initialize): use positional arguments instead of keyword arguments. * lib/test/unit.rb (Test::Unit::Runner#jobs_status): io/console may not be available. use 80 as the last resort if IO#winsize and COLUMNS are unavailable. * lib/test/unit.rb (Test::Unit::Runner::Worker#died): rename using a verb. * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): check if worker is signaled and use its exit status. * lib/test/unit.rb (Test::Unit::Runner::Worker#dead): no longer @in and @out are separated. Thu Apr 14 21:23:29 2011 Nobuyoshi Nakada * variable.c (rb_autoload_p): search superclasses as same as actual loading. fixes [ruby-core:35679] Thu Apr 14 21:21:06 2011 Nobuyoshi Nakada * include/ruby/win32.h (frexp, modf): wrongly declared as pure in mingw math.h. * include/ruby/win32.h (ftruncate, truncate): mingw64 misses prototypes. * win32/win32.c (rb_w32_read): suppress warning. Thu Apr 14 19:55:54 2011 KOSAKI Motohiro * lib/fileutils.rb (FileUtils#touch): fix corrupted output when FileUtils.touch(:nocreate => true, :verbose => true) case. The patch was written by Hiroyuki Iwatsuki. [ruby-dev:43401] Thu Apr 14 16:01:45 2011 Kazuhiro NISHIYAMA * io.c (rb_f_syscall): suppress warning: "HAVE___SYSCALL" is not defined. Thu Apr 14 00:41:09 2011 CHIKANAGA Tomoyuki * thread.c (thread_fd_close_i): IOError exception should be assigned to rb_thread_t::thrown_errinfo. Wed Apr 13 20:12:26 2011 Kazuhiro NISHIYAMA * io.c (rb_io_fdatasync): remove unused variable. Tue Apr 12 20:54:12 2011 Tanaka Akira * include/ruby/st.h: parenthesize macro arguments. Tue Apr 12 19:19:50 2011 NARUSE, Yui * lib/uri/common.rb: avoid race condition. fixes #4572 Tue Apr 12 18:07:13 2011 TAKAO Kouji * ext/readline/extconf.rb: --disable-libedit to disable libedit. fixes #4550 Tue Apr 12 10:37:39 2011 NAKAMURA Usaku * include/ruby/win32.h: VC doesn't have ftruncate() and others, but ruby needs HAVE_ macros to use our emulation functions. (fix the problem of 31262) Tue Apr 12 01:33:00 2011 Luis Lavena * configure.in: properly evaluate existence of truncate, ftruncate and ftello for MinGW. [ruby-core:35678] * win32/win32.c: rename truncate, ftruncate and ftello to avoid redefinitions. * win32/win32.h: ditto. Mon Apr 11 21:51:52 2011 KOSAKI Motohiro * io.c: revert r31230. Because it made a regression. [ruby-core:35631] Mon Apr 11 21:49:18 2011 KOSAKI Motohiro * test/ruby/test_io.rb: Added TestIO#test_cross_thread_close_stdio and TestIO#test_cross_thread_close_fd. The patch was written by Eric Wong. [ruby-core:35669] Mon Apr 11 21:15:54 2011 KOSAKI Motohiro * file.c (rb_group_member): kill 256K of stack usage. the patch was written by Eric Wong. [ruby-core:35699] Mon Apr 11 07:24:13 2011 Eric Hodel * ext/openssl/ossl.c: Fix typo, document version constants. Sun Apr 10 22:23:45 2011 Tanaka Akira * include/ruby/ruby.h: parenthesize macro arguments. Sat Apr 9 23:31:47 2011 Shota Fukumori * ext/stringio/stringio.c (strio_each, strio_readlines): Use `NUM2LONG` instead of `FIX2INT`. Fixes [ruby-dev:43395]. Sat Apr 9 23:22:27 2011 Shota Fukumori * ext/stringio/stringio.c (strio_each): Fix exception message and don't raise immediately if block is not given. Fixes [ruby-dev:43394]. * test/stringio/test_stringio.rb (test_each_line_limit_0): Fix test for above. Sat Apr 9 21:54:15 2011 Shota Fukumori * ext/stringio/stringio.c (strio_each, strio_readlines): limit must not be zero. Fixes [ruby-dev:43392]. * test/stringio/test_stringio.rb: Add tests for above. Sat Apr 9 18:01:36 2011 Tanaka Akira * include/ruby/util.h: parenthesize macro arguments. Fri Apr 8 16:01:56 2011 NARUSE, Yui * ext/stringio/stringio.c (strio_getline): check whether str is a string when str and lim are given. https://twitter.com/watson1978/status/56225052152168449 Thu Apr 7 20:03:52 2011 Tanaka Akira * include/ruby/io.h: parenthesize macro arguments. Wed Apr 6 21:08:31 2011 Tanaka Akira * include/ruby/intern.h: parenthesize macro arguments. Wed Apr 6 15:12:40 2011 NARUSE, Yui * ext/openssl/ossl_pkey_dh.c (ossl_dh_initialize): pop pushed error after each try of reading. fixes #4550 * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize): ditto. * ext/openssl/ossl_pkey_ec.c (ossl_ec_initialize): ditto. Wed Apr 6 11:36:44 2011 NARUSE, Yui * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_initialize): pop pushed error after each try of reading. fixes #4550 Tue Apr 5 20:33:43 2011 Tanaka Akira * include/ruby/encoding.h: parenthesize macro arguments. Mon Apr 4 22:02:16 2011 KOSAKI Motohiro * ext/io/nonblock/nonblock.c (io_nonblock_set): Avoid F_SETFL if we're not changing the O_NONBLOCK bit. F_SETFL is an expensive operation since it needs to affect all processes with the same file object. The patch is written by Eric Wong. [ruby-core:35556] Mon Apr 4 21:41:26 2011 KOSAKI Motohiro * io.c (rb_io_syswrite): While local FS writes are usually buffered, the buffers can be full or the file opened with O_SYNC. IO#syswrite can also be used on blocking IOs (pipe/socket) just like IO#write. The patch is written by Eric Wong. [ruby-core:35554] Mon Apr 4 11:50:40 2011 NAKAMURA Usaku * test/test_tempfile.rb: simply ignore platform dependent testcases instead of skipping. Sun Apr 3 22:52:22 2011 CHIKANAGA Tomoyuki * ext/syslog/syslog.c: improve rdoc. a patch by Jonas Pfenniger. [ruby-core:35592] fixes #4545 Sun Apr 3 22:10:09 2011 Tanaka Akira * ext/zlib/zlib.c: parenthesize macro arguments. Sun Apr 3 21:33:58 2011 KOSAKI Motohiro * configure.in: disable fdatasync again on Mac OS X. [ruby-core:35493][Bug #4500] Sun Apr 3 21:16:20 2011 KOSAKI Motohiro * io.c (io_reopen): IO#close releases GVL if possible. close() may block for certain file types (NFS, SO_LINGER sockets, inotify), so let other threads run. The patch was created by Eric Wong [ruby-core:35555][Bug #4527] * io.c (fptr_finalize): ditto. * io.c (maygvl_fclose): new. * io.c (nogvl_fclose): ditto. * io.c (maygvl_close): ditto. * io.c (nogvl_close): ditto. Fri Apr 1 22:25:50 2011 Tanaka Akira * ext/syslog/syslog.c: parenthesize macro arguments. Fri Apr 1 18:53:06 2011 NAKAMURA, Hiroshi * lib/webrick/cookie.rb (WEBrick::Cookie.parse): 'white space is permitted between tokens' according to RFC2965. Though 'Netscape spec' does not define the syntax clearly, make it tolerant as a server. As a real-world example, rest-client gem sends 'Cookie: foo=1;bar=2' * test/webrick/test_cookie.rb (test_parse_non_whitespace): test it. Fri Apr 1 13:19:20 2011 Nobuyoshi Nakada * vm_core.h (RUBY_VM_CHECK_INTS_TH): merge a patch by ko1 in [ruby-dev:43373]. Thu Mar 31 23:15:46 2011 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-brace-to-do-end, ruby-do-end-to-brace): adjust space between block beginning and block arguments Thu Mar 31 20:42:05 2011 Tanaka Akira * ext/strscan/strscan.c: parenthesize macro arguments. Thu Mar 31 18:06:12 2011 Shugo Maeda * vm_insnhelper.c (vm_get_ev_const): should ignore crefs with the NODE_FL_CREF_PUSHED_BY_EVAL flag. Thu Mar 31 16:49:56 2011 Shugo Maeda * vm_insnhelper.c (vm_get_ev_const): search root cref properly. [ruby-dev:43365] Thu Mar 31 14:50:25 2011 Shugo Maeda * eval.c (rb_mod_s_constants): should ignore crefs with the NODE_FL_CREF_PUSHED_BY_EVAL flag. Wed Mar 30 22:55:47 2011 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-toggle-block): toggle do/end and {}. * misc/ruby-mode.el (ruby-move-to-block): move to opening of block. Wed Mar 30 14:35:15 2011 Shugo Maeda * vm_insnhelper.h (COPY_CREF): should copy the NODE_FL_CREF_PUSHED_BY_EVAL flag to hide constants from methods defined by class_eval. [ruby-dev:43365] Wed Mar 30 00:24:53 2011 Tanaka Akira * ext/stringio/stringio.c: parenthesize macro arguments. Tue Mar 29 21:51:31 2011 CHIKANAGA Tomoyuki * object.c (rb_String): Kernel#String should call to_str before to_s. Tue Mar 29 10:28:08 2011 NAKAMURA Usaku * test/webrick/test_filehandler.rb (WEBrick::TestFileHandler#test_short_filename): the cgi doesn't exist on current directory. Tue Mar 29 05:19:57 2011 Tanaka Akira * ext/socket/raddrinfo.c: parenthesize macro arguments. Tue Mar 29 00:03:51 2011 Tajima Akio * test/webrick/test_filehandler.rb (test_short_filename): read real short filename by cmd because smb mounted files have different naming convention. Mon Mar 28 11:38:08 2011 NARUSE, Yui * ext/date/date_core.c (date_s_today): use int for year. * ext/date/date_core.c (datetime_s_now): ditto. Mon Mar 28 11:07:41 2011 NAKAMURA Usaku * ext/extmk.rb: set MFLAGS from MAKEFLAGS when using nmake. Mon Mar 28 11:07:00 2011 NAKAMURA Usaku * common.mk (love): all you need is love. Sun Mar 27 23:16:31 2011 Tanaka Akira * ext/socket/ipsocket.c: parenthesize macro arguments. Sun Mar 27 16:55:34 2011 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-mode-map): remove unnecessary binding. fixes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468952 * misc/ruby-mode.el: suppress warnings at byte compile. fixes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502926 Sun Mar 27 11:18:35 2011 Tadayoshi Funaba * ext/date/date_core.c: removed unused variables. Sat Mar 26 15:16:09 2011 Tanaka Akira * ext/socket/getaddrinfo.c: parenthesize macro arguments. Sat Mar 26 05:27:34 2011 NARUSE, Yui * ext/date/lib/date/format.rb (DateTime#strftime): removed because date_core defines it. Fri Mar 25 21:59:45 2011 Tadayoshi Funaba * ext/date/date_core.c: should not force cast with macros. Fri Mar 25 21:56:10 2011 Tanaka Akira * ext/sdbm/init.c: parenthesize macro arguments. Fri Mar 25 19:39:40 2011 Ben Walton * test/test_syslog.rb: Skip syslog tests that rely on LOG_PERROR unless it's defined Instead of checking looking at the platform to determine if the tests relying on LOG_PERROR should be run, look for the definition of the constant as this will be robust against all platforms as long as the underlying syslog.c code sets it up correctly. This specifically addresses failures on Solaris 9. Use LOG_PID instead of LOG_PERROR in Syslog.open test LOG_PERROR isn't a POSIX option for syslog, so it fails on platforms that don't define it. Solaris 9 and 10 are examples of this. Use LOG_PID instead. Fri Mar 25 15:42:17 2011 NARUSE, Yui * ext/sdbm/_sdbm.c (sdbm_open): use size_t. * ext/syck/bytecode.c: ditto. * ext/sdbm/_sdbm.c (delpair): use ptrdiff_t. * ext/sdbm/init.c: use RSTRING_LENINT. * ext/dl/handle.c: suppress warning: shorten-64-to-32. * ext/strscan/strscan.c: ditto. * ext/syck/emitter.c: ditto. * ext/syck/implicit.c: ditto. * ext/syck/syck.c: ditto. * ext/syck/token.c: ditto. Fri Mar 25 12:14:58 2011 NARUSE, Yui * ext/nkf/nkf-utf8/nkf.c: import nkf 7f18e30. Fri Mar 25 11:49:29 2011 NAKAMURA Usaku * test/ruby/test_process.rb (TestProcess#test_no_curdir): skip silently on Windows, because this tests a platform specific feature and it'll never be supported on ruby on Windows. * test/ruby/test_dir_m17n.rb (TestDir_M17N#test_filename_extutf8_invalid, TestDir_M17N#test_filename_as_bytes_extutf8): ditto. * test/open-uri/test_open-uri.rb (TestOpenURI#test_find_proxy_case_sensitive_env): ditto. * test/dl/test_handle.rb (DL::TestHandle#test_NEXT, DL::TestHandle#test_DEFAULT): ditto. Thu Mar 24 23:06:29 2011 Nobuyoshi Nakada * vm_insnhelper.c (vm_get_ev_const): should not autoload in defined? mode. * variable.c (rb_const_defined_0): fix autoloading base. [ruby-core:35509] Thu Mar 24 22:48:43 2011 Tanaka Akira * ext/sdbm/_sdbm.c: parenthesize macro arguments. Thu Mar 24 14:45:57 2011 NARUSE, Yui * ext/openssl/ossl.c: suppress warning: shorten-64-to-32. * ext/openssl/ossl.h: ditto. * ext/openssl/ossl_asn1.c: ditto. * ext/openssl/ossl_bio.c: ditto. * ext/openssl/ossl_bn.c: ditto. * ext/openssl/ossl_cipher.c: ditto. * ext/openssl/ossl_hmac.c: ditto. * ext/openssl/ossl_ns_spki.c: ditto. * ext/openssl/ossl_ocsp.c: ditto. * ext/openssl/ossl_pkcs5.c: ditto. * ext/openssl/ossl_pkey.c: ditto. * ext/openssl/ossl_pkey_dh.c: ditto. * ext/openssl/ossl_pkey_dsa.c: ditto. * ext/openssl/ossl_pkey_ec.c: ditto. * ext/openssl/ossl_pkey_rsa.c: ditto. * ext/openssl/ossl_rand.c: ditto. * ext/openssl/ossl_ssl.c: ditto. * ext/openssl/ossl_x509ext.c: ditto. * ext/openssl/ossl_x509name.c: ditto. Thu Mar 24 11:48:19 2011 NARUSE, Yui * ext/openssl/ossl_rand.c (ossl_rand_egd_bytes): use NUM2INT because the result is used with functions whose argument is int. * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): ditto. * ext/openssl/ossl_x509store.c (ossl_x509store_set_purpose): ditto. * ext/openssl/ossl_x509store.c (ossl_x509store_set_trust): ditto. * ext/openssl/ossl_x509store.c (ossl_x509stctx_set_purpose): ditto. * ext/openssl/ossl_x509store.c (ossl_x509stctx_set_trust): ditto. Thu Mar 24 11:36:55 2011 NARUSE, Yui * ext/openssl/ossl_x509name.c: id_aref's type is ID. Thu Mar 24 10:04:35 2011 NARUSE, Yui * ext/io/console/console.c (console_set_winsize): suppress warning: shorten-64-to-32. Thu Mar 24 09:56:19 2011 NARUSE, Yui * ext/openssl/ossl_ocsp.c (ossl_ocspreq_verify): flags is VALUE, so it should use NUM2INT. * ext/openssl/ossl_ocsp.c (ossl_ocspbres_verify): ditto. Wed Mar 23 21:09:29 2011 Tanaka Akira * ext/readline/readline.c: parenthesize macro arguments. Wed Mar 23 08:07:33 2011 Nobuyoshi Nakada * numeric.c (flo_round): fix inaccurate results. Wed Mar 23 00:12:16 2011 Tajima Akio * win32/win32.c: wait process real termination after reading exit code. fixes #4518 Tue Mar 22 21:20:10 2011 NARUSE, Yui * lib/rubygems/test_case.rb: save current dir to @current_dir before Dir.chdir. Tue Mar 22 20:10:04 2011 Tanaka Akira * ext/psych/parser.c: parenthesize macro arguments. Tue Mar 22 20:10:01 2011 Tanaka Akira * ext/openssl/ruby_missing.h: parenthesize macro arguments. Tue Mar 22 13:33:22 2011 NAKAMURA, Hiroshi * ext/openssl/lib/openssl/buffering.rb: removed circular require of openssl.rb. * ext/openssl/lib/openssl/*: removed following comment for transition measures of avoiding circular require. No one claimed about this as far as I know. ## # Should we care what if somebody require this file directly? # require "openssl" Tue Mar 22 10:57:36 2011 NARUSE, Yui * test/runner.rb: set Gem::TestCase's @@project_dir. * lib/rubygems/test_case.rb: set Gem::TestCase's @@project_dir only when it is not defined. Tue Mar 22 09:38:19 2011 NARUSE, Yui * numeric.c (flo_round): use pow instead of while-loop. fixes #4510 patched by Alex Young [ruby-core:35526] Tue Mar 22 06:47:46 2011 NARUSE, Yui * ext/date/date_strftime.c (date_strftime_wo_timespec): suppress warning: shorten-64-to-32. Tue Mar 22 06:42:42 2011 NARUSE, Yui * ext/date/date_core.c: suppress warning: shorten-64-to-32. Tue Mar 22 06:41:37 2011 NARUSE, Yui * lib/test/unit/parallel.rb: remove unused variable. Tue Mar 22 06:19:42 2011 NARUSE, Yui * enc/utf_16le.c: suppress warning: shorten-64-to-32. * ext/dbm/dbm.c: ditto. * ext/gdbm/gdbm.c: ditto. * parse.y (Init_ripper): suppress warning: unused value. Mon Mar 21 11:21:32 2011 Shota Fukumori * lib/test/unit.rb: Refactoring. Unified if and elsif. Sun Mar 20 23:09:34 2011 Tadayoshi Funaba * ext/date/date_strftime.c: checks duplicated modifiers. Sun Mar 20 22:32:30 2011 Tadayoshi Funaba * ext/date/date_strftime.c: removed unused code and arguments. Sun Mar 20 21:34:49 2011 Tadayoshi Funaba * ext/date/date_core.c: replacement of implementation of strftime. It has some limitations that is same as Time's one. [experimental] * ext/date/date_strftime.c: new. * ext/date/lib/date/format.rb: removed ruby version of strftime. Sun Mar 20 12:43:12 2011 Tanaka Akira * ext/openssl/ossl_x509store.c: parenthesize macro arguments. Sun Mar 20 01:39:48 2011 Tajima Akio * hash.c (ruby_setenv): check env process block size with OS ver. * win32/win32.c: export rb_w32_osver for above patch. * include/ruby/win32.h: declare rb_w32_osver for Win32 Libs. Sat Mar 19 18:35:05 2011 Tajima Akio * hash.c (ruby_setenv): calculate total env block size for win32. * test/ruby/test_env.rb: add test for above patch. Sat Mar 19 17:14:46 2011 Tajima Akio * hash.c (ruby_setenv): checking with max process environment block size for Win32. 32767 for 2000/XP, 2003. if failed to read the block, then checking with 5120 for earlier Windows. Sat Mar 19 12:30:25 2011 Tanaka Akira * ext/openssl/ossl_x509revoked.c: parenthesize macro arguments. Fri Mar 18 20:44:36 2011 Tanaka Akira * ext/openssl/ossl_x509req.c: parenthesize macro arguments. Fri Mar 18 08:48:06 2011 Oleg Shaldybin * lib/fileutils.rb (FileUtils::Entry_#copy_file): updated FileUtils.cp to still copy file permissions when :preserve is false (as cp does this even when -p isn't set). Fri Mar 18 00:59:38 2011 Nobuyoshi Nakada * ext/win32ole/extconf.rb (create_docfile): removed. should not modify source directory unnecessarily, platform dependent documentation should be dealt with by rdoc. [ruby-core:35495] Fri Mar 18 00:54:20 2011 Nobuyoshi Nakada * include/ruby/ruby.h (rb_funcall_passing_block): add prototype. a patch by James M. Lawrence at [ruby-core:35501] Wed Mar 17 06:23:31 2011 Tanaka Akira * ext/openssl/ossl_x509name.c: parenthesize macro arguments. Wed Mar 16 20:36:56 2011 Tanaka Akira * ext/socket/ipsocket.c (init_inetsock_internal): raise an error on listen(2) failure. reported by Xavier Shay. [ruby-core:35505] Wed Mar 16 15:06:21 2011 Eric Hodel * ext/openssl/lib/openssl/buffering.rb (module OpenSSL): #flush should not change sync mode on exception. * test/openssl/test_buffering.rb: added Wed Mar 16 13:45:28 2011 Eric Hodel * ext/openssl/lib/openssl/buffering.rb: de-nest Buffering module * ext/openssl/lib/openssl/buffering.rb: add RDoc Wed Mar 16 08:40:39 2011 Tanaka Akira * ext/openssl/ossl_x509ext.c: parenthesize macro arguments. Tue Mar 15 18:34:27 2011 Tanaka Akira * ext/openssl/ossl_x509crl.c: parenthesize macro arguments. Tue Mar 15 09:49:03 2011 Shota Fukumori * test/misc/test_ruby_mode.rb (test_singleton_class): Skip for Pending. Mon Mar 14 21:20:44 2011 CHIKANAGA Tomoyuki * test/ruby/test_require.rb (test_require_too_long_filename): increase path length, because MAXPATHLEN is defined as 4096 on linux. * test/ruby/test_require.rb (test_require_path_home_1): ditto. * test/ruby/test_require.rb (test_require_path_home_2): ditto. Mon Mar 14 19:54:37 2011 Tanaka Akira * ext/openssl/ossl_x509cert.c: parenthesize macro arguments. Sun Mar 13 18:11:28 2011 Tanaka Akira * ext/openssl/ossl_x509attr.c: parenthesize macro arguments. Sun Mar 13 16:07:58 2011 Shota Fukumori * lib/pstore.rb: Fix don't raise "nested transaction" when thread_safe is true. Patch by Masaki Matsushita (Glass_saga). [ruby-dev:43337] * test/test_pstore.rb: Test for above. Patch by Masaki Matsushita (Glass_saga) [ruby-dev:43337] Sat Mar 12 04:12:41 2011 Tanaka Akira * ext/openssl/ossl_ssl_session.c: parenthesize macro arguments. Sat Mar 12 02:27:07 2011 Tadayoshi Funaba * ext/date/date_core.c ({d,dt}_lite_marshal_load): checks the given argument. Sat Mar 12 01:26:24 2011 Tadayoshi Funaba * ext/date/date_core.c: changed some directives. Sat Mar 12 01:16:02 2011 Tadayoshi Funaba * ext/date/date_core.c, ext/date/lib/*: moved rdoc descriptions. Sat Mar 12 00:06:24 2011 Tadayoshi Funaba * ext/date/lib: moved from lib. Fri Mar 11 23:32:38 2011 Tadayoshi Funaba * lib/date/delta*: removed undocumented delta. Fri Mar 11 18:42:43 2011 Nobuyoshi Nakada * lib/mkmf.rb (find_executable0): should exclude directories. Fri Mar 11 01:40:35 2011 KOSAKI Motohiro * process.c (proc_getmaxgroups, proc_setmaxgroups): Process#maxgroups and Process#maxgroups= now raise NotImplementedError if the platform don't support supplementary groups concept. Fri Mar 11 01:25:03 2011 KOSAKI Motohiro * process.c (get_sc_ngroups_max): return -1 if platform don't support NGROUPS_MAX. Thu Mar 10 22:28:15 2011 Tanaka Akira * ext/openssl/ossl_ssl.h: parenthesize macro arguments. Thu Mar 10 21:59:37 2011 NARUSE, Yui * parse.y (parser_encode_length): add exception as UTF8-MAC for magic comment's emacs newline specifier patched by James M. Lawrence [ruby-core:35476] fixes #4489 Thu Mar 10 16:00:22 2011 NARUSE, Yui * parse.y (parser_encode_length): fix typo: the length of "-dos" and "-mac" is not 5 but 4. patched by James M. Lawrence [ruby-core:35476] fixes #4489 Thu Mar 10 10:52:01 2011 NAKAMURA Usaku * test/ruby/test_require.rb: setting too long string to ENV causes Errno::EINVAL on Windows. long path name errors may causes over about 1024 bytes, then limit it about 4000 bytes. Thu Mar 10 10:09:35 2011 NARUSE, Yui * lib/test/unit.rb (Test::Unit::Runner::Worker#read): fix for the case when IO#read or IO#gets returns nil. Thu Mar 10 07:12:03 2011 Ryan Davis * lib/rubygems*: Import rubygems 1.6.2 (release candidate @ 2026fbb5) * test/rubygems: Ditto * test/runner.rb: Added test to load path to fix test requires. Thu Mar 10 03:00:43 2011 Tanaka Akira * ext/openssl/ossl_ssl.c: parenthesize macro arguments. Wed Mar 9 23:51:26 2011 CHIKANAGA Tomoyuki * test/ruby/test_io_m17n.rb (test_io_new_enc): "sjis" is now an alias of Windows-31J. Wed Mar 9 23:06:13 2011 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-parse-partial): fix indent after aref. Wed Mar 9 12:50:24 2011 Aaron Patterson * ext/psych/lib/psych/visitors/yaml_tree.rb: Rescue exceptions when people implement the method method. Thanks Lin Jen-Shin. [ruby-core:35255] * test/psych/visitors/test_yaml_tree.rb: test for implementation of method method. Wed Mar 9 11:53:31 2011 NARUSE, Yui * enc/shift_jis.c: Change SJIS as an alias of Windows-31J. [ruby-dev:43027] fixes #4280 * enc/shift_jis.c: Add PCK as an alias of Windows-31J. Wed Mar 9 00:45:29 2011 Nobuyoshi Nakada * ext/extmk.rb: nmake substitutes all occurrences in macro. * ext/extmk.rb: workaround for nmake. Tue Mar 8 23:49:45 2011 KOSAKI Motohiro * process.c (proc_setgroups): cleanup. Tue Mar 8 23:40:30 2011 Nobuyoshi Nakada * test/misc/test_ruby_mode.rb: test for ruby-mode.el. Tue Mar 8 23:27:38 2011 KOSAKI Motohiro * process.c (get_sc_ngroups_max): try to use NGROUPS_MAX at first if _SC_NGROUP_MAX is not defined. Tue Mar 8 23:10:16 2011 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-parse-partial): fix for array in block. Tue Mar 8 21:44:49 2011 Tanaka Akira * ext/openssl/ossl_rand.c: parenthesize macro arguments. Tue Mar 8 16:45:31 2011 NAKAMURA Usaku * hash.c (ruby_setenv): MSDN says that Windows XP or earlier limits the total size of environment block to 5,120 chars. and on such OS, putenv() causes SEGV. So, ruby should limit the size of an environment variable to 5,120 bytes for workaround. Tue Mar 8 15:57:20 2011 NAKAMURA Usaku * test/rubygems/test_gem_spec_fetcher.rb (TestGemSpecFetcher#test_cache_dir_escapes_windows_paths): cache_dir may have driveletter and `:' for base of cache_dir itself, so need to skip it for checking. Tue Mar 8 12:30:06 2011 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-deep-indent-paren-p, ruby-calculate-indent): do not apply deep-indent inside parens at the beginning of expressions. Tue Mar 8 09:32:48 2011 Nobuyoshi Nakada * common.mk (configure-ext, build-ext), ext/extmk.rb (extmake): support parallel-make under ext. Tue Mar 8 09:25:23 2011 Nobuyoshi Nakada * process.c (proc_setgroups): use getgrnam() if getgrnam_r() is not available. * process.c: RARRAY_LEN() returns long int. Tue Mar 8 09:07:03 2011 Nobuyoshi Nakada * configure.in (RUBY_REPLACE_TYPE): enclose in quotes for multiple type names. Tue Mar 8 01:43:11 2011 NARUSE, Yui * process.c (get_sc_ngroups_max): define to wrap sysconf(3). this also supports Windows which doesn't have sysconf(3). * process.c (maxgroups): use get_sc_ngroups_max. * process.c (proc_setmaxgroups): ditto. Tue Mar 8 01:16:49 2011 NARUSE, Yui * gc.c (rb_objspace): an initializer must be a constant. Tue Mar 8 01:11:44 2011 NARUSE, Yui * process.c (maxgroups): cast because sysconf(3)'s return value is long. * process.c (proc_setmaxgroups): ditto. * process.c (proc_setgroups): cast because RARRAY_LEN() is long. Tue Mar 8 00:02:47 2011 Tanaka Akira * ext/openssl/ossl_pkey_rsa.c: parenthesize macro arguments. Mon Mar 7 22:59:39 2011 Shota Fukumori * lib/pstore.rb: Delete variable @transaction and fix #4474. Patch by Masaki Matsushita (Glass_saga). * test/test_pstore.rb(test_thread_safe): Add test for #4474. Mon Mar 7 21:31:38 2011 KOSAKI Motohiro * process.c (proc_setgroups): replace getgrnam() with getgrnam_r() because getgrnam() isn't thread safe. Mon Mar 7 20:49:12 2011 KOSAKI Motohiro * process.c (proc_getmaxgroups, proc_setmaxgroups): reflect platform maxgroups limitation by default instead hardcoded 65536. Mon Mar 7 17:13:00 2011 Yukihiro Matsumoto * gc.c (rb_gc_set_params): allow GC parameter configuration by environment variables. based on a patch from funny-falcon at https://gist.github.com/856296, but honors safe level. Mon Mar 7 09:05:18 2011 Nobuyoshi Nakada * process.c: NUM2RLIM is defined but no getrlimit and setrlimit on mingw. Mon Mar 7 08:38:14 2011 Nobuyoshi Nakada * ext/date/date_core.c (DateTimeData): should not use bare 'long long' and 'long double', which are not defined by C89. * ext/date/date_core.c (dt_lite_plus): get rid of overflow at casting down double to integer. Mon Mar 7 00:21:11 2011 KOSAKI Motohiro * process.c (proc_getgroups): get rid of maxgroups dependency. ngroups can be calculated dynamically. Sun Mar 6 23:45:40 2011 KOSAKI Motohiro * configure.in: rlim_t use standard RUBY_REPLACE_TYPE mechanism. Sun Mar 6 23:26:07 2011 KOSAKI Motohiro * process.c (proc_setmaxgroups): added negative value check. This was suggested by Daniel Berger. Thanks Daniel! [ruby-core:35426][Bug#4467] Sun Mar 6 23:18:23 2011 KOSAKI Motohiro * process.c (maxgroups, proc_setmaxgroups): increase max groups limitation up to 65536. Sun Mar 6 22:20:59 2011 Tanaka Akira * ext/openssl/ossl_pkey_ec.c: parenthesize macro arguments. Sun Mar 6 21:49:04 2011 KOSAKI Motohiro * sample/list.rb (MyElem#initialize): initialize @head explicitly. Otherwise -W2 option makes following warning. "warning: instance variable @head not initialized". This issue was founded by Andrew Grimm. Thanks Andrew! [ruby-core:35435][Bug#4471] Sun Mar 6 05:21:41 2011 NARUSE, Yui * class.c: fix camelCase to snake_case in documentation code examples. patched by Andrew Grimm. fixes Bug #4469 * marshal.c: ditto. * proc.c: ditto. * sample/biorhythm.rb: ditto. * vm_eval.c: ditto. * vm_method.c: ditto. Sun Mar 6 03:22:27 2011 KOSAKI Motohiro * io.c (io_cntl): use rb_thread_io_blocking_region() instead rb_thread_blocking_region(). Sat Mar 5 22:54:36 2011 CHIKANAGA Tomoyuki * include/ruby/intern.h: fix a typo of prototype declaration. rb_mutex_try_lock -> rb_mutex_trylock [ruby-dev:43213] Sat Mar 5 19:44:03 2011 KOSAKI Motohiro * test/ruby/test_io.rb (TestIO#test_fcntl_lock): small clean up. Sat Mar 5 01:33:46 2011 KOSAKI Motohiro * io.c (io_cntl, nogvl_io_cntl): IO.fcntl() and IO.ioctl() release GVL during calling kernel interface. Suggested by Eric Wong. [ruby-core:35417][Bug #4463] * test/ruby/test_io.rb (TestIO#test_fcntl_lock): add new test for IO.fcntl(). Fri Mar 4 23:09:12 2011 CHIKANAGA Tomoyuki * test/testunit/test_parallel.rb (test_should_run_all_without_any_leaks): consider that the order of testcase could change. [ruby-dev:43300] [Bug #4466] Fri Mar 4 22:01:14 2011 KOSAKI Motohiro * io.c (io_cntl): change 'cmd' type to int. ioctl and fcntl need to be passed int. * io.c (rb_io_ctl): ditto. Fri Mar 4 21:10:40 2011 KOSAKI Motohiro * configure.in: save warnflags. the patch is created by Eric Wong. [Bug #4465] Wed Mar 2 21:15:00 2011 Tanaka Akira * ext/openssl/ossl_pkey_dsa.c: parenthesize macro arguments. Thu Mar 3 22:10:26 2011 NAKAMURA Usaku * process.c (check_exec_redirect_fd, check_exec_redirect): raise ArgumentError if fd >= 3 on Windows because the feature is not supported. * test/ruby/test_process.rb (test_execopts_redirect): remove meaningless argument. Thu Mar 3 21:21:42 2011 NAKAMURA Usaku * test/ruby/test_process.rb (test_execopts_redirect): redirecting fd >= 3 is not supported on Windows, so should not specify such options when calling spawn or others. Thu Mar 3 18:59:04 2011 NARUSE, Yui * string.c (rb_str_slice_bang): raise error when the string is frozen. Thu Mar 3 14:25:19 2011 NARUSE, Yui * strftime.c (STRFTIME): return 0 and ERANGE when precision is too large. [ruby-dev:43284] fixes #4456 Thu Mar 3 00:46:51 2011 NARUSE, Yui * addr2line.c (uleb128): cast the value to unsigned long. * addr2line.c (fill_lines): print error when lseek fails. Thu Mar 3 00:36:29 2011 NARUSE, Yui * lib/rexml/encoding.rb (REXML::Encoding#encoding=): store @encoding a String which means the name of the encoding. this partially revert r29646. * lib/rexml/document.rb: follow above. * lib/rexml/output.rb: ditto. * lib/rexml/parsers/baseparser.rb: ditto. * lib/rexml/source.rb: ditto. * lib/rexml/xmldecl.rb: ditto. Wed Mar 2 23:19:56 2011 Nobuyoshi Nakada * string.c (str_byte_substr): return nil for negative length. Wed Mar 2 21:15:00 2011 Tanaka Akira * ext/openssl/ossl_pkey_dh.c: parenthesize macro arguments. Wed Mar 2 14:24:04 2011 Shota Fukumori * lib/test/unit/parallel.rb: Fix name from `inclement_io` to `increment_io`. Wed Mar 2 14:06:01 2011 NARUSE, Yui * string.c (rb_str_slice_bang): move treatments which is only needed when the result is not nil. Wed Mar 2 14:02:29 2011 Shota Fukumori * test/testunit/test_parallel.rb(TestParallel#spawn_runner): Fix outputing empty line in running test. * test/testunit/tests_for_parallel/test_third.rb: Remove `sleep` Tue Mar 1 22:29:10 2011 Tanaka Akira * ext/openssl/ossl_pkey.h: parenthesize macro arguments. Tue Mar 1 22:02:35 2011 Shota Fukumori * lib/test/unit/parallel.rb: Fix number. Tue Mar 1 21:48:22 2011 Shota Fukumori * lib/test/unit/parallel.rb: For Windows. * test/testunit/test_parallel.rb(TestParallelWorker#test_quit_in_test): Fix for above specification change. * test/testunit/test_parallel.rb(TestParallel#spawn_runner): Fix outputing empty line in running test. Tue Mar 1 20:51:57 2011 KOSAKI Motohiro * test/ruby/test_system.rb (TestSystem#test_system_at): remove tests for [bug#4396]. because we decided to reject this ticket. Tue Mar 1 19:46:19 2011 Tadayoshi Funaba * test/date/{test_date.rb,test_date_attr.rb}: [ruby-dev:43280] Tue Mar 1 18:40:38 2011 Ryan Davis * lib/rubygems*: Import rubygems 1.6.0 (released version @ 58d8a0b9) * test/rubygems: Ditto Tue Mar 1 16:22:22 2011 NAKAMURA Usaku * win32/win32.c: revert r30987 because it causes some failures in test-all, especially webrick. Tue Mar 1 15:59:53 2011 NARUSE, Yui * string.c (rb_str_byteslice): the resulted encoding should keep original encoding. this also fixes the encoding when the result shares internal string. [ruby-core:35376] Tue Mar 1 13:25:00 2011 Kenta Murata * ext/bigdecimal/bigdecimal.c (VpMemAlloc): CVE-2011-0188. Fixes a bug reported by Drew Yao Tue Mar 1 10:34:39 2011 NARUSE, Yui * string.c (rb_str_byteslice): Add String#byteslice. [ruby-core:35376] Tue Mar 1 00:12:49 2011 Tajima Akio * include/ruby/win32.h: define WIN32 if neither _WIN64 nor WIN32 defined. it forces to use push/pop for pack(4) pragma. Mon Feb 28 23:52:13 2011 CHIKANAGA Tomoyuki * test/testunit/test_rake_integration.rb (test_with_rake_runner): use assert_in_out_err for suppress messages. Mon Feb 28 22:48:56 2011 KOSAKI Motohiro * win32/win32.c (rb_w32_spawn): use shell if a commandline contain double-quote character. * win32/win32.c (is_internal_cmd): similar, use shell if a commandline contain caret character. * test/ruby/test_system.rb (TestSystem#test_system_at): fix wrong test case. if system() invoke a command by using shell, system() never return nil. Also, "" quotation must not appear twice in a command line. Mon Feb 28 17:36:57 2011 Tanaka Akira * ext/openssl/ossl_pkcs7.c: parenthesize macro arguments. Mon Feb 28 16:48:42 2011 Tanaka Akira * ext/openssl/ossl_pkcs12.c: parenthesize macro arguments. Mon Feb 28 16:28:15 2011 NARUSE, Yui * string.c (tr_trans): when the hash for multibyte repl is empty, tr is inverse mode, and a character doesn't much the table, the character should be replaced by last replacement. Bug #4449 Mon Feb 28 16:38:56 2011 Tanaka Akira * ext/openssl/ossl_ocsp.c: parenthesize macro arguments. Mon Feb 28 13:02:15 2011 Danial Pearce * lib/tempfile.rb: Fix example file paths in docs for tempfile. https://github.com/ruby/ruby/pull/5 Mon Feb 28 12:56:18 2011 URABE Shyouhei * ext/openssl/ossl_cipher.c (ossl_cipher_init): typo fix. https://github.com/ruby/ruby/pull/8 Mon Feb 28 12:28:13 2011 NAKAMURA Usaku * ext/date/date_core.c (datetime_s_now): localtime() and localtime_r() required time_t pointer as 1st parameter, and tv_sec member of struct timeval is long. Mon Feb 28 11:57:40 2011 Shota Fukumori * test/testunit/test_parallel.rb: Temporally disable test on Windows. Mon Feb 28 07:28:35 2011 Shota Fukumori * lib/test/unit.rb(Test::Unit::Runner#after_worker_quit): method name more be natural English. * lib/test/unit.rb(Test::Unit::Runner::Worker.launch): IO.sync doesn't need. Should use "b" for mode. Sun Feb 27 21:59:37 2011 KOSAKI Motohiro * test/ruby/test_system.rb (TestSystem#test_system_redirect_win): add test for system(). Sun Feb 27 18:00:09 2011 Shota Fukumori * lib/test/unit.rb: Refactoring; Worker never use Hash for internal storage. * lib/test/unit.rb: Never use Kernel#spawn. Use IO.popen instead. Sun Feb 27 13:16:48 2011 Tanaka Akira * ext/openssl/ossl_ns_spki.c: parenthesize macro arguments. Sat Feb 26 17:07:53 2011 Tadayoshi Funaba * lib/date.rb: [Feature #4257] * ext/date/extconf.rb: new * ext/date/date_core.c: new Sat Feb 26 16:10:23 2011 Shota Fukumori * lib/test/unit.rb: --jobs-status won't puts over 2 lines. * test/testunit/test_parallel.rb: Fix test for above. * lib/test/*: refactoring. Sat Feb 26 07:10:05 2011 Aaron Patterson * ext/psych/lib/psych/scalar_scanner.rb: fix parsing timezone's whose whose format is (+/-)hhmm. Thanks Goncalo Silva! * test/psych/test_scalar_scanner.rb: test for bug. Thu Feb 24 23:02:55 2011 Tanaka Akira * ext/openssl/ossl_hmac.c: parenthesize macro arguments. Thu Feb 24 22:53:10 2011 Nobuyoshi Nakada * common.mk (love): for the birthday. Thu Feb 24 22:51:54 2011 Nobuyoshi Nakada * vm.c (ruby_vm_destruct): run vm exit hooks after all objects are destructed. Thu Feb 24 14:40:33 2011 Shota Fukumori * ChangeLog (vim): Modeline for vim Thu Feb 24 13:39:25 2011 Shota Fukumori * common.mk: Use $RUNRUBY for worker process. * lib/test/unit.rb: Fix bug. * lib/test/unit.rb: @options[:ruby](@opts[:ruby]) is now Array. * test/testunit/parallel.rb: Fix for above. Thu Feb 24 10:05:55 2011 Shota Fukumori * test/testunit/tests_for_parallel/misc.rb: Fix bug in r30947. * lib/test/unit.rb, lib/test/unit/assertions.rb: For this test. Wed Feb 23 23:07:38 2011 Shota Fukumori * test/testunit/test_parallel.rb, test/testunit/parallel/*: Test for r30939. * lib/test/unit.rb: For test. * lib/test/parallel.rb: For test. * lib/test/unit/testcase.rb: For test. Wed Feb 23 22:05:13 2011 Tanaka Akira * ext/openssl/ossl_engine.c: parenthesize macro arguments. Tue Feb 22 23:15:17 2011 Shota Fukumori * lib/test/unit.rb: Fix --ruby option doesn't effect. * lib/test/unit.rb: Fix typo. Tue Feb 22 21:39:28 2011 Tanaka Akira * ext/openssl/ossl_digest.c: parenthesize macro arguments. Tue Feb 22 14:34:26 2011 Shota Fukumori * lib/test/unit.rb: Fix merging miss. Tue Feb 22 12:27:26 2011 Shota Fukumori * lib/test/unit.rb: Add new options; --jobs,-j,--ruby,--jobs-status, --no-retry. [Feature #4415] [ruby-dev:43226],[ruby-dev:43222],[ruby-core:35294] * lib/test/unit/parallel.rb: Used at test/unit --jobs(-j) option. * test/csv/test_serialization.rb: test/unit parallel running ready. * test/rake/test_file_task.rb: test/unit parallel running ready. Tue Feb 22 06:09:10 2011 Eric Hodel * ext/syslog/syslog.c: Apply documentation patch from mathew murphy. [Bug #4149] Tue Feb 22 03:09:10 2011 Aaron Patterson * ext/psych/lib/psych.rb: increase Psych to 1.1.0 for help with debugging. Tue Feb 22 03:04:46 2011 Aaron Patterson * ext/psych/lib/psych/streaming.rb: refactor streaming methods to a module. * ext/psych/lib/psych/stream.rb: extracted streaming specific methods to a module. * ext/psych/lib/psych/json/stream.rb: JSON stream inherits from JSONTree and includes streaming methods. * ext/psych/lib/psych/visitors/json_tree.rb: JSON does not support object references, so remove object reference testing when building JSON trees. Tue Feb 22 02:41:51 2011 Aaron Patterson * ext/psych/lib/psych/visitors/yaml_tree.rb (accept): use Hash#key? when looking up object references to err on the side of cache misses. Mon Feb 21 10:58:39 2011 Aaron Patterson * ext/psych/lib/psych/json/yaml_events.rb: refactoring JSON event handling methods to a module for reuse. * ext/psych/lib/psych/json/tree_builder.rb: AST builder uses JSON event methods. * ext/psych/lib/psych/json/stream.rb: stream emitter uses JSON event methods. Mon Feb 21 10:54:29 2011 Aaron Patterson * ext/psych/lib/psych/json/stream.rb: do not emit custom tags in maps or sequences when emitting JSON. * ext/psych/lib/psych/json/tree_builder.rb: do not emit custom tags in sequences when emitting JSON. * test/psych/json/test_stream.rb: tests for custom stream emits. * test/psych/test_json_tree.rb: tests for JSON emits. Mon Feb 21 10:05:10 2011 Aaron Patterson * ext/psych/lib/psych/json/ruby_events.rb: DRY up ruby event handling for JSON. * ext/psych/lib/psych/visitors/json_tree.rb: use ruby events module * ext/psych/lib/psych/json/stream.rb: ditto Mon Feb 21 10:01:01 2011 Aaron Patterson * ext/psych/lib/psych/json/stream.rb: fix JSON stream emits to use double quotes during stream. * test/psych/json/test_stream.rb: tests to reflect changes. Mon Feb 21 00:38:56 2011 KOSAKI Motohiro * test/ruby/test_system.rb (TestSystem#test_system_at): add testcase for bug4396. Sun Feb 20 19:59:32 2011 Tanaka Akira * ext/openssl/ossl_cipher.c: parenthesize macro arguments. Sun Feb 20 16:26:45 2011 Nobuyoshi Nakada * thread.c (exec_recursive): prevent temporary objects from GC. * prevent temporary objects from GC, and should not use RSTRING_PTR() for function calls since it evaluates the argument a couple of times. Sun Feb 20 16:22:53 2011 Nobuyoshi Nakada * file.c (rb_file_flock): use rb_thread_io_blocking_region for the time being. Sun Feb 20 05:33:17 2011 Ryan Davis * lib/minitest/*.rb: Imported minitest 2.0.2 r6207. * test/minitest/*: ditto Sun Feb 20 02:14:09 2011 KOSAKI Motohiro * signal.c (sig_trap): avoid pthread_sigmask(xx, &mask, &mask) usage because FreeBSD don't permit it. If it's used, it behave as pthread_sigmask(xx, NULL, &mask). * signal.c (init_sigchld): ditto. Sun Feb 20 00:46:51 2011 Tanaka Akira * ext/openssl/ossl_bn.c: parenthesize macro arguments. Sat Feb 19 22:37:42 2011 CHIKANAGA Tomoyuki * vm_insnhelper.c (vm_check_if_namespace): guard temporary object from GC. Sat Feb 19 06:36:27 2011 Aaron Patterson * lib/test/unit.rb: partial revert of r30849. [ruby-core:32864] * test/testunit/test_rake_integration.rb: adding an integration test with the rake loader to prevent regressions. Fri Feb 18 19:31:31 2011 Shugo Maeda * lib/fileutils.rb (FileUtils::remove_entry_secure): there is a race condition in the case where the given path is a directory, and some other user can move that directory, and create a symlink while this method is executing. Reported by: Nicholas Jefferson Fri Feb 18 00:28:39 2011 CHIKANAGA Tomoyuki * compile.c (get_exception_sym2type): guard temporary object from GC. Thu Feb 17 23:54:29 2011 CHIKANAGA Tomoyuki * iseq.c (prepare_iseq_build): initialize iseq_compile_data::err_info with nil. this fix exception in rb_iseq_load(). Thu Feb 17 22:32:35 2011 CHIKANAGA Tomoyuki * test/ruby/test_marshal.rb (test_marshal_dump_extra_iv): fix a typo of local variable. [Bug #3720] [ruby-dev:42083] Thu Feb 17 21:32:53 2011 Tanaka Akira * ext/openssl/ossl.h: parenthesize macro arguments. Wed Feb 16 20:37:48 2011 KOSAKI Motohiro * eval_jump.c (rb_exec_end_proc): changed at_exit and END proc evaluation order. [Bug #4400] [ruby-core:35237] * eval_jump.c (rb_mark_end_proc): ditto. * test/ruby/test_beginendblock.rb (TestBeginEndBlock#test_nested_at_exit): added a test for nested at_exit. * test/ruby/test_beginendblock.rb (TestBeginEndBlock#test_beginendblock): changed the test to adopt new spec. Wed Feb 16 20:17:06 2011 Tanaka Akira * ext/openssl/openssl_missing.h: parenthesize macro arguments. Tue Feb 15 21:37:45 2011 Tanaka Akira * ext/gdbm/gdbm.c: parenthesize macro arguments. Tue Feb 15 20:34:53 2011 Tanaka Akira * array.c (ary_join_1): fix array size. Tue Feb 15 19:43:23 2011 KOSAKI Motohiro * configure.in: fix and resubmit r30621. [ruby-dev:43203] Tue Feb 15 15:41:30 2011 NARUSE, Yui * array.c (array_join): copy the encoding of the first element as an initial encoding. * array.c (array_join_0): ditto. * array.c (array_join_1): ditto. * array.c (inspect_ary): ditto. * array.c (array_join_1): add an argument to check the appending is first one or not. Tue Feb 15 15:40:53 2011 NARUSE, Yui * hash.c (inspect_i): copy the encoding of the first key as an initial encoding. Mon Feb 14 15:00:16 2011 NARUSE, Yui * array.c (inspect_ary): don't taint the inspected result of a recursive array. Tue Feb 15 15:43:29 2011 NARUSE, Yui * encoding.c (rb_enc_compatible): change the rule for empty strings: remove the special treatment of the US-ASCII encoded empty string. Now Encoding.compatible? usually respect the encoding of the receiver. Tue Feb 15 15:39:37 2011 NARUSE, Yui * string.c (rb_enc_cr_str_buf_cat): remove special treatment of ASCII-8BIT receivers. * string.c (str_gsub): set initial encoding of the buffer as the same of the receiver. [ruby-core:35141] Tue Feb 15 09:49:33 2011 NAKAMURA Usaku * test/ruby/test_system.rb (TestSystem#test_system_at): use findstr command instead of find command, because the latter is confusing another famous Unix command. Mon Feb 14 23:01:19 2011 CHIKANAGA Tomoyuki * thread.c (rb_thread_io_blocking_region): reset th->waiting_fd after blocking region, because remaining waiting_fd might cause unnecessary IOError. Mon Feb 14 21:06:50 2011 URABE Shyouhei * configure.in: revert r30621. That revision introduced mkmf test failures and it turned out to be OK to revert. [ruby-dev:43203] Mon Feb 14 21:04:01 2011 Tanaka Akira * ext/fiddle/conversions.h: parenthesize macro arguments. Mon Feb 14 18:41:47 2011 KOSAKI Motohiro * win32/setup.mak (USE_RUBYGEMS): fixed r30835. It didn't work on mswin32 port. If you changed win32/configure.bat, you should change setup.mak too. Mon Feb 14 17:28:34 2011 KOSAKI Motohiro * test/ruby/test_system.rb (TestSystem#test_system_at): added test. [ruby-core:35218] (#4393) Mon Feb 14 13:15:35 2011 NAKAMURA Usaku * win32/win32.c (is_internal_cmd): if the first char of prog is '@', execute it via shell. [ruby-core:35218] (#4393) Mon Feb 14 10:33:45 2011 NAKAMURA Usaku * lib/test/unit.rb: revert r30863, because it causes too many noise. Mon Feb 14 07:34:55 2011 Tanaka Akira * ext/curses/curses.c: parenthesize macro arguments. Sun Feb 13 19:41:47 2011 Nobuyoshi Nakada * lib/test/unit.rb (Test::Unit::RequireFiles#non_options): skip test suites failed to load instead of mere messages. Sun Feb 13 09:56:44 2011 Nobuyoshi Nakada * test/openssl/test_config.rb (OpenSSL#test_freeze): fix error message assertion. * test/io/nonblock/test_flush.rb (TestIONonblock#flush_test): return true to finish the test. * test/syck/test_string.rb (Syck::TestString#test_non_binary_string): use assert_not instead of refute, unless required minitest explicitly. * test/test_prime.rb (TestPrime::sieve.Integer): ditto. * test/xmlrpc/webrick_testing.rb (WEBrick_Testing#start_server): catch IOError when server socket was closed. Sun Feb 13 07:39:51 2011 Yukihiro Matsumoto * enum.c (enum_inject): typo fixed. a patch from Gaku Ueda in [ruby-core:35216]. Sun Feb 13 00:48:47 2011 Tadayoshi Funaba * lib/date.rb (Date#===): [ruby-core:35127] Sun Feb 13 00:29:18 2011 Nobuyoshi Nakada * lib/test/unit.rb (Test::Unit::Options#process_args): always return options. * lib/test/unit.rb (Test::Unit::RequireFiles#non_options): return if any test case get loaded. * lib/test/unit.rb (Test::Unit::AutoRunner#initialize): do not add default directory if it is nil. * lib/test/unit.rb (Test::Unit::AutoRunner#process_args): return true if any test cases to run. Sat Feb 12 23:17:43 2011 Nobuyoshi Nakada * lib/test/unit.rb (assert_include): add alias. Sat Feb 12 14:44:20 2011 Nobuyoshi Nakada * thread.c (rb_thread_io_blocking_region): new function to run blocking region with GIL released, for fd. * thread.c (rb_thread_fd_close): implement. [ruby-core:35203] * vm.c (th_init): rename from th_init2. Sat Feb 12 14:41:36 2011 Nobuyoshi Nakada * lib/test/unit.rb (Test::Unit::AutoRunner#initialize): use default_dir if no test case given. * lib/test/unit.rb (Test::Unit::Runner): rename from Test::Unit::Mini. * lib/test/unit.rb (Test::Unit::GlobOption#non_options): run tests under base directory if no argument given. Sat Feb 12 08:03:12 2011 Nobuyoshi Nakada * test/ruby/test_settracefunc.rb (TestSetTraceFunc): ensure to use method_added hook defined in Module. Sat Feb 12 01:04:02 2011 Nobuyoshi Nakada * ruby.c (proc_options): enable rubygems if --gem option is given. * ruby.c (process_options): load rubygems if it is disabled but --gem option is given. Fri Feb 11 23:27:50 2011 Yuki Sonoda (Yugui) * ruby.c (proc_options): add --gem=enabled as an alias of --enable=gems and --gem=disabled as an alias of --disable=gems. Gem named "enabled" or "disabled" has already been reserved legitimately for this purpose. Fri Feb 11 23:17:04 2011 Tanaka Akira * ext/dl/cfunc.c: parenthesize macro arguments. Fri Feb 11 21:41:53 2011 Nobuyoshi Nakada * bin/testrb, test/runner.rb, lib/test/unit.rb: improve backward compatibility. Fri Feb 11 19:45:26 2011 Nobuyoshi Nakada * eval.c (ruby_cleanup): use rb_ary_free to free internal object. * gc.h (RUBY_FREE_UNLESS_NULL): get rid of double free. [ruby-core:35192] Fri Feb 11 16:57:03 2011 Nobuyoshi Nakada * test/ruby/test_transcode.rb (test_from_cp50221): fix wrong assertion and move back. Fri Feb 11 14:33:18 2011 Nobuyoshi Nakada * lib/test/unit/assertions.rb (assert_no_match): alias for backward compatibility. Fri Feb 11 12:06:48 2011 Nobuyoshi Nakada * ruby.c (add_gems, require_libraries, proc_options): add --require and --gem options. Fri Feb 11 12:03:24 2011 Nobuyoshi Nakada * configure.in (rubygems): add --disable-rubygems option. Fri Feb 11 11:39:03 2011 Nobuyoshi Nakada * template/fake.rb.in (CROSS_COMPILING): get rid of NameError. Thu Feb 10 23:12:34 2011 Tanaka Akira * ext/dl/dl.h: parenthesize macro arguments. Wed Feb 9 23:11:27 2011 Tanaka Akira * ext/pty/pty.c: parenthesize macro arguments. Tue Feb 8 11:47:11 2011 Loren Sands-Ramshaw * array.c: documentation clarification in rotate, rotate!, index, and rindex. [ruby-core:35144] Wed Feb 9 09:45:43 2011 NAKAMURA Usaku * test/rdoc/test_rdoc_encoding.rb: remove unnecessary (and wrong) platform-dependent hacks. Wed Feb 9 00:47:18 2011 Tanaka Akira * ext/etc/etc.c: parenthesize macro arguments. Tue Feb 8 19:38:00 2011 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-expr-beg): fix for invalid nest errors. Tue Feb 8 19:22:59 2011 KOSAKI Motohiro * configure.in (AC_MSG_CHECKING): fixed typo. the patch is created by Benoit Daloze. Thanks a lot. [Bug #4384][ruby-core:35148] Tue Feb 8 16:04:03 2011 KOSAKI Motohiro * io.c (rb_io_s_sysopen): use NUM2MODET() instead NUM2UINT(). Tue Feb 8 15:59:23 2011 KOSAKI Motohiro * process.c (rb_run_exec_options_err): use MODET2NUM() instead LONG2NUM(). Tue Feb 8 13:59:56 2011 KOSAKI Motohiro * configure.in: revert r30725. Now we have proper runtime fallback. Therefore, no need compile time disabling. (see r30762). Tue Feb 8 01:00:21 2011 CHIKANAGA Tomoyuki * process.c (proc_setgroups): add GC guard to prevent intermediate variable from GC. Tue Feb 8 00:56:33 2011 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-expr-beg, ruby-in-here-doc-p): tell singleton class definitions from here documents. * misc/ruby-mode.el (ruby-expr-beg, ruby-parse-partial): keyword followed by colon is label. Mon Feb 7 22:56:16 2011 CHIKANAGA Tomoyuki * lib/benchmark.rb (Benchmark#bmbm): use ensure clause instead of Object#tap to restore STDOUT.sync. Mon Feb 7 22:34:20 2011 Tanaka Akira * lib/net/http.rb (Net::HTTP#connect): support SNI (Server Name Indication) for HTTPS. [ruby-dev:43164] http://stackoverflow.com/questions/4685736/openssl-server-name-indication-support-in-ruby Mon Feb 7 16:05:32 2011 Eric Hodel * lib/rdoc: Upgrade to RDoc 3.5.3 Fixes [Bug #4376] Mon Feb 7 11:46:59 2011 NARUSE, Yui * common.mk (rdoc): add --encoding=UTF-8; ruby's rdoc must be UTF-8. Mon Feb 7 10:21:50 2011 NAKAMURA Usaku * test/rdoc/test_rdoc_options.rb (TestRDocOptions#test_check_files): there is no easy way to create owner unreadable file on Windows. So, skip the test. Sun Feb 6 13:48:29 2011 Nobuyoshi Nakada * ext/json/lib/json/common.rb (JSON::MissingUnicodeSupport.iconv): should not drop rest of the result. use Iconv.conv instead. Sun Feb 6 12:46:02 2011 Eric Hodel * string.c (gsub): Ensure result encoding is the same as input encoding. [Bug #4340]. Sun Feb 6 12:18:25 2011 Nobuyoshi Nakada * parse.y (words, qwords): dispatch array events. based on a patch from Michael Edgar. [Bug #4365]. Sun Feb 6 12:12:59 2011 Nobuyoshi Nakada * test/fileutils/fileasserts.rb (FileAssertions): separate module. Sun Feb 6 11:29:23 2011 Tanaka Akira * ext/dbm/dbm.c: parenthesize macro arguments. Sat Feb 5 22:01:59 2011 KOSAKI Motohiro * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert): revert r30796. r30797 and r30798 are an alternative fix. [ruby-dev:43174] Sat Feb 5 21:47:09 2011 Nobuyoshi Nakada * parse.y (mlhs_basic): include mlhs_post for ripper. a patch from Michael Edgar at [ruby-core:35078]. Sat Feb 5 21:22:21 2011 Nobuyoshi Nakada * lib/test/unit/assertions.rb (assert_block): move from test/fileutils/fileasserts.rb. * test/fileutils/fileasserts.rb (assert_block): pass arguments as-is. [ruby-dev:43174] Sat Feb 5 16:47:54 2011 KOSAKI Motohiro * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert): msg can be passed nil. [Bug #4371] [ruby-dev:43174] Sat Feb 5 15:18:25 2011 Eric Hodel * lib/rdoc: Upgrade to RDoc 3.5.2 Sat Feb 5 12:05:27 2011 Nobuyoshi Nakada * ext/syck/rubyext.c (syck_node_init_copy): SyckNode is not copiable. [ruby-core:35094] Sat Feb 5 11:48:47 2011 Nobuyoshi Nakada * ext/openssl/ossl_cipher.c (ossl_cipher_alloc): leave data ptr NULL. * ext/openssl/ossl_cipher.c (ossl_cipher_new, ossl_cipher_initialize): allocate internal structure. [ruby-core:35094] * ext/openssl/ossl_cipher.c (ossl_cipher_copy): ditto. Sat Feb 5 11:29:10 2011 Nobuyoshi Nakada * ext/json/parser/parser.h (GET_PARSER): raise TypeError. * ext/json/parser/parser.rl (cParser_initialize): ditto. * ext/json/parser/parser.h (GET_PARSER): check if initialized. [ruby-core:35079] * ext/json/parser/parser.rl (cParser_initialize): ditto. Sat Feb 5 10:09:31 2011 Nobuyoshi Nakada * load.c (rb_get_expanded_load_path): always expand load paths. Sat Feb 5 09:38:08 2011 Nobuyoshi Nakada * transcode.c (encoded_dup): extract. Sat Feb 5 03:37:47 2011 Nobuyoshi Nakada * lib/fileutils.rb (FileUtils::LowMethods): make low level methods in NoWrite and DryRun to do nothing. [ruby-dev:43129] * test/fileutils/fileasserts.rb: add message arguments. * test/fileutils/fileasserts.rb (Test::Unit::Assertions#assert_block): show the given message. Sat Feb 5 02:09:39 2011 Nobuyoshi Nakada * parse.y (lex_getline, parser_set_encode): set encoding of lines in SCRIPT_LINES__ as source encoding. [ruby-dev:43168] Sat Feb 5 02:08:37 2011 Nobuyoshi Nakada * vm.c (ruby_thread_data_type): add prefix. Sat Feb 5 00:59:54 2011 KOSAKI Motohiro * vm_core.h (GetThreadPtr): use TypedData_Get_Struct() instead CoreDataFromValue() because we need type check. Otherwise, type mismatch can cause segmentation fault crash. [ruby-core:35086] [Ruby 1.9-Bug#4367] * vm.c (thread_data_type): remove static. Fri Feb 4 19:14:27 2011 Tanaka Akira * enc/trans/utf8_mac.trans: parenthesize macro arguments. Fri Feb 4 12:11:51 2011 KOSAKI Motohiro * string.c (str_utf8_nth): fixed a condition of optimized lead byte counting. [Bug #4366][ruby-dev:43170] Fri Feb 4 01:50:13 2011 KOSAKI Motohiro * string.c (count_utf8_lead_bytes_with_word): wrote function comments. Fri Feb 4 00:14:55 2011 Nobuyoshi Nakada * ext/zlib/zlib.c (gzfile_reader_get_unused): no need to dup before rb_str_resurrect. Thu Feb 3 20:04:44 2011 Tanaka Akira * ext/curses/curses.c (CHECK): unused macro removed. Thu Feb 3 18:33:26 2011 NARUSE, Yui * ext/zlib/zlib.c (gzfile_reader_get_unused): use rb_str_resurrect because gz->z.input is hidden string. [ruby-core:35057] Thu Feb 3 16:34:10 2011 NARUSE, Yui * enc/shift_jis.c (code_to_mbc): cast as int from the subtraction of pointers. * enc/utf_16le.c (utf16le_mbc_enc_len): use ptrdiff_t. * enc/utf_32be.c (utf32be_left_adjust_char_head): ditto. * enc/utf_32le.c (utf32le_left_adjust_char_head): ditto. Thu Feb 3 16:31:43 2011 NARUSE, Yui * include/ruby/missing.h: don't use HAVE_STDDEF_H because it never defined by configure though configure.bat defines it. * include/ruby/ruby.h: move include stddef.h to defines.h * include/ruby/defines.h: ditto. Wed Feb 2 20:25:04 2011 NARUSE, Yui * include/ruby/encoding.h (rb_enc_step_back): cast 4th argument 'n' as int because Ruby usually treats length value as long but onigenc_step_back's 4th argument is int. Thu Feb 3 07:20:46 2011 Aaron Patterson * ext/psych/lib/psych/visitors/to_ruby.rb: use Regexp::NOENCODING rather than magic number. * ext/syck/lib/syck/rubytypes.rb: ditto Thu Feb 3 07:16:11 2011 Aaron Patterson * re.c (Init_Regexp): added a constant for ARG_ENCODING_NONE [ruby-core:35054] * test/ruby/test_regexp.rb: corresponding test. Thu Feb 3 07:02:16 2011 Aaron Patterson * ext/psych/lib/psych/visitors/to_ruby.rb: ARG_ENCODING_NONE regular expressions can round trip. [ruby-core:34969] * test/psych/test_yaml.rb: test for ARG_ENCODING_NONE regex * ext/sych/lib/syck/rubytypes.rb: ARG_ENCODING_NONE regular expressions can round trip. * test/syck/test_yaml.rb: test for ARG_ENCODING_NONE regex Wed Feb 2 17:09:22 2011 KOSAKI Motohiro * io.c (rb_io_fdatasync): Use fsync(2) if the underlying operating system does not support fdatasync(2). Wed Feb 2 14:51:08 2011 Eric Hodel * lib/rdoc/markup/to_tt_only.rb: commit miss * test/rdoc/test_rdoc_markup_to_tt_only.rb: ditto * test/rdoc/test_rdoc_single_class.rb: ditto Wed Feb 2 09:27:53 2011 Eric Hodel * lib/rdoc: Upgrade to RDoc 3.5.1 Wed Feb 2 00:30:43 2011 KOSAKI Motohiro * include/ruby/st.h (st_table): Added comment why we need __extension__. Tue Feb 1 20:45:44 2011 Tanaka Akira * enc/encdb.c: parenthesize macro arguments. Tue Feb 1 15:12:26 2011 NAKAMURA Usaku * test/ruby/test_require.rb (TestRequire#test_require_with_unc): use ``127.0.0.1'' instead of ``localhost'' as host name, because XP or earlier cannot resolv it as NBT hostname. Tue Feb 1 13:20:39 2011 KOSAKI Motohiro * test/benchmark/test_benchmark.rb (#capture_bench_output): Added explicit sleep. Windows have imprecise time support. Thus Tms.new.Add!{} may be or may be not equal 0. The test failure started since r30747. Tue Feb 1 11:03:47 2011 Ryan Davis * lib/rubygems*: Import rubygems 1.5.0 (released version @ 1fb59d0) * test/rubygems: Ditto Tue Feb 1 08:01:39 2011 Nobuyoshi Nakada * ext/io/console/console.c (console_set_winsize): new method to set console size. [EXPERIMENTAL] * ext/io/console/console.c (console_winsize): use GetWriteFD. Tue Feb 1 02:28:14 2011 Masaya Tarui * include/ruby/win32.h, win32/win32.c: add rb_w32_inet_ntop. inet_ntop's minimum supported client is Vista. Tue Feb 1 00:10:30 2011 NARUSE, Yui * lib/benchmark.rb: fix benchmark to work with current ruby. patched by Benoit Daloze [ruby-core:33846] [ruby-dev:43143] merged from https://github.com/eregon/ruby/commits/benchmark * lib/benchmark (Report#width): update documentation * lib/benchmark: document the return value of #benchmark and the :list attribute in Report * lib/benchmark (Tms#format): rename variables, use String#% instead of Kernel.format * lib/benchmark: remove undocumented Benchmark::times (an alias of Process::times used twice) * lib/benchmark (#benchmark): use label_width for the caption * lib/benchmark (Tms#initialize): rename variables * lib/benchmark: allow title to not be a String and call #to_s * lib/benchmark (Benchmark#bm): return an Array of the times with the labels * lib/benchmark: correct output for Benchmark#bmbm (remove the extra space) * lib/benchmark: add a few tests for Benchmark::Tms output * lib/benchmark: improve style (enumerators, ljust, unused vars) * lib/benchmark: add spec about output and return value * lib/benchmark: improve basic style and consistency no parenthesis for print and use interpolation instead of printf * lib/benchmark: remove unnecessary conversions and variables * lib/benchmark: correct indentation * lib/benchmark: rename the FMTSTR constant and variable to FORMAT * lib/benchmark: remove useless exception * test/benchmark: remove unused variable warnings Mon Jan 31 23:27:23 2011 CHIKANAGA Tomoyuki * node.c (add_id): remove duplicated rb_id2str() call. Sun Jan 30 17:19:46 2011 Tanaka Akira * missing/langinfo.c: parenthesize macro arguments. Mon Jan 31 21:57:39 2011 KOSAKI Motohiro * configure.in: revert r30698. Mon Jan 31 21:32:44 2011 CHIKANAGA Tomoyuki * thread.c (thread_start_func_2): check deadlock condition before release thread stack. fix memory violation when deadlock detected. reported by Max Aller. [Bug #4009] [ruby-core:32982] Mon Jan 31 14:45:47 2011 Yuki Sonoda (Yugui) * lib/irb/locale.rb (IRB::Locale::#search_file): Gem might be undefined if --disable-gems. [ruby-core:34990] Mon Jan 31 12:26:14 2011 NARUSE, Yui * addr2line.c: suppressed shorten-64-to-32 warnings. * regcomp.c: ditto. * regexec.c: ditto. * regint.h: ditto. * regparse.c: ditto. * regparse.h: ditto. * time.c: ditto. * variable.c: ditto. Mon Jan 31 04:45:12 2011 NARUSE, Yui * array.c (rb_ary_uniq_bang): call ARY_SET_LEN(ary, 0) before ary_resize_capa because ary_resize_capa expects resized length is smaller than current array length. call rb_ary_unshare before ary_resize_capa because ary_resize_capa lost the reference to original shared array. [ruby-core:34997] Sun Jan 30 17:19:46 2011 Tanaka Akira * missing/crypt.c: parenthesize macro arguments. Sun Jan 30 16:40:27 2011 Nobuyoshi Nakada * test/rubygems/test_gem_security.rb (TestGemSecurity): valid only if OpenSSL is available. * test/dl/test_dl2.rb (TestDL#test_sin): math functions do not work on x86_64 due to the design of DL2. * test/dl/test_func.rb (DL::TestFunc#test_{sinf,sin): ditto. Sun Jan 30 16:09:22 2011 Tanaka Akira * strftime.c (rb_strftime_with_timespec): %G produces 4 digits. Sun Jan 30 15:13:19 2011 Nobuyoshi Nakada * enc/emacs_mule.c (emacsmule_islead): 7bit range is also leading byte. Sun Jan 30 13:03:16 2011 Nobuyoshi Nakada * hash.c (rb_hash_fetch_m): use useful message for longer key, not a nonsense id value. * string.c (rb_str_ellipsize): new function to ellipsize a string. * include/ruby/encoding.h (rb_enc_step_back): new function to step back n characters. Sun Jan 30 12:53:38 2011 Nobuyoshi Nakada * enc/emacs_mule.c (emacsmule_islead): fix inverse condition. Sun Jan 30 09:37:25 2011 Yutaka Kanemoto * io.c (struct argf): char behaves like an unsigned char by default on AIX. Sun Jan 30 08:02:55 2011 NARUSE, Yui * configure.in: Mac OS X wrongly reports it has fdatasync(3). Sun Jan 30 03:29:47 2011 NARUSE, Yui * ext/openssl/ossl_bn.c (GetBNPtr): add missing nil case. patched by Martin Bosslet. [ruby-core:34987] Sun Jan 30 01:02:28 2011 KOSAKI Motohiro * include/ruby/ruby.h: Added NUM2MODET() and MODET2NUM() default definition. Because r30686 introduced win32 build failure. Sat Jan 29 22:16:26 2011 NARUSE, Yui * array.c (rb_ary_join): [].join.encoding must be US-ASCII. [ruby-list:47790] Sat Jan 29 20:22:39 2011 KOSAKI Motohiro * benchmark/driver.rb (BenchmarkDriver#measure): Show command line when abnormal exiting occur. Sat Jan 29 10:53:16 2011 Yusuke Endoh * vm_insnhelper.c (vm_get_ev_const): no-scope reference to toplevel private constant has been prohibited incorrectly. * test/ruby/test_module.rb (test_toplevel_private_constant): add a test for above. Sat Jan 29 08:43:23 2011 Ryan Davis * lib/rubygems*: Import rubygems 1.5.0 (release candidate @ 09893d9) * test/rubygems: Ditto Sat Jan 29 02:02:37 2011 Yusuke Endoh * variable.c (rb_mod_const_of, sv_i): Module#constant should exclude private constants. see [ruby-core:32912]. * test/ruby/test_module.rb (test_constants_with_private_constant): add a test for above. Sat Jan 29 01:36:41 2011 Yusuke Endoh * variable.c (rb_const_set): const_set should preserve constant visibility. see [ruby-core:32912]. * test/ruby/test_module.rb: add a test for above. Sat Jan 29 01:24:57 2011 Yusuke Endoh * compile.c (NODE_CLASS, NODE_MODULE), insns.def (defineclass): raise an exception when "class Foo::Bar" is evaluated and Foo::Bar is private. To implement this, define_type of "defineclass" is added so that the instruction can distinguish whether the class definition is scoped (class Foo::Bar) or not (class Bar). * test/ruby/test_class.rb (test_redefine_private_class), test/ruby/test_module.rb (test_define_module_under_private_constant): add tests for above. Sat Jan 29 01:19:17 2011 Yusuke Endoh * constant.h, variable.c: to ensure compatibility, rb_const_get_* must not raise an exception even when the constant is private. Instead, rb_public_const_get_* and rb_public_const_defined_* are introduced, which raise an exception when the referring constant is private. see [ruby-core:32912]. * vm_insnhelper.c (vm_get_ev_const): use rb_public_const_get_* instead of rb_const_get_* to follow the constant visibility when user code refers a constant. * test/ruby/test_marshal.rb (test_marshal_private_class): add a test. This test had failed because of incompatibility of rb_const_get. Sat Jan 29 00:30:44 2011 Yusuke Endoh * variable.c (set_const_visibility): fix typo. a patch from Tomoyuki Chikanaga in [ruby-core:32919]. Fri Jan 28 23:20:28 2011 KOSAKI Motohiro * test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_no_create, TestGDBM2#test_writer_open_notexist): We only need to skip libgdbm 1.8.0, not all 1.8.x. 1.8.1 or later don't have GDBM_WRITER sickness. Fri Jan 28 21:56:57 2011 KOSAKI Motohiro * ext/dbm/extconf.rb: Added new header places for Fedora13. Fri Jan 28 21:49:30 2011 Tanaka Akira * ext/zlib/zlib.c: parenthesize macro arguments. Fri Jan 28 17:47:33 2011 KOSAKI Motohiro * test/gdbm/test_gdbm.rb (TestGDBM2#test_writer_open_notexist): gdbm 1.8.x changed GDBM::WRITER behavior. Thus our testcase need to be changed too. Fri Jan 28 17:33:28 2011 KOSAKI Motohiro * test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_no_create): skip the test if gdbm version is 1.8.x. Fri Jan 28 16:30:51 2011 KOSAKI Motohiro * test/ruby/test_require.rb (TestRequire#test_require_too_long_filename): Added -w option because too long path error don't output a message by default since r30660. [Bug #4336] [ruby-dev:43134] Fri Jan 28 16:19:38 2011 KOSAKI Motohiro * test/ruby/test_require.rb (TestRequire#test_require_path_home_{1,2}): Added -w option because too long path error don't output a message by default since r30660. [Bug #4336] [ruby-dev:43134] Fri Jan 28 16:04:54 2011 KOSAKI Motohiro * test/ruby/test_require.rb (TestRequire#test_require_path_home_{1,2,3}): split from test_require_path_home. Fri Jan 28 13:04:38 2011 KOSAKI Motohiro * configure.in (--with-valgrind): Fixed r29683. Now this option is really default on. Fri Jan 28 12:05:48 2011 KOSAKI Motohiro * configure.in: Add #include when struct stat is tested. Otherwise, incomplete type dereference error will occur. Fri Jan 28 11:53:19 2011 KOSAKI Motohiro * configure.in: redundant variable names made strange conftest error. Fixed it. Fri Jan 28 11:47:00 2011 NAKAMURA Usaku * test/ruby/test_process.rb (TestProcess#test_too_long_path{,2}): should handle Errno::E2BIG, because this test checks crash of ruby, not the error type system. Fri Jan 28 11:23:54 2011 KOSAKI Motohiro * io.c (rb_io_open): Use NUM2MODET() instead NUM2UINT(). * io.c (rb_scan_open_args): ditto. Fri Jan 28 10:58:20 2011 KOSAKI Motohiro * configure.in: Added mode_t type checking. * process.c (rb_exec_arg_addopt): Use NUM2MODET() instead NUM2LONG because clang makes compile error by this narrowing conversion. * process.c (rb_run_exec_options_err): ditto. Fri Jan 28 02:37:18 2011 KOSAKI Motohiro * re.c (rb_reg_raise): add GC guard to prevent intermediate variable from GC. Fri Jan 28 02:35:41 2011 KOSAKI Motohiro * hash.c (rb_hash_fetch_m): add GC guard to prevent intermediate variable from GC. Fri Jan 28 01:33:51 2011 KOSAKI Motohiro * test/ruby/test_process.rb (TestProcess#test_too_long_path) TestProcess#test_too_long_path): Reduced string size from 100MB to 10MB. 100MB may cause no memory error. It isn't intended. Fri Jan 28 01:27:42 2011 KOSAKI Motohiro * test/ruby/test_process.rb (TestProcess#test_too_long_path2): Factored out from test_too_long_path. A test should only do one test. Thu Jan 27 23:29:36 2011 Nobuyoshi Nakada * st.c (st_foreach): check if unpacked. Thu Jan 27 23:14:19 2011 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-mode-map): remove deprecated binding. use M-; instead. Thu Jan 27 21:58:32 2011 KOSAKI Motohiro * bignum.c (rb_str_to_inum): get rid of too huge alloca(). Thu Jan 27 21:43:29 2011 KOSAKI Motohiro * object.c (rb_str_to_dbl): rewrite again. use ALLOCV instead rb_str_tmp_new(). Thu Jan 27 21:41:47 2011 KOSAKI Motohiro * win32/win32.c: get rid of STRNDUPA(). It's dangerous API. Thu Jan 27 21:31:57 2011 KOSAKI Motohiro * win32/win32.c (rb_w32_aspawn): get rid of too huge alloca(). [Bug #4330] [ruby-core:34898] Thu Jan 27 20:30:18 2011 KOSAKI Motohiro * win32/win32.c (rb_w32_spawn): get rid of too huge alloca(). Thu Jan 27 18:49:53 2011 KOSAKI Motohiro * win32/win32.c (open_dir_handle): get rid of too huge alloca(). Thu Jan 27 18:34:58 2011 KOSAKI Motohiro * file.c (w32_io_info): get rid of too huge alloca(). [Bug #4313] [ruby-core:34830] Thu Jan 27 18:19:51 2011 KOSAKI Motohiro * win32/win32.c (wstati64): get rid of too huge alloca(). [Bug #4316] [ruby-core:34834] Thu Jan 27 15:11:52 2011 NAKAMURA Usaku * win32/win32.c (rb_w32_spawn, rb_w32_aspawn): get rid of too huge alloca(). this is the real fix of [ruby-core:34833]. Thu Jan 27 12:46:25 2011 Nobuyoshi Nakada * process.c (ALLOC_ARGV_WITH_STR): fix void pointer arithmetic. Thu Jan 27 08:41:40 2011 Nobuyoshi Nakada * process.c (proc_exec_v, rb_proc_exec_n, rb_proc_exec) (proc_spawn_n, proc_spawn): get rid of too huge alloca(). [ruby-core:34827], [ruby-core:34833] Thu Jan 27 08:32:17 2011 Nobuyoshi Nakada * include/ruby/ruby.h (ALLOCV): new API for exception-safe temporary buffer. [ruby-core:34844] * string.c (rb_alloc_tmp_buffer, rb_free_tmp_buffer): implementation of the API. Thu Jan 27 08:22:49 2011 Nobuyoshi Nakada * dln_find.c (dln_find_1): use rb_warning and return immediately if fname is longer than buffer. Wed Jan 26 22:57:30 2011 CHIKANAGA Tomoyuki * class.c (clone_method): add GC guard to prevent intermediate variable from GC. [Bug #4321] [ruby-dev:43107] Wed Jan 26 22:45:16 2011 Tanaka Akira * template/id.h.tmpl: parenthesize macro arguments. Wed Jan 26 22:28:49 2011 CHIKANAGA Tomoyuki * vm_eval.c (rb_throw_obj): add GC guard to prevent intermediate variable from GC. [Bug #4322] [ruby-dev:43108] Wed Jan 26 17:08:59 2011 NAKAMURA, Hiroshi * ext/openssl/ossl_asn1.c (ossl_asn1_decode0): OpenSSL::ASN1.decode should reject indefinite length primitive encodings as that is illegal. Patch by Martin Bosslet. See #4324. Wed Jan 26 10:36:28 2011 NARUSE, Yui * string.c (=~): documentation fix; the return value is nil when it doesn't match. patched by Andrei Kulakov [ruby-core:34562] Tue Jan 25 08:41:58 2011 Nobuyoshi Nakada * dln_find.c (dln_find_1): omit too long pathnames. Tue Jan 25 08:28:19 2011 Nobuyoshi Nakada * string.c (rb_str_resize): get rid of out-of-bound access. Tue Jan 25 07:48:22 2011 Kazuhiro NISHIYAMA * test/ruby/test_thread.rb: remove unused variables. Tue Jan 25 07:45:44 2011 Kazuhiro NISHIYAMA * test/ruby/test_thread.rb (TestThread#test_condvar_nolock_2): get rid of method redefined. Tue Jan 25 07:00:52 2011 Nobuyoshi Nakada * string.c (rb_string_value_cstr): rb_str_modify can change RSTRING_PTR. Tue Jan 25 03:24:28 2011 KOSAKI Motohiro * test/ruby/test_thread.rb: Added various ConditionVariable tests. Mon Jan 24 22:26:33 2011 KOSAKI Motohiro * object.c (rb_str_to_dbl): Fix again. use rb_str_tmp_new() instead ALLOC_N. Mon Jan 24 21:50:48 2011 Tanaka Akira * vm_insnhelper.h: parenthesize macro arguments. Mon Jan 24 21:28:34 2011 KOSAKI Motohiro * object.c (rb_str_to_dbl): use ALLOC_N instead ALLOCA_N because ALLOC_N may cause stack overflow. Mon Jan 24 21:04:45 2011 Nobuyoshi Nakada * error.c (rb_invalid_str): prevent intermediate variable from GC. [ruby-core:34820] Sun Jan 23 23:01:54 2011 KOSAKI Motohiro * test/io/console/test_io_console.rb: Don't run test if the system don't support io/console. Sun Jan 23 22:17:07 2011 KOSAKI Motohiro * test/fiddle/test_fiddle.rb: Don't run test if the system don't support fiddle. * test/fiddle/test_function.rb: ditto. * test/fiddle/test_closure.rb: ditto. Sun Jan 23 11:39:18 2011 Tanaka Akira * vm_exec.h: parenthesize macro arguments. Sun Jan 23 10:33:02 2011 Nobuyoshi Nakada * template/fake.rb.in (ruby): suppress warnings. Sun Jan 23 08:00:09 2011 Nobuyoshi Nakada * string.c (str_nth_len, str_utf8_nth): return the rest length together. * string.c (rb_str_substr): get rid of measure the length always to improve performance for huge string. [ruby-core:34648] Sun Jan 23 00:40:10 2011 KOSAKI Motohiro * test/test_syslog.rb: Fix to make a lot of test failure if the platform doesn't support syslog. Sat Jan 22 11:49:55 2011 Aaron Patterson * ext/psych/lib/psych/visitors/to_ruby.rb: fixing merge key support when multiple merge keys are specified. * test/psych/test_merge_keys.rb: tests for multi-merge key support Sat Jan 22 11:33:04 2011 Aaron Patterson * ext/psych/lib/psych/visitors/to_ruby.rb: merge keys are actually part of YAML 1.1, so they should be supported. Remove warning and merge keys to parent. [ruby-core:34679] * test/psych/test_merge_keys.rb: test for merge keys Sat Jan 22 10:25:19 2011 Aaron Patterson * ext/psych/parser.c (parse): add the file name to the exception when parse errors occur. * test/psych/test_parser.rb: test for parse error file name Sat Jan 22 10:12:30 2011 Aaron Patterson * ext/psych/parser.c (parse): fix assertion error when reusing a parser after an exception has been raised * test/psych/test_parser.rb: test for assertion error Sat Jan 22 04:09:22 2011 Aaron Patterson * ext/psych/lib/psych/nodes/node.rb: Make Psych::Nodes::Node enumerable. * ext/psych/lib/psych/visitors/depth_first.rb: Add a depth-first visitor to enumerate over a YAML AST in a depth-first fashion * test/psych/nodes/test_enumerable.rb: test for enumerating nodes * test/psych/visitors/test_depth_first.rb: test for depth-first visitor Sat Jan 22 00:53:42 2011 Tanaka Akira * vm_core.h: parenthesize macro arguments. Fri Jan 21 18:15:09 2011 Nobuyoshi Nakada * configure.in: should not use -Werror=* flags while conftests. Fri Jan 21 09:17:00 2011 Luis Lavena * configure.in: Fix incorrectly detected x86_64-w64-mingw32 due canonalization of target_os. Bug #3889 [ruby-core:32634] Thu Jan 20 23:44:00 2011 KOSAKI Motohiro * configure.in: Fix rb_cv_va_args_macro was broken. We are using -Werror=implicit-function-declaration compile option. therefore we need a function declaration explicitly. Thu Jan 20 23:58:02 2011 Tanaka Akira * node.h: parenthesize macro arguments. Thu Jan 20 23:25:28 2011 KOSAKI Motohiro * configure.in: Add '#include ' to rb_cv_localtime_overflow test too. It's reported by Tomoyuki Chikanaga. Thanks. Thu Jan 20 16:11:00 2011 Kenta Murata * README.EXT, README.EXT.ja: You shouldn't choose ``conftest.c'' as a name of a source file. Thu Jan 20 12:15:44 2011 KOSAKI Motohiro * configure.in: Add stdlib.h inclusion into rb_cv_negative_time_t test because it's required for exit(3). The patch is created by Tomoyuki Chikanaga. [Bug #4287] [ruby-dev:43060] Thu Jan 20 11:39:41 2011 NAKAMURA Usaku * test/webrick/utils.rb (TestWEBrick::RubyBin): test CGI does not need to load rubygems. if it activated, ruby raises LoadError about rbconfig.rb. Thu Jan 20 09:19:42 2011 Aaron Patterson * ext/psych/lib/psych/visitors/json_tree.rb: Fix JSON emit for DateTime and Time classes. * test/psych/test_json_tree.rb: test for JSON emit Thu Jan 20 08:02:46 2011 Aaron Patterson * ext/psych/lib/psych/coder.rb (represent_object): arbitrary objects may be passed to the Psych::Coder object. * ext/psych/lib/psych/visitors/yaml_tree.rb: support for visiting arbitrary objects set on the coder. * test/psych/test_coder.rb: supporting test case. Thu Jan 20 06:03:17 2011 Tanaka Akira * method.h: parenthesize macro arguments. Wed Jan 19 13:16:05 2011 Eric Hodel * lib/rubygems/commands/sources_command.rb: Finish removing code, (fixes sources command test). Wed Jan 19 13:04:16 2011 KOSAKI Motohiro * proc.c (proc_call): Add gc guard to avoid segfault. The fix is created by Tomoyuki Chikanaga. [Bug #4238][ruby-dev:42963] Wed Jan 19 12:31:28 2011 Eric Hodel * lib/rubygems.rb: Since gem_prelude requires rubygems, enable custom_require always. Wed Jan 19 12:08:08 2011 Eric Hodel * lib/rubygems/commands/dependency_command.rb: Remove require of deleted file. * lib/rubygems/commands/fetch_command.rb: ditto * lib/rubygems/commands/setup_command.rb: ditto * lib/rubygems/commands/sources_command.rb: ditto * lib/rubygems/commands/specification_command.rb: ditto Wed Jan 19 08:13:59 2011 Ryan Davis * lib/rubygems*: Import rubygems 1.5.0 (release candidate) * test/rubygems: Ditto Tue Jan 18 23:31:01 2011 Yusuke Endoh * parse.y: avoid NULL reference. [ruby-dev:43067] Wed Jan 19 02:54:04 2011 NARUSE, Yui * vsnprintf.c (cvt): set first byte of buf to NUL for the case when no bytes are written to the buf. [ruby-dev:43062] Tue Jan 18 23:04:51 2011 Tanaka Akira * gc.h: parenthesize macro arguments. Tue Jan 18 18:31:14 2011 Keiju Ishitsuka * lib/irb/completion.rb: Irb tab completion support for XX::method forms. Tue Jan 18 15:05:55 2011 NAKAMURA, Hiroshi * lib/logger.rb: added RDoc document for logging message escape by Hal Brodigan. See #3869 Tue Jan 18 07:53:52 2011 Tanaka Akira * eval_intern.h: parenthesize macro arguments. Tue Jan 18 04:42:44 2011 Aaron Patterson * ext/psych/lib/psych/parser.rb (Mark): Adding a class to wrap marker information * ext/psych/parser.c (mark): Add a method to return the mark object for the parser * test/psych/test_parser.rb: tests for the Mark class. Tue Jan 18 02:46:55 2011 Aaron Patterson * ext/psych/lib/psych/visitors/json_tree.rb (visit_String): JSON strings should be dumped with double quotes. [ruby-core:34186] * test/psych/test_json_tree.rb: test for double quotes Mon Jan 17 23:36:33 2011 Tanaka Akira * array.c (rb_ary_times): less MEMCPY calls. Mon Jan 17 22:54:33 2011 Tanaka Akira * debug.h: parenthesize macro arguments. Mon Jan 17 21:40:25 2011 Nobuyoshi Nakada * ruby.c (process_options): revert r30549. Sun Jan 16 20:55:45 2011 Tanaka Akira * vsnprintf.c: parenthesize macro arguments. Sat Jan 15 11:57:30 2011 Nobuyoshi Nakada * configure.in (warnflags): add -Werror=implicit-function-declaration if available. * lib/mkmf.rb (init_mkmf): ignore warnings in mkmf tests. * test/mkmf/base.rb (setup, teardown): restore config values. * test/mkmf/test_flags.rb: split from test_find_executable.rb. Sat Jan 15 10:04:14 2011 Nobuyoshi Nakada * ruby.c (process_options): autoload rubygems. * tool/compile_prelude.rb (Prelude#initialize): ignore empty preludes. * ruby.c (ruby_init_prelude): get rid of global namespace pollution. Sat Jan 15 09:42:12 2011 Nobuyoshi Nakada * include/ruby/io.h: missing prototypes. Fri Jan 14 23:25:55 2011 Tanaka Akira * vm_method.c: parenthesize macro arguments. Fri Jan 14 15:32:29 2011 Shugo Maeda * test/net/imap/test_imap.rb: call neither logout nor disconnect unless connected. patch by Kazuhiro NISHIYAMA. [ruby-dev:42860] Fri Jan 14 14:56:57 2011 NARUSE, Yui * lib/net/imap.rb: use bytesize for binary strings. patched by Yoshimasa Niwa. [ruby-core:34222] Fri Jan 14 14:01:12 2011 NARUSE, Yui * pack.c (pack_unpack): the resulted string of unpack('M') must have ASCII-8BIT encoding (and ENC_CODERANGE_VALID). [ruby-core:34482] Fri Jan 14 13:38:58 2011 NARUSE, Yui * ext/zlib/zlib.c (gzfile_check_footer): ISIZE (Input SIZE) in gzip's header is the size of uncompressed input data modulo 2^32. [ruby-core:34481] http://www.ietf.org/rfc/rfc1952.txt Fri Jan 14 11:36:25 2011 NAKAMURA Usaku * configure.in, win32/Makefile.sub (RUNRUBY): require path should include "." because rbconfig.rb is there. Fri Jan 14 10:40:11 2011 Ryan Davis * gem_prelude.rb: Just require rubygems. Fixes rubygems 1.4. * lib/rubygems.rb: removed all Gem::Quickloader code. * ruby.c: renamed ruby_init_gems to ruby_init_prelude. Set $disable_rubygems since there is no fine grained mechanism to skip parts of the prelude. Open to suggestions on how to do this better. * test/*.rb: Load path isn't set up correctly, so add --disable-gems as needed to failing tests that are explicitly testing stderr w/ ==. Fri Jan 14 07:30:47 2011 Nobuyoshi Nakada * io.c (argf_next_argv): go advance when the next file cannot be read. [ruby-core:34446] Thu Jan 13 20:49:19 2011 Tanaka Akira * vm_insnhelper.c: parenthesize macro arguments. Thu Jan 13 13:21:00 2011 Kenta Murata * vm_dump.c: delete dashes to make lines 80 chars, Patched by Shota Fukumori (sora_h). [Bug #4275] [ruby-dev:43021] Thu Jan 13 13:21:00 2011 Kenta Murata * vm_dump.c: fix misspelling of CrashReporter, Patched by Shota Fukumori (sora_h). [Bug #4275] [ruby-dev:43021] Thu Jan 13 06:27:29 2011 Ryan Davis * error.c: Exception#to_s should actually call to_s. Thu Jan 13 00:32:54 2011 NARUSE, Yui * addr2line.c (get_nth_dirname): decrement the directory index because the index specifies the index of given included_directories which is separated by NUL and its index is begun from 1. Note that 0 specifies the current directory of the compilation. see also http://www.dwarfstd.org/doc/dwarf-2.0.0.pdf Thu Jan 13 00:06:38 2011 KOSAKI Motohiro * io.c (rb_f_syscall): Add warning messages. [ruby-core:34062] Thu Jan 13 00:00:07 2011 KOSAKI Motohiro * io.c (rb_f_syscall): Some syscall return unsigned or pointer value. Therefore we should only check the result is -1 or not. [ruby-core:34062] Wed Jan 12 23:55:48 2011 KOSAKI Motohiro * io.c (rb_f_syscall): Add 64bit Linux support. Some syscall takes long type arguments. Wed Jan 12 19:37:10 2011 Tanaka Akira * vm_dump.c: parenthesize macro arguments. Wed Jan 12 19:28:23 2011 Tanaka Akira * vm.c (thread_free): reset ruby_current_thread if it points the thread to free. * gc.c (slot_sweep): don't call RUBY_VM_SET_FINALIZER_INTERRUPT if there is no current thread. [ruby-dev:43000] Wed Jan 12 19:09:29 2011 Tanaka Akira * enum.c (sort_by_i): reenter check more strictly. (sort_by_cmp): ditto. [ruby-dev:43003] reported by Usaku NAKAMURA. Wed Jan 12 16:25:12 2011 Yuki Sonoda (Yugui) * lib/net/http.rb (Net::HTTP#connect): makes it timeout during SSL handshake too. [ruby-core:34203] Patch by Marc Slemko. * test/net/http/test_http.rb (TestNetHTTP_v1_2#test_timeout_during_HTTP_session): test for [ruby-core:34203] * test/net/http/test_https.rb (TestNetHTTPS#test_timeout_during_SSL_handshake): ditto. Wed Jan 12 16:24:53 2011 Yuki Sonoda (Yugui) * ext/readline/extconf.rb: new checks for RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE. [ruby-core:34331] * ext/readline/readline.c: enables USE_INSERT_IGNORE_ESCAPE only if RL_PROMPT_{START,END}_IGNORE are available to get rid of compilation error with libedit. Wed Jan 12 15:53:49 2011 NAKAMURA Usaku * README.EXT.ja (rb_ensure): typo. Wed Jan 12 11:33:46 2011 NARUSE, Yui * addr2line.c: OpenBSD uses the elf_abi.h header file instead of the elf.h header file. patched by Jeremy Evans [ruby-core:34384] Wed Jan 12 03:59:36 2011 NARUSE, Yui * test/webrick/test_cgi.rb: Removes usage of deprecated :RequestHandler option. patched by Peter Weldon [ruby-core:34010] * test/webrick/test_httpproxy.rb: ditto. * test/webrick/test_httpserver.rb: Add a test of the deprecation behaviour. Wed Jan 12 08:37:07 2011 Nobuyoshi Nakada * hash.c (hash_i): return different values for inverse hash. [ruby-core:34334] Tue Jan 11 20:32:59 2011 Tanaka Akira * variable.c: parenthesize macro arguments. Tue Jan 11 13:06:38 2011 NAKAMURA Usaku * array.c (rb_ary_resize): should care of embeded array when extending the array. * array.c (rb_ary_resize): need to set capa when changing the real size of the array. these are latent bugs. Mon Jan 10 22:46:43 2011 Nobuyoshi Nakada * include/ruby/defines.h (CASEFOLD_FILESYSTEM): HFS+ is case insensitive. * load.c (loaded_feature_path, rb_feature_p, load_lock): on a case-insensitive filesystem, loaded features search should ignore case. [ruby-core:34297] Mon Jan 10 21:34:12 2011 Nobuyoshi Nakada * common.mk (showflags): show LD commands. Mon Jan 10 14:32:55 2011 Nobuyoshi Nakada * test/ruby/test_method.rb (TestMethod#test_define_method): method transplanting between class and module is impossible. Mon Jan 10 13:51:17 2011 Nobuyoshi Nakada * misc/rdoc-mode.el (rdoc-mode): show trailing whitespace. Mon Jan 10 11:22:02 2011 Tanaka Akira * util.c: parenthesize macro arguments. Mon Jan 10 07:41:31 2011 Kazuhiro NISHIYAMA * misc/README: mention rdoc-mode.el and ruby-style.el. Sun Jan 9 20:37:21 2011 Tanaka Akira * transcode.c: parenthesize macro arguments. Sun Jan 9 16:31:53 2011 Yuki Sonoda (Yugui) * io.c (Kernel.#syscall): implemented on LP64/LLP64 environments too. also uses __syscall if available for *BSD on 64bit architecture. [ruby-core:34062] Sun Jan 9 16:31:34 2011 Yuki Sonoda (Yugui) * lib/irb/locale.rb (IRB::Locale::LOCALE_NAME_RE): some platform has a locale without territory but with encoding. (#each_sub_locale): ditto. Sun Jan 9 14:47:50 2011 TAKAO Kouji * ext/readline/readline.c: apply a patch from Nobuyoshi Nakada. fixed #3616 [ruby-core:31484] IRB + readline incorrectly counts non-printing characters in prompt Sat Jan 8 21:47:26 2011 Tanaka Akira * enum.c (enum_sort_by): use rb_ary_resize. (ary_cutoff): removed. Sat Jan 8 21:24:17 2011 Tanaka Akira * pack.c (swapf): compilation condition simplified. (swapd): ditto. Sat Jan 8 20:51:25 2011 Tanaka Akira * pack.c (swapd): remove duplicated code. Sat Jan 8 19:28:55 2011 Tanaka Akira * thread.c: parenthesize macro arguments. Fri Jan 7 23:07:40 2011 Nobuyoshi Nakada * lib/mkmf.rb (configuration): backref needs to capture. Fri Jan 7 21:57:22 2011 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-mode-variables), misc/ruby-style.el: show trailing whitespace. * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): highlight regexp after open bracket. [ruby-core:34183] Fri Jan 7 00:37:35 2011 Tanaka Akira * string.c: parenthesize macro arguments. Thu Jan 6 22:42:02 2011 Yukihiro Matsumoto * bignum.c (bigmul1_karatsuba): avoid overflow that make assertion fail in certain case. this patch is contributed from Ray Chason in personal communication. Thu Jan 6 20:55:49 2011 NAKAMURA Usaku * lib/mkmf.rb (create_makefile): ignore rest from first dot from TARGET to generate init function name. this is followup of r30464. Thu Jan 6 11:27:01 2011 Aaron Patterson * ext/psych/lib/psych/json/tree_builder.rb (start_mapping): tags should not be included in JSON mapping Thu Jan 6 09:23:33 2011 Aaron Patterson * lib/net/protocol.rb (eof?): BufferedIO should proxy eof? to the underlying IO object. Thu Jan 6 09:12:31 2011 Aaron Patterson * lib/mkmf.rb (configuration): fixing gsub when multiple error flags are passed to GCC. Thu Jan 6 05:25:49 2011 Nobuyoshi Nakada * array.c (rb_ary_modify): export. Thu Jan 6 05:14:41 2011 Nobuyoshi Nakada * ext/stringio/stringio.c (get_strio, strio_set_string) (strio_reopen): check if frozen. [ruby-core:33648] Thu Jan 6 05:10:58 2011 Nobuyoshi Nakada * array.c (rb_ary_resize): new utility function. [ruby-dev:42912] Thu Jan 6 05:03:26 2011 Nobuyoshi Nakada * dln.c (init_funcname_len): ignore rest from first dot. [ruby-dev:41774] Thu Jan 6 02:55:48 2011 Aaron Patterson * ext/psych/lib/psych/visitors/yaml_tree.rb: use YAML 1.0 output format for serializing nil values. Thanks Eric Hodel! * test/psych/test_nil.rb: test for nil values Wed Jan 5 14:21:34 2011 Mark Dodwell * string.c: fix rdoc typo. https://github.com/shyouhei/ruby/pull/3 Wed Jan 5 14:06:01 2011 NAKAMURA Usaku * test/rdoc/test_rdoc_options.rb (TestRDocOptions#test_check_files): skip on Windows because chmod 0 doesn't mean unreadable by owner. Wed Jan 5 13:56:54 2011 Akinori MUSHA * lib/net/http.rb (Net::HTTP#get): A header hash given should not be modified. Wed Jan 5 12:10:08 2011 Aaron Patterson * ext/dl/{cfunc.c,dl.h,handle.c}, ext/fiddle/fiddle.{h,c}: Use _WIN32 rather than checking for windows.h. Thanks Jon Forums! [ruby-core:33977] Sat Jan 1 17:02:50 2011 Yuki Sonoda (Yugui) * lib/irb/locale.rb (IRB::Locale#search_file): make it possible to load a localization from a gem. (IRB::Locale#lc_path): obsoleted because of the change of #search_file (IRB::Locale#each_localized_path): new private method, based on lc_path (IRB::Locale#find): follows the change of #search_file. (IRB::Locale#load): removed duplicate with #find. Sat Jan 1 11:44:42 2011 Tanaka Akira * strftime.c: parenthesize macro arguments. Sat Jan 1 11:10:29 2011 Nobuyoshi Nakada * ext/zlib/zlib.c: take care of platforms where long is bigger than int. Sat Jan 1 11:03:58 2011 Nobuyoshi Nakada * NEWS (optparse): shell completion support. * misc/README (rb_optparse.{bash,zsh}): for shell completion. * include/ruby/intern.h (VALUE rb_ary_print_on): I have never seen this function anywhere. Sat Jan 1 04:20:11 2011 NARUSE, Yui * win32/win32.c (rb_w32_write_console): don't raise exception when the conversion is for writing to console. Patched by Heesob Park [ruby-core:33999] Fri Dec 31 12:02:06 2010 Tanaka Akira * enum.c (enum_sort_by): use less temporary objects. Fri Dec 31 11:46:47 2010 Nobuyoshi Nakada * configure.in (warnflags), lib/mkmf.rb (configuration): turn warnings into errors only for bundled extensions. [ruby-core:33815] Fri Dec 31 11:15:57 2010 Nobuyoshi Nakada * ext/zlib/zlib.c (sizeof): zlib.h mistakenly assumes the result of sizeof to be int, not size_t. Fri Dec 31 10:27:34 2010 Tanaka Akira * st.c: parenthesize macro arguments. Fri Dec 31 03:23:26 2010 NARUSE, Yui * vsnprintf.c (BSD__uqtoa): Fix overflow when long != quad_t. patched by Peter Weldon [ruby-core:33985] Fri Dec 31 03:00:34 2010 Kazuhiro NISHIYAMA * Makefile.in: remove unnecessary semicolons. Thu Dec 30 23:09:47 2010 wanabe * vm.c (vm_define_method): guard iseq from GC while method definition. [ruby-dev:42832] Thu Dec 30 20:18:32 2010 KOSAKI Motohiro * win32/Makefile.sub: ditto. Thu Dec 30 20:57:09 2010 KOSAKI Motohiro * Makefile.in: Check V=1 argument if run "make clean" or similar. Thu Dec 30 20:41:50 2010 KOSAKI Motohiro * Makefile.in: Kill ugly line continuation. Thu Dec 30 11:49:40 2010 Tanaka Akira * sprintf.c: parenthesize macro arguments. Wed Dec 29 21:20:13 2010 Nobuyoshi Nakada * io.c (maygvl_copy_stream_wait_readwrite): define if USE_SENDFILE Wed Dec 29 20:37:43 2010 Nobuyoshi Nakada * ext/extmk.rb: strip current directory prefix. * enc/depend (clean): remove name2ctype.h when out-of-place build. * win32/Makefile.sub (clean-enc): pass V to inferior make. Wed Dec 29 18:23:46 2010 NAKAMURA Usaku * re.c (rb_reg_expr_str): need to escape if the coderange is invalid. Wed Dec 29 10:06:51 2010 Tanaka Akira * signal.c: parenthesize macro arguments. Wed Dec 29 07:22:15 2010 Eric Hodel * lib/rake/rdoctask.rb: Deprecate in favor of rdoc/task. Wed Dec 29 07:07:06 2010 Eric Hodel * lib/rdoc: Import RDoc 3.1 Tue Dec 28 18:36:38 2010 NAKAMURA Usaku * error.c, include/ruby/intern.h (rb_compile_error_with_enc): new function to raise syntax error, with source encoding'ed message. * parse.y (compile_error): use above function. [ruby-core:33951] (#4217) Tue Dec 28 07:37:38 2010 Tanaka Akira * ruby.c: parenthesize macro arguments. Tue Dec 28 07:17:11 2010 Kazuhiro NISHIYAMA * NEWS: add ARGF.write and so on. Tue Dec 28 07:12:38 2010 Kazuhiro NISHIYAMA * NEWS: add new magic-comment. (warn-indent) [ruby-core:25442] Tue Dec 28 04:32:37 2010 Aaron Patterson * ext/fiddle/extconf.rb: check for windows.h while building fiddle. Thanks Jon Forums! [ruby-core:33923] Tue Dec 28 01:45:12 2010 Kazuhiro NISHIYAMA * NEWS: Add Zlib.deflate and Zlib.inflate. [ruby-dev:42833] Mon Dec 27 21:22:33 2010 KOSAKI Motohiro * win32/configure.bat: Remove obsoleted coding rule. Now, we don't support to build on Windows 95/98 and Me. Mon Dec 27 18:27:13 2010 Tanaka Akira * re.c: parenthesize macro arguments. Mon Dec 27 15:22:23 2010 NAKAMURA Usaku * win32/README.win32: note to need NT based OS to build ruby. Mon Dec 27 12:14:46 2010 NAKAMURA Usaku * common.mk (EXTMK_ARGS): specify to pass macro V, because nmake doesn't pass it via MAKEFLAGS. Mon Dec 27 10:33:43 2010 NARUSE, Yui * ext/zlib/zlib.c (Init_zlib): Add Zlib.deflate and Zlib.inflate. [ruby-dev:42833] Mon Dec 27 07:38:07 2010 Kazuhiro NISHIYAMA * misc/rb_optparse.zsh: add compdef for generator. Mon Dec 27 07:32:07 2010 Kazuhiro NISHIYAMA * lib/optparse.rb (OptionParser#compsys): escape brackets too. [ruby-dev:42754] Mon Dec 27 01:30:08 2010 Tanaka Akira * ext/socket/mkconstants.rb: add IF_NAMESIZE. add a default for INET6_ADDRSTRLEN. Sun Dec 26 23:49:47 2010 KOSAKI Motohiro * win32/Makefile.sub: suppress a strange error message when RMALL found no such file. * win32/rmall.bat: new. Sun Dec 26 21:23:23 2010 * win32/Makefile.sub: fix 'nmake clean-enc' breakage since r28322. Sun Dec 26 22:25:07 2010 Nobuyoshi Nakada * ext/ripper/depend (ripper.y): fix messages with nmake. [ruby-dev:42896] Sun Dec 26 22:24:14 2010 Nobuyoshi Nakada * file.c (file_expand_path): get rid of warnings caused by -Wdeclaration-after-statement on cygwin. Sun Dec 26 20:28:34 2010 KOSAKI Motohiro * process.c (before_exec): add small comment. Sun Dec 26 20:52:21 2010 Tanaka Akira * ext/socket/mkconstants.rb: define INET_ADDRSTRLEN as 16 if not available. fix compilation error on mswin32-60. reported by nobu. Sun Dec 26 19:37:37 2010 Tanaka Akira * ext/socket/option.c: define IFNAMSIZ if not available. fix compilation error on mingw32. reported by nobu. Sun Dec 26 12:16:29 2010 Nobuyoshi Nakada * lib/rdoc/ri/paths.rb (RDoc::RI::Paths::HOMEDIR): no exception if HOME is not set. [ruby-core:33867] Sun Dec 26 11:39:11 2010 Nobuyoshi Nakada * parse.y (stmt): missing ripper rule. i.e., `a::B ||= c 1'. http://twitter.com/#!/wannabe53/status/18797576396472321 http://twitter.com/#!/wannabe53/status/18798416150663168 Sun Dec 26 11:15:50 2010 Nobuyoshi Nakada * test/with_different_ofs.rb (DifferentOFS): should not affect original classes. Sun Dec 26 09:35:07 2010 Tanaka Akira * rational.c: parenthesize macro arguments. Sun Dec 26 09:22:19 2010 Tanaka Akira * ext/socket/option.c (rb_if_indextoname): new function to abstract environments without if_indextoname. (inspect_ipv6_multicast_if): new function to inspect IPV6_MULTICAST_IF. Socket::Option.new(:INET6, :IPV6, :MULTICAST_IF, [2].pack("I!")).inspect is "#". Sun Dec 26 04:31:15 2010 Luis Lavena * ext/dl/win32/registry.rb: Corrected RegCreateKeyExA signature. Patch by Rafal Michalski [ruby-core:33874] [Ruby 1.9-Bug#4203] Sun Dec 26 02:31:58 2010 KOSAKI Motohiro * io.c (advice_arg_check): Change argument check. Now, an unsupported advice makes NotImplementedError. [ruby-dev:42887] [Ruby 1.9-Feature#4204] Sun Dec 26 03:00:53 2010 KOSAKI Motohiro * ext/socket/extconf.rb: Fix build error which was introduced r30372. Sun Dec 26 01:37:10 2010 NAKAMURA Usaku * ext/socket/extconf.rb: check the existence of if_indextoname(). * ext/socket/option.c: yesterday's akr's commits destroyed the build of some unrelated platforms (such as Windows). Sat Dec 25 23:29:11 2010 Tanaka Akira * ext/socket/option.c (inspect_ipv4_add_drop_membership): new function to inspect struct ip_mreq and struct ip_mreqn for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. Socket::Option.new(:INET, :IP, :ADD_MEMBERSHIP, [239,255,99,81, 0,0,0,0].pack("CCCCCCCC")).inspect is now "#". (inspect_ipv4_multicast_if): new function to inspect struct in_addr and struct ip_mreqn for IP_MULTICAST_IF. Socket::Option.new(:INET, :IP, :MULTICAST_IF, [192,168,0,7].pack("CCCC")).inspect is now "#". * ext/socket/extconf.rb: check struct ip_mreq and struct ip_mreqn. Sat Dec 25 22:49:10 2010 Nobuyoshi Nakada * test/csv: DifferentOFS needs to be include in each classes. * test/digest/test_digest_extend.rb (TestDigestExtend#setup): should not depend on the result of previous tests * test/with_different_ofs.rb (DifferentOFS::WithDifferentOFS): give name. * test/with_different_ofs.rb (DifferentOFS): test suite for test suites affected by $,. * test/digest/test_digest_extend.rb (TestDigestExtend): should not assume $, invariant. * test/csv/test_data_converters.rb, test/csv/test_table.rb: don't call setup within tests. Sat Dec 25 20:01:40 2010 KOSAKI Motohiro * io.c (pipe_open): Added rb_thread_atfork(). We must reinitialize GVL at new process creation. Sat Dec 25 18:26:55 2010 Tanaka Akira * ext/socket/option.c (inspect_ipv6_mreq): new function to inspect struct ipv6_mreq for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP. Socket::Option.new(:INET6, :IPV6, :JOIN_GROUP, [0xff12,0,0,0,0,0,0,1, 2].pack("nnnnnnnnI!")).inspect is now "#". * ext/socket/extconf.rb: check struct ipv6_mreq. Sat Dec 25 18:04:30 2010 Nobuyoshi Nakada * lib/csv.rb (CSV.foreach): 'rb' mode is defaulted in open. * lib/csv.rb (CSV#init_separators): cannonicalize encoding options as Encoding objects. Sat Dec 25 18:30:34 2010 KOSAKI Motohiro * thread.c (rb_thread_atfork): Add small comment why we need reset random seed. Sat Dec 25 17:33:55 2010 Nobuyoshi Nakada * test/csv/base.rb (TestCSV.with_different_ofs): give name to anonymous classes. * lib/csv.rb (CSV#init_separators): use IO#gets with length parameter to get rid of wrong conversion. * lib/csv.rb (CSV::foreach, CSV#initialize): directly use encoding * lib/csv.rb, test/csv: should not assume $, invariant. Sat Dec 25 16:08:06 2010 KOSAKI Motohiro * signal.c: change rb_atomic_t definition from uchar to uint. Sat Dec 25 15:04:05 2010 Nobuyoshi Nakada * test/csv/test_encodings.rb (TestEncodings#setup): fix evil test suite writing to the source directory. Sat Dec 25 15:08:08 2010 KOSAKI Motohiro * ext/pty/pty.c (chfunc): Added rb_thread_atfork_before_exec(). We must reinitialize GVL at new process creation. Otherwise we may meet an insane deadlock. [Bug#4121][ruby-dev:42686] Sat Dec 25 14:27:09 2010 Nobuyoshi Nakada * io.c (rb_io_extract_encoding_option): accept Encoding object as encoding: optional argument. [ruby-dev:42884] Sat Dec 25 13:37:55 2010 Ryan Davis * lib/minitest/*.rb: Imported minitest 2.0.2 r6093. Sat Dec 25 13:05:59 2010 Tanaka Akira * random.c: parenthesize macro arguments. Sat Dec 25 12:48:50 2010 Nobuyoshi Nakada * load.c (rb_f_require_relative): don't omit return type. Sat Dec 25 11:06:00 2010 Eric Hodel * load.c (rb_f_require_relative): Add documentation. Sat Dec 25 11:02:52 2010 Nobuyoshi Nakada * ext/zlib/zlib.c (gzreader_gets): support optional length parameter. * ext/zlib/zlib.c (gzfile_read, gzfile_readpartial): length should be long. Sat Dec 25 10:51:03 2010 Nobuyoshi Nakada * ext/json/generator/generator.{c,h} (fbuffer_free_only_buffer): unused. * ext/openssl/ossl_pkcs5.c (ossl_pkcs5_pbkdf2_hmac): add casts. Fri Dec 24 08:46:04 2010 Tanaka Akira * process.c: parenthesize macro arguments. Thu Dec 23 19:17:14 2010 Yuki Sonoda (Yugui) * test/net/imap/cacert.pem: updated because it has been expired. * test/net/imap/server.crt: signed again because CA cert was expired. Thu Dec 23 11:16:52 2010 Tanaka Akira * parse.y: parenthesize macro arguments. Thu Dec 23 11:00:09 2010 Nobuyoshi Nakada * error.c (rb_check_type): check for type from extensions for ruby 1.8. see [ruby-core:33797]. Thu Dec 23 08:12:59 2010 Aaron Patterson * lib/net/smtp.rb: refactoring Net::SMTP#esmtp= to use an attr_accessor Thu Dec 23 06:35:41 2010 Aaron Patterson * lib/net/smtp.rb: Net::SMTP should close the SSL connection if the connection verification fails. Thu Dec 23 01:47:58 2010 Kazuhiro NISHIYAMA * NEWS: remove #object_id. [ruby-dev:42840] Wed Dec 22 08:56:39 2010 Kazuhiro NISHIYAMA * NEWS: add Module#private_constant and Module#public_constant. [ruby-dev:39685][ruby-core:32698] Wed Dec 22 07:59:23 2010 Kazuhiro NISHIYAMA * NEWS: add IO#advise. [ruby-core:33110] [Ruby 1.9-Feature#4038] Tue Dec 21 23:45:31 2010 Yukihiro Matsumoto * gc.c (Init_GC): move back object_id to Kernel. [ruby-dev:42840] Tue Dec 21 12:45:16 2010 Nobuyoshi Nakada * configure.in (target_archs): remove temporary objects. * enc/Makefile.in, enc/depend (clean): remove work directories. Tue Dec 21 07:39:12 2010 Tanaka Akira * pack.c: parenthesize macro arguments. Tue Dec 21 06:25:43 2010 Nobuyoshi Nakada * test/rexml/test_contrib.rb (ContribTester#test_pos): should not use fixed path name for tests. [ruby-dev:42827] * test/rexml/test_sax.rb (SAX2Tester#test_socket): should not use fixed port for tests. [ruby-dev:42828] Tue Dec 21 06:10:18 2010 Nobuyoshi Nakada * compile.c (setup_args), vm.c (invoke_block_from_c), vm_insnhelper.c (caller_setup_args): reverted r30241 and r30243 except for the test. Tue Dec 21 01:41:42 2010 Masaya Tarui * io.c : add an extra byte to buffer for the specification of read in Windows. see [ruby-core:33460] and r29980. and, we have to discuss how to do this one byte. Tue Dec 21 01:18:06 2010 KOSAKI Motohiro * error.c: Fix build error for win32. This regression was introduced by r30271. Tue Dec 21 00:59:40 2010 KOSAKI Motohiro * thread.c (thread_cleanup_func): Moved interrupted_lock destroying code from native_thread_destroy() to thread_cleanup_func() because it's platform independent logic. * thread_win32.c (native_thread_destroy): ditto. * thread_pthread.c (native_thread_destroy): ditto. Tue Dec 21 00:46:20 2010 KOSAKI Motohiro * thread.c (thread_cleanup_func): Don't touch native threading resource at fork. Sadly this is purely bandaid. We need to implement proper fix later. [Bug #4169] [ruby-core:33767] Tue Dec 21 00:22:44 2010 KOSAKI Motohiro * error.c (exit_success_p): Check status code more carefully. status code may have garbage in upper bit. Mon Dec 20 23:12:37 2010 Tanaka Akira * node.c: parenthesize macro arguments. Mon Dec 20 20:04:41 2010 Kazuhiro NISHIYAMA * NEWS: add #__id__ and #object_id. [ruby-dev:42778] Mon Dec 20 20:03:21 2010 KOSAKI Motohiro * thread_pthread.c (native_thread_destroy): Fixed gvl_cond leak. Mon Dec 20 13:49:05 2010 Eric Hodel * NEWS: Add item for RDoc 3.0.1 * lib/rdoc: Import RDoc 3.0.1, remove require for perl parser. Mon Dec 20 12:15:32 2010 Eric Hodel * lib/rdoc: Import RDoc 3.0. Mon Dec 20 01:55:03 2010 KOSAKI Motohiro * io.c (Init_IO): Added O_DIRECT. This feature was proposed by Run Paint Run Run. [Feature #4015] [ruby-core:33018] Sun Dec 19 19:15:23 2010 Tanaka Akira * marshal.c: parenthesize macro arguments. Sat Dec 18 21:52:37 2010 Kazuhiro NISHIYAMA * vsnprintf.c (BSD_vfprintf): suppress warning: "_WIN32" is not defined. Sat Dec 18 16:02:27 2010 Nobuyoshi Nakada * compile.c (setup_args), vm.c (invoke_block_from_c), vm_insnhelper.c (caller_setup_args): fix of r30241. lambda block should check argument number. Sat Dec 18 14:42:29 2010 Tanaka Akira * load.c: parenthesize macro arguments. Sat Dec 18 10:07:04 2010 Nobuyoshi Nakada * compile.c (setup_args, iseq_compile_each): optimize AMPER LAMBDA combination as block. Fri Dec 17 22:07:16 2010 Yukihiro Matsumoto * gc.c (Init_GC): move #__id__ and #object_id to BasicObject. [ruby-dev:42778] Fri Dec 17 19:35:13 2010 Nobuyoshi Nakada * test/mkmf/base.rb (TestMkmf::FakeLog): capture output from mkmf. * test/mkmf/test_find_executable.rb (test_find_executable): suppress meaningless differences for chkbuild. Fri Dec 17 13:26:54 2010 NAKAMURA Usaku * win32/setup.mak (BASERUBY): quit with an error when BASERUBY was not able to set, just like configure.in does. [ruby-dev:42782] Fri Dec 17 07:04:09 2010 Tanaka Akira * iseq.c: parenthesize macro arguments. Fri Dec 17 04:18:37 2010 Eric Hodel * transcode.c (str_encode): Alter comment for better wording and ri output. Fri Dec 17 00:05:40 2010 KOSAKI Motohiro * io.c (rb_io_advise): New API. IO#advise() allows to tell the ruby runtime how it expects to use a file handle. This feature can be improved a performance some situations. Note: This feature is mainly developed by Run Paint Run Run. Thank you! [ruby-core:33110] [Ruby 1.9-Feature#4038] * io.c (do_io_advise): Helper function. * io.c (io_advise_sym_to_const): ditto. Thu Dec 16 23:29:20 2010 Nobuyoshi Nakada * tool/rbinstall.rb (bin-comm): use transformed name. [ruby-dev:42777] Thu Dec 16 21:52:07 2010 Tanaka Akira * io.c: parenthesize macro arguments. Thu Dec 16 21:46:39 2010 Nobuyoshi Nakada * tool/mkconfig.rb (RbConfig): honor ARCHFLAGS and RC_ARCHS to override embedded ARCH_FLAG value on universal-darwin. Thu Dec 16 19:50:12 2010 NAKAMURA Usaku * win32/{configure.bat,setup.mak,Makefile.sub} (PROGRAM_PREFIX, PROGRAM_SUFFIX): unite the differences of the names of macros of prefix and suffix. reported by HANEDA Norikatsu. [ruby-dev:42775] Thu Dec 16 08:04:47 2010 Nobuyoshi Nakada * node.h (RNode): match the type of flags to RBasic, and renamed nd_file as nd_reserved. * iseq.c (set_relation), vm_insnhelper.c (vm_cref_push): nd_file is always zero-cleared. Thu Dec 16 07:22:30 2010 Ryan Davis * lib/minitest/unit.rb: Imported minitest 2.0.1 r6079. Wed Dec 15 20:45:02 2010 NAKAMURA Usaku * lib/test/unit.rb (process_args): need to setup @help to print options. Wed Dec 15 11:19:33 2010 NAKAMURA Usaku * test/zlib/test_zlib.rb (test_to_io): forgotten to fix with r30201. Wed Dec 15 11:07:34 2010 Nobuyoshi Nakada * io.c (simple_sendfile): enable on Mac OS X. * io.c (nogvl_copy_stream_sendfile): moved precheck of copy length. * io.c (nogvl_copy_stream_sendfile): should wait for both of read/write fds. Wed Dec 15 07:11:55 2010 Tanaka Akira * hash.c: parenthesize macro arguments. Wed Dec 15 04:02:00 2010 KOSAKI Motohiro * ext/openssl/ossl_x509ext.c (ossl_x509extfactory_set_config): fix compile error when !HAVE_X509V3_SET_NCONF. Thanks Chikanaga-san. [ruby-dev:42761] [Ruby 1.9-Bug#4158] Wed Dec 15 03:41:31 2010 KOSAKI Motohiro * test/ripper/test_parser_events.rb (TestRipper#test_block_variables): Limit address space 100MB instead 100KB. Quite frankly, This margin is too narrow to contain ruby. [ruby-dev:42763] [Bug#4159] Tue Dec 14 23:53:52 2010 NARUSE, Yui * io.c (simple_sendfile): improve linux compatibility on FreeBSD, and now it works. But without cpuset -l 0, it still gets stuck. Tue Dec 14 20:31:33 2010 Tanaka Akira * gc.c: parenthesize macro arguments. Tue Dec 14 18:31:48 2010 NAKAMURA Usaku * lib/test/unit.rb: help messages. Tue Dec 14 18:19:03 2010 NAKAMURA Usaku * common.mk (help): there is no reason to use the abbreviation for here. Tue Dec 14 15:03:46 2010 NAKAMURA Usaku * test/ruby/test_io.rb (test_reopen, test_reinitialize): should close the temporary files. Tue Dec 14 14:24:15 2010 NAKAMURA Usaku * test/ruby/test_io.rb (make_tempfile): change the prefix from 'foo' to 'test_io' because the old one is meaningless and inconvenient. * test/ruby/test_io.rb (test_binmode_after_closed): the temporary file made by make_temfile is already closed. Tue Dec 14 13:52:19 2010 NAKAMURA Usaku * test/ruby/test_io.rb (test_flush_in_finalizer[12]): should close temporary file because it's only used for taking pathname and unlinking the file after the end of the test (in GC phase). Tue Dec 14 13:34:33 2010 NAKAMURA Usaku * ext/zlib/zlib.c (gzfile_s_open): should close the IO if some error occurs in initializing. Tue Dec 14 13:04:16 2010 NARUSE, Yui * lib/net/http.rb (Net::HTTPRequest#send_request_body_data): set binmode to tempfile. Tue Dec 14 12:55:46 2010 NAKAMURA Usaku * test/zlib/test_zlib.rb (*): should close files associated with zlib. Tue Dec 14 11:30:17 2010 NAKAMURA Usaku * test/ruby/test_argf.rb (test_inplace_rename_impossible): unlink the renamed temporary file on no_safe_rename platforms. * test/ruby/test_argf.rb (test_readlines_limit_0, test_each_line_limit_0): should close argf because the associated Tempfile object cannot unlink the temporary file when it's gc'ed on some platforms (Windows, etc.) Tue Dec 14 11:27:07 2010 NARUSE, Yui * lib/minitest/unit.rb (Minitest::Unit#_run_suite): split test name and its time. Thiw allows to know test's name when you are running tests and meet a test which spends long time at realtime. Tue Dec 14 11:25:20 2010 NARUSE, Yui * configure.in: Add -Werror=declaration-after-statement to default warning flag. If you are using GCC, this flag is useful to prevent breaking VC build. Tue Dec 14 10:25:57 2010 NAKAMURA Usaku * ext/openssl/ossl_asn1.c (ossl_asn1_decode0): how many gcc-c99isms must a man mend; before he can build with VC? r30178 Mon Dec 13 21:26:33 2010 NARUSE, Yui * io.c (simple_sendfile): disable the use of sendfile(2) on FreeBSD. It blocks on TestIO#test_copy_stream_socket. Mon Dec 13 18:35:33 2010 NARUSE, Yui * io.c: define USE_SENDFILE on FreeBSD or DragonFly BSD. Remove Mac OS X because its argument is different from them. Mon Dec 13 12:00:09 2010 Tanaka Akira * file.c: parenthesize macro arguments. Mon Dec 13 11:21:14 2010 NARUSE, Yui * io.c (simple_sendfile): added for BSD version of sendfile(2). Mon Dec 13 09:50:09 2010 NARUSE, Yui * lib/net/http.rb (Net::HTTPRequest#set_form): Added to support both application/x-www-form-urlencoded and multipart/form-data. There is a similar API, Net::HTTPRequest#set_form_data, but to keep its compatibility this is newly added. [ruby-dev:42729] Sun Dec 12 23:45:27 2010 Nobuyoshi Nakada * compile.c (iseq_compile_each): fix for __goto__ and __label__ where were totally broken. Sun Dec 12 22:45:43 2010 Nobuyoshi Nakada * common.mk (ID_H_INCLUDES): now id.h depends on vm_opts.h. Sun Dec 12 20:42:47 2010 Kazuhiro NISHIYAMA * template/id.h.tmpl: suppress all warning: "SUPPORT_JOKE" is not defined. [ruby-dev:42730] Sun Dec 12 20:35:07 2010 Kazuhiro NISHIYAMA * misc/rb_optparse.zsh: update how to install. * misc/rb_optparse.zsh: avoid error when setopt noclobber. * lib/optparse.rb: fix typo. pointed out at . Sun Dec 12 13:27:35 2010 Tanaka Akira * eval_error.c: parenthesize macro arguments. Sun Dec 12 11:53:24 2010 Tanaka Akira * error.c: parenthesize macro arguments. Sun Dec 12 04:01:58 2010 NARUSE, Yui * string.c (rb_str_inspect): fix: extra back slash is added when the string is dummy encoding and includes \x22 or \x5C. Sun Dec 12 02:42:24 2010 Aaron Patterson * ext/openssl/ossl_asn1.c: indefinite length BER to DER encoding is properly supported. Thanks Martin Bosslet! [ruby-core:33082] Sat Dec 11 17:43:34 2010 Kazuhiro NISHIYAMA * ext/bigdecimal/bigdecimal.h: suppress "warning: 'VPrint' declared 'static' but never defined". Sat Dec 11 09:24:57 2010 Tanaka Akira * encoding.c: parenthesize macro arguments. Sat Dec 11 08:12:48 2010 Eric Hodel * ext/openssl/ossl.c, ext/openssl/ossl_pkey_rsa.c: Document RSA, RSA encryption/decryption and PKCS #5 encryption/decryption. Sat Dec 11 06:23:41 2010 Eric Hodel * ext/openssl/ossl_x509name.c: include Comparable to provide #==. Document OpenSSL::X509::Name#<=>. [Ruby 1.9-Feature#4116] Sat Dec 11 05:48:28 2010 Hidetoshi NAGAI * ext/tk/lib/multi-tk.rb: infinite loop on method_missing at loading. [ruby-dev:42716] [Ruby 1.9-Bug#4129] * ext/tk/lib/multi-tk.rb: when no eventloop is running, ruby freezes at exit. Sat Dec 11 02:23:15 2010 Aaron Patterson * ext/openssl/extconf.rb: try pkgconfig first, then fall back to normal have_library, etc. Thanks Erik Hollensbe. [ruby-core:32406] Fri Dec 10 22:33:39 2010 Tanaka Akira * dln_find.c: parenthesize macro arguments. Fri Dec 10 20:05:42 2010 Nobuyoshi Nakada * template/id.h.tmpl (ruby_method_ids): suppress warnings. [ruby-dev:42730] Fri Dec 10 18:29:20 2010 Nobuyoshi Nakada * ruby.c (ruby_init_loadpath_safe): relatively called non-shared binary cannot be found in PATH, so use given pathname. Fri Dec 10 18:28:40 2010 Nobuyoshi Nakada * cygwin/GNUmakefile.in (SCRIPTPROGRAMS): ignore backup files and etc. * cygwin/GNUmakefile.in (scriptbin): set executable bit. * tool/rbinstall.rb (install_recursive): always skip default ignored files. if block is given, call it instead of calling install. * tool/rbinstall.rb (bin-comm): use install_recursive. Fri Dec 10 18:12:31 2010 Nobuyoshi Nakada * test/mkmf/base.rb (TestMkmf#config_value): extract macro value from config.h. * test/mkmf/test_sizeof.rb (TestMkmf::TestSizeof#test_sizeof_builtin), (TestMkmf::TestSizeof#test_sizeof_struct): more tests. * lib/mkmf.rb (check_signedness): should use the prelude code. [ruby-dev:42731] * lib/mkmf.rb (Logging.log_close): separate from Logging.logfile. * test/mkmf/base.rb (TestMkmf::MKMFLOG): show mkmf.log at failures. * test/mkmf/base.rb (TestMkmf#teardown): close log file for each tests. Fri Dec 10 11:36:43 2010 Kazuhiro NISHIYAMA * compile.c (enum): remove a comma at end of enumerator list. * constant.h (rb_const_flag_t): ditto. * iseq.h (enum catch_type): ditto. * iseq.h (enum defined_type): ditto. * vm_core.h (enum iseq_type): ditto. * vm_core.h (enum vm_special_object_type): ditto. Fri Dec 10 10:47:53 2010 NARUSE, Yui * sprintf.c (_HAVE_SANE_QUAD_): Don't forget LP64, r30156. Fri Dec 10 10:37:17 2010 NAKAMURA Usaku * sprintf.c (_HAVE_SANE_QUAD_): if a certain platform has LONG_LONG in 8 byte, it might be sane quad. [ruby-core:33634] Fri Dec 10 10:07:59 2010 NARUSE, Yui * lib/net/http.rb: remove version 1.1 features. Fri Dec 10 02:18:02 2010 Aaron Patterson * ext/openssl/ossl_x509store.c (ossl_x509stctx_cleanup): removing C implementation of `cleanup`. * ext/openssl/lib/openssl/x509.rb: adding ruby implementation of `cleanup`. OpenSSL::X509::StoreContext#cleanup is deprecated since reusing the underlying struct doesn't make sense. [ruby-dev:42546] Thu Dec 9 20:14:39 2010 Nobuyoshi Nakada * parse.y (lvar_defined_gen, shadowing_lvar_gen, dvar_defined): no warnings for unused method and block arguments. [ruby-dev:42718] [ruby-dev:42724] Thu Dec 9 19:25:49 2010 Tanaka Akira * dln.c: parenthesize macro arguments. Thu Dec 9 18:51:06 2010 Tanaka Akira * lib/webrick/accesslog.rb (WEBrick::AccessLog#format): support %{remote}p for logging remote (client) port number. [ruby-dev:42670] Thu Dec 9 11:00:30 2010 Yukihiro Matsumoto * array.c (rb_ary_dup): should copy contents only. no instance variable, no class would be copied. it would affect methods #sort, #reject, #transpose, #uniq, #compact, and #shuffle. [ruby-core:33640] * array.c (rb_ary_reverse_m): ditto. * array.c (rb_ary_rotate_m): ditto. Wed Dec 8 21:38:40 2010 NARUSE, Yui * ext/dl/lib/dl/struct.rb: clean a warning: assigned but unused variable. patched by Kouhei Yanagita. [ruby-dev:42722] * ext/dl/lib/dl/import.rb: ditto. Wed Dec 8 21:36:16 2010 Nobuyoshi Nakada * parse.y (shadowing_lvar_gen): fix line number. [ruby-dev:42718] Wed Dec 8 20:37:11 2010 Tanaka Akira * dir.c: parenthesize macro arguments. Tue Dec 7 22:37:15 2010 Masaya Tarui * io.c (io_read): duplicate string if shared. [ruby-dev:42719] Tue Dec 7 22:31:08 2010 Nobuyoshi Nakada * lib/optparse.rb (OptionParser::Officious): separate completion options from --help. [ruby-dev:42690] * lib/optparse.rb (OptionParser::Completion#candidate), (OptionParser::Switch#compsys): remove unused variables. Tue Dec 7 22:05:25 2010 Nobuyoshi Nakada * transcode.c (transcode_loop): call default handler of the given hash, method, proc or [] method as fallback. [ruby-dev:42692] Tue Dec 7 21:59:37 2010 Kouhei Sutou * lib/rexml/light/node.rb: remove circular require. Tue Dec 7 21:56:01 2010 Kouhei Sutou * test/rexml/test_light.rb: really suppress a warning. Tue Dec 7 21:51:57 2010 Kouhei Sutou * test/rexml/test_light.rb: suppress a warning. Tue Dec 7 21:14:03 2010 Tanaka Akira * debug.c: parenthesize macro arguments. Tue Dec 7 21:06:38 2010 Kouhei Sutou * lib/rexml/doctype.rb, test/rexml/test_doctype.rb: suppress warnings. [ruby-core:33305] Reported by Aaron Patterson. Thanks!!! Tue Dec 7 18:56:52 2010 NARUSE, Yui * ext/nkf/lib/kconv.rb (String#kconv): fix typo and update rdoc. patched by Kouhei Yanagita [ruby-dev:42696] Tue Dec 7 20:32:11 2010 Kouhei Sutou * test/rexml/test_doctype.rb: add Accessor to test case name. Tue Dec 7 20:31:02 2010 Kouhei Sutou * test/rexml/test_doctype.rb: Doctype -> DocType. Tue Dec 7 20:29:23 2010 Kouhei Sutou * test/rexml/test_doctype_mixin.rb: rename to ... * test/rexml/test_doctype.rb: ... this to remove needless name. Tue Dec 7 17:03:16 2010 Shugo Maeda * lib/net/imap.rb (xlist): supported the XLIST command, which is an extension by Apple and Google. patch by Geoff Youngs. [ruby-core:33521] Tue Dec 7 08:00:44 2010 Nobuyoshi Nakada * configure.in, win32/Makefile.sub (WERRORFLAG): flag to treat warnings as errors. * lib/mkmf.rb (Logging.postpone): yield log file object. * lib/mkmf.rb (xsystem): add options, :werror only right now. * lib/mkmf.rb (with_werror): check as if warnings are errors. * lib/mkmf.rb (convertible_int): make declaration conflict warnings errors not to pass wrong type. [ruby-dev:42684] * lib/mkmf.rb (COMMON_MACROS): get rid of conflicts. * win32/Makefile.sub (WARNFLAGS): make declaration conflict warnings errors if possible. Sun Dec 7 21:16:10 2010 Tanaka Akira * cont.c: parenthesize macro arguments. Tue Dec 7 00:27:14 2010 Masaya Tarui * win32/win32.c (rb_w32_read): fixed more for readline, and so on. [ruby-core:33511] Mon Dec 6 23:18:22 2010 Nobuyoshi Nakada * test/mkmf/base.rb (TestMkmf#setup): run quietly. * test/mkmf/test_find_executable.rb (test_find_executable): use configured results. * common.mk (test-build): test for build process. Mon Dec 6 22:47:15 2010 Nobuyoshi Nakada * lib/optparse.rb (OptionParser#candidate): skip separators. * sample/optparse/opttest.rb: should not override --help. [ruby-dev:42690] Mon Dec 6 19:00:48 2010 Kazuhiro NISHIYAMA * misc/rb_optparse.zsh: fix typos. Mon Dec 6 18:59:04 2010 Kazuhiro NISHIYAMA * NEWS: add new encodings. Mon Dec 6 18:56:42 2010 Kazuhiro NISHIYAMA * test/ruby/test_string.rb (TestString#test_scan): add a test for [ruby-core:33338] #4087. Mon Dec 6 18:55:36 2010 Kazuhiro NISHIYAMA * test/uri/test_common.rb (TestCommon#test_encode_www_form): add tests for r30015. Mon Dec 6 10:39:54 2010 NARUSE, Yui * lib/uri/common.rb (URI::Parser#initialize_pattern): refix for restrict the pattern. Mon Dec 6 09:45:11 2010 Eric Hodel * ext/openssl (OpenSSL): add toplevel documentation * ext/openssl/ossl_ssl.c (SSLContext, SSLSocket: add additional documentation * ext/openssl: move "let rdoc know about mOSSL" comments so they don't show up in output Mon Dec 6 09:16:46 2010 NARUSE, Yui * lib/uri/common.rb (URI::Parser#initialize_pattern): workaround fix pattern of hostname for RFC 3986. [ruby-dev:42672] Mon Dec 6 09:14:38 2010 NARUSE, Yui * lib/mkmf.rb (check_signedness): rename unused variable prelude. Sun Dec 5 17:56:36 2010 Nobuyoshi Nakada * class.c (make_metaclass): fix probable typo. builtin type flag cannot be used with FL_TEST. Sun Dec 5 12:09:27 2010 Nobuyoshi Nakada * lib/irb/init.rb (IRB.parse_opts): fix typo. [ruby-core:33574] Sun Dec 5 11:27:08 2010 Nobuyoshi Nakada * ruby.c (load_file_internal): decrement for ungotten line. [ruby-dev:42680] Sun Dec 5 10:32:11 2010 Tanaka Akira * complex.c: parenthesize macro arguments. Sat Dec 4 11:39:17 2010 Eric Hodel * ext/openssl/ossl_x509ext.c (initialize): add documentation. Sat Dec 4 11:21:50 2010 Nobuyoshi Nakada * hash.c (rb_hash_update_by): new API for Hash#update. Sat Dec 4 11:18:10 2010 Tanaka Akira * class.c: parenthesize macro arguments. Sat Dec 4 11:07:57 2010 Nobuyoshi Nakada * vm_core.h (rb_vm_inc_const_missing_count): missing prototype. Sat Dec 4 08:50:10 2010 Nobuyoshi Nakada * ext/iconv/iconv.c (Init_iconv): no warnings if $VERBOSE is nil. Sat Dec 4 08:25:15 2010 Nobuyoshi Nakada * vm_insnhelper.c (vm_call_method): revert r30064 and r30071, because of [ruby-core:26761]. Bug#4106 rejected. Sat Dec 4 07:46:48 2010 Nobuyoshi Nakada * lib/mkmf.rb (String#tr_cpp): substitute * with P like as autoconf. Fri Dec 3 22:36:45 2010 Nobuyoshi Nakada * vm_insnhelper.c (vm_call_method): protected methods should be checked against the real class. Fri Dec 3 20:23:31 2010 Nobuyoshi Nakada * lib/mkmf.rb (convertible_int): define printf format prefix too. * lib/mkmf.rb (convertible_int): detect convertible integer type. port RUBY_REPLACE_INT from configure.in. * lib/mkmf.rb (check_sizeof): should return integer always. Fri Dec 3 12:54:48 2010 NAKAMURA Usaku * win32/Makefile.sub (RCFLAGS): VC10 and after only. fixed the problem of r30015. [ruby-core:33530] Fri Dec 3 12:41:52 2010 URABE Shyouhei * gc.c (rb_objspace_free): With our "lazy-sweep" GC engine, it is possible for an object to survive until its surrounding object space is about to be freed. Those objects, if any, remains leaked for the rest of a process life. This is problematic because for instance a T_DATA object may have its own destructor to terminate something. * vm.c (ruby_vm_destruct): ruby_current_vm termination should be somewhere after rb_objspace_free for above reason. Fri Dec 3 12:17:19 2010 Nobuyoshi Nakada * vm_insnhelper.c (vm_call_method): protected singleton methods should be visible from same real class methods. [ruby-core:33506] Fri Dec 3 07:08:42 2010 Nobuyoshi Nakada * ext/stringio/stringio.c (strio_getline): round upto next char boundary. [ruby-dev:42674] Fri Dec 3 06:52:46 2010 Tanaka Akira * compile.c: parenthesize macro arguments. Fri Dec 3 04:08:59 2010 NARUSE, Yui * encoding.c (enc_alias_internal): use st_insert2 and change return value to int. * encoding.c (enc_alias): follow enc_alias_internal. Fri Dec 3 01:52:43 2010 NARUSE, Yui * encoding.c (enc_alias_internal): use xfree instead of free. Thu Dec 2 23:52:26 2010 URABE Shyouhei * NEWS: entry for ruby_vm_at_exit(). * eval.c (ruby_cleanup): bug fix around at_exit (1) timing was wrong. (2) execution order was opposite. Thu Dec 2 23:05:14 2010 NAKAMURA Usaku * win32/Makefile.sub (RCFLAGS): -nologo switch is only available in newer versions of rc.exe. fixed the problem of r30012. Thu Dec 2 21:28:07 2010 NARUSE, Yui * ext/json/lib/json/add/rails.rb: removed. Thu Dec 2 21:22:05 2010 NARUSE, Yui * encoding.c (enc_alias_internal): free the copied key and return NULL when given key is already registered. * encoding.c (enc_alias): call set_encoding_const only when the alias is not registered yet. Thu Dec 2 19:58:24 2010 URABE Shyouhei * vm.c (ruby_vm_at_exit): new API. This enables extension libs to hook a VM termination. Right now, because the VM we have is process global, most extensions do not deallocate resources and leave them to Operating System's reaping userland processes. But in a future we plan to have multiple VMs to run simultaneously in a single process (MVM project). At that stage we can no longer rely on OSes and have to manage every resources to be reclaimed properly. So it is. For a forward-compatibility reason this API is introduced now, encouraging you to be as gentle as you can for your resources; that is, tidy up your room. * include/ruby/vm.h: ditto. * vm_core.h (rb_vm_struct): new field. * vm.c (vm_init2): initialize above new field. * eval.c (ruby_cleanup): trigger those hooks. Thu Dec 2 17:00:44 2010 Tanaka Akira * bignum.c: parenthesize macro arguments. Thu Dec 2 15:31:14 2010 NAKAMURA Usaku * win32/win32.c (rb_w32_read): more fix. [ruby-core:33513] Thu Dec 2 13:41:43 2010 NAKAMURA Usaku * win32/win32.c (rb_w32_read): workaround for console reading troubles. fixed [ruby-core:33511] Thu Dec 2 13:10:42 2010 NARUSE, Yui * lib/uri/common.rb (URI.encode_www_form): split key-value when the value is Array like object. Thu Dec 2 10:39:39 2010 NARUSE, Yui * lib/net/http.rb (Net::HTTP#set_form_data): use URI.encode_www_form for application/x-www-form-urlencoded. Thu Dec 2 10:38:40 2010 NARUSE, Yui * ext/extmk.rb: remove $makeflags.defined?, it should be $mflags. Thu Dec 2 10:19:47 2010 NAKAMURA Usaku * win32/Makefile.sub (rc): suppress meaningless message. Thu Dec 2 10:09:40 2010 NARUSE, Yui * ext/json/generator/extconf.rb: remove the lines which set -O3 when -O option is not set. Note that -O3 doesn't always exist. * ext/json/parser/extconf.rb: ditto. Thu Dec 2 10:01:59 2010 NARUSE, Yui * ext/extmk.rb: define $makeflags.defined? like $mflags. Thu Dec 2 07:20:20 2010 Nobuyoshi Nakada * lib/test/unit.rb (Test::Unit::GCStressOption): --gc-stress option. * lib/test/unit.rb (Test::Unit::Mini#_run_suites): show the result even when interrupted on the way. Thu Dec 2 07:08:38 2010 Nobuyoshi Nakada * ext/io/console/console.c (setattr): should retry on EINTR. [ruby-dev:42666] Thu Dec 2 02:30:50 2010 Eric Hodel * lib/net/http.rb: fixed positional wording to match revised order. Thu Dec 2 01:24:39 2010 NARUSE, Yui * ext/json/lib/json/common.rb: don't use iconv on 1.9. patched by Shota Fukumori [ruby-core:33164] Thu Dec 2 01:02:03 2010 NARUSE, Yui * ext/json: Update github/flori/json from 1.4.2+ to e22b2f2bdfe6a9b0. this fixes some bugs. Thu Dec 2 00:05:44 2010 NARUSE, Yui * lib/net/http.rb: improve rdoc. This change the order of chapter because such overview should begin with simple examples. patched by Eric Hodel [ruby-core:33469] Wed Dec 1 22:01:49 2010 NAKAMURA Usaku * numeric.c (Init_Numeric): fixed a potential bug when using bccwin32 ruby with Microsoft's dll, though we already gave up of supporting bccwin32. [ruby-core:33503] Wed Dec 1 21:43:21 2010 Tanaka Akira * array.c: parenthesize macro arguments. Wed Dec 1 21:41:57 2010 Tanaka Akira * test/socket/test_addrinfo.rb: extract Errno::EADDRINUSE as a method. * test/socket/test_socket.rb: ditto. Wed Dec 1 15:08:32 2010 NAKAMURA Usaku * test/openssl/test_ssl.rb (test_not_started_session): non socket argument of SSLSocket.new is not supported on Windows. Wed Dec 1 14:36:36 2010 Nobuyoshi Nakada * string.c (rb_memhash): zero-filled strings should return different values. [ruby-core:33500] Wed Dec 1 14:27:49 2010 Ryan Davis * lib/minitest/*.rb: Imported minitest 2.0.0 r5952. * test/minitest/*.rb: ditto. * lib/test/unit.rb: Compatibility fix for minitest changes. Wed Dec 1 10:16:41 2010 NARUSE, Yui * string.c (rb_str_inspect): fix typo (not 0xFD but 0xFE). Wed Dec 1 09:28:27 2010 NARUSE, Yui * addr2line.c: Follow .gnu_debuglink section. A user of distribution provided ruby will see line info if s/he has a debug package for ruby. patched by Shinichiro Hamaji [ruby-dev:42655] Wed Dec 1 01:29:15 2010 NARUSE, Yui * string.c (rb_str_inspect): inspect as a dummy encoding string when a UTF-16/32 (not BE/LE) string does not have a BOM. Unicode and some RFCs say that a string labeled as UTF-16/32 doesn't have a BOM, it should be considered big endian. But many Windows programs generates little endian UTF-16 strings without a BOM. So String#inspect treats a string labeled UTF-16/32 without a BOM as a dummy encoding string. patched by Martin Duerst. [ruby-core:33461] Tue Nov 30 17:04:10 2010 NARUSE, Yui * addr2line.c (parse_debug_line_cu): ignore DW_LNE_set_discriminator. To ignore, it needs to read a single unsigned LEB128 integer. Tue Nov 30 16:29:19 2010 NARUSE, Yui * vm_dump.c: undef HAVE_BACKTRACE when the OS is FreeBSD (in other words backtrace() is libexecinfo) and it is optimized. This temporary hack may be also applied to other libexecinfo environments. Tue Nov 30 16:23:23 2010 NARUSE, Yui * lib/net/http.rb: improve rdoc. patched by Eric Hodel ref #4100 Tue Nov 30 12:23:52 2010 NAKAMURA Usaku * win32/win32.c (rb_w32_read): read only 1 byte at once on console. workaround of Windows bug. see [ruby-core:33460]. this is not the final solution. Tue Nov 30 11:39:13 2010 NARUSE, Yui * lib/net/http.rb: improve rdoc. patched by mathew murphy [ruby-core:33472] ref #4100 Tue Nov 30 05:03:44 2010 Eric Hodel * lib/uri/common.rb (encode_www_form, encode_www_form_component): Improve English in documentation. * ext/openssl/ossl_ssl.c (ssl_version=, ciphers=): Document #ssl_version=, add documentation for #ciphers=. Mon Nov 29 22:55:24 2010 Nobuyoshi Nakada * lib/uri/common.rb (URI::WFKV_): get rid of backtrack explosion by nested repeat operators. [ruby-core:33464] Mon Nov 29 22:53:13 2010 Nobuyoshi Nakada * win32/Makefile.sub (scriptbin.mk): fix generated rules. * win32/win32.c (rb_w32_write_console): fix argument type. Mon Nov 29 21:12:51 2010 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-forward-sexp): stop after literal hash key labels. * misc/ruby-mode.el (ruby-font-lock-keywords): highlight literal hash key labels as symbols. Mon Nov 29 18:31:31 2010 Martin Duerst * test/ruby/test_transcode.rb (test_unicode_public_review_issue_121): - Removed commented-out options that are no longer under discussion. - Added two more tests for forthcomming clarifications. Mon Nov 29 14:31:17 2010 NAKAMURA Usaku * win32/win32.c (rb_w32_isatty): use GetConsoleMode() to determine the fd is console or not, just like rb_w32_write_console(). [experimental] Mon Nov 29 14:19:40 2010 NAKAMURA Usaku * include/ruby/win32.h (rb_w32_write_console): wrong prototype. Mon Nov 29 14:10:55 2010 NAKAMURA Usaku * win32/win32.c (rb_w32_write_console): fixed indentation. Sun Nov 28 22:13:39 2010 Koichi Sasada * thread_pthread.c (NATIVE_MUTEX_LOCK_DEBUG): move and use it. * ChangeLog: fix my timezone. Mon Nov 28 21:58:58 2010 Koichi Sasada * thread_pthread.c: remove pthread_atfork(). Mon Nov 28 21:54:22 2010 Koichi Sasada * thread_pthread.c (native_cond_*): Check return code. (Some OSes except Linux return error code). Sun Nov 28 21:46:21 2010 Nobuyoshi Nakada * thread_pthread.c (thread_start_func_1): initialize native thread data immediately before starting. Sun Nov 28 14:56:32 2010 Nobuyoshi Nakada * io.c (struct argf): make lineno long, and reorder members. Sun Nov 28 14:55:42 2010 Nobuyoshi Nakada * thread_win32.c (gvl_release, gvl_init): suppress warnings. Sun Nov 28 14:48:24 2010 Nobuyoshi Nakada * thread_pthread.c (gvl_release, gvl_init): suppress warnings. * vm_core.h (rb_vm_gvl_destroy): add prototype. Sun Nov 28 14:46:24 2010 Nobuyoshi Nakada * thread_pthread.c (gvl_reinit): register atfork handler only in the parent process, to get rid of dead lock. Sun Nov 28 12:23:57 2010 Koichi Sasada * thread.c, vm_core.h: make gvl_acquire/release/init/destruct APIs to modularize GVL implementation. * thread_pthread.c, thread_pthread.h: Two GVL implementations. (1) Simple locking GVL which is same as existing GVL. (2) Wake-up queued threads. The wake-up order is simple FIFO. (We can make several queues to support exact priorities, however this causes some issues such as priority inversion and so on.) This impl. prevents spin-loop (*1) caused on SMP environments. *1: Only one Ruby thread acquires GVL again and again. Bug #2359 [ruby-core:26694] * thread_win32.c, thread_win32.h: Using simple lock not by CRITICAL_SECTION but by Mutex. Bug #3890 [ruby-dev:42315] * vm.c (ruby_vm_destruct): ditto. Sun Nov 28 04:40:00 2010 Luis Lavena * io.c (io_fwrite): use rb_w32_write_console under Windows. * win32/win32.c (rb_w32_write_console): added to write to write Unicode using WriteConsoleW for stdout/stderr. [ruby-core:33166] Sun Nov 28 03:58:47 2010 NARUSE, Yui * lib/net/http.rb: improve rdoc. patched by Mike Perham [ruby-core:33433] Sat Nov 27 19:12:10 2010 Tanaka Akira * time.c: parenthesize macro arguments. Sat Nov 27 18:08:18 2010 Nobuyoshi Nakada * time.c (leap_year_v_p): fixed typo. [ruby-dev:42631] Sat Nov 27 17:57:08 2010 Tanaka Akira * resolv.rb (Resolv::DNS): use the same DNS server when retry using TCP. reported by Julian Mehnle. [ruby-core:32970] Sat Nov 27 15:45:27 2010 Nobuyoshi Nakada * vm_dump.c (rb_vm_bugreport): see CrashReport log on Mac OS X. * configure.in: link addr2line only for ELF. Sat Nov 27 13:58:55 2010 Shugo Maeda * lib/optparse.rb (OptionParser#candidate): : was missing. Thanks, Shota Fukumori. [ruby-dev:42634] Sat Nov 27 12:07:05 2010 Yukihiro Matsumoto * man/ruby.1: Ruby man page from Arthur Gunn in [ruby-core:33412] Sat Nov 27 11:29:24 2010 Nobuyoshi Nakada * lib/optparse.rb (OptionParser#candidate): get rid of 1.9 syntax so that BASERUBY can be 1.8. Sat Nov 27 08:16:21 2010 Nobuyoshi Nakada * addr2line.c (rb_dump_backtrace_with_lines): should close fd on edge case. Fri Nov 26 13:33:24 2010 NARUSE, Yui * addr2line.c: apply a patch from shinichiro.h. Fri Nov 26 12:21:20 2010 NARUSE, Yui * addr2line.c: added to show source filename and line number of functions in backtrace. [ruby-dev:42625] a patch from shinichiro.h * addr2line.h: ditto. * common.mk: add addr2line.$(OBJEXT). * configure.in: check dl_iterate_phdr. * vm_dump.c (rb_vm_bugreport): use rb_dump_backtrace_with_lines in addr2line.c when the binary is ELF. Fri Nov 26 12:12:50 2010 NARUSE, Yui * regcomp.c (setup_tree): restart setup_tree() for a node whose AnchorNode's type is ANCHOR_PREC_BEHIND or ANCHOR_PREC_BEHIND_NOT and divide_look_behind_alternatives() divided it to NT_ALT or NT_LIST. [ruby-core:33370] Fri Nov 26 11:40:11 2010 NAKAMURA Usaku * vm_dump.c (dump_thread): get only required rights of the target thread because THREAD_ALL_ACCESS causes an access error on XP. reported by Masaya TARUI via IRC. Fri Nov 26 11:09:07 2010 NAKAMURA Usaku * vm_dump.c (dump_thread): show the displacement from the beginning of the symbol. Fri Nov 26 10:48:23 2010 NAKAMURA Usaku * vm_dump.c (dump_thread): follow the output of glibc. see [ruby-dev:42627] Fri Nov 26 09:48:45 2010 NAKAMURA Usaku * re.c (rb_reg_initialize_str): should succeed the taint status from the origin. [ruby-core:33338] Fri Nov 26 09:32:37 2010 NAKAMURA Usaku * vm_dump.c (dump_thread): seems to be necessary the 3rd argument of SymGetLineFromAddr64(), even though MSDN says it can be zero. Fri Nov 26 09:03:38 2010 NARUSE, Yui * regcomp.c (onig_is_prelude): added to check whether ruby is still in prelude (or other boot processes) or not. * regcomp.c (optimize_node_left): use onig_is_prelude for printing. * regcomp.c (set_optimize_info_from_tree): ditto. * regcomp.c (onig_compile): ditto. * regcomp.c (print_compiled_byte_code_list): print its address. * regcomp.c (print_indent_tree): print its contents tree of ANCHOR_PREC_READ(_NOT) and ANCHOR_PREC_BEHIND(_NOT). Thu Nov 25 23:10:49 2010 NARUSE, Yui * regcomp.c (print_distance_range): use PRIuSIZE. * regcomp.c (print_optimize_info): use %ld because the type of calculated value of integers is long. * regexec.c (onig_print_compiled_byte_code): add prototype. * regexec.c (match_at): add 2nd argument. Thu Nov 25 10:29:55 2010 NAKAMURA Usaku * ext/dl/callback/mkcallback.rb (gencallback): shouldn't assume that VALUE is the same size with long. Thu Nov 25 10:03:14 2010 NAKAMURA Usaku * test/win32ole/test_err_in_callback.rb (teardown): remove tmp file only when it exists. Thu Nov 25 01:38:25 2010 NARUSE, Yui * enc/trans/big5-hkscs-tbl.rb: Update table as HKSCS-2008. patched by oCameLo oTnTh [ruby-core:33256] * enc/big5.c: add alias Big5-HKSCS:2008 to Big5-HKSCS. Wed Nov 24 15:18:07 2010 NAKAMURA Usaku * vsnprintf (BSD_vfprintf): use QUADINT macro only when _HAVE_SANE_QUAD_ macro is defined. Wed Nov 24 12:47:16 2010 NAKAMURA Usaku * vsnprintf (BSD_vfprintf): added VC++ compatible size specifications (I, I32, I64). Wed Nov 24 11:19:13 2010 NARUSE, Yui * string.c (rb_str_inspect): treat UTF-16 and UTF-32 as BE or LE. Wed Nov 24 06:35:32 2010 NARUSE, Yui * enc/trans/utf_16_32.trans: add the UTF-32 converter. Wed Nov 24 05:40:33 2010 NARUSE, Yui Wed Nov 24 06:13:32 2010 Nobuyoshi Nakada * win32/win32.c (filecp, wstr_to_mbstr, mbstr_to_wstr): refactored. Wed Nov 24 05:40:33 2010 NARUSE, Yui * enc/trans/utf_16_32.trans: add a converter from UTF-8 to UTF-16. Wed Nov 24 03:21:35 2010 NARUSE, Yui * enc/trans/utf_16_32.trans: raise error on unpaired upper surrogates. Wed Nov 24 01:40:23 2010 NARUSE, Yui * enc/utf_16_32.h: add UTF-16 and UTF-32 as a dummy encoding. * enc/trans/utf_16_32.trans: add a converter from UTF-16 to UTF-8. Tue Nov 23 21:59:47 2010 Nobuyoshi Nakada * win32/win32.c (wlink, rb_w32_getppid): use typedef instead of repeating complicated function prototypes. Tue Nov 23 18:54:03 2010 Nobuyoshi Nakada * vm.c (rb_thread_mark): should mark self in control frames. [ruby-core:33289] Tue Nov 23 07:57:31 2010 Tadayoshi Funaba * lib/date/delta/parser.{ry,rb}: fixed a bug of token scanner. Tue Nov 23 07:29:24 2010 Tadayoshi Funaba * complex.c, rational.c ({nucomp,nurat}_expt): added a check. Tue Nov 23 07:27:27 2010 Tadayoshi Funaba * lib/date.rb (daynum): should be private. Tue Nov 23 07:22:54 2010 Nobuyoshi Nakada * ChangeLog (change-log-indent-text): hanging indent. Tue Nov 23 06:30:51 2010 Nobuyoshi Nakada * configure.in (SITE_DIR, VENDOR_DIR), version.c (ruby_initial_load_paths): exclude directories that are configured without them from $LOAD_PATH. [ruby-core:33267] * configure.in (rubylibprefix): No ruby, No libprefix. Tue Nov 23 01:05:27 2010 NARUSE, Yui * vsnprintf.c (BSD_vfprintf): don't output floating point when the precision is 0. [ruby-dev:42615] Mon Nov 22 21:30:57 2010 Nobuyoshi Nakada * string.c (rb_str_inspect): fix for ascii-compatible external encoding and different encoding string. [ruby-core:33283] Mon Nov 22 18:45:44 2010 Nobuyoshi Nakada * lib/mkmf.rb (create_makefile): should not duplicate rules. bug fix of r29842. Mon Nov 22 18:04:40 2010 NARUSE, Yui * enc/big5.c: split CP950 from Big5. * enc/big5.c: split CP951 from Big5-HKSCS. * enc/trans/big5.trans: import conversion table of Big5, Big5-HKSCS, CP950, and CP951 from ICU. they need fallback conversions. ref [ruby-core:33256] http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/ * tool/transcode-tblgen.rb (import_ucm): add to import ucm files. Mon Nov 22 18:33:30 2010 Nobuyoshi Nakada * string.c (rb_str_inspect): append for each chars instead of bulk copy if encoding conversion is needed. [ruby-core:33283] Mon Nov 22 14:22:45 2010 NARUSE, Yui * time.c (time_zone): use rb_locale_str_new_cstr to set encoding as locale and convert its content to internal encoding. [ruby-core:33278] Mon Nov 22 11:58:11 2010 NARUSE, Yui * string.c (rb_str_concat): set ENC_CODERANGE_VALID when the receiver is 7BIT and the argument is non ASCII. Mon Nov 22 01:48:58 2010 Tadayoshi Funaba * lib/date.rb: some improvements for performance. Sat Nov 20 07:45:50 2010 Aaron Patterson * lib/mkmf.rb: adding compilation support for ObjC/ObjC++ extensions. Thanks Scott Gonyea! [ruby-core:33260] Sat Nov 20 01:57:55 2010 Akio Tajima * common.mk: add dependency(insns.inc) to compile.obj Fri Nov 19 23:05:48 2010 Nobuyoshi Nakada * win32/Makefile.sub (insns_rules.mk): remove extra backslash. * cygwin/GNUmakefile.in, win32/Makefile.sub (clean): rc files are made at compile time, so should be removed by clean. Fri Nov 19 22:09:46 2010 Kouhei Sutou * test/rexml/test_core.rb (Tester#test_pretty_format_long_text_finite): skip a test that uses long string on small memory system. [ruby-dev:42599] Fri Nov 19 21:07:06 2010 Nobuyoshi Nakada * lib/optparse.rb: shell completion support for zsh. based on * lib/optparse.rb: shell completion support for bash. Fri Nov 19 00:00:00 2010 Nobuyoshi Nakada * cygwin/GNUmakefile.in (SCRIPTPROGRAMS): no needs on cygwin. * win32/Makefile.sub (scriptbin): create script binaries. Thu Nov 18 23:21:23 2010 Kouhei Sutou * lib/rexml/formatters/pretty.rb (REXML::Formatters::Pretty#wrap): REXML::Formatters::Pretty#wrap used a recursive method call to format text. This switches it to use an iterative approach. [ruby-core:33245] Patch by Jeremy Evans. Thanks!!! * test/rexml/test_core.rb: add a test for it. Thu Nov 18 22:58:43 2010 Nobuyoshi Nakada * include/ruby/io.h (rb_io_buffer_t): extract from rb_io_t. Thu Nov 18 07:37:44 2010 Nobuyoshi Nakada * Makefile.in (reconfig): force reconfigure with previous options. * common.mk (showconfig): show configure flags, like as `config.status --config' generated by recent autoconf. Thu Nov 18 07:16:49 2010 Nobuyoshi Nakada * missing/langinfo.c (strncasecmp): get rid of redefinition. Thu Nov 18 00:02:17 2010 James Edward Gray II * lib/csv.rb: Upgrading output encoding with ASCII content as needed. [ruby-core:33229] Wed Nov 17 23:19:21 2010 Nobuyoshi Nakada * win32/configure.bat: remove quotes from arguments to be quoted. * lib/mkmf.rb (create_makefile): use forward slashes in messages. * lib/mkmf.rb (create_makefile): make extension libraries messages brief. * win32/Makefile.sub (MAKEDIRS): should not include silent flag. * common.mk (ext/ripper/ripper.c, ext/json/parser/parser.c): pass Q and ECHO. [ruby-core:33226] Wed Nov 17 16:09:52 2010 Yuki Sonoda (Yugui) * test/test_tracer.rb: new test case. minimal regression test for r29280. Wed Nov 17 16:04:23 2010 Yuki Sonoda (Yugui) * test/ruby/envutil.rb (Test::Unit::Assersions#assert_warn): new assertion to assert that a particular warning message is displayed. forward port from branches/ruby_1_9_2@29795. Wed Nov 17 15:16:48 2010 NARUSE, Yui * regint.h (OnigOpInfoType): constify name. * regcomp.c (op2name): constify return value. * regcomp.c (onig_print_compiled_byte_code): use PRIuPTR and uintptr_t to clean warnings. * regcomp.c (print_indent_tree): use PRIxPTR and intptr_t. * regexec.c (match_at): use PRIdPTR and intptr_t. Wed Nov 17 09:49:10 2010 NARUSE, Yui * enc/shift_jis.c (property_name_to_ctype): fix memory leak. * enc/euc_jp.c (property_name_to_ctype): ditto. Wed Nov 17 08:54:04 2010 James Edward Gray II * lib/csv.rb: Upgrading output encoding as needed. [ruby-core:33135] Tue Nov 16 22:30:39 2010 Yusuke Endoh * vm_insnhelper.c (vm_throw): remove fear of undefined behavior :-) Coverity Scan found this bug. Tue Nov 16 09:33:00 2010 Kenta Murata * ext/bigdecimal/lib/bigdecimal/util.rb (to_digits): avoid unused variables warning, reported by Aaron Patterson. Tue Nov 16 06:39:31 2010 Nobuyoshi Nakada * pack.c (PACK_ITEM_ADJUST): return nil not result array and yield values if block is given. [ruby-core:33193] Tue Nov 16 00:21:20 2010 Yusuke Endoh * regparse.c (and_cclass, or_cclass): fix memory leak. Coverity Scan found this bug. [ruby-dev:42579] Tue Nov 16 00:07:32 2010 Yusuke Endoh * gc.c (assign_heap_slot): fix fear of memory leak and memory violation. Coverity Scan found this bug. Mon Nov 15 23:54:45 2010 Yusuke Endoh * eval_intern.h (CHECK_STACK_OVERFLOW): it was not intended to add size_t to a pointer typed VALUE*. Coverity Scan found this defect. Mon Nov 15 23:41:21 2010 Yusuke Endoh * compile.c (iseq_set_exception_local_table, iseq_set_local_table, rb_iseq_build_from_ary): fix type inconsistency (which is benign because sizeof(ID) == sizeof(ID*), though). Coverity Scan found these bugs. Mon Nov 15 22:47:27 2010 Yusuke Endoh * vm_eval.c (rb_funcall): ensure va_end after va_init_list. Coverity Scan found this bug. Mon Nov 15 08:36:12 2010 Aaron Patterson * lib/racc/parser.rb (do_parse, yyparse): using class eval to define method and avoid __send__. Mon Nov 15 06:43:48 2010 Aaron Patterson * etc/openssl/ossl_ssl.c (ossl_ssl_get_cert): raise exception if pointer is invalid. Thanks Ippei Obayashi! [ruby-dev:42573] Sun Nov 14 17:57:45 2010 Nobuyoshi Nakada * enc/Makefile.in (distclean): should not remove sources which are distributed in tarball. Sun Nov 14 16:48:56 2010 Nobuyoshi Nakada * parse.y (parser_set_token_info): turn on/off with directives. [ruby-core:25442] Sun Nov 14 12:05:24 2010 Nobuyoshi Nakada * io.c (argf_readlines): forward to current_file for arguments check. http://twitter.com/nagachika/status/3634254856589312 Sun Nov 14 08:48:06 2010 Nobuyoshi Nakada * win32/setup.mak (-basic-vars-, -runtime-): suppress trailing space and compiler command line. Sun Nov 14 04:22:32 2010 Alexander Zavorine * symbian/setup (config.h): Added HAVE_LABS and HAVE_LLABS to config.h. * symbian/configure.bat: Changed packaging version in line with API style 3 versioning. Sat Nov 13 16:37:56 2010 Nobuyoshi Nakada * common.mk (showflags, help): emit messages at once. * win32/Makefile.sub (MSG, EOM): remove surrounding quotes by %~I. Sat Nov 13 01:31:30 2010 Akio Tajima * win32/Makefile.sub: reorder variable End Of Message (don't display it) Fri Nov 12 20:52:34 2010 Nobuyoshi Nakada * common.mk (showflags, help): use caret to quote leading spaces on Windows. * Makefile.in, common.mk, cygwin/GNUmakefile.in, enc/depend, ext/ripper/depend, lib/mkmf.rb, win32/Makefile.sub: caddle up. Fri Nov 12 16:35:31 2010 NARUSE, Yui * configure.in: support C level backtrace information on FreeBSD. When devel/libexecinfo is installed on FreeBSD, now ruby can show C level backtrace information. http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/libexecinfo/ Fri Nov 12 09:58:30 2010 NAKAMURA Usaku * win32/setup.mak: use findstr.exe instead of find.exe, because all target build platforms should have findstr.exe, and, find.exe often means another command such as cygwin's. Fri Nov 12 00:30:19 2010 Nobuyoshi Nakada * win32/Makefile.sub (config.h): need PRI_LL_PREFIX. Thu Nov 11 23:38:32 2010 Nobuyoshi Nakada * configure.in: ANSI C-conforming const and volatile are mandatory * configure.in (AC_C_CONST, AC_C_INLINE, AC_C_VOLATILE): check before used in other checks. * configure.in (RUBY_CHECK_PRINTF_PREFIX): should not break from RUBY_WERROR_FLAG, so that ac_c_werror_flag gets restored. Thu Nov 11 23:04:44 2010 Nobuyoshi Nakada * ext/iconv/iconv.c (warn_deprecated): show caller position. Thu Nov 11 23:03:12 2010 Nobuyoshi Nakada * io.c (argf_close): untie tied io before closing. * io.c (argf_write): add ARGF.write and so on. * io.c (argf_read_nonblock): add ARGF.read_nonblock. Thu Nov 11 21:49:06 2010 Nobuyoshi Nakada * lib/rdoc/stats.rb (RDoc#print): get rid of NaN. Thu Nov 11 21:47:12 2010 Nobuyoshi Nakada * common.mk (SHOWFLAGS): show compile flags. * common.mk: hide long command lines by default. verbose-mode is turned on by V=1 as before. http://jarp.does.notwork.org/diary/200605b.html#200605121 Thu Nov 11 21:32:09 2010 Nobuyoshi Nakada * lib/mkmf.rb (try_func): accept variable address. * ext/win32ole/extconf.rb: libuuid is needed on cygwin. Thu Nov 11 21:24:36 2010 Nobuyoshi Nakada * file.c (file_expand_path): use cygwin_conv_path on cygwin 1.7 or later. * ruby.c (push_include_cygwin): ditto. Thu Nov 11 20:49:48 2010 Nobuyoshi Nakada * include/ruby/ruby.h (PRI_LL_PREFIX): format type specifier for LONG_LONG may vary on platforms. Thu Nov 11 20:45:23 2010 Nobuyoshi Nakada * configure.in (SYMBOL_PREFIX): separate from EXPORT_PREFIX. * win32/mkexports.rb (Exports#each_export): use SYMBOL_PREFIX. Wed Nov 10 07:20:10 2010 Nobuyoshi Nakada * cygwin/GNUmakefile.in (scriptbin): make executable file from scripts with stub. * ruby.c (load_file_internal): assume xflag for exe file as well as no-shebang file. * tool/rbinstall.rb: install script programs. * win32/mkexports.rb (Exports#initialize): alias ruby_sysinit for stub. * win32/stub.c: stub for scripts. [EXPERIMENTAL] Tue Nov 9 21:57:45 2010 Nobuyoshi Nakada * dln.c (init_funcname): allocate and build initialization funciton name at once. Tue Nov 9 21:14:54 2010 Nobuyoshi Nakada * configure.in (AC_FUNC_GETPGRP, AC_FUNC_SETPGRP): no need when not used. * configure.in (EXPORT_PREFIX): check generic prefix. Tue Nov 9 13:24:33 2010 NARUSE, Yui * regenc.c (onigenc_minimum_property_name_to_ctype): \p{...} should be case insensitive. [ruby-core:33000] * regenc.c (onigenc_property_list_add_property): ditto. * enc/euc_jp.c (init_property_list, property_name_to_ctype): to lowercase property names. * enc/shift_jis.c (init_property_list, property_name_to_ctype): ditto. Tue Nov 9 13:29:36 2010 NAKAMURA Usaku * win32/win32.c (overlapped_socket_io): get rid of a warning of 64bit mingw. Tue Nov 9 10:44:19 2010 NARUSE, Yui * util.c (ruby_strtod): this code uses FPU's rounding system. But x86's FPU calculates double precision floating-point numbers in 80bit precision, so it fails to round the value. So ensure the value is assigned a variable. [ruby-dev:42551] see also [ruby-math:00802] http://www.shudo.net/java-grandprix99/strictfp/ Tue Nov 9 07:30:15 2010 Nobuyoshi Nakada * error.c (rb_syserr_new): new function to make SystemCallError instance without errno. [EXPERIMENTAL] * error.c (rb_syserr_fail, rb_mod_syserr_fail): ditto. Tue Nov 9 05:54:57 2010 Marc-Andre Lafortune * lib/*.rb: Remove unused variable warnings. Patch by Run Paint [ruby-core:30991] * lib/rubygems/*, lib/rdoc/*.rb, lib/rake/*.rb: ditto Mon Nov 8 18:26:03 2010 NARUSE, Yui * util.c (ruby_hdtoa): fix type cast and bufsize. Mon Nov 8 15:40:56 2010 NARUSE, Yui * vsnprintf.c (BSD_vfprintf): fix precision specifier doesn't work well on %f. [ruby-dev:42552] Mon Nov 8 14:41:40 2010 NAKAMURA Usaku * win32/win32.c (get_wsa_extension_function): typos. Mon Nov 8 13:41:33 2010 NARUSE, Yui * tool/enc-unicode.rb, enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src: Add Age property to regexp. [ruby-core:33019] patched by Ammar Ali, tested by Run Paint Run Run Mon Nov 8 12:16:39 2010 Ben Walton * configure.in: support -h for solaris linker when gcc not used Mon Nov 8 11:47:39 2010 NAKAMURA Usaku * win32/win32.c (finish_overlapped_socket): refactoring. Mon Nov 8 11:02:21 2010 NAKAMURA Usaku * win32/win32.c (get_proc_address): refactoring. * win32/win32.c (get_wsa_exetinsion_function): refactoring. Mon Nov 8 09:45:35 2010 NARUSE, Yui * enc/trans/gbk-tbl.rb: Add euro sign. [ruby-core:33094] CP936, which is de facto definition of GBK, has it. http://msdn.microsoft.com/en-us/goglobal/cc305153.aspx Mon Nov 8 07:26:20 2010 Nobuyoshi Nakada * configure.in: check only the first symbol to get rid of duplication. [ruby-core:33084] #4031 Sun Nov 7 10:13:30 2010 Nobuyoshi Nakada * configure.in (NM): check on all platforms. #4031 Sun Nov 7 06:16:33 2010 Aaron Patterson * test/openssl/test_ocsp.rb: adding test for r29699. Thanks Elise Huard! [ruby-core:32460] Sat Nov 6 07:33:08 2010 Nobuyoshi Nakada * configure.in (rb_cv_export_prefix): check for prefixed underscore of exported symbols * tool/rbinstall.rb (bin-comm): prepend prolog shell script if necessary. * configure.in (LIBRUBY_RELATIVE): use rpath token expansion. Sat Nov 6 07:24:01 2010 Nobuyoshi Nakada * template/ruby.pc.in (arch, sitearch): reordered. * configure.in: keep failed file. Sat Nov 6 07:03:49 2010 Nobuyoshi Nakada * process.c (rb_fork_err): save errinfo before fdopen. Sat Nov 6 00:43:58 2010 Aaron Patterson * ext/openssl/ossl_ocsp.c (ossl_ocspcid_initialize): an optional parameter may be used to specify the OpenSSL::OCSP::CertificateId on initialization. Thanks Elise Huard! [ruby-core:32460] Fri Nov 5 12:23:01 2010 Nobuyoshi Nakada * test/ruby/test_{process,system}.rb (test_fallback_to_sh): meaningless and wrong tests where /bin/sh does not exist. * process.c (proc_spawn_v): should spawn, not exec. Fri Nov 5 01:21:31 2010 Nobuyoshi Nakada * process.c (proc_exec_v, proc_spawn_v): try to execute with sh if no shebang. [ruby-core:32745] [EXPERIMENTAL] Fri Nov 5 00:39:00 2010 Nobuyoshi Nakada * io.c (rb_io_readlines, rb_io_each_line): limit must not be zero. a patch from Tomoyuki Chikanaga at [ruby-dev:42538]. #4024 Fri Nov 5 00:14:15 2010 Aaron Patterson * ext/fiddle/extconf.rb: fixing ffi library location on windows. Thanks Usa! [ruby-core:32930] Thu Nov 4 20:04:44 2010 Koichi Sasada * gc.c (rb_newobj): force garbage_collect() if GC.stress == true. Thu Nov 4 19:48:22 2010 Koichi Sasada * ChangeLog: missed to write a last ChangeLog. * gc.c (gc_finalize_deferred): removed. * gc.c (rb_gc_finalize_deferred): Do not invoke a free_unused_heaps(). Thu Nov 4 19:45:27 2010 Koichi Sasada * gc.c (run_final): do not need argument obj. Thu Nov 4 19:26:10 2010 Koichi Sasada * gc.c (before_gc_sweep): fix commit miss. Thu Nov 4 19:20:46 2010 Koichi Sasada * gc.c (after_gc_sweep, before_gc_sweep): invoke rb_sweep_method_entry() as soon as possible. Thu Nov 4 19:13:58 2010 Koichi Sasada * gc.c (after_gc_sweep, slot_sweep): finalizers should be invoked as soon as possible. Thu Nov 4 10:30:40 2010 URABE Shyouhei * configure.in (--with-valgrind): Now this option is default on. You can still explicitly disable this feature by specifying --without-valgrind. Thu Nov 4 02:06:16 2010 Yusuke Endoh * cont.c (fiber_t_alloc): raise an error when fiber is going to be initialized twice. [ruby-dev:42524] Thu Nov 4 02:04:25 2010 Yusuke Endoh * cont.c (rb_fiber_resume): raise an "double resume" error when root fiber is going to be resumed. [ruby-dev:42523] Wed Nov 3 14:17:18 2010 Nobuyoshi Nakada * lib/ostruct.rb (OpenStruct#delete_field): also undefine accessor methods. [ruby-core:33010] Wed Nov 3 14:13:46 2010 Nobuyoshi Nakada * string.c (rb_enc_cr_str_buf_cat): concatenation of valid encoding string and invalid encoding string should result invalid encoding. [ruby-core:33027] Wed Nov 3 08:58:59 2010 Koichi Sasada * gc.c, vm.c, vm_core.h: remove USE_VALUE_CACHE option. Wed Nov 3 07:47:25 2010 Yukihiro Matsumoto * lib/irb/ruby-lex.rb (RubyLex#identify_string): parse multiple regex options. a patch from Heesob Park in [ruby-core:32988]. Wed Nov 3 07:33:57 2010 Tanaka Akira * vm_method.c (rb_clear_cache_by_class): just return if the class has no method. reported by Eric Wong. [ruby-core:32689] Tue Nov 2 22:50:25 2010 Aaron Patterson * ext/psych/lib/psych/visitors/visitor.rb (initialize): push accessor methods to subclass that actually uses them. Tue Nov 2 22:47:08 2010 Aaron Patterson * ext/psych/lib/psych/visitors/visitor.rb (accept): switch to a dispatch cache rather than case / when statement. Tue Nov 2 21:46:52 2010 Kouhei Sutou * NEWS: fix a typo. Tue Nov 2 20:10:32 2010 Tajima Akio * test/rake/test_tasks.rb: clear env var which is used by the test. [ruby-dev:42508] Tue Nov 2 00:25:54 2010 NAKAMURA Usaku * ext/socket/extconf.rb: win64 is just same with win32 about socket. notice: but wince is not same. Mon Nov 1 21:25:57 2010 URABE Shyouhei * main.c: is needed, to introduce the getenv(3) prototype declaration. Without it a C compiler shall infer the getenv type as "int getenv(...);", but this is totally wrong, especially when your machine's sizeof(int) and sizeof(char*) differs. On such environment a return value of getenv(3), which is in fact a char*, might first casted into a int (loses data here), and then casted back to char* by automatic integral promotion to fit to the prototype of ruby_set_debug_option(). Sun Oct 31 23:27:09 2010 Koichi Sasada * gc.c (finalizer_table, objspace->final.table): Create finalizer_table at Init_heap(). Remove all null checks of finalizer_table. * gc.c (mark_tbl): skip if no table entries. * gc.c (slot_swee): remove useless need_call_final check. Sun Oct 31 22:32:08 2010 Nobuyoshi Nakada * gc.c (rb_objspace_free): finalizers should be called separately from freeing objspace. [ruby-dev:42479] Sun Oct 31 22:24:14 2010 Nobuyoshi Nakada * eval.c (ruby_cleanup): free current VM and its objspace even when exiting by SystemExit. Sun Oct 31 22:10:56 2010 Nobuyoshi Nakada * compile.c (new_child_iseq): adjust argument types. * iseq.c (prepare_iseq_build, rb_iseq_new), (rb_iseq_new_with_bopt_and_opt, rb_iseq_new_with_opt), (rb_iseq_new_with_bopt): ditto. * compile.c (iseq_set_exception_table): suppress warnings. * insns.def (putspecialobject, defined): ditto. * iseq.c (iseq_load): ditto. Sun Oct 31 09:30:51 2010 Koichi Sasada * vm_core.h: some refactoring. - move decl. of rb_compile_option_struct to iseq.h. - define enum iseq_type. - define enum vm_special_object_type. * compile.c: some refactoring. - apply above changes. - (struct iseq_link_element): change value of type. - remove unused decl. - fix comment. - rename iseq_build_body and iseq_build_exception to iseq_build_from_ary_body and iseq_build_from_ary_exception. * iseq.h: define enum catch_type and enum defined_type. * insns.def: apply above changes. * iseq.c: define ISEQ_MAJOR_VERSION and ISEQ_MINOR_VERSION. Sat Oct 30 23:38:59 2010 Kouhei Sutou * lib/rexml/encoding.rb: untabify. Sat Oct 30 21:06:37 2010 Kouhei Sutou * lib/rexml/encoding.rb: use Ruby native encoding mechanism. [ruby-dev:42464] * lib/rexml/encodings/: remove. * lib/rexml/document.rb, lib/rexml/formatters/default.rb, lib/rexml/output.rb, lib/rexml/parseexception.rb, lib/rexml/parsers/baseparser.rb, lib/rexml/source.rb, lib/rexml/xmldecl.rb: use Ruby's native Encoding object. * test/rexml/, test/rss/: follow the above encoding changes. * NEWS: add REXML's incompatible change about encoding. Sat Oct 30 17:23:19 2010 Nobuyoshi Nakada * util.c (ruby_strtod): get rid of overflow/underflow as possible. Sat Oct 30 14:37:39 2010 Nobuyoshi Nakada * configure.in (ruby_pc): erase runtime-defined variables and check if generated pc file is valid. * template/ruby.pc.in (DEFFILE): need for mingw. * template/ruby.pc.in (LIBRUBY): fix the order. Sat Oct 30 11:33:54 2010 Nobuyoshi Nakada * win32/Makefile.sub (ruby_pc): ignore missing variables. * template/ruby.pc.in: add missing variables for mswin. Sat Oct 30 10:24:35 2010 Marc-Andre Lafortune * object.c: Make BasicObject.new accept no parameter. Revert of r26135 [ruby-core:27080], as per [ruby-core:32952]. Sat Oct 30 09:40:54 2010 Nobuyoshi Nakada * enum.c: use constants in id.h. Sat Oct 30 09:08:27 2010 Nobuyoshi Nakada * ext/fiddle/closure.c (fiddle_closure): embed cif not reference so that the content surely get initialized. [ruby-dev:42480] Sat Oct 30 07:01:53 2010 Tanaka Akira * lib/resolv-replace.rb: suppress warning. * lib/open-uri.rb: ditto. Sat Oct 30 06:32:52 2010 Tanaka Akira * test/pathname/test_pathname.rb (TestPathname#test_grpowned?): the group of the created file is inherited from the parent directory on BSDs and MacOS X. Linux also inherit the group if the setgid bit of the directory is set. It causes the test fail. fixed by Shota Fukumori. [ruby-dev:42458] Sat Oct 30 05:58:54 2010 Tanaka Akira * lib/resolv.rb: retry via TCP if UDP reply is truncated. fixed by Julian Mehnle. [ruby-core:32407] Sat Oct 30 00:35:13 2010 Koichi Sasada * iseq.c (iseq_s_compile): fix optional argument. a patch from Yutaka HARA [ruby-core:32953] [Ruby 1.9-Bug#4001] Sat Oct 30 00:24:42 2010 Koichi Sasada * ext/objspace/objspace.c (memsize_of): take care of T_CLASS/const_tbl. a patch from nagachika [ruby-dev:42490] Fri Oct 29 23:32:36 2010 Koichi Sasada * test/profile_test_all.rb: added. You can use test-all profiler with the following command: RUBY_TEST_ALL_PROFILE=true make test-all This command generates ./test_all_profile and you can analyze which tests consume memories. * test/runner.rb: ditto. Fri Oct 29 10:02:03 2010 NARUSE, Yui * tool/enc-unicode.rb, enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src: Add 'Unknown' Script. patched by Run Paint Run Run. [ruby-core:32937] #3998 Fri Oct 29 05:13:34 2010 Koichi Sasada * ext/objspace/objspace.c (ObjectSpace.memsize_of_all): rename ObjectSpace.total_memsize_of_all_objects() to ObjectSpace.memsize_of_all([klass]). Accept Class object to filter the objects. * test/objspace/test_objspace.rb: fix test for above change. Fri Oct 29 03:04:16 2010 Nobuyoshi Nakada * string.c (rb_str_dump): fix expected length. [ruby-core:32935] Thu Oct 28 23:31:39 2010 Koichi Sasada * gc.c (before_gc_sweep, run_final): fix decrement timing of final_num. Thu Oct 28 20:11:30 2010 NARUSE, Yui * tool/enc-unicode.rb, enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src: Update Oniguruma for Unicode 6. patched by Run Paint Run Run. [ruby-core:32923] #3989 Thu Oct 28 20:06:25 2010 NARUSE, Yui * include/ruby/oniguruma.h (ONIGENC_CTYPE_SPECIAL_MASK): change mask from 128 to 256. [ruby-core:32931] Thu Oct 28 12:06:54 2010 NARUSE, Yui * lib/webrick/httprequest.rb (read_request_line): extend max length to 2083. This is from Internet Explorer's max uri length. http://support.microsoft.com/kb/208427 [ruby-core:32924] Thu Oct 28 04:00:08 2010 Koichi Sasada * gc.c (GC.stat): added. [ruby-dev:38607] * test/ruby/test_gc.rb: add a test for above. Thu Oct 28 03:13:06 2010 Koichi Sasada * ext/objspace/objspace.c (memsize_of): fix rdoc. * ext/objspace/objspace.c (total_memsize_of_all_objects): added. * test/objspace/test_objspace.rb: - add a test for ObjectSpace.total_memsize_of_all_objects. - add two tests for ObjectSpace.memsize_of (for nil and Fixnum). Wed Oct 27 23:55:27 2010 Nobuyoshi Nakada * ext/iconv/iconv.c (Init_iconv): warn deprecated use. Wed Oct 27 18:50:17 2010 NAKAMURA Usaku * bignum.c (rb_big2long, rb_big2ulong): rb2ulong() returns VALUE, but its real range is ulong. So, if the size of VALUE is bigger than ulong, upper bits are always zero even if the actual value is negative. fixed #3490 Wed Oct 27 18:27:17 2010 NAKAMURA Usaku * test/ruby/test_io.rb (TestIO#pipe): should close write end of pipe before closing read end, to get rid of timing problem. * test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto. Wed Oct 27 18:14:27 2010 NAKAMURA Usaku * win32/win32.c (rb_w32_getppid): support Win64. Wed Oct 27 15:07:19 2010 NAKAMURA Usaku * thread_win32.c (w32_error): should get error no only once, because the result of the second getting will indicate the error of the first FormatMessage() call. Wed Oct 27 13:51:25 2010 NAKAMURA Usaku * test/ruby/test_io.rb (TestIO#pipe): need to propagate exceptions in read/write thread. fix r29541. * test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto. Wed Oct 27 12:05:40 2010 NAKAMURA Usaku * class.c (clone_const): need to return value. fix r29602. Wed Oct 27 11:58:58 2010 NAKAMURA Usaku * include/ruby/ruby.h (NUM2LONG_internal): add cast to get rid of a non GCC compiler warning. this is intentional type conversion. Wed Oct 27 09:25:46 2010 NARUSE, Yui * cont.c: apply documentation patch by Run Paint Run Run. [ruby-core:32915] Wed Oct 27 02:12:10 2010 Yusuke Endoh * object.c (Init_Object), constant.h, variable.c (rb_mod_private_constant, rb_mod_public_constant, set_const_visibility, rb_const_get_0): add Module#public_constant and private_constant. [ruby-dev:39685][ruby-core:32698] * test/ruby/test_module.rb: add tests for above. Wed Oct 27 02:02:54 2010 Yusuke Endoh * class.c, constant.h, gc.c, method.h, object.c, variable.c, vm_insnhelper.c: use struct rb_constant_entry_t as entry of RCLASS_CONST_TBL. RCLASS_CONST_TBL has contained VALUE of constant directly. Now instead rb_const_entry_t is contained in RCLASS_CONST_TBL, rb_const_entry_t is managed by malloc, and have not only the value itself but also visibility flag. This is another preparation for private constant (see [ruby-dev:39685][ruby-core:32698]). Wed Oct 27 01:56:34 2010 Yusuke Endoh * class.c, gc.c, object.c, variable.c, vm_insnhelper.c, include/ruby/ruby.h: separate RCLASS_CONST_TBL from RCLASS_IV_TBL. RCLASS_IV_TBL has contained not only instance variable table but also constant table. Now the two table are separated to RCLASS_CONST_TBL and RCLASS_IV_TBL. This is a preparation for private constant (see [ruby-dev:39685][ruby-core:32698]). Tue Oct 26 18:51:00 2010 NARUSE, Yui * lib/scanf.rb (extract_float): allow 2.e+2 style. [ruby-dev:42452] #3978 Tue Oct 26 18:09:36 2010 Nobuyoshi Nakada * Makefile.in (ASFLAGS): needs INCFLAGS. * configure.in (rb_cv_dynamic_alloca): check if extra source for dynamic size alloca. * missing/x86_64-chkstk.s (___chkstk): necessary for alloca of amd64-mingw32msvc-gcc on Ubuntu. * thread_win32.c (ruby_alloca_chkstk): check stack overflow Tue Oct 26 18:04:53 2010 Nobuyoshi Nakada * template/ruby.pc.in (Libs): needs DLDFLAGS. Tue Oct 26 12:47:10 2010 Nobuyoshi Nakada * common.mk (pkgconfig-data): moved from Makefile.in. * tool/rbinstall.rb: install pc file only if non-empty. [ruby-core:32901] #3983 * win32/Makefile.sub (ruby_pc): create pc file. Tue Oct 26 09:13:34 2010 Nobuyoshi Nakada * configure.in (rb_cv_gcc_atomic_builtins): check for atomic builtins, all are not available in Apple derivative gcc. Tue Oct 26 00:29:26 2010 Nobuyoshi Nakada * Makefile.in (pkgconfig-data): create pkg-config metadata file. * tool/rbinstall.rb: install pkg-config metadata file. * template/ruby.pc.in: template of pkg-config metadata file. Mon Oct 25 16:38:07 2010 URABE Shyouhei * signal.c (rb_atomic_t): GCC (of at least recent versions) has ubiquitous support for atomic operations. On that compiler a C program can issue a memory barrier using these dedicated instructions. According to the GCC manual they cargo culted this feature form the Itanium ABI so chances are that other compilers could also support this feature. But so far GCC is the only compiler that I know to have it. Also note that this works on non-Itanium machines. Mon Oct 25 06:21:35 2010 Nobuyoshi Nakada * vsnprintf.c (BSD_vfprintf): prec digits fractal part should be appended to 0 if prec is given. [ruby-dev:42453] #3979 Mon Oct 25 02:57:21 2010 Koichi Sasada * common.mk (run.gdb): Quit gdb on 'make gdb' when no signals are received. Mon Oct 25 00:25:23 2010 Tadayoshi Funaba * lib/date.rb: some corrections of documentation. Sun Oct 24 17:14:00 2010 Nobuyoshi Nakada * array.c, gc.c, hash.c, object.c, string.c, struct.c, transcode.c, variable.c, vm.c, vm_insnhelper.c, vm_method.c: replace calls to rb_error_frozen() with rb_check_frozen(). a patch from Run Paint Run Run at [ruby-core:32014] * include/ruby/intern.h (rb_check_frozen): optimize. [ruby-core:32878] Sun Oct 24 15:16:30 2010 Nobuyoshi Nakada * lib/test/unit.rb (Test::Unit::Mini#run): abort if interrupted. * lib/test/unit.rb (Test::Unit::Mini#run_test_suites): show the result even when interrupted on the way. * lib/test/unit.rb (Test::Unit::Mini#run_test_suites): ensure output sync mode to be restored. Sun Oct 24 14:11:16 2010 Nobuyoshi Nakada * vm.c (vm_define_method): defined method is run with the default public visibility regardless the visibility context of definition. [ruby-core:30638] Sun Oct 24 12:08:54 2010 Aaron Patterson * lib/test/unit.rb: make test/unit play nicely with the rake test loader. [ruby-core:32864] Sun Oct 24 00:25:13 2010 Nobuyoshi Nakada * test/ruby/test_rubyoptions.rb (test_segv_test): follow up the change at r29556. Sat Oct 23 14:39:58 2010 Nobuyoshi Nakada * lib/mkmf.rb: $extmk should be true for test/runner. Sat Oct 23 10:55:37 2010 Koichi Sasada * vm_dump.c (rb_vm_bugreport): fix to add bug outputs. - loaded script ($0) - loaded features ($") - process memory map on Linux (/proc/self/maps) * vm_dump.c (rb_vmdebug_stack_dump_raw): fix header message. Fri Oct 22 14:50:13 2010 Nobuyoshi Nakada * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert): assertion message must not be nil. Fri Oct 22 13:59:50 2010 NARUSE, Yui * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert): treat nil case. Please run test-all before commit such change. Thu Oct 21 23:58:14 2010 Koichi Sasada * gc.c (gc_lazy_sweep): Variable declarations should be at the head of block. Thu Oct 21 23:56:54 2010 Nobuyoshi Nakada * gc.c (objspace_each_objects, rb_objspace_each_objects): use struct. * gc.c (objspace_each_objects): fix return with no value. Thu Oct 21 23:47:12 2010 Nobuyoshi Nakada * dir.c (dir_initialize): remove useless intermediate variable. Thu Oct 21 16:07:20 2010 NARUSE, Yui * io.c (rb_f_select): change rdoc. patched by Eito Katagiri [ruby-core:31805] Thu Oct 21 15:55:21 2010 NARUSE, Yui * lib/webrick/httpauth/digestauth.rb (WEBrick::HTTPAuth::ProxyDigestAuth#check_uri): privated. [ruby-dev:42344] Thu Oct 21 15:50:25 2010 NARUSE, Yui * io.c (rb_f_select): add correct rdoc. patched by Dave Thomas [ruby-core:32467] Thu Oct 21 15:42:01 2010 NARUSE, Yui * lib/net/telnet.rb (Net::Telnet#close): added. patched by Erik Hollensbe [ruby-dev:42260] #3830 Thu Oct 21 13:08:00 2010 Narihiro Nakamura * gc.c (rb_objspace_each_objects): don't lazy sweep in rb_objspace_each_objects. [Bug #3940] [ruby-dev:42369] Thu Oct 21 00:05:45 2010 Nobuyoshi Nakada * test/ruby/test_io.rb (TestIO#pipe): get rid of deadlock on pipe. a patch from Tomoyuki Chikanaga at [ruby-dev:42435]. #3970 * test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto. Wed Oct 20 23:54:36 2010 Nobuyoshi Nakada * ext/dbm/dbm.c: rdoc based on a patch by mathew meta AT pobox.com, at [ruby-core:32853]. Wed Oct 20 10:47:21 2010 NARUSE, Yui * util.c (ruby_strtod): reject 0x1.p+0. [ruby-dev:42432] #3966 Wed Oct 20 10:00:57 2010 NARUSE, Yui * vsnprintf.c (BSD_vfprintf): print floating point on "%#a". [ruby-dev:42431] Bug#3965 Tue Oct 19 19:30:11 2010 NARUSE, Yui * vsnprintf.c (BSD_vfprintf): clear ALT flag for %a. [ruby-core:32841] [ruby-core:32848] Tue Oct 19 12:19:25 2010 Nobuyoshi Nakada * vsnprintf.c (BSD_vfprintf): fix over-count of field size. Tue Oct 19 03:08:52 2010 Nobuyoshi Nakada * vsnprintf.c (BSD_vfprintf): use HEXPREFIX flag for prefix of %a. [ruby-core:32841] Mon Oct 18 13:18:01 2010 Akinori MUSHA * ext/digest/digest.c (rb_digest_class_init): Define Digest::Class.new(). [Feature #3954] Mon Oct 18 12:58:40 2010 Tanaka Akira * pack.c (pack_pack): refine the document. [ruby-dev:42397] (pack_unpack): ditto. Mon Oct 18 10:19:00 2010 NARUSE, Yui * lib/net/http.rb (transport_request): @socket may be nil. patched by Egbert Eich [ruby-core:32829] Mon Oct 18 09:57:28 2010 NARUSE, Yui * sprintf.c (BSD_vfprintf): wrong padding around prefix and floating point with %a. [ruby-dev:42403] Bug #3956 Sun Oct 17 22:36:33 2010 Tadayoshi Funaba * lib/date/delta.rb: added an rdoc tag. Sun Oct 17 10:47:12 2010 Nobuyoshi Nakada * variable.c (rb_mod_remove_const): update rdoc. [ruby-core:31957] Sun Oct 17 10:40:17 2010 Nobuyoshi Nakada * class.c (rb_define_{class,module}_id_under): register to be marked, which probably are defined and used internally. Sat Oct 16 11:10:55 2010 Masaki Suketa * ext/win32ole/win32ole.c (ole_encoding2cp): set codepage 20936 according to GB2312. [Bug #3937] [ruby-core:32758] Sat Oct 16 10:54:57 2010 Nobuyoshi Nakada * Makefile.in (CPP): already used in .c.i rule. * cygwin/GNUmakefile.in (DLLWRAP, WINDRES): add --driver-name and --preprocessor options explicitly. [ruby-core:32776] Sat Oct 16 10:06:08 2010 Nobuyoshi Nakada * ext/sdbm/_sdbm.c (SEEDUPS, BADMESS): make settable using command line options. * ext/sdbm/_sdbm.c (makroom): suppress unused result warning. * ext/sdbm/extconf.rb: disable BADMESS, a library should not emit messages directly. Sat Oct 16 08:39:03 2010 Nobuyoshi Nakada * dln.c (dln_strerror): get English message first, instead of system default. see [ruby-dev:42358]. Sat Oct 16 00:08:00 2010 Koichi Sasada * hash.c (rb_hash_aref): skip calling "default" method if it is not needed, for speed-up. Fri Oct 15 23:36:25 2010 Nobuyoshi Nakada * file.c (NUM2DEVT, DEVT2NUM, PRI_DEVT_PREFIX): fallback to unsigned int. Fri Oct 15 22:54:46 2010 Masaki Suketa * ext/win32ole/win32ole.c (ole_hresult2msg): get English message first, instead of system default. [ruby-core:32765] Fri Oct 15 22:47:31 2010 Nobuyoshi Nakada * include/ruby/ruby.h (VALUE): prefer long over uintptr_t, FIX2LONG expects VALUE to be long at least. * include/ruby/ruby.h (FIX2LONG): parenthesize the argument. Fri Oct 15 20:30:30 2010 Nobuyoshi Nakada * configure.in (dev_t): use RUBY_REPLACE_TYPE. * file.c (rb_stat_inspect): use PRI_DEVT_PREFIX. Fri Oct 15 17:26:57 2010 NARUSE, Yui * pack.c (pack_pack): simplify comparison of explicit_endian as pointed by nobu. * pack.c (pack_unpack): ditto. Fri Oct 15 16:40:37 2010 NARUSE, Yui * pack.c (pack_pack): fix more than one modifiers appear in the format string. [ruby-core:32793] * pack.c (pack_unpack): ditto. Thu Oct 14 23:20:42 2010 Masaki Suketa * test/win32ole/test_folderitem2_invokeverb.rb: refactoring. Thu Oct 14 22:18:29 2010 Koichi Sasada * insns.def, iseq.c, vm_insnhelper.c: rename variable name (ip -> iseq). Thu Oct 14 20:41:27 2010 NARUSE, Yui * pack.c (pack_pack): support endian modifiers: < and >. [ruby-dev:42376] Feature #3491 * pack.c (pack_unpack): ditto. Thu Oct 14 20:50:51 2010 Masaki Suketa * ext/win32ole/win32ole.c (reg_get_val): expand environment in the pathname. [Bug #3907] Thu Oct 14 07:35:07 2010 NARUSE, Yui * file.c (DEVT2NUM): added. Size of dev_t is depend on the environment even if POSIX defines dev_t as unsigned integer. For example, OpenVMS, 64bit Solaris 9, and NetBSD 6 defines dev_t as 64bit unsigned integer. * file.c (rb_stat_dev): use DEVT2NUM. * file.c (rb_stat_dev_major): dev_t is not long. major(3)'s return value is int. * file.c (rb_stat_dev_minor): dev_t is not long. minor(3)'s return value is int. * configure.in: check size of dev_t. Thu Oct 14 07:22:12 2010 Nobuyoshi Nakada * array.c (rb_ary_and, rb_ary_or), class.c (rb_mod_init_copy), gc.c (undefine_final), time.c (time_mload): get rid of type-punning casts. Thu Oct 14 04:16:41 2010 NARUSE, Yui * numeric.c (ruby_float_step): fix Numeric#step with infinity unit doesn't works well. [ruby-core:32779] Wed Oct 13 23:16:46 2010 Nobuyoshi Nakada * tool/enc-unicode.rb: get rid of lots of warnings. * iseq.c (insn_operand_intern, rb_iseq_disasm): fix format specifiers. * vm.c (thread_free): ditto. * numeric.c (check_uint): get rid of overflow on LLP64 platforms. * insns.def (opt_case_dispatch): use st_data_t. Wed Oct 13 22:32:34 2010 Takeyuki FUJIOKA * lib/cgi/util.rb (CGI::unescape): bugfix to unescape the multibyte string. Thanks nobu and tDiary dev members. [Bug #3909] Wed Oct 13 21:13:00 2010 NARUSE, Yui * numeric.c (int_chr): raise error when the value is negative. Wed Oct 13 19:24:08 2010 URABE Shyouhei * vm.c (ruby_vm_destruct): This function type was wrong; correct to the prototype. Wed Oct 13 14:58:09 2010 NARUSE, Yui * numeric.c (rb_num_to_uint): fix 32bit logic. Wed Oct 13 12:53:43 2010 NARUSE, Yui * numeric.c (rb_num_to_uint): added to check the range of arguments. Mainly for negative value with NUM2UINT on 32bit environment. * string.c (rb_str_concat): use rb_num_to_uint. Wed Oct 13 12:10:02 2010 NAKAMURA Usaku * thread_win32.c (w32_error): get English message first, instead of system default. see [ruby-core:32765]. [experimental] Wed Oct 13 11:04:03 2010 Nobuyoshi Nakada * debug.c (ruby_set_debug_option): define always for binary compatibility with debug env enabled binary. * signal.c (ruby_enable_coredump): ditto. Wed Oct 13 10:52:51 2010 Nobuyoshi Nakada * include/ruby/ruby.h (ruby_executable_node): missing prototype. Wed Oct 13 05:23:04 2010 NARUSE, Yui * missing/strchr.c: add strlen's prototype. * missing/strstr.c: ditto. Wed Oct 13 00:21:17 2010 Nobuyoshi Nakada * ext/syck/rubyext.c (struct mktime_arg): constified. * ext/syck/rubyext.c (mktime_do, mktime_r, rb_syck_mktime): fix function signatures. Wed Oct 13 00:18:18 2010 Nobuyoshi Nakada * st.c (MurmurMagic): get rid of literal overflow. * configure.in (RUBY_CHECK_PRINTF_PREFIX): check for printf format specifier if possible. Tue Oct 12 23:58:19 2010 Nobuyoshi Nakada * win32/win32.c (rb_w32_open_osfhandle, rb_w32_wopen, rb_w32_pipe): use uintptr_t instead of long for win64. * win32/win32.c (socketpair_internal): suppress warnings. * win32/win32.c (ftruncate): use HANDLE instead of long for win64. * vsnprintf.c (BSD_vfprintf): fix cast. * numeric.c (rb_num2fix): result of rb_num2long is SIGNED_VALUE. * compile.c (iseq_build_body), error.c (set_syserr, get_syserr), (syserr_initialize), gc.c (define_final, rb_gc_copy_finalizer), (run_final), hash.c (rb_hash_aref, rb_hash_lookup2), (rb_hash_fetch_m, rb_hash_clear, rb_hash_aset, eql_i), iseq.c (iseq_load, iseq_data_to_ary), marshal.c (r_symlink), thread.c (rb_thread_local_aref), variable.c (generic_ivar_remove, ivar_get, rb_const_get_0), (rb_cvar_get), vm.c (rb_vm_check_redefinition_opt_method), vm_insnhelper.c (vm_get_ev_const), vm_method.c (remove_method), ext/iconv/iconv.c (map_charset): use st_data_t. * compile.c (iseq_build_body), insns.def (getglobal, setglobal), iseq.c (iseq_load, iseq_data_to_ary), util.c (valid_filename): use VALUE. * gc.c (obj_free, rb_objspace_call_finalizer): fix truncating cast. * gc.c (mark_current_machine_context): suppress warnings. * compile.c (iseq_compile_each): fix truncating cast. * cont.c (fiber_setcontext): missing variable definition. Tue Oct 12 19:25:13 2010 NARUSE, Yui * error.c (exc_to_s): use OBJ_INFECT. * error.c (name_err_to_s): ditto. * error.c (name_err_mesg_to_str): ditto. * error.c (syserr_initialize): ditto. Tue Oct 12 19:07:55 2010 NARUSE, Yui * error.c (syserr_initialize): taint message if mesg is given and it is tainted. Tue Oct 12 18:25:43 2010 NARUSE, Yui * io.c (rb_io_ungetc): always see Bignum. On 32bit valid value may be a Bignum. On 64bit for errors. [ruby-dev:42366] Tue Oct 12 18:25:04 2010 NARUSE, Yui * string.c (rb_str_concat): use unsigned int for GB18030. Tue Oct 12 17:53:49 2010 NARUSE, Yui * numeric (check_uint): the mask must refer to VALUE. Tue Oct 12 17:47:10 2010 NARUSE, Yui * numeric (check_uint): set MSB for negative value. * numeric (rb_num2uint): return value's type of rb_num2ulong is VALUE. * numeric (int_chr): variable i can't be negative. Tue Oct 12 16:04:37 2010 NAKAMURA Usaku * win32/win32.c (rb_w32_strerror): get English message first, instead of system default. see [ruby-dev:42358]. [experimental] Tue Oct 12 15:52:35 2010 NAKAMURA Usaku * win32/win32.c (rb_w32_strerror): unmap some range of errno for workaround of VC10's strerror() and sys_nerr problem. based on a patch from Akio Tajima, [ruby-dev:42355]. Tue Oct 12 15:36:09 2010 NARUSE, Yui * io.c (rb_io_ungetc): use unsigned int for GB18030. Tue Oct 12 15:14:21 2010 NARUSE, Yui * io.c (rb_io_putc): support multibyte characters. [ruby-core:30697] Tue Oct 12 15:10:31 2010 NARUSE, Yui * numeric.c (rb_enc_uint_chr): split from int_chr. * numeric.c (int_chr): use rb_enc_uint_chr. * include/ruby/encoding.h (rb_enc_uint_chr): added. Tue Oct 12 14:04:41 2010 NARUSE, Yui * numeric.c (int_chr): a codepoint of Ruby M17N must be 32bit unsigned int; GB18030 uses MSB. Also note that OnigCodePoint is defined as unsigned int. Tue Oct 12 12:20:54 2010 NAKAMURA Usaku * vm_dump.c (dump_thread): foolish mistake. Tue Oct 12 10:39:08 2010 Nobuyoshi Nakada * configure.in (RUBY_MINGW32): canonicalize only on mingw. Mon Oct 11 20:20:23 2010 NARUSE, Yui * lib/net/http.rb (HTTP.get): specify ASCII-8BIT as the result encoding of Zlib::GzipReader. http://hibari.2ch.net/test/read.cgi/tech/1281473294/271 Mon Oct 11 17:42:54 2010 NARUSE, Yui * error.c (syserr_initialize): use mesg's encoding when locale encoding is US-ASCII. If locale encoding is not US-ASCII, assume err has non ASCII characters. [ruby-dev:42358] Mon Oct 11 14:03:54 2010 NARUSE, Yui * error.c (syserr_initialize): set the encoding of Errno::*#message as locale. [ruby-dev:42358] Mon Oct 11 06:38:27 2010 NARUSE, Yui * ext/stringio/stringio.c (strio_set_encoding): StringIO#set_encoding can get 2nd argument and optional hash for API compatibility to IO. [ruby-dev:42356] Mon Oct 11 06:11:30 2010 NARUSE, Yui * io.c (rb_io_set_encoding): use rb_funcall2 when the io is not a T_FILE. [ruby-dev:42356] Sun Oct 10 18:42:23 2010 Akinori MUSHA * lib/set.rb (Set#replace): Apply a bit of optimization. Sun Oct 10 10:20:07 2010 Nobuyoshi Nakada * configure.in (RUBY_MINGW32): canonicalize as like mswin version. Sun Oct 10 05:33:14 2010 Nobuyoshi Nakada * vm_core.h (rb_signal_buff_size, rb_signal_exec): moved declarations from thread.c. Sat Oct 9 16:54:28 2010 Nobuyoshi Nakada * configure.in (RSHIFT): quote to get rid of argument expansion for autoconf 2.68. Sat Oct 9 11:00:06 2010 Nobuyoshi Nakada * thread.c (thread_reset_event_flags, exec_event_hooks): ignore hooks marked as removed. * thread.c (thread_exec_event_hooks): remove hooks to be removed. * thread.c (rb_threadptr_remove_event_hook, rb_remove_event_hook): defer removing hooks if running the hooks. [ruby-dev:42350] Sat Oct 9 10:51:00 2010 Nobuyoshi Nakada * thread.c (rb_threadptr_exec_event_hooks): suppress each event hooks separately. * thread.c (thread_suppress_tracing): split from ruby_suppress_tracing, accepting thread pointer and event mask. Sat Oct 9 08:16:01 2010 Nobuyoshi Nakada * thread.c (rb_threadptr_remove_event_hook): fix typo. Fri Oct 8 10:52:25 2010 Nobuyoshi Nakada * common.mk (RBCONFIG): depends on version.h due to RUBY_PATCHLEVEL. [ruby-core:32709] Fri Oct 8 00:24:54 2010 James Edward Gray II * lib/csv.rb: Fixing documentation typos. [ruby-core:32712] Thu Oct 7 09:14:28 2010 NARUSE, Yui * vm_exec.c (vm_exec_core): Treat clang as non gcc on this context: It has __asm__ but doesn't works well. Wed Oct 6 12:28:22 2010 Tanaka Akira * lib/uri/generic.rb (URI::Generic#hostname): new method. (URI::Generic#hostname=): ditto. * lib/open-uri.rb: use URI#hostname * lib/net/http.rb: ditto. reported by Adam Majer. [ruby-core:32056] Wed Oct 6 11:52:12 2010 Nobuyoshi Nakada * io.c (fptr_finalize): write_mutex might have been destroyed already in finalization phase, as the order of finalizers is not guaranteed. rb_mutex_t should be used in place of Mutex object in the future. Tue Oct 5 22:17:02 2010 wanabe * win32/mkexports.rb: revert r29320 and r29402. Mon Oct 4 12:43:47 2010 Nobuyoshi Nakada * parse.y (regexp): dregexp has literal string only at the head and successors are array. [ruby-core:32682] Mon Oct 4 10:22:21 2010 NARUSE, Yui * random.c (rand_init): This checks the value is in 32bit or not, so use int32_t, not int. Mon Oct 4 09:47:39 2010 NARUSE, Yui * random.c (rand_init): remove useless assignment. * re.c (update_char_offset): remove unused variable. * re.c (read_escaped_byte): ditto. Mon Oct 4 09:30:42 2010 NARUSE, Yui * ext/openssl/lib/openssl/bn.rb (Integer#to_bn): OpenSSL::BN.new accepts only Strings, so call Integer#to_s(16). 16 is for an optimization. [ruby-dev:42336] Mon Oct 4 07:57:51 2010 NARUSE, Yui * cont.c (fiber_memsize): Return size. Before this change, fiber_memsize always returns 0. Mon Oct 4 07:16:55 2010 NARUSE, Yui * enc/unicode.c (onigenc_unicode_property_name_to_ctype): remove useless assignment. * vm.c (vm_make_proc_from_block): ditto. * variable.c (rb_ivar_count): ditto. Mon Oct 4 06:40:24 2010 NARUSE, Yui * Makefile.in (clean-rdoc): Don't use \ in variable expansion. BSD make treats it as an escape character. Mon Oct 4 00:01:53 2010 wanabe * tool/config.sub: revert r29320, r29324, r29347, r29354, r29365 to automake-1.11.1. [ruby-core:32634] * win32/mkexports.rb: no longer use 'mingw64'. a patch from Luis Lavena at [ruby-core:32678]. Sun Oct 3 20:36:37 2010 Akio Tajima (arton) * test/win32ole/test_folderitem2_invokeverb.rb: Change creating shortcut verb to 'Link' [Bug #3339] Sun Oct 3 19:44:23 2010 Nobuyoshi Nakada * configure.in (Makefile): get rid of duplicated ruby target when already there it was. Sat Oct 2 22:59:32 2010 Masaki Suketa * test/win32ole/test_thread.rb: add for win32ole with Thread. Fri Oct 1 17:03:00 2010 URABE Shyouhei * test/webrick/test_httpproxy.rb (TestWEBrickHTTPProxy::test_upstream_proxy): My machine fails this test at this line, saying 503 service unavailable. Thu Sep 30 16:11:08 2010 NAKAMURA Usaku * win32/win32.c (rb_w32_getenv): should return NULL if specified name is empty. a patch from Heesob Park at [ruby-core:32650] Thu Sep 30 15:18:23 2010 Yukihiro Matsumoto * parse.y (command_asgn): allow command_call to be right hand side expression of chained assignment. [ruby-dev:42313] Thu Sep 30 10:55:38 2010 NAKAMURA Usaku * hash.c (ruby_setenv): workaround for old Windows. a patch from Heesob Park. [ruby-core:32353] Thu Sep 30 09:29:06 2010 NARUSE, Yui * lib/uri/common.rb (URI.encode_www_form): change treatment of undefined value in given array as latest internet draft for application/www-form-urlencoded. http://tools.ietf.org/html/draft-hoehrmann-urlencoded-01 Thu Sep 30 09:34:03 2010 NAKAMURA Usaku * vm_dump.c (dump_thread): fixed wrong type of return value of SymGetModuleBase64(). [ruby-dev:42306] Wed Sep 29 21:04:05 2010 URABE Shyouhei * test/ruby/test_rubyoptions.rb (TestRubyOptions::test_script_from_stdin): As usual, PTY is not always available. Wed Sep 29 18:38:14 2010 Nobuyoshi Nakada * tool/config.sub (x64): regularize only for pc vendor, and strip useless 64 suffix. Wed Sep 29 17:53:02 2010 Kenta Murata * ext/bigdecimal/bigdecimal.c (BIGDECIMAL_ENABLE_VPRINT): VPrint is usually disabled. It's only used in debugging. Wed Sep 29 17:41:34 2010 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigDecimal_save_limit): return the result of a block. * test/bigdecimal/test_bigdecimal.rb (test_save_limit): add a test for the above change. Wed Sep 29 16:18:03 2010 NAKAMURA Usaku * vm_dump.c (dump_thread): remove unused optional arguments. Wed Sep 29 13:26:30 2010 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigDecimal_save_rounding_mode): return the result of a block. * test/bigdecimal/test_bigdecimal.rb (test_save_rounding_mode): add a test for the above change. * test/bigdecimal/test_bigdecimal.rb (test_save_exception_mode): add a test for the return value of BigDecimal.save_exception_mode. Wed Sep 29 12:45:30 2010 NAKAMURA Usaku * ext/bigdecimal/bigdecimal.c (BigDecimal_div2, BigDecimal_add2, BigDecimal_sub2, BigDecimal_mult2, VpLimitRound): remove meaningless casts to get rid of compiler warnings. Wed Sep 29 12:35:13 2010 Nobuyoshi Nakada * ext/bigdecimal/bigdecimal.c (VPrint, VpToString): fix format. Wed Sep 29 12:31:12 2010 Nobuyoshi Nakada * lib/rdoc/known_classes.rb (RDoc::KNOWN_CLASSES): add Encoding. Tue Sep 28 20:50:23 2010 Nobuyoshi Nakada * tool/config.sub (x64): regularize same as mswin. Tue Sep 28 20:06:14 2010 NAKAMURA Usaku * vm_dump.c (rb_vm_bugreport): add windows support. based on patches from Peter Weldon at [ruby-core:32551] Mon Sep 27 23:30:34 2010 Koichi Sasada * insns.def (opt_case_dispatch), vm_insnhelper.c: execute the procedures of "when" clauses by bytecode instead of st_foreach() when the object does not hit prepared hash. [ruby-dev:42304] Mon Sep 27 15:54:03 2010 URABE Shyouhei * test/net/http/test_https.rb: As always, localhost is not guaranteed to be resolved as 127.0.0.1. But a SSL certificate needs a socket to listen on a specific address where a CN resolves to. On situations where localhost is not 127.0.0.1, these tests are not possible. Mon Sep 27 15:25:05 2010 URABE Shyouhei * test/net/imap/test_imap.rb: resurrection of r29259. this change depends on minitest 1.7.1. * lib/test/unit/assertions.rb: ditto. Sun Sep 26 22:59:45 2010 Nobuyoshi Nakada * tool/config.sub (x86_64-pc-mingw64): regularize. Sun Sep 26 22:21:07 2010 wanabe * ext/openssl/ossl_hmac.c (ossl_hmac_hexdigest, ossl_hmac_s_hexdigest), ext/openssl/ossl_pkey_ec.c (ossl_ec_group_set_seed), ext/openssl/ossl_ssl_session.c (ossl_ssl_session_to_der), ext/openssl/ossl_pkcs7.c (numberof): suppress warnings. [ruby-core:31932] Sun Sep 26 10:25:24 2010 Nobuyoshi Nakada * tool/config.{guess,sub}: updated to automake-1.11.1. Sat Sep 25 22:48:30 2010 Nobuyoshi Nakada * configure.in (LIBRUBY_DLDFLAGS): fix quoting. Sat Sep 25 10:30:37 2010 Nobuyoshi Nakada * configure.in (LIBRUBY_DLDFLAGS): use -unexported_symbol only when available. http://trac.macports.org/ticket/26341 Sat Sep 25 10:05:49 2010 KOSAKI Motohiro * configure.in: Always add -mieee for Renesas SH4. Thanks, Nobuhiro Iwamatsu. [Feature #3874] [ruby-core:32548] Sat Sep 25 01:34:41 2010 Nobuyoshi Nakada * Makefile.in (install-cross): target to install cross-compiling stuff. Fri Sep 24 23:44:59 2010 Nobuyoshi Nakada * string.c (sym_call), vm.c (invoke_block_from_c), vm_insnhelper.c (vm_yield_with_cfunc): pass given block. [ruby-core:32075] * vm_eval.c (rb_funcall_passing_block): new function to call method with passing given block. Fri Sep 24 15:50:43 2010 NARUSE, Yui * string.c (rb_str_to_i): fix rdoc: String#to_i raises an exception when base is invalid. [ruby-core:31685] Fri Sep 24 15:28:35 2010 NARUSE, Yui * string.c (rb_str_rindex): use rb_enc_prev_char instead of repeated str_nth. patched by Michael Selig [ruby-core:32498] Fri Sep 24 14:19:12 2010 URABE Shyouhei * test/test_pty.rb: Same as 229281; existence of PTY class do not guarantee a successful pty operation. Fri Sep 24 06:25:55 2010 Ryan Davis * lib/minitest/*.rb: Imported minitest 1.7.2 r5879. * test/minitest/*.rb: ditto. Thu Sep 23 23:09:08 2010 Nobuyoshi Nakada * vm_insnhelper.c (vm_get_cref0): cref is stacked only in normal iseqs, so check if it is the case first. Thu Sep 23 23:08:41 2010 Nobuyoshi Nakada * tool/config.sub: mingw64 should use x86_64. [ruby-core:32514] Thu Sep 23 21:40:40 2010 wanabe * ext/socket/raddrinfo.c (init_addrinfo, inspect_sockaddr): suppress warnings. see [ruby-core:31932]. Thu Sep 23 19:27:57 2010 wanabe * thread_win32.c (w32_wait_events, w32_close_handle): suppress warnings. see [ruby-core:31932]. Thu Sep 23 18:54:39 2010 wanabe * tool/config.sub: add mingw64. * win32/mkexports.rb (Exports::Mingw64): added. * win32/mkexports.rb (Exports::Mingw32): renamed from Exports::Mingw. Thu Sep 23 09:01:28 2010 Nobuyoshi Nakada * vm_insnhelper.c (vm_cref_push): no outer cref is needed for proc from method. Bug #3786, Bug #3860, [ruby-core:32501] Wed Sep 22 17:12:01 2010 Kazuhiro NISHIYAMA * test/openssl/utils.rb (OpenSSL#silent): always restore $VERBOSE. [ruby-dev:42285] Wed Sep 22 16:59:40 2010 Yuki Sonoda (Yugui) * test/test_prime.rb (TestPrime#test_new): the warning expected have not been displayed when $VERBOSE == nil. Patch by Shota Fukumori a.k.a. sora_h. [ruby-dev:42272] Recovers $stderr even if StringIO.new fails. Reported by unak. Wed Sep 22 01:55:48 2010 Koichi Sasada * bootstraptest/test_method.rb: fix last commit. Wed Sep 22 01:49:52 2010 Koichi Sasada * bootstraptest/test_method.rb: add a test for [ruby-core:30534]. Wed Sep 22 00:52:44 2010 WATANABE Hirofumi * lib/rdoc/ri/store.rb (save_cache): remove duplicate entries. Wed Sep 22 00:00:05 2010 Tanaka Akira * ext/pathname/pathname.c (path_f_pathname): Pathname() translated from pathname.rb. Tue Sep 21 22:18:30 2010 NAKAMURA Usaku * tool/mkconfig.rb: fixed build problem on mswin64 introduced in r29278. Tue Sep 21 02:42:35 2010 Kazuhiro NISHIYAMA * test/pathname/test_pathname.rb (TestPathname#test_mkdir): fix typo. Mon Sep 20 23:23:05 2010 Nobuyoshi Nakada * dir.c (bracket): get rid of scanning at the end of the pattern string, not to raise an exception while globbing command line. [ruby-core:32478] Mon Sep 20 11:25:49 2010 Tanaka Akira * ext/pathname/pathname.c (Init_pathname): Pathname#=~ undefinition translated from pathname.rb. Mon Sep 20 02:34:11 2010 Kenta Murata * ext/bigdecimal/bigdecimal.c (check_rounding_mode, BigDecimal_mode): raise ArgumentError instead of TypeError passing invalid modes. * test/bigdecimal/test_bigdecimal.rb (test_mode, test_round): change against the above modifications. Sun Sep 19 22:08:39 2010 Yuki Sonoda (Yugui) * lib/mkmf.rb (try_link): rdoc (try_compile): ditto (try_cpp): ditto (try_func): ditto (try_var): ditto (try_run): ditto (egrep_cpp): ditto Sun Sep 19 20:43:33 2010 Yuki Sonoda (Yugui) * configure.in (--disable-install-doc): disables capi too, in addition to rdoc. (--disable-install-rdoc): a new option for disabling only rdoc. (--disable-install-capi): a new option for disabling only capi. Sun Sep 19 20:37:45 2010 Yuki Sonoda (Yugui) * common.mk (clean): removes all documents on cleaning.o (CAPIOUT): new variable. (clean-capi, distclean-capi, realclean-capi): new targets * Makefile.in (clean-capi, distclean-capi, realclean-capi): ditto. * win32/Makefile.sub (clean-capi, distclean-capi, realclean-capi): ditto. Sun Sep 19 13:44:24 2010 Nobuyoshi Nakada * configure.in (LIBRUBY_SO): fix an oversight of replace RUBY_INSTALL_NAME with RUBY_SO_NAME. a patch from Jeremy Evans at [ruby-core:32474]. Sun Sep 19 07:48:20 2010 Tanaka Akira * ext/pathname/pathname.c (path_unlink): Pathname#unlink and Pathname#delete translated from pathname.rb. Sun Sep 19 06:06:07 2010 Kenta Murata * ext/bigdecimal/bigdecimal.c (check_rounding_mode): added for converting symbol to rounding mode number. * ext/bigdecimal/bigdecimal.c (BigDecimal_mode, BigDecimal_round): support to specify rounding mode by symbol. * test/bigdecimal/test_bigdecimal.rb (test_mode, test_round): add tests for above changes. Sun Sep 19 05:14:35 2010 Kenta Murata * ext/bigdecimal/bigdecimal.c: fix rounding algorithms for half-down and half-even. This change is based on the patch created by Matthew Willson, the reporter of this bug. [Bug #3803] [ruby-core:32136] * test/bigdecimal/test_bigdecimal.rb: add tests for above changes. Sat Sep 18 20:09:51 2010 Tanaka Akira * ext/pathname/pathname.c (path_each_entry): Pathname#each_entry translated from pathname.rb. Fri Sep 17 23:44:07 2010 Kouhei Sutou * lib/rexml/xpath_parser.rb, test/rexml/test_xpath.rb: add missing method availability check. [ruby-core:32447] Reported by Wiebe Cazemier. Thanks!!! Fri Sep 17 23:23:26 2010 Kouhei Sutou * test/rexml/test_sax.rb: don't use thread and sleep to avoid slow test. Fri Sep 17 23:10:44 2010 Kouhei Sutou * test/rexml/test_core.rb: enable. Fri Sep 17 22:46:02 2010 Kouhei Sutou * test/rexml/: untabify. Fri Sep 17 22:29:56 2010 Kouhei Sutou * test/rexml/: fix fixture data path. All REXML tests are worked. Fri Sep 17 22:15:15 2010 Kouhei Sutou * test/rexml/test_listener.rb: remove needless codes. Fri Sep 17 22:12:23 2010 Kouhei Sutou * test/rexml/: import REXML tests from http://www.germane-software.com/repos/rexml/trunk/test/. Many tests are failed temporary. I'll fix them quickly. Sorry. Fri Sep 17 16:48:49 2010 URABE Shyouhei * test/io/console/test_io_console.rb (TestIO_Console::helper): PTY.open is not guaranteed to work. On my machine opening a pty is prohibited via process control group. On those cases exceptions shall occur, and that doesn't mean our fault. Skip those tests on such situations. Fri Sep 17 08:30:27 2010 Nobuyoshi Nakada * lib/tracer.rb: count only non-internal libraries in stack trace, ignoring custom_require. [ruby-core:31858] Fri Sep 17 02:18:41 2010 Akinori MUSHA * tool/mkconfig.rb: Fix build with m4 1.4.15 generating duplicate lines in config.status. According to nobu, the mswin32 port may depend on the piece of code in question, so the behavior is left unchanged on mswin32. Thu Sep 16 23:47:59 2010 Tanaka Akira * ext/pathname/pathname.c (path_opendir): Pathname#opendir translated from pathname.rb. Thu Sep 16 21:40:37 2010 Nobuyoshi Nakada * lib/test/unit.rb (Test::Unit::GlobOption): merged RejectOption. * test/runner.rb: utilize GlobOption. Thu Sep 16 21:31:24 2010 Nobuyoshi Nakada * lib/rdoc/ri/driver.rb (RDoc::RI::Driver.setup_options) (RDoc::RI::Driver.fixup_options): split from process_args. libraries should not parse ARGV inside, since it's a task of applications, not libraries. Thu Sep 16 21:02:30 2010 Nobuyoshi Nakada * lib/rdoc/ri/paths.rb (RDoc::RI::Paths.each): HOMEDIR can be nil if $HOME is unset. Thu Sep 16 14:50:42 2010 URABE Shyouhei * test/ruby/test_file_exhaustive.rb (TestFileExhaustive::test_expand_path): ENV["HOME"] might not be set. On those cases without it an exception raises here, which effectively disables later tests on this method. Thu Sep 16 08:30:28 2010 Nobuyoshi Nakada * sprintf.c (rb_f_sprintf): fix rdoc. pointed out by Tomoyuki Chikanaga at [ruby-core:32395], and a patch from Daniel Bovensiepen at [ruby-core:32403]. Thu Sep 16 08:27:36 2010 Nobuyoshi Nakada * ext/etc/extconf.rb: use expanded sysconfdir with empty DESTDIR. [ruby-core:32394] Thu Sep 16 06:07:24 2010 Tanaka Akira * ext/pathname/pathname.c (path_rmdir): Pathname#rmdir translated from pathname.rb. Thu Sep 16 00:36:25 2010 NARUSE, Yui * ext/readline/extconf.rb: Remove Readline 6 check because Ruby's license is now GPLv3 compatible. [ruby-core:28736] Thu Sep 16 00:26:00 2010 NARUSE, Yui * COPYING: change Ruby's License from a dual license with GPLv2 to a dual license with 2-clause BSDL. [ruby-dev:42166] [ruby-core:31971] [ruby-dev:39167] [ruby-core:25272] * COPYING.ja: ditto. * BSDL: added. this is from The FreeBSD License. Wed Sep 15 21:07:06 2010 Tanaka Akira * ext/pathname/pathname.c (path_mkdir): Pathname#mkdir translated from pathname.rb. Wed Sep 15 13:37:00 2010 URABE Shyouhei * test/net/imap/test_imap.rb: "localhost" not guaranteed to resolve to "127.0.0.1". On my machine it is "::1" instead. The problem is, you have to connect to the imaps server via the canonical name written in a server certificate, and that of the server.cert is "localhost". So you have to listen to the address of what "localhost" resolves to. I think this situation cannot be resolved in a handy manner because the test "test_imaps_post_connection_check" is actually expecting to connect to a server via an address other than the CN. On my machine several assertions won't pass because the test cannot connect to the server. Wed Sep 15 09:12:03 2010 Nobuyoshi Nakada * io.c (rb_io_puts): fix for wide char encoding strings. [ruby-dev:42212] Wed Sep 15 07:27:52 2010 Nobuyoshi Nakada * string.c (rb_str_format_m): mentioned about Hash argument. a patch from Daniel Bovensiepen at [ruby-core:32386]. * sprintf.c (get_hash): ditto, and fix typo. Wed Sep 15 07:22:20 2010 Tanaka Akira * ext/pathname/pathname.c (path_entries): Pathname#entries translated from pathname.rb. Wed Sep 15 02:13:44 2010 Aaron Patterson * ext/fiddle/closure.c : Don't use FFI closure alloc on OpenBSD. Thanks Jeremy Evans! [ruby-core:32384] Tue Sep 14 20:17:48 2010 Tanaka Akira * ext/pathname/pathname.c (path_s_getwd): Pathname.getwd and Pathname.pwd translated from pathname.rb. Tue Sep 14 05:13:04 2010 Tanaka Akira * ext/pathname/pathname.c (path_s_glob): Pathname.glob translated from pathname.rb. Tue Sep 14 01:24:51 2010 Yutaka Kanemoto * ext/socket/raddrinfo.c (ruby_getaddrinfo__aix): suppress a warning. Mon Sep 13 20:48:30 2010 Tanaka Akira * ext/pathname/pathname.c (path_zero_p): Pathname#zero? translated from pathname.rb. Mon Sep 13 19:56:50 2010 Nobuyoshi Nakada * ext/socket/rubysocket.h (__DARWIN_ALIGNBYTES): workaround of a bug in system header of darwin 9. [ruby-core:32341] Mon Sep 13 18:11:55 2010 Nobuyoshi Nakada * lib/mkmf.rb (try_do): fix typo. a patch from Peter Weldon at [ruby-core:32327]. Mon Sep 13 10:12:09 2010 NARUSE, Yui * util.c (ruby_strtod): reject Float('0x0.'). [ruby-dev:42239] Bug #3820 Mon Sep 13 09:23:58 2010 NARUSE, Yui * ext/openssl/ossl_bn.c (ossl_bn_is_prime): fix comparison with rb_scan_args. Before this fix, OpenSSL::BN#prime? is fully broken. [ruby-dev:42225] Mon Sep 13 06:45:24 2010 Tanaka Akira * ext/pathname/pathname.c (path_writable_real_p): Pathname#writable_real? translated from pathname.rb. Sun Sep 12 21:21:50 2010 Tadayoshi Funaba * lib/date.rb: [ruby-core:32096] Thanks Colin Bartlett. Sun Sep 12 19:30:27 2010 Tanaka Akira * ext/pathname/pathname.c (path_world_writable_p): Pathname#world_writable? translated from pathname.rb. Sun Sep 12 09:16:06 2010 Tanaka Akira * ext/pathname/pathname.c (path_writable_p): Pathname#writable? translated from pathname.rb. Sun Sep 12 08:36:15 2010 Tanaka Akira * process.c (rlimit_resource_name2int): support more limits: RLIMIT_MSGQUEUE, RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_RTTIME and RLIMIT_SIGPENDING. (Init_process): ditto. patch by Run Paint Run Run. [ruby-core:32262] Sun Sep 12 04:27:13 2010 Tanaka Akira * process.c (rlimit_resource_name2int): use STRCASECMP to avoid ALLOCA_N. Sat Sep 11 16:47:41 2010 Nobuyoshi Nakada * hash.c (ruby_setenv): raise if putenv and SetEnvironmentVariable failed, because of the restriction of the size on Windows. based on a patch from Peter Weldon at [ruby-core:32304]. fix: Bug#3812, [ruby-core:32250] Sat Sep 11 15:19:57 2010 Eric Hodel * lib/webrick/httpauth/digestauth.rb (WEBrick::Config::DigestAuth): Add documentation * lib/webrick/config.rb (WEBrick::Config::DigestAuth): Add documentation Sat Sep 11 12:32:05 2010 Nobuyoshi Nakada * include/ruby/intern.h (rb_set_kcode, rb_get_kcode): removed zombie prototype declarations. a patch from Eric Hodel at [ruby-core:32305]. Sat Sep 11 06:53:12 2010 Tanaka Akira * ext/pathname/pathname.c (path_symlink_p): Pathname#symlink? translated from pathname.rb. Fri Sep 10 23:03:43 2010 Tanaka Akira * ext/pathname/pathname.c (path_sticky_p): Pathname#sticky? translated from pathname.rb. Fri Sep 10 19:11:13 2010 NAKAMURA, Hiroshi * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#continue): add method for generating HTTP/1.1 100 continue response if the client expects it, otherwise does nothing. Patch by Brian Candler. ref #855. * test/webrick/test_httprequest.rb: test added. Fri Sep 10 17:49:34 2010 NAKAMURA, Hiroshi * ext/openssl/lib/openssl/x509-internal.rb: removed unused local variable. * test/openssl/*: less warnings while test running with -w. Fri Sep 10 16:49:20 2010 Akinori MUSHA * class.c (rb_scan_args): Add support for optional keyword argument hash. [ruby-dev:42221] [ruby-dev:38048] * README.EXT, README.EXT.ja: Update documentation accordingly. * dir.c (dir_initialize): Make use of the new rb_scan_args() feature. * io.c (rb_io_s_popen, rb_scan_open_args, rb_io_initialize) (rb_io_s_pipe, open_key_args, io_s_foreach, io_s_readlines) (rb_io_s_read, rb_io_set_encoding): Ditto. * transcode.c (str_transcode, econv_args) (econv_primitive_convert): Ditto. * ext/zlib/zlib.c (rb_gzreader_initialize): Ditto. Fri Sep 10 10:33:18 2010 NARUSE, Yui * random.c (rb_genrand_ulong_limited): renamed from rb_rand_internal and now this is public API. * include/ruby/ruby.h (rb_genrand_ulong_limited): added. * bignum.c (big_sparse_p): use rb_genrand_ulong_limited. Fri Sep 10 13:07:22 2010 NAKAMURA, Hiroshi * ext/digest/lib/digest.rb: removed unused exception variable assignment to avoid a warning. Fri Sep 10 07:29:14 2010 Nobuyoshi Nakada * ext/etc/etc.c (etc_systmpdir): assume system default tmpdir safe. [ruby-dev:42089] Fri Sep 10 07:03:23 2010 Tanaka Akira * ext/pathname/pathname.c (path_size_p): Pathname#size? translated from pathname.rb. Fri Sep 10 02:15:29 2010 Tanaka Akira * ext/socket/option.c (inspect_peercred): support OpenBSD-current. patch by Jeremy Evans. [ruby-core:32240] Thu Sep 9 23:25:53 2010 Nobuyoshi Nakada * vm.c (vm_backtrace_each): skip allocator frames which have no name. [ruby-core:32231] Thu Sep 9 22:39:08 2010 Tanaka Akira * ext/pathname/pathname.c (path_size): Pathname#size translated from pathname.rb. Thu Sep 9 22:34:48 2010 wanabe * compile.c (case_when_optimizable_literal): When float value can be treated as integer, add to table hash of case that way. based on a patch from Ikuo KOBORI. [ruby-dev:42038] * insns.def (opt_case_dispatch): ditto. * test/ruby/test_case.rb: add tests. Thu Sep 9 17:15:15 2010 NAKAMURA, Hiroshi * test/net/http/test_https.rb (test_identity_verify_failure): follows the SSL hostname check error message of openssl. Thu Sep 9 10:44:46 2010 NARUSE, Yui * test/ruby/test_env.rb (test_aset): OpenBSD acts like NetBSD in that it ignores characters after = in ENV. patched by Jeremy Evans [ruby-core:32184] Thu Sep 9 09:02:01 2010 NARUSE, Yui * tool/rbinstall.rb (install?): gemspec filename should include its version. patched by Luis Lavena [ruby-core:32165] Wed Sep 8 22:46:31 2010 NAKAMURA, Hiroshi * ext/openssl/ossl_ssl.c (ssl_get_error): Thread context switch was blocked on Windows while blocking call for SSLSocket. Need to convert errno for letting rb_io_wait_readable detect EWOULDBLOCK. Patch by arton. ref #3794. Wed Sep 8 20:56:57 2010 Tanaka Akira * ext/pathname/pathname.c (path_setgid_p): Pathname#setgid? translated from pathname.rb. Wed Sep 8 06:25:41 2010 Tanaka Akira * ext/pathname/pathname.c (path_setuid_p): Pathname#setuid? translated from pathname.rb. Tue Sep 7 21:03:35 2010 Tanaka Akira * ext/pathname/pathname.c (path_readable_real_p): Pathname#readable_real? translated from pathname.rb. Mon Sep 6 23:07:25 2010 Tanaka Akira * ext/pathname/pathname.c (path_world_readable_p): Pathname#world_readable? translated from pathname.rb. Mon Sep 6 11:03:13 2010 NAKAMURA, Hiroshi * Fixed wrong check of missing functions. Patch by Adrian Quark. ref #3400 The patch contains following comment: This patch should avoid unnecessary incompatibility with future versions of Openssl. Changes suggested by bmaher_at_amazon.com. Mon Sep 6 10:46:55 2010 NAKAMURA, Hiroshi * Fixed exception message for SSL post connection check failure. Patch by Paul Betteridge. ref [Bug #3704] Mon Sep 6 10:31:59 2010 NARUSE, Yui * ext/readline/readline.c (readline_s_get_line_buffer): Readline.line_buffer should return locale string. [ruby-dev:42184] #3791 Mon Sep 6 09:47:24 2010 NARUSE, Yui * util.c (ruby_strtod): check there is at least 1 digit after "0x" before ".". [ruby-dev:42183] #3790 Mon Sep 6 09:44:50 2010 NARUSE, Yui * util.c (ruby_strtod): check integer overflow. [ruby-dev:42180] #3789 Mon Sep 6 06:17:21 2010 Tanaka Akira * ext/pathname/pathname.c (path_readable_p): Pathname#readable? translated from pathname.rb. Sun Sep 5 23:02:34 2010 Tanaka Akira * ext/pathname/pathname.c (path_owned_p): Pathname#owned? translated from pathname.rb. Sat Sep 4 23:48:47 2010 Nobuyoshi Nakada * file.c (rb_file_s_readlink): symlink target should be in filesystem encoding. Sat Sep 4 10:40:50 2010 Nobuyoshi Nakada * load.c (ruby_init_ext): export for golfers. * vm_core.h (rb_iseq_eval, rb_iseq_compile_with_option): ditto. Sun May 23 17:29:41 2010 Yuki Sonoda (Yugui) * common.mk (capi): uses a timestamp file to get rid of generating twice. Fri Jun 18 01:33:21 2010 Yuki Sonoda (Yugui) * enc/Makefile.in (realclean): has been missing. necessary for make realclean-enc. Fri Sep 3 23:51:26 2010 Tanaka Akira * ext/pathname/pathname.c (path_socket_p): Pathname#socket? translated from pathname.rb. Fri Sep 3 06:40:44 2010 Nobuyoshi Nakada * ext/pty/pty.c (chfunc): pass through exceptions. * io.c (rb_io_bufwrite, rb_io_bufread): added. * process.c (rb_fork_err): protect from exceptions. Fri Sep 3 06:16:07 2010 Tanaka Akira * ext/pathname/pathname.c (path_pipe_p): Pathname#pipe? translated from pathname.rb. Fri Sep 3 06:14:40 2010 Nobuyoshi Nakada * ext/pty/pty.c (chfunc): restore errno from SystemCallError and propagate proper exception to the parent. [ruby-dev:41965] Thu Sep 2 22:10:38 2010 Tanaka Akira * ext/pathname/pathname.c (path_file_p): Pathname#file? translated from pathname.rb. Thu Sep 2 09:12:02 2010 NAKAMURA Usaku * win32/win32.c (rb_w32_spawn, rb_w32_aspawn): don't forget to free memory. Thu Sep 2 09:01:13 2010 NAKAMURA Usaku * win32/win32.c (CreateChild): unicodize. * win32/win32.c (rb_w32_spawn, rb_w32_aspawn): convert arguments of CreateChild() from ACP to WideChar. Thu Sep 2 06:53:43 2010 Tanaka Akira * ext/pathname/pathname.c (path_directory_p): Pathname#directory? translated from pathname.rb. Wed Sep 1 22:03:41 2010 Tanaka Akira * ext/pathname/pathname.c (path_grpowned_p): Pathname#grpowned? translated from pathname.rb. Wed Sep 1 17:39:02 2010 Ryan Davis * lib/minitest/*.rb: Imported minitest 1.7.1 r5835. * test/minitest/*.rb: ditto. Wed Sep 1 16:50:42 2010 NARUSE, Yui * string.c (tr_setup_table): optimized. don't create hash objects when given pattern is ASCII only. * string.c (tr_find): ditto. Wed Sep 1 14:35:29 2010 NARUSE, Yui * array.c (rb_ary_rotate_m): fix typo of rdoc. patched by Andrei Kulakov [ruby-core:31975] Wed Sep 1 14:33:36 2010 NARUSE, Yui * enum.c (enum_zip): fix typo of rdoc. patched by Andrei Kulakov [ruby-core:31974] Wed Sep 1 12:56:36 2010 Nobuyoshi Nakada * thread.c (ruby_suppress_tracing): restore the state and invoke the func with normal state. a patch from Satoshi Shiba at [ruby-dev:42162]. [ruby-core:31783] Tue Aug 31 21:10:23 2010 Tanaka Akira * ext/pathname/pathname.c (path_exist_p): Pathname#exist? translated from pathname.rb. Tue Aug 31 17:32:34 2010 Hidetoshi NAGAI * ext/tk/stubs.c: fix [Bug #3771] "VC++ can't make ext/tk with enabling stubs". Thanks, Akio Tajima [ruby-dev:42159]. Tue Aug 31 03:42:14 2010 NARUSE, Yui * string.c (tr_setup_table): fix bug in r29146. Initialize table even if cflag is 0; tr_find see whether del is empty or not. * string.c (tr_find): nodel can't be NULL; if NULL, it means it is not specified. Mon Aug 30 21:29:21 2010 Tanaka Akira * ext/pathname/pathname.c (path_executable_real_p): Pathname#executable_real? translated from pathname.rb. Mon Aug 30 15:00:13 2010 NARUSE, Yui * string.c (tr_setup_table): initialize negating table when negating string is given. [ruby-core:31851] * string.c (tr_find): add a sentence for the time when target characters include negating one. * string.c (rb_str_count): move definition. Mon Aug 30 07:32:41 2010 Tanaka Akira * ext/pathname/pathname.c (path_executable_p): Pathname#executable? translated from pathname.rb. Sun Aug 29 23:54:10 2010 Nobuyoshi Nakada * lib/rdoc/parser/ruby.rb (RDoc#parse_call_parameters): don't include assignment. [Bug #3759], [ruby-dev:42154] * lib/rdoc/parser/ruby.rb (RDoc#parse_class): ignore non-constant name singleton class. [Bug #3759], [ruby-dev:42154] Sun Aug 29 23:25:18 2010 Nobuyoshi Nakada * file.c (rb_get_path_check): clarify error message for ASCII-incompatible path name. Sun Aug 29 16:02:54 2010 NARUSE, Yui * common.mk (node_name.inc): remove command option -n and give file as stdin, because IronRuby 1.1 still doesn't support it. So now we can use ir.exe as BASERUBY. * tool/node_name.rb: read stdin with while gets. Sun Aug 29 13:22:43 2010 Nobuyoshi Nakada * vm.c (rb_thread_method_id_and_class): curried proc has no method. [ruby-core:31871] Sun Aug 29 12:51:33 2010 Nobuyoshi Nakada * load.c (rb_provide_feature): clarify error message for frozen $LOADED_FEATURES. based on a patch from Run Paint Run Run at [ruby-core:31913]. Sun Aug 29 12:19:58 2010 Nobuyoshi Nakada * load.c (load_failed): should honor encoding. [ruby-core:31915] Sun Aug 29 09:35:10 2010 NARUSE, Yui * common.mk (clean): exclude *.inc. [ruby-dev:41931] * common.mk (distclean): include *.inc. * common.mk (help): change description about clean and distclean. Sat Aug 29 06:34:52 2010 Tanaka Akira * ext/pathname/pathname.c (path_chardev_p): Pathname#chardev? translated from pathname.rb. Sat Aug 28 17:39:33 2010 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigDecimal_save_exception_mode, BigDecimal_save_rounding_mode, BigDecimal_save_limit): added. * test/bigdecimal/test_bigdecimal.rb: added tests for the above features. Sat Aug 28 08:11:05 2010 Tanaka Akira * ext/pathname/pathname.c (path_blockdev_p): Pathname#blockdev? translated from pathname.rb. Fri Aug 27 16:20:01 2010 URABE Shyouhei * string.c (rb_str_prepend): new method by Shota Fukumori (sora_h) [Feature #3765] Fri Aug 27 15:24:20 2010 NAKAMURA Usaku * math.c (math_atan2): you should know that M_PI is not the feature of C90. fixed build failure caused by r29115. Fri Aug 27 15:26:33 2010 Nobuyoshi Nakada * file.c (null_device): move from io.c. Fri Aug 27 12:47:44 2010 Kenta Murata * math.c (math_atan2): change the behavior when x and y are zero. [ruby-dev:42090] [Bug #3736] [ruby-dev:42116] * test/ruby/test_math.rb (test_atan2): add tests for the above changes. Fri Aug 27 12:26:23 2010 NAKAMURA Usaku * object.c (rb_obj_class): remove mention of obsolete method. a patch from Run Paint Run Run at [ruby-core:31842]. Fri Aug 27 12:25:03 2010 Nobuyoshi Nakada * io.c (null_device): the name of null device. [ruby-dev:41791] Fri Aug 27 07:57:34 2010 Nobuyoshi Nakada * array.c (rb_ary_shuffle_bang): bail out from modification during shuffle. * array.c (rb_ary_sample): ditto. Fri Aug 27 05:11:51 2010 Tanaka Akira * ext/pathname/pathname.c (path_sysopen): Pathname#sysopen translated from pathname.rb. Thu Aug 26 22:53:56 2010 Nobuyoshi Nakada * array.c (rb_ary_shuffle): rdoc fix. argument name was missing. a patch from Run Paint Run Run at [ruby-core:31848]. Thu Aug 26 21:49:46 2010 Tanaka Akira * ext/pathname/pathname.c (path_readlines): Pathname#readlines translated from pathname.rb. Thu Aug 26 10:37:00 2010 NARUSE, Yui * regint.h (OnigStackIndex): the type should be intptr_t. Original Oniguruma assumes the size of long and that of void * are equal, but it's not true on LLP64 platform: mswin64. originally patched by shintaro kuwamoto [ruby-dev:42133] Thu Aug 26 10:38:11 2010 Yutaka Kanemoto * test/dl/test_base.rb: AIX does not have dynamically loadable lib[cm]. * test/fiddle/helper.rb: AIX does not have dynamically loadable lib[cm]. Thu Aug 26 09:49:50 2010 Nobuyoshi Nakada * array.c (rb_ary_shuffle_bang): check number of argument. Tue Aug 26 09:11:40 2010 Kenta Murata * ext/bigdecimal/bigdecimal.c (Init_bigdecimal, rmpd_set_thread_local_exception_mode, VpGetException, VpSetException): thread-local exception mode. * ext/bigdecimal/bigdecimal.c (Init_bigdecimal, rmpd_set_thread_local_precision_limit, VpGetPrecLimit, VpSetPrecLimit): thread-local precision limit. * ext/bigdecimal/bigdecimal.c (Init_bigdecimal, rmpd_set_thread_local_rounding_mode, VpGetRoundMode, VpSetRoundMode, VpException, VpInternalRound): thread-local rounding mode. * ext/bigdecimal/bigdecimal.c (BigDecimal_mode, BigDecimal_round, VpIsRoundMode, VpGetRoundMode, VpSetRoundMode, VpActiveRound, VpMidRound, VpLeftRound), ext/bigdecimal/bigdecimal.h: use unsigned short for rounding mode. * test/bigdecimal/test_bigdecimal.rb (test_mode): add test for setting rounding mode. * test/bigdecimal/test_bigdecimal.rb (test_thread_local_mode): add test for setting mode thread-locally. Thu Aug 26 07:29:54 2010 Nobuyoshi Nakada * array.c (rb_ary_{shuffle_bang,sample}): use Random class object. * random.c (try_get_rnd): use default_rand for Random as same as singleton methods. * random.c (rb_random_real): check the range of result. Wed Aug 25 22:11:11 2010 Tanaka Akira * ext/pathname/pathname.c (path_binread): Pathname#binread translated from pathname.rb. Wed Aug 25 03:42:43 2010 NAKAMURA Usaku * ext/dl/cfunc.c (rb_dlcfunc_call): workaround for VC9 for x64. reported by kuwamoto shintaro in [ruby-dev:42125]. Tue Aug 24 23:28:50 2010 Yusuke Endoh * .gitignore: updated. Tue Aug 24 22:07:28 2010 Tanaka Akira * ext/pathname/pathname.c (path_read): Pathname#read translated from pathname.rb. Tue Aug 24 10:11:04 2010 Nobuyoshi Nakada * configure.in: read API version from include/ruby/version.h. * {bcc,win}32/setup.mak (-version-): ditto. * version.h (RUBY_LIB_VERSION): use API version numbers. Tue Aug 24 07:07:28 2010 Nobuyoshi Nakada * array.c (rb_ary_shuffle_bang, rb_ary_sample): add optional argument random. [ruby-dev:41923] [EXPERIMENTAL] * random.c (rb_random_{int32,real,bytes}): fallback to normal method invocation. Tue Aug 24 06:08:10 2010 Nobuyoshi Nakada * include/ruby/version.h (RUBY_API_VERSION_*): renamed and moved from version.h. [ruby-dev:42103] Tue Aug 24 05:58:18 2010 Nobuyoshi Nakada * ChangeLog: flushed. [ruby-dev:42050] Tue Aug 24 01:14:58 2010 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): to_f must underflow when the exponent is less than DBL_MIN_10_EXP - BASE_FIG. * test/bigdecimal/test_bigdecimal.rb (test_to_f): added test for the above changes. Mon Aug 23 23:14:21 2010 Tanaka Akira * ext/pathname/pathname.c (path_each_line): Pathname#each_line translated from pathname.rb. Mon Aug 23 22:30:58 2010 Nobuyoshi Nakada * common.mk (version.o): depends on both of version.h and include/ruby/version.h. [ruby-dev:42063] Mon Aug 23 13:09:27 2010 NAKAMURA, Hiroshi * backport r29071 from ruby_1_8; * ext/openssl/ossl_asn1.c (obj_to_asn1bool): fixed ASN1::Boolean encoding issue for OpenSSL 1.0.0 compatibility. ASN1::Boolean.new(false).to_der wrongly generated "\1\1\377" which means 'true'. ASN1_TYPE_set of OpenSSL <= 0.9.8 treats value 0x100 as 'false' but OpenSSL >= 1.0.0 treats it as 'true'. ruby-ossl was using 0x100 for 'false' for backward compatibility. Just use 0x0 for the case OpenSSL >= OpenSSL 0.9.7. * test/openssl/test_asn1.rb: test added. Mon Aug 23 12:28:58 2010 NARUSE, Yui * re.c (rb_reg_search): fix: 4th argument should be regexp object. patched by shintaro kuwamoto [ruby-dev:41667] #3459 Mon Aug 23 02:23:05 2010 NARUSE, Yui * util.c (ruby_strtod): make sure to have digit-sequence after 'p' for hexadecimal-floating-constant. [ruby-dev:42105] Mon Aug 23 00:23:07 2010 Tadayoshi Funaba * lib/date.rb, lib/date/format.rb: [ruby-core:31695] Sun Aug 22 09:08:02 2010 Tanaka Akira * include/ruby/ruby.h (UINT2NUM): fix ifdef condition for LLP64. reported by Daniel Gutmanas. [ruby-core:31778] Sun Aug 22 06:46:21 2010 Nobuyoshi Nakada * array.c (RAND_UPTO): macro for random number. Sun Aug 22 05:55:01 2010 Nobuyoshi Nakada * configure.in: fix typo. a patch from Eric Wong at [ruby-core:31810]. Sat Aug 21 20:09:43 2010 NARUSE, Yui * vm.c: add missing prototype of rb_iseq_clone for r29063. Sat Aug 21 18:54:56 2010 wanabe * vm.c (vm_define_method): copy iseq to avoid overwriting iseq->klass. #2502, #3136. see #2420. Sat Aug 21 17:36:42 2010 Tanaka Akira * ext/pathname/pathname.c (path_split): Pathname#split translated from pathname.rb. Fri Aug 20 10:40:04 2010 Tanaka Akira * ext/pathname/pathname.c (path_expand_path): Pathname#expand_path translated from pathname.rb. Thu Aug 19 22:44:56 2010 Nobuyoshi Nakada * tool/make-snapshot (usage): add usage. * tool/make-snapshot (package): accept revision as BRANCH@REV. Thu Aug 19 19:53:26 2010 Tanaka Akira * ext/socket/ancdata.c (ancillary_timestamp): fix a constant type. * ext/socket/raddrinfo.c (get_afamily): suppress a warning. Thu Aug 19 19:28:47 2010 Tanaka Akira * thread_pthread.c (native_sleep): suppress a warning for platforms which time_t is int. Thu Aug 19 18:15:50 2010 NARUSE, Yui * tool/merger.rb: Add a tool to merge commits between branches. developed by URABE Shyouhei Thu Aug 19 17:19:09 2010 NAKAMURA, Hiroshi * backport r28621 and r28632 from ruby_1_8; * ext/openssl/ossl_config.c, ext/openssl/lib/openssl/config.rb, ext/openssl/lib/openssl.rb: reimplement OpenSSL::Config in Ruby. Now it should work on windows. * test/openssl/test_config.rb: added tests for OpenSSL::Config#dup. * test/openssl/test_config.rb: added tests for Config#clone. Thu Aug 19 12:04:39 2010 Kenta Murata * array.c (rb_ary_permutation, rb_ary_repeated_permutation, rb_ary_repeated_combination, rb_ary_product): use ary_make_shared_copy instead of ary_make_substitution. [ruby-dev:42067] [Bug #3708] * test/ruby/test_array.rb (test_product, test_repeated_permutation, test_repeated_combination): append assertions against [Bug #3708]. Thu Aug 19 11:11:24 2010 NARUSE, Yui * enum.c (enum_inject): fix typo of rdoc. patched by Andrei Kulakov [ruby-core:31768] Thu Aug 19 10:06:08 2010 Tanaka Akira * ext/pathname/pathname.c (path_extname): Pathname#extname translated from pathname.rb. Thu Aug 19 06:03:27 2010 Nobuyoshi Nakada * vm_insnhelper.c (vm_push_frame): initialize block_iseq. a patch from Peter Weldon at [ruby-core:31757]. Wed Aug 18 19:08:17 2010 Kenta Murata * array.c (ary_make_shared): revert r29037, it occurs SEGV some situations. Wed Aug 18 18:36:32 2010 Kenta Murata * array.c (ary_make_shared), test/ruby/test_array.rb (test_permutation): always return the original array when it is shared. [ruby-dev:42067] [Bug #3708] Wed Aug 18 01:37:49 2010 NARUSE, Yui * regcomp.c: revert r26701; it introduces Bug #3681. [ruby-core:31677] Tue Aug 17 20:05:29 2010 Tanaka Akira * test/ruby/test_io.rb (test_threaded_flush): test "hi" is not output twice. Tue Aug 17 15:13:28 2010 NARUSE, Yui * lib/date.rb: Re-revert the part of r28950. It reverted the part of r28619. Tue Aug 17 13:00:07 2010 Tanaka Akira * ext/pathname/pathname.c (path_dirname): Pathname#dirname translated from pathname.rb. Tue Aug 17 07:50:37 2010 Nobuyoshi Nakada * ext/readline/extconf.rb: check functions more. [ruby-core:31722] Tue Aug 17 07:42:43 2010 Nobuyoshi Nakada * string.c (str_make_independent_expand): set capacity properly. a patch from Peter Weldon at [ruby-core:31734]. [ruby-core:31653] Tue Aug 17 07:38:43 2010 Nobuyoshi Nakada * gem_prelude.rb, lib/rubygems.rb (Gem.suffixes): include empty suffix. [ruby-core:31730] Mon Aug 16 22:16:12 2010 Tanaka Akira * ext/pathname/pathname.c (path_basename): unused variable removed. Mon Aug 16 21:39:33 2010 Tanaka Akira * ext/pathname/pathname.c (path_basename): Pathname#basename translated from pathname.rb. Mon Aug 16 20:26:13 2010 Narihiro Nakamura * gc.c (gc_profile_result): Index begins with 1. Mon Aug 16 20:21:17 2010 Narihiro Nakamura * gc.c (gc_profile_result): use size_t. based on patches from Tomoaki NISHIYAMA at [ruby-dev:42042]. Mon Aug 16 19:23:19 2010 Nobuyoshi Nakada * util.c (ruby_dtoa, ruby_hdtoa): use same representations for Infinity and NaN. a part of a patch from Peter Weldon at [ruby-core:31725]. * util.c (ruby_hdtoa): fixed buffer overrun. based on a patch from Peter Weldon at [ruby-core:31725]. Mon Aug 16 17:44:55 2010 Tanaka Akira * common.mk (capi): use -b option for doxygen. It disables stdout buffering and prevents wrong reordering between stdout and stderr even when the output of "make" is redirected. Sun Aug 15 19:59:58 2010 Yuki Sonoda (Yugui) * lib/webrick/httpresponse.rb (WEBrick::HTTPResponse#set_error): Fix for possible cross-site scripting (CVE-2010-0541). Found by Apple, reported by Hideki Yamane. Patch by Hirokazu Nishio . Mon Aug 16 12:29:06 2010 Nobuyoshi Nakada * Makefile.in, win32/Makefile.sub (test-rubyspec-precheck): split from test-rubyspec. * common.mk (test-rubyspec): moved from Makefile.in. Mon Aug 16 10:00:45 2010 NAKAMURA Usaku * ext/bigdecimal/bigdecimal.h (llabs): never never never never never use "long long". * ext/bigdecimal.bigdecimal.c (BigDecimal_to_i): get rid of a warning. Sun Aug 15 18:14:20 2010 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigDecimal_dump, BigDecimal_inspect, VPrint, VpToString, VpVarCheck): use PRIuSIZE, PRIdSIZE, PRIdVALUE, and PRIxVALUE. Sun Aug 15 16:14:31 2010 NAKAMURA Usaku * lib/mkmf.rb (Logging.postpone): close @log only when it's available. Sun Aug 15 13:30:35 2010 Kenta Murata * ext/bigdecimal/bigdecimal.h (VpVtoD): fix a type of e. * ext/bigdecimal/bigdecimal.c (BigDecimal_dump, BigDecimal_inspect): fix format for size_t. Sun Aug 15 00:22:00 2010 Kenta Murata * ext/bigdecimal/extconf.rb, ext/bigdecimal/bigdecimal.h (labs, llabs): support environments missing labs and llabs. * ext/bigdecimal/bigdecimal.h (vabs): added. * ext/bigdecimal/extconf.rb, ext/bigdecimal/bigdecimal.h, ext/bigdecimal/bigdecimal.c, test/bigdecimal/test_bigdecimal.rb (TestBigDecimal#test_new): replace U_LONG, S_LONG, S_INT, and U_INT with appropriate standard or ruby-provided types. Sun Aug 15 00:15:45 2010 Tanaka Akira * ext/pathname/pathname.c (path_utime): Pathname#utime translated from pathname.rb. Sat Aug 14 21:04:28 2010 Nobuyoshi Nakada * thread.c (rb_gc_mark_threads): deprecated. Sat Aug 14 19:12:10 2010 Nobuyoshi Nakada * ext/{coverage,objspace}/extconf.rb ($INCFLAGS): explicitly add topdir and top_srcdir. [ruby-dev:42031] Sat Aug 14 17:48:41 2010 Narihiro Nakamura * test/objspace/test_objspace.rb: added test for objspace. * ext/objspace/objspace.c: considers T_ZOMBIE by lazy sweep GC. * gc.c: considers that dsize was 0. [ruby-dev:42022] Sat Aug 14 15:33:02 2010 Nobuyoshi Nakada * configure.in, include/ruby/defines.h (RUBY_FUNC_EXPORTED): macro to declare exported function. * array.c (rb_ary_memsize), string.c (rb_str_memsize), variable.c (rb_objspace_data_type_memsize): used in objspace. [ruby-dev:42022] * io.c (rb_io_memsize): constified. * regcomp.c (onig_memsize): constified. * gc.h (rb_objspace_each_objects): used in objspace. * vm_core.h (rb_{get,set,reset}_coverages): used in coverage. * include/ruby/intern.h (rb_time_interval): used in io/wait. * include/ruby/intern.h (rb_make_backtrace, rb_make_exception): used in ripper. * node.h (rb_parser_{malloc,realloc,calloc,free}): ditto. Fri Aug 13 22:48:39 2010 Tanaka Akira * ext/pathname/pathname.c (path_truncate): Pathname#truncate translated from pathname.rb. Fri Aug 13 16:11:36 2010 Nobuyoshi Nakada * lib/test/unit.rb (MiniTest::Unit.new): extend before initialize. [ruby-dev:41970] * lib/test/unit.rb (MiniTest::Unit.autorun): use Test::Unit::Mini. Thu Aug 12 23:39:02 2010 Tanaka Akira * ext/pathname/pathname.c (path_make_symlink): Pathname#make_symlink translated from pathname.rb. Thu Aug 12 21:18:27 2010 Tanaka Akira * ext/pathname/pathname.c (path_lstat): Pathname#lstat translated from pathname.rb. Thu Aug 12 05:58:09 2010 Nobuyoshi Nakada * include/ruby/encoding.h (rb_char_to_option_kcode): used in ripper. * node.h (rb_reserved_word): ditto. Thu Aug 12 00:19:53 2010 Tanaka Akira * test/ruby/test_rubyoptions.rb (test_script_from_stdin): disable echo. [ruby-dev:41966] Wed Aug 11 23:28:22 2010 Kenta Murata * lib/cmath.rb (CMath.sqrt): use floating-point value. [ruby-core:31672] [Bug #3678] * test/test_cmath.rb: added for testing lib/cmath.rb. Wed Aug 11 20:57:25 2010 Kazuhiro NISHIYAMA * NEWS: merge from branches/ruby_1_9_2, and move io/console. [ruby-dev:41924] Wed Aug 11 11:01:15 2010 Kenta Murata * ext/bigdecimal/bigdecimal.c: don't use // comment. Wed Aug 11 06:18:20 2010 Tanaka Akira * ext/pathname/pathname.c (path_stat): Pathname#stat translated from pathname.rb. Tue Aug 10 21:18:04 2010 Tadayoshi Funaba * complex.c (nucomp_to_[ifr]): don't allow complex with in-exact imaginary zero to be converted. Tue Aug 10 20:56:31 2010 Tanaka Akira * lib/optparse.rb: suppress a warning. * test/test_mutex_m.rb: ditto. Tue Aug 10 20:56:13 2010 Tadayoshi Funaba * lib/date/format.rb (Date::Format::Bag): use Struct. as an experimental. Tue Aug 10 20:45:35 2010 Tanaka Akira * ext/pathname/pathname.c (path_rename): Pathname#rename translated from pathname.rb. Tue Aug 10 20:16:19 2010 NAKAMURA Usaku * ext/dl/win32/lib/win32/resolv.rb (get_info): get rid of a warning. Tue Aug 10 19:56:13 2010 Tadayoshi Funaba * lib/date/format.rb: [ruby-core:31658] Tue Aug 10 17:24:56 2010 NAKAMURA Usaku * README.EXT.ja: rb_tainted_str_new_cstr() is an alias of rb_tainted_str_new2(). Tue Aug 10 15:24:30 2010 Kenta Murata * ext/bigdecimal/bigdecimal.c, ext/bigdecimal/bigdecimal.h, ext/bigdecimal/extconf.rb: BASE and BASE_FIG are defined based on the size of BDIGIT. * ext/bigdecimal/bigdecimal.c, ext/bigdecimal/bigdecimal.h: use BDIGIT for Real#frac. Tue Aug 10 15:19:45 2010 Kenta Murata * ext/bigdecimal/bigdecimal.h, ext/bigdecimal/bigdecimal.c: add extern declaration of rb_cBigDecimal. Tue Aug 10 14:09:31 2010 NARUSE, Yui * lib/webrick/httprequest.rb (WEBrick::HTTPRequest::parse_uri): rollup leading slashes. [ruby-core:31657] patched by Jamison Wilde NOTE: //authority/path is valid relative URI both RFC2396 and RFC3986. So when give a relative URI-like string to URI lib, users must care leading slashes. Tue Aug 10 11:26:33 2010 NAKAMURA Usaku * lib/un.rb (httpd): SIGQUIT and SIGHUP are not guaranteed to exist. Tue Aug 10 06:26:48 2010 Tanaka Akira * ext/pathname/pathname.c (path_readlink): Pathname#readlink translated from pathname.rb. Mon Aug 9 22:15:19 2010 Tanaka Akira * ext/pathname/pathname.c (path_open): Pathname#open translated from pathname.rb. Mon Aug 9 22:11:09 2010 Tanaka Akira * test/ruby/test_signal.rb (TestSignal#test_exit_action): use Process.spawn instead of Process.fork. Mon Aug 9 15:59:02 2010 NARUSE, Yui * lib/rubygems/source_index.rb: rename unused variable. * lib/rubygems/specification.rb: rename unused variable. * lib/rubygems/specification.rb: remove unused variable. Mon Aug 9 14:10:06 2010 NARUSE, Yui * ext/nkf/nkf-utf8/nkf.c: Fix type of mimeout_state.buf. [nkf-bug:20079] Mon Aug 9 06:52:59 2010 Nobuyoshi Nakada * dir.c (sys_warning_1): show error message. Mon Aug 9 06:50:28 2010 Nobuyoshi Nakada * test/ruby/test_require.rb (test_require_too_long_filename): clear -w option. Mon Aug 9 00:18:44 2010 Nobuyoshi Nakada * lib/mkmf.rb ($ignore_error): initialize after $nmake. Sun Aug 8 19:16:26 2010 Tanaka Akira * ext/pathname/pathname.c (path_make_link): Pathname#make_link translated from pathname.rb. Sun Aug 8 16:42:48 2010 Nobuyoshi Nakada * lib/rubygems.rb (Gem.find_files): reverted to use globbing. * lib/rubygems.rb (Gem.find_files): fixed search order same as default behavior. * gem_prelude.rb, lib/rubygems.rb (Gem.suffixes): return truly require-able suffixes only. Sun Aug 8 13:20:57 2010 Tanaka Akira * ext/pathname/pathname.c (path_ftype): Pathname#ftype translated from pathname.rb. Sun Aug 8 12:41:19 2010 Nobuyoshi Nakada * parse.y (parser_tokadd_escape): no similar messages twice. [ruby-core:31048] Sun Aug 8 10:07:45 2010 Tanaka Akira * strftime.c (rb_strftime_with_timespec): suppress warnings. Sun Aug 8 08:58:42 2010 Nobuyoshi Nakada * common.mk (RUBY_H_INCLUDES): add subst.h. Sun Aug 8 08:55:37 2010 Nobuyoshi Nakada * include/ruby/ruby.h (ruby_snprintf): printf attribute. Sun Aug 8 07:47:29 2010 Tanaka Akira * lib/rbconfig/obsolete.rb: show the location which use Config. Sun Aug 8 07:29:55 2010 Tanaka Akira * ext/pathname/pathname.c (path_fnmatch): Pathname#fnmatch and Pathname#fnmatch? translated from pathname.rb. Sun Aug 8 07:18:22 2010 Tanaka Akira * include/ruby/subst.h (snprintf): redefinition moved from ruby.h. (vsnprintf): ditto. Sun Aug 8 00:41:42 2010 Tanaka Akira * include/ruby/subst.h: new file for substitute standard functions. * include/ruby/missing.h: don't substitute "close", etc. here. * include/ruby/ruby.h: include ruby/subst.h at last. This prevents substituting "close" in unistd.h. Sat Aug 7 19:51:10 2010 Tanaka Akira * test/ruby/envutil.rb (EnvUtil.invoke_ruby): merge stdout and stderr if capture_stderr is :merge_to_stdout. (assert_normal_exit): print abnormal output properly. Sat Aug 7 19:04:49 2010 Tanaka Akira * missing/close.c: undef the macros "getpeername", "getsockname" and "shutdown" to prevent infinite recursion. Sat Aug 7 18:37:39 2010 Tanaka Akira * missing/close.c: undef the macro "close" to prevent infinite recursion. Sat Aug 7 18:20:41 2010 Tanaka Akira * ext/pathname/pathname.c (path_lchown): Pathname#lchown translated from pathname.rb. Sat Aug 7 17:49:10 2010 Nobuyoshi Nakada * include/ruby/missing.h: moved BROKEN_CLOSE replacements from include/ruby/ruby.h. Sat Aug 7 17:40:24 2010 Nobuyoshi Nakada * mkconfig.rb, lib/rbconfig/obsolete.rb: warn obsolete and deprecated Config. Sat Aug 7 17:18:34 2010 Nobuyoshi Nakada * ext/extmk.rb (extract_makefile): follow the change of install-rb-default line format at r28850, which causes second run to create dummy makefiles. Sat Aug 7 14:08:44 2010 NARUSE, Yui * lib/mkmf.rb: change instance variable to global. Sat Aug 7 13:59:19 2010 Nobuyoshi Nakada * ext/pathname/pathname.c (path_sub_ext): don't clobber shared string. [ruby-core:31640] Sat Aug 7 13:33:25 2010 Nobuyoshi Nakada * vm_eval.c (vm_call0): fix for VM_METHOD_TYPE_NOTIMPLEMENTED. [ruby-dev:41953] Sat Aug 7 09:47:06 2010 Masaki Suketa * ext/win32ole/win32ole.c: fix checking version of GCC. Sat Aug 7 09:31:48 2010 Tanaka Akira * ext/pathname/pathname.c (Init_pathname): fix number of arguments for Pathname#chown. Sat Aug 7 09:28:12 2010 Tanaka Akira * test/ruby/envutil.rb (assert_normal_exit): use assert. fix faildesc. * test/pathname/test_pathname.rb (test_lchmod): test Pathname#lchmod using assert_normal_exit. Sat Aug 7 08:26:26 2010 Tanaka Akira * ext/pathname/pathname.c (path_chown): Pathname#chown translated from pathname.rb. Sat Aug 7 02:09:04 2010 Tanaka Akira * ext/pathname/pathname.c (path_lchmod): Pathname#lchmod translated from pathname.rb. Fri Aug 6 21:30:06 2010 Tanaka Akira * ext/pathname/pathname.c (path_chmod): Pathname#chmod translated from pathname.rb. Fri Aug 6 20:13:42 2010 Nobuyoshi Nakada * rational.c (nurat_div): divided by infinity should be zero. * rational.c (nurat_div): divided by float zero should be infinity. [ruby-core:31626] Fri Aug 6 18:59:23 2010 Nobuyoshi Nakada * file.c (realpath_rec): rb_str_modify depends on the length, so resize instead. Fri Aug 6 18:56:14 2010 Nobuyoshi Nakada * Makefile.in (clean-ext): fixed directories to be removed. Fri Aug 6 17:42:12 2010 NARUSE, Yui * enc/depend: add space at the beginning of @ignore_error. * lib/mkmf.rb: ditto. Fri Aug 6 17:38:33 2010 NARUSE, Yui * common.mk (clean): add prelude.c, config.log, and rbconfig.rb. * common.mk (distclean): remove encdb.h, config.log, and rbconfig.rb. Fri Aug 6 17:35:24 2010 NARUSE, Yui * Makefile.in: ignore error from RMDIRS. * enc/depend: ditto. * lib/mkmf.rb: ditto. Fri Aug 6 05:53:32 2010 Tanaka Akira * ext/pathname/pathname.c (path_mtime): Pathname#mtime translated from pathname.rb. Thu Aug 5 22:09:30 2010 Tanaka Akira * ext/pathname/pathname.c (path_ctime): Pathname#ctime translated from pathname.rb. Thu Aug 5 21:20:31 2010 Yusuke Endoh * compile.c (NODE_ARGSCAT, NODE_ARGSPUSH): drop unused ARGSCAT results when poped is true. [ruby-dev:41933], [Bug #3658] This is retry of r28870 and r28873 which were reverted. Thu Aug 5 20:13:49 2010 Nobuyoshi Nakada * README.EXT, README.EXT.ja (String functions): mention rb_str_resize and rb_str_set_len. Thu Aug 5 19:59:55 2010 Nobuyoshi Nakada * string.c (rb_str_set_len): bail out when buffer overflowed probably. Thu Aug 5 18:36:11 2010 Nobuyoshi Nakada * complex.c (nucomp_marshal_load): should check the argument. [ruby-core:31622] * rational.c (nurat_marshal_load): ditto * marshal.c (w_float): should not append a dot if no fractal part exists. [ruby-dev:41936] Thu Aug 5 17:11:43 2010 Yukihiro Matsumoto * parse.y (void_expr_gen): add 'possibly' to warning message. [ruby-core:31611] Thu Aug 5 16:57:20 2010 Nobuyoshi Nakada * dir.c (glob_make_pattern): fold continuous PLAINs to get rid of snail at too deep path. [ruby-dev:41871] Thu Aug 5 16:42:41 2010 Nobuyoshi Nakada * string.c (rb_str_set_len): should fail to modify shared string. Thu Aug 5 14:12:44 2010 Nobuyoshi Nakada * ruby.c (ruby_init_loadpath_safe): ensure sopath to be modifiable Thu Aug 5 12:39:14 2010 Nobuyoshi Nakada * string.c (str_make_independent_expand): fix buffer overflow while shrinking. Thu Aug 5 06:42:31 2010 Tanaka Akira * file.c (realpath_rec): call rb_str_modify before rb_str_set_len. Wed Aug 4 19:37:00 2010 Nobuyoshi Nakada * string.c (rb_str_set_len): rb_str_modify cannot work before the length is set, which is a precondition for rb_str_modify. Wed Aug 4 15:47:21 2010 NAKAMURA Usaku * lib/mkmf.rb (create_makefile): no need to create the directory at each library file. this change makes making ext faster. Wed Aug 4 06:25:04 2010 Tanaka Akira * ext/pathname/pathname.c (path_atime): Pathname#atime translated from pathname.rb. Tue Aug 3 21:16:03 2010 Nobuyoshi Nakada * random.c (Init_Random): add Random::DEFAULT. Tue Aug 3 21:01:10 2010 Nobuyoshi Nakada * hash.c (rb_check_hash_type): added. Tue Aug 3 20:30:16 2010 Nobuyoshi Nakada * bignum.c (rb_big_eq): never equal to infinity. [ruby-core:31603] * rational.c (nurat_div): hack for integral float divisor. Tue Aug 3 14:42:12 2010 NARUSE, Yui * ext/extmk.rb: remove purelib, fixes a bug in r28440, r28441. * spec/default.mspec: ditto. * template/Doxyfile.tmpl: ditto. Tue Aug 3 14:19:42 2010 NAKAMURA Usaku * lib/rdoc/ri/driver.rb (setup_pager): no need to check the existence of pagers. the following code checks whether they are executable or not. Tue Aug 3 12:03:57 2010 URABE Shyouhei * tool/runruby.rb: no purelib. Tue Aug 3 07:52:20 2010 Nobuyoshi Nakada * ext/purelib.rb: no longer used since the default load path of miniruby is empty. Tue Aug 3 00:53:47 2010 Nobuyoshi Nakada * insns.def, vm_core.h: fixed typo. reported by Rocky Bernstein at [ruby-core:31596]. Mon Aug 2 21:51:16 2010 Nobuyoshi Nakada * ruby.c (ruby_init_loadpath_safe): rb_str_set_len modifies ptr since r26303. Mon Aug 2 21:16:03 2010 Masaki Suketa * ext/win32ole/win32ole.c: NONAMELESSUNION defined only if gcc version is older than 3.4.4. [ruby-core:31567] [Bug #3637] * ext/win32ole/extconf.rb: ditto. Mon Aug 2 16:34:32 2010 NAKAMURA Usaku * thread_win32.c (native_thread_join): need to wait thread, of course. [ruby-dev:41911] Mon Aug 2 12:22:22 2010 NAKAMURA Usaku * file.c (file_expand_path): wrong condition. [ruby-core:31591] Mon Aug 2 05:34:48 2010 Tanaka Akira * ext/pathname/pathname.c (path_realdirpath): Pathname#realdirpath translated from pathname.rb. Sun Aug 1 23:04:49 2010 Tanaka Akira * lib/pp.rb: describe superclasses explicitly. Sun Aug 1 23:04:35 2010 Nobuyoshi Nakada * string.c (rb_str_modify_expand, rb_str_resize): get rid of repeating malloc and realloc. Sun Aug 1 22:16:30 2010 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigDecimal_hash): use rb_memhash and take care of negative finite numbers properly. [ruby-core:31582][Bug #3640] Sun Aug 1 20:57:22 2010 Tanaka Akira * ext/pathname/pathname.c (path_realpath): Pathname#realpath translated from pathname.rb. Sun Aug 1 17:27:32 2010 Nobuyoshi Nakada * win32/Makefile.sub: needs stddef.h for size_t. a patch from Akio Tajima at [ruby-dev:41905]. Sun Aug 1 14:59:04 2010 Tanaka Akira * ext/pathname/pathname.c (path_sub_ext): Pathname#sub_ext translated from pathname.rb. Sun Aug 1 10:23:48 2010 Yusuke Endoh * lib/irb/init.rb (IRB.parse_opts): set VERBOSE to true when debug switch called in irb. a patch from Andrew Grimm in [ruby-core:31558]. Sun Aug 1 09:35:35 2010 Yusuke Endoh * bignum.c (big_op): comparison of bignum and infinity has returned 1 or -1, but it must return boolean. Sun Aug 1 09:44:25 2010 Tanaka Akira * class.c (rb_include_module): don't clear the method cache if the included module has no method. reported by Eric Wong. [ruby-core:31559] Sun Aug 1 09:21:32 2010 Tanaka Akira * ext/pathname/pathname.c (path_sub): Pathname#sub translated from pathname.rb. Sun Aug 1 09:12:50 2010 Nobuyoshi Nakada * include/ruby/win32.h: latest x86_64 mingw defines stati64. [ruby-core:27516] Sun Aug 1 08:51:52 2010 Masaki Suketa * ext/win32ole/win32ole.c: fix typo. [ruby-core:31564][Bug #3636] Sat Jul 31 23:15:27 2010 Tanaka Akira * ext/pathname/pathname.c (path_inspect): Pathname#inspect translated from pathname.rb. Sat Jul 31 15:50:03 2010 Tanaka Akira * ext/pathname/pathname.c (Init_pathname): The alias, Pathname#to_path, is translated from pathname.rb. Sat Jul 31 09:12:36 2010 Tanaka Akira * ext/pathname/pathname.c (path_to_s): Pathname#to_s translated from pathname.rb. Sat Jul 31 08:20:07 2010 NAKAMURA, Hiroshi * lib/webrick/ssl.rb (WEBrick::Utils.create_self_signed_cert): merged r28784 from ruby_1_8: wrongly created dummy SSL certificate with version == 3 (no such version) and serial == 0 (must be >0). Fri Jul 30 21:43:55 2010 Tanaka Akira * ext/pathname/pathname.c (path_hash): Pathname#hash translated from pathname.rb. Fri Jul 30 12:42:02 2010 Nobuyoshi Nakada * lib/net/imap.rb (example): use IO#noecho to read password if possible, and defer until needed. [ruby-dev:41889] * lib/net/imap.rb (example): support starttls option. [ruby-dev:41888] Fri Jul 30 08:51:51 2010 Nobuyoshi Nakada * file.c (file_expand_path): home directory must be absolute. [ruby-core:31537] Fri Jul 30 08:33:20 2010 Nobuyoshi Nakada * file.c (file_expand_path): should check if could find user. [ruby-core:31538] Fri Jul 30 07:59:53 2010 Nobuyoshi Nakada * util.c (ruby_add_suffix): fixed a bug returning uninitialized value. Fri Jul 30 07:48:04 2010 Hidetoshi NAGAI * ext/tk/extconf.rb: use TK_XINCLUDES on tkConfig.sh when not empty, even if MacOS X Aqua version [ruby-dev:41883]. Thu Jul 29 22:28:35 2010 Tanaka Akira * ext/pathname/pathname.c (path_cmp): Pathname#<=> translated from pathname.rb. Thu Jul 29 06:51:30 2010 Nobuyoshi Nakada * common.mk (EXT_SRCS): add ext/json/parser/parser.c. Thu Jul 29 05:52:15 2010 Nobuyoshi Nakada * file.c (rb_file_s_basename): pass baselen to rmext. Thu Jul 29 02:38:09 2010 NARUSE, Yui * configure.in: not [freebsd] but [freebsd*] for AS_CASE. Wed Jul 28 22:23:59 2010 Tanaka Akira * ext/pathname/pathname.c (path_eq): Pathname#{==,===,eql?} translated from pathname.rb. Wed Jul 28 19:37:33 2010 NAKAMURA Usaku * win32/Makefile.sub (config.h): VC6 or later have stddef.h. * include/ruby/missing.h: need to include stddef.h for size_t. * include/ruby/missing.h: shouldn't declare as dllimport when building ruby itself (for Windows). Wed Jul 28 17:11:48 2010 Nobuyoshi Nakada * missing/*.c: include missing.h Wed Jul 28 09:38:03 2010 NAKAMURA Usaku * cont.c: typos. Wed Jul 28 09:24:43 2010 NARUSE, Yui * cont.c: (RB_PAGE_SIZE): renamed from PAGE_SIZE. [ruby-dev:41870] * cont.c: (RB_PAGE_MASK): renamed from PAGE_MASK. Tue Jul 27 23:09:09 2010 Tanaka Akira * ext/pathname/pathname.c (path_taint): use rb_obj_taint. (path_untaint): Pathname#untaint translated from pathname.rb. Tue Jul 27 18:59:15 2010 Nobuyoshi Nakada * lib/mkmf.rb (have_framework): added. Tue Jul 27 18:33:42 2010 Nobuyoshi Nakada * defines.h, intern.h, missing.h, ruby.h, st.h, util.h: include config.h and defines.h for autoconf macros. Tue Jul 27 16:27:38 2010 NAKAMURA Usaku * numeric.c (flo_cmp): typo. Tue Jul 27 16:09:12 2010 NARUSE, Yui * class.c, compile.c, dir.c, file.c, iseq.c, parse.y, random.c: clean unused-value warnings. * cont.c, process.c, vm_exec.h: clean cast warnings. Mon Jul 26 22:34:37 2010 Tanaka Akira * ext/pathname/pathname.c (path_taint): Pathname#taint translated from pathname.rb. Mon Jul 26 18:18:09 2010 Nobuyoshi Nakada * configure.in (config.h): add include guard. * win32/Makefile.sub, bcc32/Makefile.sub (config.h): ditto. Mon Jul 26 14:38:06 2010 Nobuyoshi Nakada * configure.in (XCFLAGS): missing.h needs config.h. Mon Jul 26 14:08:47 2010 NAKAMURA Usaku * include/ruby/missing.h: revert a part of r28727. config.h is expected to include only once, before including defines.h. including it here breaks some macro definitions. Mon Jul 26 13:52:25 2010 NARUSE, Yui * configure.in: define BROKEN_CLOSE only on FreeBSD. This needs to merge to 1.9.2. Mon Jul 26 13:01:25 2010 Nobuyoshi Nakada * vm.c (rb_thread_mark): should mark iseq itself other than normal iseq. [ruby-dev:41880] Mon Jul 26 11:51:01 2010 NARUSE, Yui * configure.in: define BROKEN_CLOSE on FreeBSD. This fixes build failure on MSVC. [ruby-core:31481] * include/ruby/ruby.h, include/ruby/missing.h: use BROKEN_CLOSE for replacing close(2). Mon Jul 26 09:51:20 2010 Nobuyoshi Nakada * vm.c (rb_thread_mark): mark only self of normal iseqs, not nodes. [ruby-dev:41874] Sun Jul 25 05:37:20 2010 Nobuyoshi Nakada * numeric.c (flo_cmp): honor the result of infinite? method of the other. [ruby-core:31470] * test/ruby/envutil.rb (EnvUtil#.suppress_warning): added. * test/ruby/test_float.rb (TestFloat#test_Float): suppress warnings under --verbose. Fri Jul 23 16:07:32 2010 Shugo Maeda * lib/mutex_m.rb (sleep): added Mutex_m#sleep to support ConditionVariable. Fri Jul 23 15:09:22 2010 Nobuyoshi Nakada * configure.in (RUBY_MINGW32): ignore msvc suffix. * configure.in (RUBY_TRY_CFLAGS): try with werror turned on. Fri Jul 23 09:02:43 2010 Nobuyoshi Nakada * re.c (rb_reg_expr_str): fixed out-of-boundary access at invalid multibyte characters. Fri Jul 23 09:00:05 2010 Nobuyoshi Nakada * configure.in (XCFLAGS): reverted mistakenly removed option. [ruby-dev:41872] * include/ruby/missing.h: needs ruby/config.h. Thu Jul 22 20:58:55 2010 Nobuyoshi Nakada * configure.in (RUBY_EXTERN): unnecessary after all. Thu Jul 22 17:33:47 2010 Yukihiro Matsumoto * complex.c (nucomp_to_i): allow complex with imaginary zero to be converted. * complex.c (nucomp_to_f, nucomp_to_r): ditto. Thu Jul 22 20:12:56 2010 Yusuke Endoh * thread_pthread.c (get_stack): fix memory leak; pthread_attr_destroy must be called even when pthread_getattr_np is used. [ruby-core:31269] Thu Jul 22 16:27:41 2010 NARUSE, Yui * re.c (rb_reg_expr_str): fix broken Regexp#inspect when it is ASCII-8BIT and non-ASCII character. The length of character should be from original byte string. [ruby-core:31431] Thu Jul 22 14:30:17 2010 NARUSE, Yui * include/ruby/missing.h: add prototype for ruby_close(). Thu Jul 22 12:58:12 2010 Nobuyoshi Nakada * configure.in (RUBY_EXTERN): ignore invalid attribute. * configure.in: fix for older autoconf. Thu Jul 22 12:02:31 2010 Nobuyoshi Nakada * include/ruby/{intern,io}.h: add missing prototypes. Thu Jul 22 06:38:18 2010 Nobuyoshi Nakada * configure.in (XCFLAGS): use -fvisibility=hidden if possible. * configure.in (RMDIR): use --ignore-fail-on-non-empty if possible. * configure.in (RUBY_EXTERN): FUNCTION-BODY was missing. Thu Jul 22 03:02:55 2010 Eric Hodel * README.EXT: fix signature of rb_ensure and rb_rescue to match implementation. Wed Jul 21 23:07:11 2010 Nobuyoshi Nakada * template/fake.rb.in: get rid of embedding an absolute path. Wed Jul 21 15:22:17 2010 Evan Phoenix * lib/rubygems/custom_require.rb, gem_prelude.rb: Load code from from gems properly. Wed Jul 21 15:15:02 2010 NARUSE, Yui * sprintf.c: add short documentation about named reference. [ruby-core:31294] Wed Jul 21 15:00:19 2010 Nobuyoshi Nakada * parse.y (local_push_gen): disable unused variable warnings in eval. [ruby-dev:41869] Wed Jul 21 13:57:37 2010 NARUSE, Yui * vm_method.c (rb_method_boundp): revert r28543, r28564. They may be merged in Ruby 2.0. [ruby-core:31217] Wed Jul 21 13:37:35 2010 Marc-Andre Lafortune * lib/uri/common.rb: Have URI#route_to, URI#route_from accept string-like arguments [ruby-core:30961] * lib/uri/generic.rb: ditto for URI.join, URI#merge Wed Jul 21 12:39:15 2010 Yusuke Endoh * lib/cmath.rb (CMath#cbrt): cbrt should accept a negative real numbers. [ruby-core:31234] Wed Jul 21 12:31:30 2010 Marc-Andre Lafortune * lib/uri/common.rb: Have URI() and URI.join accept URI objects in addition to strings. [ruby-core:30960] Wed Jul 21 11:55:06 2010 Nobuyoshi Nakada * util.c (ruby_hdtoa): renamed from BSD__hdtoa. Tue Jul 20 11:35:11 2010 Evan Phoenix * lib/rubygems.rb: Load the custom require if --disable-rubygems was used. Tue Jul 20 11:27:18 2010 Evan Phoenix * gem_prelude.rb: Pull in rubygem's custom require * lib/rubygems.rb: Handle always having custom require available Tue Jul 20 18:39:18 2010 Nobuyoshi Nakada * include/ruby/ruby.h (RSTRING_GETMEM): new macro to get ptr and len at once. * string.c (rb_str_cmp, str_eql, rb_str_eql): trivial improvements. Tue Jul 20 18:23:04 2010 Nobuyoshi Nakada * ext/fiddle/closure.c (closure_data_type), ext/fiddle/function.c (function_data_type): rb_data_type_t has changed. Tue Jul 20 14:21:38 2010 Narihiro Nakamura * gc.c: don't call after_gc_sweep() after when garbage_collect() was called, because rb_sweep_method_entry() free live unlinked method entries. [ruby-core:31169] Tue Jul 20 12:42:06 2010 URABE Shyouhei * ext/socket/raddrinfo.c (rb_getaddrinfo): according to my valgrind output this variable should be initialized beforehand. Tue Jul 20 12:50:37 2010 Nobuyoshi Nakada * io.c (io_flush_buffer): write and buffer operations should be monolithic. [ruby-core:31348] Tue Jul 20 12:27:56 2010 Nobuyoshi Nakada * lib/fileutils.rb (FileUtils::Entry_#copy): check file name separator boundary. [ruby-core:31360] Mon Jul 19 18:34:12 2010 Tanaka Akira * ext/pathname/pathname.c (get_strpath): check the type. (path_initialize): bypass to_path call for T_STRING. (path_freeze): implemented. * ext/pathname/lib/pathname.rb (Pathname#freeze): removed. Mon Jul 19 12:33:29 2010 Nobuyoshi Nakada * array.c (rb_ary_clear): should not unshare embedded array, and should make unshared array embedded. Mon Jul 19 09:00:58 2010 Nobuyoshi Nakada * NEWS (Kernel#instance_eval): add an incompatible change since the 1.9.1 release. [ruby-core:31336] Mon Jul 19 05:46:09 2010 Nobuyoshi Nakada * include/ruby/ruby.h (rb_data_type_t): add new feature macros. Sun Jul 18 21:20:11 2010 Nobuyoshi Nakada * array.c (rb_ary_clear): no need to duplicate buffer just before clearing. Sun Jul 18 16:31:50 2010 Nobuyoshi Nakada * include/ruby/ruby.h (rb_data_type_t): restructured. [ruby-dev:41862] add parent member. * error.c (rb_typeddata_inherited_p): new function. Sun Jul 18 01:09:27 2010 Tanaka Akira * ext/pathname/pathname.c (path_initialize): return a value. Sun Jul 18 00:02:19 2010 Tanaka Akira * ext/pathname/lib/pathname.rb (Pathname#initialize): removed. * ext/pathname/pathname.c (path_initialize): implemented. (get_strpath): new function. (set_strpath): ditto. Sat Jul 17 19:01:47 2010 Nobuyoshi Nakada * lib/test/unit.rb (MiniTest::Unit#process_args): refactored. Sat Jul 17 18:30:05 2010 Tanaka Akira * tool/file2lastrev.rb: don't depend on pathname.rb if File.realpath is available. Sat Jul 17 14:10:20 2010 Nobuyoshi Nakada * util.c (ruby_add_suffix): fixed type warnings. Sat Jul 17 13:48:22 2010 Tanaka Akira * ext/pathname/lib/pathname.rb: moved from lib/pathname.rb. require pathname.so. * ext/pathname/pathname.c: new file to define empty Pathname class. * ext/pathname/extconf.rb: new file. Sat Jul 17 13:04:45 2010 Nobuyoshi Nakada * thread.c (rb_thread_wakeup_alive): split from rb_thread_wakeup. merged from r13476. c.f. [ruby-core:31320] Sat Jul 17 10:07:52 2010 Nobuyoshi Nakada * lib/test/unit.rb: MiniTest::Unit is different class from Test::Unit, and install runner before loading test/minitest. Fri Jul 16 14:58:38 2010 Nobuyoshi Nakada * lib/test/unit.rb (Test::Unit.setup_argv): run tests only when any tests have not run. * bin/testrb, test/runner.rb: use Test::Unit.start. Fri Jul 16 12:06:08 2010 Nobuyoshi Nakada * tool/rbinstall.rb (ext-arch): prune directories start with '-'. Thu Jul 15 21:43:35 2010 Yusuke Endoh * numeric.c (fix_divide): must not use rb_rational_new1 for coercion because it returns an argument itself when canonical mode is set. [ruby-core:31279] Thu Jul 15 21:38:31 2010 Yusuke Endoh * proc.c (bm_free): fix memory leak. [ruby-core:30869] [Bug #3466] Thu Jul 15 15:47:32 2010 NARUSE, Yui * regexec.c (onig_search): don't skip non-ANYCHARs when .* fails to match. This causes to fail matching ANYCHAR_STAR with LOOK_BEHIND. This fix is workaround and disable the optimization. [ruby-dev:41851] Thu Jul 15 06:11:29 2010 Aaron Patterson * lib/rdoc/markup/attribute_manager.rb: fixing ri output when special characters are inside html tags. Thanks Tomo Kazahaya! [Bug #3512] Thu Jul 15 06:01:42 2010 Tanaka Akira * time.c (guess_local_offset): use the UTC offset of an older date on 64bit time_t environment. Thu Jul 15 02:42:51 2010 Aaron Patterson * lib/test/unit.rb (setup_argv): convert to using optparse, adding --help and -I. [ruby-core:30154] Thu Jul 15 00:35:09 2010 Tanaka Akira * time.c (localtime_with_gmtoff_zone): renamed from localtime_with_gmtoff and return the timezone abbreviation name. (guess_local_offset): return the isdst and timezone abbreviation name. (localtimew): use the returned isdst and timezone abbreviation name. [ruby-core:31275] Wed Jul 14 20:23:08 2010 Nobuyoshi Nakada * eval.c (frame_func_id), vm_eval.c (rb_iterate), vm_insnhelper.c (vm_yield_with_cfunc): as the name of a C-level block, use the current method ID at the creation point. [ruby-dev:41852] Wed Jul 14 18:18:05 2010 NARUSE, Yui * regexec.c (match_at): add end point to enclen's argument. This only effect on compiling with -DONIG_DEBUG_MATCH. Tue Jul 13 21:34:17 2010 Nobuyoshi Nakada * ext/readline/readline.c: libedit is missing declaration of rl_getc. Tue Jul 13 21:31:15 2010 Nobuyoshi Nakada * process.c (rb_daemon): split from proc_daemon. * process.c (rb_fork_err): suppress gcc 4.4 warnings. * random.c (fill_random_seed): ditto. Tue Jul 13 21:01:44 2010 Nobuyoshi Nakada * ext/pty/pty.c (establishShell): chfunc must not raise any exceptions. Tue Jul 13 20:58:57 2010 Nobuyoshi Nakada * configure.in (RUBY_DEFAULT_ARCH): adjust for target cpu. [ruby-core:31243] Tue Jul 13 20:46:00 2010 Nobuyoshi Nakada * ext/dl/handle.c (rb_dlhandle_close): should not pass a dynamic string to rb_raise directly. Tue Jul 13 12:04:57 2010 NARUSE, Yui * missing/close.c: keep original errno. Mon Jul 12 01:58:56 2010 Marc-Andre Lafortune * lib/csv.rb: Fix unused variable warnings. Patch by Run Paint [ruby-core:30991] * lib/date.rb: ditto * lib/debug.rb: ditto * lib/drb/drb.rb: ditto * lib/drb/invokemethod.rb: ditto * lib/irb/ruby-lex.rb: ditto * lib/irb/slex.rb: ditto * lib/logger.rb: ditto * lib/pathname.rb: ditto Sun Jul 11 21:20:27 2010 Nobuyoshi Nakada * README.EXT{,.ja} (rb_block_call): fixed about third/fourth arguments to the block. based on [ruby-core:31192] by Asher Haig. [Bug #3558] Sun Jul 11 17:01:57 2010 Nobuyoshi Nakada * Makefile.in ({,dist-,real-}clean-ext): should also omit semicolon when omitting "in WORDS" of FOR-statement. * tool/rmdirs: ditto. Sun Jul 11 11:07:42 2010 Yusuke Endoh * test/rdoc/test_rdoc_ri_driver.rb (test_formatter): add a test. a patch from caleb clausen in [ruby-core:31182]. Sat Jul 10 21:43:11 2010 Tanaka Akira * strftime.c (rb_strftime_with_timespec): fix precision handling for %:z and %::z. Fri Jul 9 22:32:54 2010 Tanaka Akira * strftime.c: unused declarations removed. Fri Jul 9 21:20:22 2010 Tanaka Akira * strftime.c (rb_strftime_with_timespec): clear colons at unknown directive. Fri Jul 9 21:04:10 2010 Tanaka Akira * strftime.c: don't call tzset. strftime.c doesn't depend on the global timezone. Fri Jul 9 20:30:26 2010 Tanaka Akira * time.c (find_time_t): 24:00 should be the beginning of the next day even if the leap second, 23:59:60, exists. Fri Jul 9 01:08:46 2010 Aaron Patterson * ext/psych/lib/psych/visitors/emitter.rb (initialize): line_width is a valid option passed to the emitter. * test/psych/test_psych.rb: corresponding tests. Fri Jul 9 00:49:46 2010 Aaron Patterson * ext/psych/emitter.c (line_width, set_line_width): preferred line may be set on the emitter. * test/psych/test_emitter.rb: corresponding tests. Thu Jul 8 15:47:34 2010 NARUSE, Yui * string.c (rb_str_conv_enc_opts): fix infinite loop because of ISO-2022-JP conversion with empty string. patched by Brian Buchanan [ruby-core:31107] Thu Jul 8 08:16:57 2010 Aaron Patterson * ext/psych/lib/psych/visitors/yaml_tree.rb (push): adding version and header emit options. * test/psych/test_psych.rb: corresponding test. Thu Jul 8 08:01:03 2010 Aaron Patterson * ext/psych/emitter.c: updating documentation about emit options * ext/psych/lib/psych/core_ext.rb: ditto * ext/psych/lib/psych.rb (dump): passing emit options to emitter. * ext/psych/lib/psych/nodes/node.rb: ditto * ext/psych/lib/psych/visitors/emitter.rb: sending emit options to YAML emitter. [ruby-core:28318] Thu Jul 8 06:05:58 2010 Tanaka Akira * strftime.c (rb_strftime_with_timespec): support %:z and %::z. [ruby-dev:41841] Thu Jul 8 00:15:50 2010 Yusuke Endoh * gem_prelude.rb: provide workaround for gem activation. Currently, gem activation does not work by default. Now it can be worked around by requiring "rubygems" first. [ruby-core:29486] a patch from Evan Phoenix in [ruby-core:31096]. * lib/rubygems.rb: ditto. Wed Jul 7 10:01:34 2010 Adrian Bloomer * numeric.c (fix_rev): Replaced fix_rev with '~num | FIXNUM_FLAG'. Wed Jul 7 13:22:20 2010 NAKAMURA Usaku * file.c (ruby_find_basename): set correct baselen. Wed Jul 7 13:02:59 2010 Akinori MUSHA * vm_method.c (rb_method_boundp): respond_to?(:protected_method, true) should return true. Pointed out by Marc-Andre Lafortune. [ruby-dev:41837] Wed Jul 7 12:00:24 2010 NAKAMURA Usaku * file.c (ruby_find_basename): should initialize f. Wed Jul 7 11:44:01 2010 Nobuyoshi Nakada * ext/zlib/zlib.c (gzfile_raise): add invalid header to exceptions. Wed Jul 7 10:26:20 2010 NARUSE, Yui * missing/close.c: ignore ECONNRESET. FreeBSD wrongly sets ECONNRESET on close(2) and it causes false-negative exceptions. [ruby-dev:41778] * configure.in: ditto. Tue Jul 6 22:57:21 2010 Tanaka Akira * io.c (nogvl_copy_stream_sendfile): jump to retry_sendfile directly to avoid select() on a socket which TCP state is CLOSED. patch by Eric Wong. [ruby-core:31053] Tue Jul 6 21:45:34 2010 NAKAMURA Usaku * io/console/console.c (winsize_row): should return actual screen size, not buffer size. Tue Jul 6 08:35:58 2010 Aaron Patterson * ext/dl/lib/dl/import.rb (handler): add a more helpful error message when calling import_symbol or import_function without calling dlload. Thanks nobu! [ruby-core:30996] Tue Jul 6 00:34:50 2010 Yusuke Endoh * vm.c (thread_free): free altstack to prevent memory leak. a patch from Tomoyuki Chikanaga in [ruby-dev:41815]. [Bug #3537] Tue Jul 6 00:29:27 2010 Yusuke Endoh * string.c (NONASCII_MASK): NONASCII_MASK must be unsigned. [ruby-dev:41782] Mon Jul 5 16:05:39 2010 Akinori MUSHA * vm_method.c (rb_method_boundp): Return false for protected methods when called from Kernel#respond_to?. [ruby-dev:40461] Mon Jul 5 12:32:01 2010 Aaron Patterson * ext/psych/lib/psych/scalar_scanner.rb (parse_string): support timezones that are not one hour off. [ruby-core:31023] * ext/psych/lib/psych/visitors/yaml_tree.rb: ditto Sun Jul 4 22:49:54 2010 Tanaka Akira * test/ruby/test_syntax.rb: split test_syntax from test_system.rb. Sun Jul 4 22:02:02 2010 Tanaka Akira * test/ruby/test_system.rb (test_syntax): unified with test_syntax2. Sun Jul 4 21:00:39 2010 Tanaka Akira * test/ruby/test_system.rb (test_syntax2): moved from sample/test.rb [ruby-dev:41721] Sun Jul 4 17:13:14 2010 Nobuyoshi Nakada * io.c (swallow, prepare_getline_args, rb_io_getline_1): fix for paragraph mode reading in non-ascii-compatible encoding. [ruby-dev:41803] Sat Jul 3 16:14:10 2010 Kenta Murata * ext/bigdecimal/bigdecimal.c (Init_bigdecimal): add two new constants BigDecimal::INFINITY and BigDecimal::NAN. * ext/bigdecimal/lib/bigdecimal/math.rb (BigMath.exp): modify the behaviors for infinity arguments as same as Math.exp. Sat Jul 3 09:47:26 2010 Aaron Patterson * ext/psych/lib/psych/visitors/to_ruby.rb(visit_Psych_Nodes_Scalar): teaching Psych to deserialize DateTime objects. [Bug #1390] * ext/psych/lib/psych/visitors/yaml_tree.rb(visit_DateTime): added a method for serializing DateTime objects. * ext/psych/lib/psych/scalar_scanner.rb(parse_time): add method for parsing times objects from a string. * test/psych/test_date_time.rb: tests for dumping DateTime objects. Sat Jul 3 09:13:55 2010 Aaron Patterson * ext/psych/lib/psych/visitors/yaml_tree.rb (visit_Time): use Time#nsec to accurately serialize time objects. [ruby-core:29233] Fri Jul 2 23:30:23 2010 NAKAMURA Usaku * io.c (argf_inplace_mode_set): prohibits an assignment of a tainted value. * file.c (ruby_find_basename, ruby_find_extname): split from rb_file_s_basename() and rb_file_s_extname(). * util.c (ruby_add_suffix): support arbitrary length of the suffix to get rid of the potential buffer overflow. reported by tarui. Fri Jul 2 05:31:51 2010 Tanaka Akira * numeric.c (rb_num2long): accept LONG_MAX < x < LONG_MAX+1 and LONG_MIN-1 < x < LONG_MIN as well because they are converted into the valid range of long by truncation. (rb_num2ulong): accept ULONG_MAX < x < ULONG_MAX+1 and LONG_MIN-1 < x < LONG_MIN as well. (rb_num2ll): accept LLONG_MAX < x < LLONG_MAX+1 and LLONG_MIN-1 < x < LLONG_MIN. Thu Jul 1 23:10:25 2010 James Edward Gray II * lib/csv.rb: Improving documentation. Thu Jul 1 22:15:01 2010 Tanaka Akira * numeric.c (rb_num2ulong): fix the lower limit for float. [ruby-dev:41361] Thu Jul 1 21:37:11 2010 Nobuyoshi Nakada * test/ruby/envutil.rb (EnvUtil#invoke_ruby): integrated with runexec. Thu Jul 1 16:19:53 2010 NARUSE, Yui * thread_pthread.c (thread_start_func_1): don't call native_thread_init_stack(th) on cygwin to avoid the segv introduced by r27789. Cygwin's signal implementation is half baked so USE_SIGNALSTACK is not defined and it needs another treatment. Thu Jul 1 13:00:54 2010 Nobuyoshi Nakada * common.mk (test-knownbug): ignore known bugs. Thu Jul 1 08:40:26 2010 Nobuyoshi Nakada * marshal.c (w_object): suppress empty instance variable entry on compatible dump objects. Wed Jun 30 07:29:11 2010 Nobuyoshi Nakada * test/ruby/test_rubyoptions.rb (test_script_from_stdin): by using a pipe, get rid of not-well-defined behavior after the child process terminated in pty. Wed Jun 30 02:30:26 2010 Yutaka Kanemoto * thread_pthread.c (get_stack): use pthread_getthrds_np() for AIX. * configure.in: ditto. Tue Jun 29 21:11:15 2010 Masaya Tarui * ext/stringio/stringio.c (strio_write): add RB_GC_GUARD. Tue Jun 29 19:39:59 2010 Masaki Suketa * test/win32ole/test_win32ole_method.rb (is_ruby64): check ruby binary is mswin64 or mingw64. [ruby-dev:41756] Tue Jun 29 14:18:21 2010 NAKAMURA Usaku * file.c (rb_realpath_internal, realpath_rec): skip UNC share root on DOSISH platforms. http://pc12.2ch.net/test/read.cgi/tech/1272248179/600 Tue Jun 29 11:52:33 2010 Narihiro Nakamura * gc.c (unlink_heap_slot, slot_sweep): unlink heaps_slot of heaps_slot linked list if heaps_slot is empty at slot_sweep. fixed [ruby-dev:41543], [ruby-core:24894]. Tue Jun 29 01:22:08 2010 Aaron Patterson * ext/fiddle/fiddle.h: added FFI type detection to avoid bug in ffi header files. Thanks Yugui! [ruby-core:30917] Mon Jun 28 22:14:22 2010 Yusuke Endoh * test/rdoc/test_rdoc_ri_driver.rb (TestRDocRIDriver#test_formatter): fix a test accordingly to r28455. Mon Jun 28 21:56:14 2010 Yusuke Endoh * thread.c (rb_fd_resize, rb_fd_copy): avoid NULL dereference upon failed realloc by using xrealloc instead of not realloc. a patch from Jim Meyering in [ruby-core:30920] [Bug #3489] Mon Jun 28 20:32:33 2010 Masaki Suketa * test/win32ole/test_win32ole_method.rb (test_offset_vtbl): check that Ruby is 32bit or 64bit binary in order to get correct offset value. [ruby-dev:41741] Mon Jun 28 05:32:51 2010 Yusuke Endoh * lib/rdoc/ri/driver.rb (RDoc::RI::Driver#formatter): should use bs format when stdout is piped. [ruby-core:30734] Mon Jun 28 03:12:03 2010 Yusuke Endoh * bootstraptest/test_class.rb: add a test for [ruby-core:30843]. Mon Jun 28 02:43:35 2010 Yusuke Endoh * class.c (rb_mod_init_copy): when class is dup'ed, a metaclass of the class should be attached to the dup'ed class, not the original class. [ruby-core:30843] [Bug #3461] Sun Jun 27 23:31:17 2010 Nobuyoshi Nakada * include/ruby/io.h, io.c: reverted r21709. * ruby.c (load_file_internal): nothing to read if EOF reached while reading shebang. [ruby-core:30910] Sun Jun 27 13:25:07 2010 Tanaka Akira * io.c (simple_sendfile): don't try to send data more than SSIZE_MAX with single sendfile call.. based on the patch by Eric Wong. [ruby-core:30908] Sun Jun 27 10:41:38 2010 Nobuyoshi Nakada * lib/rubygems/require_paths_builder.rb (write_require_paths_file_if_needed): no reason that bin directory should be included in $LOAD_PATH. it is for executable files, but not libraries. [ruby-core:25936] Sat Jun 26 13:07:09 2010 Nobuyoshi Nakada * configure.in (enable-debug-env): option for RUBY_DEBUG env. Sat Jun 26 11:56:31 2010 Nobuyoshi Nakada * common.mk (clear-installed-list): put redirection before set command, since it seems to be handled by nmake in special way. [ruby-dev:41711] Sat Jun 26 10:08:36 2010 Nobuyoshi Nakada * test/ruby/envutil.rb (EnvUtil#invoke_ruby): no needs to copy the original ENV, since it's done in spawn automatically. [ruby-dev:41733] Sat Jun 26 08:44:22 2010 Yusuke Endoh * NEWS (zlib): new methods. [ruby-dev:41706] [Bug #3472] Sat Jun 26 07:59:18 2010 Masaki Suketa * test/win32ole/test_win32ole_method.rb (test_offset_vtbl): check that OS is Windows 32bit or Windows 64bit in order to get correct offset value. Sat Jun 26 04:39:12 2010 Masaya Tarui * ext/dl/lib/dl/func.rb (call): don't overwrite original arguments to defend from GC. * test/dl/test_func.rb (test_string): add test for above. Fri Jun 25 11:45:36 2010 James Edward Gray II * lib/csv.rb: Fixing a bug that prevented CSV from parsing all multi-line fields correctly. Patch by Rob Biedenharn. Fri Jun 25 10:07:14 2010 Nobuyoshi Nakada * test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err): return the exit status. * test/ruby/envutil.rb (EnvUtil#invoke_ruby): change the environment of spawned process only. * test/ruby/envutil.rb (EnvUtil#invoke_ruby): get rid of possible deadlock. Fri Jun 25 06:24:25 2010 Nobuyoshi Nakada * lib/un.rb (httpd): MaxClients also should be integer. [ruby-dev:41724] [Bug #3477] * lib/un.rb (setup): fix of word splitting. [ruby-dev:41723] [Bug #3476] Fri Jun 25 01:07:17 2010 Masaya Tarui * include/ruby/ruby.h (static inline rb_gc_guarded_ptr): prevent RB_GC_GUARD_PTR being removed by optimization. Thu Jun 24 06:22:27 2010 Tanaka Akira * ext/socket/raddrinfo.c (ruby_getaddrinfo__darwin): the workaround for Mac OS X moved from rsock_getaddrinfo. Thu Jun 24 05:44:27 2010 Nobuyoshi Nakada * marshal.c (struct dump_arg, struct load_arg): merge taint and untrust flags into infection as bit flags. * marshal.c (w_nbyte, clear_dump_arg): infect the buffer as soon as appending, because it might have been finalized already at exit. based on a patch by Tomoyuki Chikanaga at [ruby-dev:41672]. [Bug #3463] Wed Jun 23 23:49:21 2010 Tanaka Akira * ext/socket/raddrinfo.c (str_is_number): renamed from str_isnumber to avoid confusion to str_isnumber in ext/socket/getaddrinfo.c. Wed Jun 23 23:45:31 2010 Yusuke Endoh * NEWS (stringio): new methods. [ruby-dev:41687] [Bug #3469] Wed Jun 23 22:52:00 2010 Tanaka Akira * ext/socket/raddrinfo.c: don't use __P. Wed Jun 23 21:32:08 2010 Masaki Suketa * ext/win32ole/win32ole.c (reg_get_typelib_file_path): try win64 registry entry at first. [ruby-dev:41674] [Bug #3464] Wed Jun 23 21:17:32 2010 Tanaka Akira * ext/socket/raddrinfo.c (ruby_getaddrinfo__darwin): new workaround for getaddrinfo problem on Mac OS X Snow Leopard. [ruby-core:29427] patch by Wataru Kimura. [ruby-core:30842] Wed Jun 23 17:12:27 2010 Nobuyoshi Nakada * NEWS (ptr): new method and deprecated methods. [ruby-dev:41681] * ext/pty/{README,README.ja}: ditto. * ext/pty/pty.c (pty_check): add rdoc. Wed Jun 23 12:44:47 2010 Nobuyoshi Nakada * test/ruby/test_regexp.rb (test_dup_warn): read in UTF-8 encoding regardless environment. * test/ruby/envutil.rb (invoke_ruby): add encoding option. Wed Jun 23 06:44:05 2010 Nobuyoshi Nakada * configure.in (fchown): need to check. a patch by Eric Wong at [ruby-core:30818]. * io.c (argf_next_argv): check for setting owner/group. Tue Jun 22 23:10:10 2010 Tanaka Akira * time.c (num_exact): fix for mathn. [ruby-dev:41599] Tue Jun 22 22:00:06 2010 Tanaka Akira * ext/socket/lib/socket.rb: suppress warnings. Tue Jun 22 21:33:23 2010 Nobuyoshi Nakada * test/optparse/test_summary.rb: fixed superclass so that it run solely. Tue Jun 22 19:57:33 2010 Nobuyoshi Nakada * parse.y (shadowing_lvar_gen): should add lvar to vars and used. [ruby-dev:41666] Tue Jun 22 13:23:13 2010 Marc-Andre Lafortune * lib/delegate.rb: Forward #trust, #untrust, #taint and #untaint to both the delegator and __getobj__ [ruby-core:26138] Mon Jun 21 23:41:08 2010 wanabe * eval_error.c (error_print): clear raised_flag while error-printing to avoid hang. [ruby-core:27608] * test/ruby/test_beginendblock.rb (test_endblock_raise): add test for above. Sun Jun 20 16:17:24 2010 Nobuyoshi Nakada * id.c (Init_id): add underscore name. * parse.y (warn_unused_var): ignore underscore name. * parse.y (warn_unused_var): use same format as shadowing local variable. * parse.y (shadowing_lvar_gen): get rid of adding extra name for shadowing local variable. [ruby-dev:41628] Sat Jun 19 11:11:37 2010 Yukihiro Matsumoto * lib/irb.rb: remove double exclamation marks. a patch from Diego Viola. [ruby-core:30589] Sat Jun 19 03:35:58 2010 Aaron Patterson * ext/psych/lib/psych/visitors/to_ruby.rb (resolve_klass): fix the exception message when attempting to load an unknown class. Thanks nobu! [ruby-dev:41399] * test/psych/test_psych.rb: test for the exception message Fri Jun 18 10:37:46 2010 NARUSE, Yui * gc.c (gc_lazy_sweep): clean a warning. "suggest parentheses around assignment used as truth value" * transcode_data.h (getGB4bt1): clean a warning. "suggest parentheses around arithmetic in operand of |" * transcode_data.h (getGB4bt3): ditto. * vm.c (thread_free): clean a warning. "format 'p' expects type 'void *', but argument 3 has type 'struct rb_mutex_struct *'" Fri Jun 18 10:15:12 2010 NARUSE, Yui * ruby.c: add prototype of rb_realpath_internal. * load.c: ditto. Fri Jun 18 01:50:21 2010 Yusuke Endoh * object.c: Object#public_methods, private_methods, etc. returns method ids that belong to the class or the singleton class(es) of the object. [ruby-dev:41613] * class.c: on the other hand, Module#public_instance_methods, etc. returns method ids that belong to the module itself (even if the module is singleton, it does not return method ids of super class(es); see [ruby-core:28837]). Fri Jun 18 01:22:55 2010 Yusuke Endoh * lib/webrick/httpservlet/filehandler.rb (prevent_directory_traversal): apply filesystem encoding to path only during calling File.expand_path. [ruby-dev:41423] Thu Jun 17 23:20:14 2010 Yusuke Endoh * load.c (rb_load_internal): remove call to rb_realpath_internal within rb_load_internal which caused big performance degradation. Instead, call rb_realpath_internal in the caller of rb_load_internal. [ruby-dev:41502] [ruby-dev:41610] * vm.c (rb_vm_call_cfunc): ditto. * eval_intern.h (rb_vm_call_cfunc): ditto. * ruby.c (process_options): ditto. Thu Jun 17 18:37:47 2010 NAKAMURA Usaku * file.c (rb_str_encode_ospath): when the encoding of the parameter is ASCII-8BIT, should recognize as filesystem encoding, and convert to UTF-8 on Windows. * file.c (realpath_rec): should convert to ospath encoding before calling lstat(). * file.c (rb_realpath_internal): resolved string should take over the encoding of base string. * transcode.c (rb_str_encode): should return new string always. fixed #3444. Wed Jun 16 18:34:54 2010 NAKAMURA Usaku * parse.y: ripper needs warn_unused_var(), too. Wed Jun 16 18:20:00 2010 Nobuyoshi Nakada * parse.y (warn_unused_var): warn unused variables. [ruby-dev:41620] Wed Jun 16 15:40:53 2010 NAKAMURA Usaku * error.c (rb_bug): existence of _set_abort_behavior() depends on runtime version, not compiler version. Wed Jun 16 01:38:40 2010 Yusuke Endoh * ext/fiddle/extconf.rb: check ffi.h even when pkg-config succeeded. On Debian/lenny, which is a "supported" platform, ffi.h is installed in /usr/include/i486-linux-gnu/. This causes build error when using gcc whose target is not i486-linux-gnu. Wed Jun 16 00:04:38 2010 Yusuke Endoh * test/ruby/test_io.rb (safe_4): does not use Timeout because Timeout.timeout uses Thread#kill which raises SecurityError when $SAFE == 4. based on a patch from Tomoyuki Chikanaga. [ruby-dev:41484] * test/ruby/test_io.rb (test_print_separators): use pipe (test helper method) instead of IO.pipe. [ruby-dev:41484] Tue Jun 15 17:14:58 2010 WATANABE Hirofumi * ext/fiddle/extconf.rb: De Morgan's laws. Tue Jun 15 12:09:00 2010 WATANABE Hirofumi * ext/fiddle/extconf.rb: use pkg_config to find ffi.h. Tue Jun 15 02:31:27 2010 Nobuyoshi Nakada * Makefile.in, common.mk (clean-ext, clean-enc): clean up cleaning targets. Mon Jun 14 22:36:09 2010 Tanaka Akira * test/socket/test_socket.rb (test_udp_server): rescue Errno::ENOSYS for Windows. * test/socket/test_nonblock.rb (test_sendmsg_nonblock_error): ditto. [ruby-dev:41597] reported by Masaya Tarui. Mon Jun 14 17:44:39 2010 Masatoshi SEKI * lib/drb/drb.rb: raise DRbConnError instead of ArgumentError if too many arguments. [ruby-dev:41481] * test/drb/test_drb.rb: ditto. * test/drb/drbtest.rb: ditto. Mon Jun 14 04:03:55 2010 NARUSE, Yui * ext/fiddle/closure.c (dealloc): refix workaround r28300. don't use ffi_closure_alloc, ffi_prep_closure_loc and ffi_closure_free on MACOSX and __linux__. [ruby-dev:41483] [ruby-dev:41214] Sun Jun 13 15:46:07 2010 Yusuke Endoh * test/ruby/test_rubyoptions.rb: add a simple test for __END__ and DATA. Sun Jun 13 04:24:18 2010 Marc-Andre Lafortune * lib/delegate.rb: Delegate !=, eql? and hash [ruby-core:26139] Sun Jun 13 02:12:46 2010 NARUSE, Yui * enc/trans/utf8_mac.trans (buf_apply): fix for patterns whose result is 2 bytes. [ruby-core:30751] Sun Jun 13 01:38:17 2010 NARUSE, Yui * time.c (rb_localtime_r2): fix mixed declarations and code. Sun Jun 13 00:27:24 2010 NARUSE, Yui * ext/dl/lib/dl.rb: don't require when already loaded. Sun Jun 13 00:02:56 2010 NARUSE, Yui * ext/fiddle/closure.c (dealloc): workaround fix for libffi's ffi_closure_free. [ruby-dev:41483] [ruby-dev:41214] Sat Jun 12 10:02:26 2010 Yukihiro Matsumoto * io.c (rb_f_syscall): should check argument string taint before invoking system calls. Sat Jun 12 09:18:31 2010 Yukihiro Matsumoto * variable.c (uninitialized_constant): process through rb_class_real() to remove "Object::" from error message. [ruby-dev:40951] Sat Jun 12 00:38:37 2010 Yusuke Endoh * ext/dbm/extconf.rb: accept Berkley DB version 3, 4 and 5. a patch from Takahiro Kambe. [ruby-dev:41531] Fri Jun 11 23:21:35 2010 Tanaka Akira * time.c (init_leap_second_info): check the result of gmtime_with_leapsecond. Fri Jun 11 23:04:59 2010 NARUSE, Yui * ext/openssl/ossl_ssl.c (ossl_sslctx_get_ciphers): use sk_SSL_CIPHER_num and sk_SSL_CIPHER_value instead of cast. patched by Takahiro Kambe [ruby-dev:41530] Fri Jun 11 22:59:31 2010 Tanaka Akira * include/ruby/missing.h (isnan): fix compilation error on OpenBSD. Fri Jun 11 22:39:50 2010 Yusuke Endoh * lib/rubygems/install_update_options.rb (Gem::InstallUpdateOptions#add_install_update_options): deprecate --test option which has not worked. [ruby-core:21714] * test/rubygems/test_gem_command_manager.rb: ditto. Fri Jun 11 07:34:25 2010 Tanaka Akira * time.c (find_time_t): test the result of LOCALTIME. Fri Jun 11 00:42:45 2010 Tanaka Akira * time.c (rb_localtime_r2): fix localtime overflow check. Thu Jun 10 23:05:44 2010 Tanaka Akira * time.c (rb_localtime_r2): refine localtime overflow check for FreeBSD 6.4. Thu Jun 10 09:10:08 2010 Yukihiro Matsumoto * io.c (rb_io_putc): documentation updated to mention putc would not work well with multi-byte characters. [ruby-core:30697] * io.c (rb_f_putc): ditto. Wed Jun 9 22:51:50 2010 Tanaka Akira * time.c (find_time_t): always extrapolate from past. [ruby-core:30672] reported by Benoit Daloze. Wed Jun 9 22:13:08 2010 Tanaka Akira * time.c (calc_tm_yday): extracted from timegmw_noleapsecond. Tue Jun 8 06:27:09 2010 Nobuyoshi Nakada * gem_prelude.rb: load full rubygems at LoadError for activation check. [ruby-core:29486] Tue Jun 8 06:04:49 2010 Nobuyoshi Nakada * io.c (parse_mode_enc): set set_by_bom bit. [ruby-core:30641] Sun Jun 6 22:37:11 2010 Nobuyoshi Nakada * string.c (rb_str_buf_cat_escaped_char): get rid of buffer overflow on platforms int is bigger than 32bit, and warnings. Sun Jun 6 19:55:21 2010 Tanaka Akira * array.c (rb_ary_product): clear uninitialized elements in temporary array. Sun Jun 6 12:31:57 2010 Narihiro Nakamura * gc.c: set_heaps_increment is not called before gc_marks of lazy sweeping because live_num not contain finalize objects. So call set_heaps_increment after lazy sweeping if free_num are not enough. And move free_min to struct rb_objspace for above. [ruby-dev:41499] Sun Jun 6 10:44:34 2010 Nobuyoshi Nakada * array.c (rb_ary_product): need to set the length in order to get the entries marked. [ruby-dev:41540] Sun Jun 6 08:26:01 2010 Tanaka Akira * vm.c (Init_BareVM): call Init_native_thread here. * thread.c (Init_Thread): don't call Init_native_thread. * thread_pthread.c (Init_native_thread): exported. * thread_win32.c (Init_native_thread): ditto. [ruby-dev:41536] Sun Jun 6 08:21:17 2010 Nobuyoshi Nakada * NEWS: Enumerable#join has been reverted. [ruby-core:30604] Sat Jun 5 20:30:49 2010 NARUSE, Yui * re.c (rb_reg_expr_str): ASCII incompatible strings must always escape or converted. * re.c (rb_reg_expr_str): use rb_str_buf_cat_escaped_char when resenc is given: for Regexp#inspect or error message. * re.c (rb_reg_desc): add 'n' for ENCODING_NONE. Sat Jun 5 01:20:14 2010 NARUSE, Yui * string.c (sym_inspect): Escape when the symbol is not resulted encoding and not ascii_only. It had escaped ascii-incompatible string, but it is wrong. Sat Jun 5 01:10:12 2010 NARUSE, Yui * string.c (rb_str_buf_cat_escaped_char): defined. Splited from rb_str_inspect. Sat Jun 5 16:39:13 2010 Tanaka Akira * .gdbinit (rp): show type name for RTypedData. Sat Jun 5 15:59:08 2010 Nobuyoshi Nakada * ruby.c (process_options, load_file_internal): $0 seen from required libraries by -r option should be the main script. [ruby-core:23717] Sat Jun 5 15:15:52 2010 Nobuyoshi Nakada * test/ruby/envutil.rb (EnvUtil#invoke_ruby): support for child process env. Sat Jun 5 14:11:11 2010 Nobuyoshi Nakada * test/net/imap/test_imap.rb (test_exception_during_shutdown): need to raise always. Sat Jun 5 13:13:30 2010 Marc-Andre Lafortune * lib/matrix.rb (eql?, ==, minor): Fix bugs when comparing/returning some empty matrices. Sat Jun 5 11:00:48 2010 Tanaka Akira * error.c (rb_name_err_mesg_new): guard mesg, recv and method. The problem in [ruby-dev:41464] is caused because mesg is collected. Sat Jun 5 10:03:31 2010 Tanaka Akira * .gdbinit (rp): detect and show RTypedData. Sat Jun 5 08:30:42 2010 Nobuyoshi Nakada * file.c (rb_f_test): 'W' should test writable by real uid/git, not world writable. [ruby-core:30587] Sat Jun 5 06:20:57 2010 Eric Hodel * dir.c: Clarification of what '*' matches. Patch by John Wells Fri Jun 4 10:46:33 2010 Nobuyoshi Nakada * ext/dl/cfunc.c (rb_dlcfunc_inspect): should taint the result. [ruby-dev:41533] Fri Jun 4 09:37:15 2010 NAKAMURA Usaku * gc.c (gc_sweep): suppress a warning on VC, again. Thu Jun 3 23:34:55 2010 Akinori MUSHA * ext/digest/lib/digest/hmac.rb: Emit a deprecation warning in verbose mode and add a caution to the overview section of the document. [ruby-dev:41525] Thu Jun 3 19:33:51 2010 Nobuyoshi Nakada * ext/dl/cfunc.c (rb_dlcfunc_inspect): suppress warnings by rb_sprintf. * ext/dl/cptr.c (rb_dlptr_s_malloc): suppress warnings. Thu Jun 3 18:58:28 2010 Nobuyoshi Nakada * load.c (ruby_init_ext): statically linked extensions have no real path. [ruby-dev:41526] * vm.c (rb_vm_call_cfunc): add filepath argument. Thu Jun 3 18:17:45 2010 Nobuyoshi Nakada * test/rake/test_win32.rb (Rake::TestWin32): update tests. [ruby-core:30309] * test/io/nonblock/test_flush.rb (test_flush): try pipe and socketpair. [ruby-dev:41517] Thu Jun 3 09:36:43 2010 NAKAMURA Usaku * ext/dl/dl.h (DLSTACK_TYPE): type of stack is same as VALUE. reported by sakiyama shin in [ruby-dev:41514] Thu Jun 3 06:30:20 2010 Nobuyoshi Nakada * test/ruby/test_path.rb (test_path): workaround for drive letter. * test/ruby/test_path.rb (test_path): get rid of blocking on access to non-existent host. Thu Jun 3 05:37:46 2010 Ryan Davis * tool/rbinstall.rb (install-bin): Allow bin/* install from dot-dirs. Fixes rvm and multiruby installations. Thu Jun 3 01:22:45 2010 Hidetoshi NAGAI * ext/tk/lib/tk.rb: fix typo and race condition. Thu Jun 3 00:58:45 2010 Aaron Patterson * ext/dl/lib/dl/cparser.rb (parse_ctype): add backwards compatibility by supporting "uint" types in the c parser. [ruby-core:29750] * test/dl/test_cparser.rb: adding a test for "uint" changes. Wed Jun 2 11:40:02 2010 Yukihiro Matsumoto * compile.c (iseq_compile_each): should consider block on stack, if block argument is passed. [ruby-core:30534] * parse.c (arg_concat_gen): should append to nd_head, not to nd_iter for NODE_BLOCK_PASS. Tue Jun 1 23:12:06 2010 NARUSE, Yui * re.c (unescape_nonascii): \P{FOO} is also Unicode property in regexp. [ruby-core:30540] Tue Jun 1 21:29:39 2010 NARUSE, Yui * lib/net/http.rb: adding support to rfc5789 patch verb. Added a Net::HTTP::Patch class which expects a message body and response body. It recycles the post method into a patch one, that will send the encoded representation to the server. Summarizing, a new class has been created, the post method extracted into send_entity, including a new argument, which defines which class to use (Post or Patch) and finally a patch method was created. [ruby-core:30426] Patched by Guilherme Silveira Tue Jun 1 03:46:08 2010 NARUSE, Yui * ext/readline/extconf.rb: reject GPLv3 readline. [ruby-dev:39172] [ruby-core:25272] [ruby-dev:39167] [ruby-core:28736] Tue Jun 1 01:14:31 2010 Masaya Tarui * io.c (pipe_open): add RB_GC_GUARD. This caused failure when test/ruby/test_argf.rb is executed with GC.stress = true in mswin32_90 Mon May 31 23:44:22 2010 Hidetoshi NAGAI * ext/tk/extconf.rb: use tclConfig.sh/tkConfig.sh when frameworks are enabled on MacOS X. * ext/tk/stubs.c: dirty hack for frameworks and stubs on MacOS X. * ext/tk/lib/tk.rb: stop creating a dummy Tcl/Tk interpreter. And hide a root window before starting eventloop. (for ruby 1.9) * ext/tk/tcltklib.c: add codes to support Ruby/Tk-Kit (Rubykit). Mon May 31 21:49:42 2010 Tanaka Akira * lib/resolv.rb (Resolv::DNS::Requester#request): rescue ECONNRESET for Windows. reported by U.Nakamura. [ruby-dev:41477] Mon May 31 19:25:58 2010 Nobuyoshi Nakada * regparse.c (onig_syntax_warn): do not use external strings as printf format. Mon May 31 18:22:23 2010 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-mode-set-encoding): skip shebang line always regardless of ruby. Mon May 31 15:07:18 2010 NARUSE, Yui * file.c (file_expand_path): Refix r28102: this breaks r28039. test for [ruby-dev:41429] is added. [ruby-core:30516] Mon May 31 14:47:09 2010 NARUSE, Yui * string.c (rb_str_inspect): inspect as ASCII when the codepoint of a character in Unicode string is ASCII printable one. Mon May 31 13:44:40 2010 NARUSE, Yui * encoding.c (rb_enc_unicode_p): check the encoding is Unicode or not by the name; not function's pointer. [ruby-dev:41479] Mon May 31 04:03:43 2010 Nobuyoshi Nakada * file.c (file_expand_path): check if expanded dname encoding is compatible with fname, not just copying. [ruby-core:30516] * test/ruby/test_beginendblock.rb (test_endblockwarn): needs encoding comment. Mon May 31 02:17:54 2010 Yukihiro Matsumoto * insns.def (defined): respond_to_missing? may not be available (for BasicObject instances). Mon May 31 01:43:42 2010 Marc-Andre Lafortune * lib/delegate: Delegator: combine (public|protected) methods with those of the delegated object. [ruby-core:27224] DelegateClass: combine (public|protected) instance methods with those of the delegated superclass. Sun May 30 22:18:49 2010 Marc-Andre Lafortune * lib/set.rb (keep_if, select!): New methods [ruby-core:29749] Sun May 30 21:51:59 2010 Yusuke Endoh * test/rake/test_application.rb: update a test because of r28089. Sun May 30 21:48:07 2010 Yusuke Endoh * lib/tempfile.rb (Tempfile#unlink): leave @data. Assigning nil to @data caused double closing error of the same IO in finalizer. a patch from Simon Nicholls. [ruby-core:29395] Sun May 30 18:47:15 2010 NARUSE, Yui * ext/nkf/nkf-utf8/nkf.c: updated to b856dd07. this cleans warnings. Sun May 30 18:25:55 2010 Yusuke Endoh * load.c (load_failed): use more accurate error message. [ruby-core:23851] Sun May 30 16:54:34 2010 Yusuke Endoh * file.c (rb_file_directory_p): update rdoc. a patch from Ilkka Laukkanen. [ruby-core:30016] Sun May 30 14:59:13 2010 Narihiro Nakamura * gc.c (gc_mark_all_clear): don't call obj_free() in gc_mark_all_clear(), because obj_free() may make T_ZOMBIE objects. * gc.c (gc_clear_mark_on_sweep_slots): renamed. * gc.c (rb_objspace_call_finalizer): call gc_clear_mark_on_sweep_slots() before calling mark_tbl(). [ruby-dev:41459] Sun May 30 03:40:44 2010 Nobuyoshi Nakada * parse.y (parser_tokadd_utf8, parser_tokadd_string): allow NUL containing symbol literals, as well as String#to_sym. [ruby-dev:41447] Sun May 30 03:03:20 2010 NARUSE, Yui * lib/rdoc/generator/template/darkfish/classpage.rhtml: fix encoding value of XML declaration. [ruby-dev:41452] Sun May 30 02:20:26 2010 Masaya Tarui * thread.c (RB_GC_SAVE_MACHINE_CONTEXT), gc.c (ruby_gc_stress_start): revert r28078. Sun May 30 02:21:34 2010 Yusuke Endoh * ext/zlib/zlib.c (zstream_append_input2): add RB_GC_GUARD. This caused failure when test/csv is executed with GC.stress = true. Sun May 30 01:25:48 2010 Masaya Tarui * thread.c (RB_GC_SAVE_MACHINE_CONTEXT): start GC by switching the thread if gc_stress == true * gc.c (ruby_gc_stress_start): ditto. Sun May 30 00:02:39 2010 Yusuke Endoh * gc.c (force_chain_object, rb_objspace_call_finalizer): delete finalizer entry after corresponding finalizer is executed. This caused SEGV when test/cgi is executed with GC.stress = true. Sat May 29 23:30:33 2010 Yusuke Endoh * string.c (str_replace_shared): change embedded state atomically. [ruby-core:29953] [ruby-dev:41456] Sat May 29 12:56:09 2010 NARUSE, Yui * encoding.c (rb_filesystem_encindex): avoid infinite require loop. [ruby-core:30467] Sat May 29 12:05:51 2010 Nobuyoshi Nakada * lib/rdoc/rdoc.rb (RDoc#read_file_contents): take care of BOM. [ruby-dev:41452] Sat May 29 10:12:36 2010 Nobuyoshi Nakada * gc.c (GC_PROF_TIMER_STOP): regularize `marked' to suppress warnings. Sat May 29 09:34:32 2010 Nobuyoshi Nakada * test/ruby/envutil.rb: fix for --disable-gems. Sat May 29 09:04:06 2010 Tanaka Akira * lib/resolv.rb (Resolv::DNS::Requester#request): rescue ECONNREFUSED. Sat May 29 08:46:29 2010 Nobuyoshi Nakada * gc.c (allocate_sorted_heaps, before_gc_sweep, gc_sweep): removed unused variables. Fri May 28 20:35:21 2010 KOSAKI Motohiro * thread.c (blocking_region_begin): avoid RUBY_VM_CHECK_INTS() call during GVL state transition. [Bug#3354] [ruby-dev:41435] Fri May 28 19:37:47 2010 Narihiro Nakamura * gc.c: use simple lazy sweep algorithm for response performance gain. See [ruby-dev:41067]. * object.c: FL_MARK of some objects by lazy sweep is copied when RVALUE is cloned. These objects are not marked in the mark phase. So delete FL_MARK. * class.c: ditto. Fri May 28 18:39:38 2010 Nobuyoshi Nakada * string.c (sym_inspect): escape ASCII-compatible strings. * string.c (rb_str_inspect): escape ASCII-compatible strings. Fri May 28 17:34:48 2010 URABE Shyouhei * array.c (rb_ary_product): Use tmpary instead, to ensure marking arrays by GC. Fri May 28 11:40:07 2010 URABE Shyouhei * array.c (rb_ary_product): Do not rely on GC, t0 should be checked explicitly. Fri May 28 10:40:37 2010 Nobuyoshi Nakada * lib/mkmf.rb (checking_for): ignore toplevel. Fri May 28 00:47:16 2010 Masaya Tarui * error.c (rb_bug): suppress the error report dialog if report_bug() is finished successfully. Fri May 28 00:32:25 2010 Yusuke Endoh * insns.def (invokesuper): check consistency between class of self and class of method being invoked by super. This is temporary measure for YARV. See [ruby-core:30313] in detail. See [ruby-dev:40959] [ruby-dev:39772] [ruby-core:27000] [ruby-core:27230] * vm_insnhelper.c (vm_search_superclass): ditto. Thu May 27 23:38:31 2010 NARUSE, Yui * file.c (rb_home_dir): set filesystem encoding. Thu May 27 23:29:18 2010 NARUSE, Yui * file.c (file_expand_path): set encoding as the same of fname when _result_ is not filesystem encoding. [ruby-dev:41429] Thu May 27 23:07:45 2010 NARUSE, Yui * file.c (file_expand_path): use rb_enc_associate_index and rb_filesystem_encindex. Strings related FileSystem should have filesystem_encoding. * file.c (SET_EXTERNAL_ENCODING): removed. Thu May 27 23:03:19 2010 NARUSE, Yui * include/ruby/encoding.h (rb_filesystem_encindex): defined. * include/ruby/encoding.h (rb_locale_encindex): ditto. * encoding.c (rb_filesystem_encindex): remove static. * encoding.c (rb_locale_encindex): ditto. Thu May 27 22:34:27 2010 NAKAMURA Usaku * win32/win32.c (rb_w32_read): call ReadFile() with len = 0 before reading really on console, because the first ReadFile() call after PeekConsoleInput() always returns broken data. (Windows's bug). [ruby-core:29018] Thu May 27 12:42:23 2010 Akinori MUSHA * LGPL: Removed. We no longer have LGPL'd source files in our tree. Wed May 26 20:19:22 2010 Nobuyoshi Nakada * random.c (random_rand): add the result of random to the beginning of range, not the opposite. [ruby-dev:41415] Wed May 26 19:55:33 2010 NAKAMURA Usaku * file.c (file_expand_path): revert a part of r22392. it's commit miss. Wed May 26 18:40:23 2010 Masaya Tarui * test/rinda/test_rinda.rb (TupleSpaceTest, TupleSpaceProxyTest): kill a used thread at teardown. [ruby-dev:41397] Wed May 26 12:08:06 2010 Nobuyoshi Nakada * random.c (random_rand): subtraction method of non-numeric can return Float. [ruby-dev:41410] Wed May 26 11:50:09 2010 Eric Hodel * marshal.c (Init_marshal): document marshal_dump and marshal_load. Wed May 26 10:35:37 2010 Nobuyoshi Nakada * configure.in (rb_cv_large_fd_select): needed on mingw, even though fd_mask is not available. [ruby-core:30401] Tue May 25 14:00:51 2010 NARUSE, Yui * regparse.c (add_code_range_to_buf0): fix false negative warning when given range is just before previous range. [ruby-dev:41406] Tue May 25 16:37:39 2010 Nobuyoshi Nakada * misc/ruby-style.el (ruby-style-version): take revision if keyword is expanded. [ruby-dev:41408] Tue May 25 13:26:49 2010 Nobuyoshi Nakada * include/ruby/vm.h, include/ruby/encoding.h: add external linkage. Tue May 25 01:46:49 2010 Yusuke Endoh * vm_eval.c (rb_f_caller): update rdoc. a patch from Nobuhiro IMAI in [ruby-dev:41387]. Mon May 24 23:04:41 2010 Tanaka Akira * error.c: fix wrong exception class name in rdoc. Mon May 24 19:00:34 2010 Nobuyoshi Nakada * parse.y (warn_balanced, parser_yylex): no warnings after closing parens. Mon May 24 12:52:44 2010 Nobuyoshi Nakada * common.mk (change), tool/change_maker.rb: make a brief template for ChangeLog. Mon May 24 09:19:59 2010 NAKAMURA Usaku * gc.c (gc_sweep): suppress a warning on VC. Mon May 24 08:16:02 2010 Nobuyoshi Nakada * process.c (rb_f_spawn): use correct command name for the error message. [ruby-dev:41395] Sun May 23 17:48:39 2010 Nobuyoshi Nakada * ext/openssl/lib/openssl/x509-internal.rb, lib/forwardable.rb, lib/irb/cmd/fork.rb, lib/mutex_m.rb, lib/shell/process-controller.rb, lib/sync.rb, object.c: suppress warnings patched by Benoit Daloze at [ruby-core:30366]. * parse.y (warn_balanced): no warning for singleton class. [ruby-core:30366] Sun May 23 16:56:11 2010 Nobuyoshi Nakada * include/ruby/ruby.h (CONST_ID_CACHE, rb_intern_const): suppress warnings with -Wconversion. Sun May 23 07:08:34 2010 Aaron Patterson * ext/psych/lib/psych/json/stream.rb: adding a JSON streaming API * ext/psych/lib/psych/stream.rb: ditto * ext/psych/lib/psych.rb: using autoload * ext/psych/lib/psych/json.rb: ditto * ext/psych/lib/psych/json/tree_builder.rb: refactor * ext/psych/lib/psych/visitors/json_tree.rb: refactor Sat May 22 03:53:05 2010 Satoshi Shiba * cont.c (fiber_setcontext): Use swapcontext() instead longjmp(). [ruby-dev:41316] [Bug #3295] Fri May 21 19:11:42 2010 Nobuyoshi Nakada * ext/nkf/nkf.c (rb_nkf_convert, rb_nkf_guess): check too huge string. Fri May 21 18:12:12 2010 Nobuyoshi Nakada * include/ruby/ruby.h (rb_intern): C90 needs nonempty macro arguments. Fri May 21 13:55:46 2010 Nobuyoshi Nakada * configure.in (LIBRUBYARG_SHARED): shared library will not be created unless enable-shared. * ruby.c (ruby_init_loadpath_safe): use real path for non-shared build. Fri May 21 12:25:58 2010 Nobuyoshi Nakada * marshal.c (w_float): use dtoa directly instead of stripping needless trailing .0. * numeric.c (flo_to_s): reverted. [ruby-dev:41341] Fri May 21 01:06:05 2010 NAKAMURA Usaku * thread.c (subtract_tv): if the rest is zero, should finish waiting immediately. * win32/win32.c (subtract): ditto. based on a patch from Roger Pack in [ruby-core:27957]. Thu May 20 22:49:04 2010 Yusuke Endoh * re.c (rb_reg_s_union_m): update rdoc. [ruby-dev:41354] Thu May 20 22:08:28 2010 Yusuke Endoh * vm_eval.c (rb_f_caller): update rdoc. a patch from Nobuhiro IMAI in [ruby-dev:41348]. Thu May 20 22:04:05 2010 Yusuke Endoh * vm.c (vm_backtrace_each): now takes an init function to distinguish an empty stack from out of stack. [ruby-dev:41366] * vm_eval.c (print_backtrace, rb_thread_backtrace): ditto. Thu May 20 20:47:46 2010 Masaki Suketa * ext/win32ole/win32ole.c (ole_invoke): raise NoMethodError when COM method is not found. [ruby-core:30160] [Bug #3277] * test/win32ole/test_win32ole.rb (test_no_method_error): ditto. Thu May 20 16:17:14 2010 NAKAMURA Usaku * ext/psych/emitter: C99(gcc)-ism. Thu May 20 12:59:49 2010 Aaron Patterson * ext/psych/lib/psych/stream.rb: adding YAML streaming API for infinite length streams. * ext/psych/lib/psych.rb: refactoring for streaming API * ext/psych/lib/psych/{handler, stream, tree_builder}.rb: ditto Thu May 20 02:12:20 2010 Aaron Patterson * ext/psych/emitter.c: output strings are automatically transcoded Wed May 19 23:36:57 2010 Hidetoshi NAGAI * ext/tk/extconf.rb: [ruby-dev:41334] [Bug #3307] invalid result on searching tcl.h/tk.h. Thanks, Masaya Tarui. Wed May 19 23:19:30 2010 Shugo Maeda * lib/net/imap.rb (disconnect): closes the socket of a Net::IMAP object only when it is not closed. [ruby-dev:41350] Wed May 19 20:09:38 2010 Yusuke Endoh * vm_eval.c (rb_f_caller): return [] instead of nil when the function is called on toplevel. [ruby-dev:41348] Wed May 19 19:58:01 2010 NAKAMURA Usaku * ext/socket/extconf.rb: mswin/mingw ruby has socketpair(), but it's not exist as such name in ruby static library, so mkmf.rb cannot find it. Wed May 19 19:45:10 2010 Yusuke Endoh * iseq_compile_each (NODE_DEFINED): put nil first to fix stack consistency. [ruby-core:30293] Now, lfinish[0] of defined_expr seems not to be used. Refactoring may be needed. Wed May 19 16:55:09 2010 NARUSE, Yui * numeric.c (rb_num2ulong): use rb_big2ulong for data from Bignum. Without this 32bit integer on 32bit environment can't converted into long. This fixes 1) and 2) of [ruby-dev:41289] Mon May 17 22:19:16 2010 Yusuke Endoh * process.c: suppress warning for signed and unsigned type inconsistency. * ext/psych/parser.c: ditto. * ext/sdbm/_sdbm.c: ditto. * ext/syck/rubyext.c: ditto. Mon May 17 21:30:50 2010 Yusuke Endoh * .gitignore: updated. Mon May 17 21:08:53 2010 NAKAMURA Usaku * win32/win32.c (argv_size): merged into join_argv() to maintain the agreement with it. removed code has a calculation bug. fixed [Bug#2388] * win32/win32.c (join_argv): calc and return the length of joined argv. the cause of the original bug was clarified by Masaya TARUI and the solution was suggested by him, too. Mon Apr 5 09:20:08 2010 NARUSE, Yui * enc/iso_2022_jp.h: add CP50220. * enc/trans/iso2022.trans: add converter for CP50220. Mon May 17 09:37:25 2010 NAKAMURA Usaku * lib/fileutils.rb (FileUtils::Entry_#entries): returns pathname in UTF-8 on Windows to allow FileUtils accessing all pathnames internally. Mon May 17 01:07:48 2010 Nobuyoshi Nakada * dln.c (rb_w32_check_imported): workaround for VC6. Sun May 16 22:21:32 2010 Yusuke Endoh * proc.c (mnew): initialize a field. a patch from Takahiro Kambe. [ruby-dev:41312] Sun May 16 22:17:35 2010 Yusuke Endoh * eval.c (setup_exception): let SystemStackError#backtrace return an single element array instead of string itself. [ruby-core:30196] Sun May 16 21:51:04 2010 Yusuke Endoh * parse.y (parser_read_escape, parser_tokadd_escape): allow a hex or octal encoded character after \c. This seemed to be prohibited at r13836, but its ChangeLog mentions nothing about this prohibition. So I assume this prohibition is not intended. [ruby-core:27229] Sun May 16 21:14:04 2010 Yuki Sonoda (Yugui) * ruby/test_rubyoptions.rb (TestRubyOptions#test_segv_test): fixes "NoMethodError: undefined method `[]=' for nil:NilClass" Sun May 16 17:16:09 2010 Yusuke Endoh * proc.c (proc_binding): don't propagate filename and line_no of binding that is created from C level. [ruby-dev:41322] * vm_eval.c (eval_string_with_cref): ditto. Sun May 16 15:09:36 2010 Nobuyoshi Nakada * dln.c (rb_w32_check_imported): check if extension library to be loaded imports from different ruby dll. Sun May 16 14:55:39 2010 Nobuyoshi Nakada * common.mk (dln_find.o): fix dependency. Sun May 16 13:55:25 2010 Nobuyoshi Nakada * error.c (rb_loaderror): use locale string, not ascii-8bit. Sun May 16 11:39:15 2010 Nobuyoshi Nakada * include/ruby/missing.h (signbit): add missing prototype. Sun May 16 10:49:47 2010 Nobuyoshi Nakada * ext/iconv/iconv.c (rb_iconv_sys_fail): fix number of arguments. a patch by Masaya TARUI . Sun May 16 02:24:27 2010 Yutaka Kanemoto * configure.in: can not load libruby.so if gcc is used with --enable-shared on AIX. Sat May 15 17:16:15 2010 Nobuyoshi Nakada * ext/iconv/iconv.c (rb_iconv_sys_fail): raise BrokenLibrary if errno is not set. [ruby-dev:41317] Fri May 14 07:27:07 2010 Nobuyoshi Nakada * marshal.c (w_float): strip ".0" from end for rubyspec. Fri May 14 01:17:10 2010 Yusuke Endoh * vm_core.c (rb_thread_struct): add a field for sigaltstack. * thread_pthread.c (thread_start_func_1): initialize machine stack information. * thread.c (thread_start_func_2): set sigaltstack for each sub thread. [ruby-core:24540] [ruby-core:30207] Thu May 13 21:40:39 2010 Tanaka Akira * missing/ffs.c (ffs): fixed for non-zero values. Thu May 13 18:45:25 2010 Nobuyoshi Nakada * ext/io/console/console.c (get_write_fd): return primary fd if no io is tied for writing. Thu May 13 18:15:33 2010 NAKAMURA Usaku * io.c (swallow): should use more_char() instead of fill_cbuf(). suggested by akr. Thu May 13 17:56:07 2010 Nobuyoshi Nakada * ext/io/console/console.c (console_set_echo, console_echo_p): use primary fd. [ruby-dev:41309] Thu May 13 13:30:05 2010 Nobuyoshi Nakada * marshal.c (w_float): use minimal representation. * numeric.c (ruby_dbl2cstr): split from rb_float_new. Thu May 13 13:09:24 2010 Nobuyoshi Nakada * vm_core.h (rb_vm_get_sourceline): moved from eval_intern.h for vm_dump.c. Thu May 13 12:53:13 2010 NAKAMURA Usaku * io.c (swallow): support text mode and UTF-16/32 as internal encoding. [Bug #1576] * io.c (io_shift_cbuf): read and throw it away when str is NULL. Thu May 13 09:45:27 2010 NAKAMURA Usaku * win32/Makefile.sub: link with ffs.obj. Thu May 13 07:37:49 2010 Tanaka Akira * ext/sdbm/_sdbm.c: include unistd.h before sdbm.h for off_t. fix compilation problem on FreeBSD 6.4. Wed May 12 23:48:37 2010 Tanaka Akira * include/ruby/intern.h (rb_quad_pack): deprecated. (rb_quad_unpack): ditto. Wed May 12 22:22:05 2010 Tanaka Akira * time.c (rb_big_abs_find_minbit): use ffs(). * configure.in: check ffs(). * missing/ffs.c: new file. * include/ruby/missing.h (ffs): declared. Wed May 12 16:43:12 2010 Nobuyoshi Nakada * numeric.c (flo_to_s): fixed broken output including nuls. Wed May 12 16:25:46 2010 Nobuyoshi Nakada * numeric.c (flo_to_s): exponent needs 2 digits. Wed May 12 16:02:43 2010 Nobuyoshi Nakada * numeric.c (flo_to_s): fill lower zeros. Wed May 12 15:45:36 2010 NAKAMURA Usaku * lib/rdoc/generator/ri.rb (generate): should load existing cache before generating it. Wed May 12 15:04:57 2010 Nobuyoshi Nakada * ext/bigdecimal/lib/bigdecimal/math.rb (BigMath#log): improved precision and performance. [ruby-dev:41295] Wed May 12 11:39:10 2010 NAKAMURA Usaku * ext/socket/extconf.rb: test all IPPROTO_* constants for recent Win32 SDK. Wed May 12 10:57:04 2010 Nobuyoshi Nakada * numeric.c (flo_to_s): make minimum string representation. [ruby-core:30145] Wed May 12 09:21:05 2010 NARUSE, Yui * re.c (rb_reg_initialize_m): fix wrong index for the lang option's value 'N'. reported by Masaya TARUI via IRC. Tue May 11 23:07:22 2010 Tanaka Akira * ext/socket/extconf.rb: test IPPROTO_IP and IPPROTO_IPV6 constants. * ext/socket/mkconstants.rb: define macros for enum. [ruby-dev:38849] Tue May 11 21:53:18 2010 Yusuke Endoh * test/rake/test_task_arguments.rb: makes ENV empty during tests because ENV may change the behavior of Rake::TaskArguments. [ruby-core:29984] Tue May 11 15:14:30 2010 NARUSE, Yui * enc/utf_8.c: Add new alias UTF-8-HFS for UTF8-MAC. http://www.gnu.org/software/emacs/NEWS.23.2 Tue May 11 13:46:00 2010 Kenta Murata * ext/bigdecimal/lib/bigdecimal/math.rb (atan), test/bigdecimal/test_bigmath.rb (test_atan): explicitly specify the precision for calculating a reciprocal number of an argument. [Bug #3267] Tue May 11 11:49:44 2010 Nobuyoshi Nakada * ext/sdbm/sdbm.h (DBM): large file support on win32. [ruby-core:23039] * ext/sdbm/depend: objects depend on sdbm.h. Tue May 11 09:57:05 2010 Nobuyoshi Nakada * eval_intern.h (rb_vm_get_sourceline): add prototype. Tue May 11 09:53:07 2010 Nobuyoshi Nakada * ext/psych/parser.c (PSYCH_TRANSCODE): get rid of bare use of gcc extension. Tue May 11 01:20:43 2010 Aaron Patterson * ext/psych/parser.c (parse): Return strings encoded as Encoding.default_internal if set. Mon May 10 23:50:19 2010 Tanaka Akira * pack.c (pack_unpack): add a missing break. Mon May 10 14:13:04 2010 NAKAMURA Usaku * time.c (rb_big_abs_find_minbit): get rid of a warning of VC. Mon May 10 13:59:42 2010 NAKAMURA Usaku * win32/win32.c, include/ruby/win32.h (rb_w32_has_cancel_io): new function. * io.c (WAIT_FD_IN_WIN32): check only when it's not cancelable. Mon May 10 06:59:19 2010 NARUSE, Yui * common.mk (rdoc): rdoc should depend main. Moreover when XRUBY is miniruby, it can run after miniruby is built. Mon May 10 03:36:56 2010 Yusuke Endoh * vm_eval.c (eval_string_with_cref): propagate filename and line_no of binding. [ruby-dev:38767] [ruby-core:28307] * vm_core.h (rb_binding_t), proc.c: add filename and line_no fields to preserve them. Mon May 10 02:58:33 2010 Yusuke Endoh * compile.c (iseq_compile_each), vm_insnhelper.c (vm_invoke_block, vm_throw): allow "return" and "yield" even in singleton class definition. based on a patch from wanabe for "return". [ruby-core:21379] [ruby-dev:40975] * insns.def (defineclass): ditto (straightforwardly push block ptr, instead of dfp ptr with special flag). * vm_core.h (RUBY_VM_CLASS_SPECIAL_P): ditto (no longer needed). * proc.c (proc_new): ditto (remove handling for special flag). * bootstraptest/test_jump.rb: add tests for above. Mon May 10 02:29:51 2010 Yusuke Endoh * cont.c (fiber_switch): raise FiberError when returning to dead fiber. [ruby-dev:40833] Mon May 10 02:07:20 2010 Yusuke Endoh * lib/thread.rb (ConditionVariable#wait): ensure to remove the current thread from waiters. [ruby-core:29835] Mon May 10 00:54:15 2010 Nobuyoshi Nakada * ext/io/console/console.c (console_set_raw): new method. * ext/io/console/console.c (ttymode): reverted previous commit. Sun May 9 23:53:14 2010 Nobuyoshi Nakada * include/ruby/ruby.h (RB_GC_GUARD_PTR): get rid of removal by optimization. Sun May 9 23:07:53 2010 Yusuke Endoh * proc.c (proc_dup): copy blockprocval. proc_dup is used by define_method, which made blockprocval be GC'ed mistakenly. [ruby-core:30023] Sun May 9 16:28:15 2010 Nobuyoshi Nakada * cont.c (fiber_initialize_machine_stack_context): try to release unnecessary fibers and retry to create. based on a patch from masaya tarui at [ruby-dev:41230]. Sun May 9 08:32:56 2010 NARUSE, Yui * ext/json/generator/generator.c (fbuffer_inc_capa): fix the use of REALLOC_N. [ruby-dev:41227] Sun May 9 09:30:09 2010 Nobuyoshi Nakada * ext/json/{generator/generator.c,parser/parser.rl}: fixed indent. * ext/json/{generator,parser}/depend: added. Sun May 9 09:15:03 2010 Shugo Maeda * test/net/imap/test_imap.rb: use IPv4 for test_imaps_post_connection_check. [ruby-dev:41189] Sun May 9 08:24:24 2010 Shugo Maeda * lib/net/imap.rb (disconnect): terminates @receiver_thread even if @sock.shutdown raises an exception. [ruby-dev:34881] Sun May 9 06:15:21 2010 Kazuhiro NISHIYAMA * io.c (nogvl_copy_stream_sendfile): ISO C90 forbids mixed declarations and code. Sun May 9 02:57:02 2010 Aaron Patterson * ext/fiddle/lib/fiddle.rb: only require DL if it hasn't been required yet. [ruby-core:30095] Sun May 9 01:15:18 2010 Nobuyoshi Nakada * cont.c (stackgrowdirection): removed duplicated code, use STACK_UPPER macro instead. * gc.h (STACK_DIR_UPPER): moved from thread_pthread.c. Sun May 9 00:35:56 2010 Yuki Sonoda (Yugui) * test/dl/test_base.rb (libc_so, libm_so): supports solaris. Sat May 8 19:03:31 2010 Yuki Sonoda (Yugui) * spec/default.mspec (config): . is no longer in $:. Sun May 9 00:27:46 2010 Nobuyoshi Nakada * thread.c (rb_thread_aset): fixed argument type. Sat May 8 23:09:44 2010 Nobuyoshi Nakada * NEWS (io/console): IO#noecho and IO#raw without block are obsolete already. [ruby-dev:41226] * ext/io/console/console.c (ttymode): save duped file descriptors and restore tty modes using them, so that original modes can be restored even if original fds are closed. [ruby-dev:41225] Sat May 8 13:48:31 2010 Marc-Andre Lafortune * array.c (rb_ary_fetch, rb_ary_splice, rb_ary_store): Improve IndexError messages [ruby-core:28394] * hash.c (rb_hash_fetch_m): Improve KeyError message Sat May 8 13:11:28 2010 Nobuyoshi Nakada * lib/rubygems/user_interaction.rb (Gem::StreamUI#ask_for_password): use io/console. * ext/io/console: imported. [ruby-dev:40897] Sat May 8 12:25:15 2010 Nobuyoshi Nakada * ext/etc/etc.c (etc_systmpdir): moved from ext/tmpdir. * ext/etc/etc.c (etc_sysconfdir): added. * lib/rubygems/config_file.rb, lib/tmpdir.rb: use etc. Sat May 8 11:07:41 2010 Nobuyoshi Nakada * ext/bigdecimal/bigdecimal.c (VpAlloc): ensure buf does not get collected. based on a patch masaya tarui at [ruby-dev:41213]. Sat May 8 10:03:39 2010 Tanaka Akira * ext/socket/lib/socket.rb (BasicSocket#connect_address): MacOS X 10.6 returns "::ffff:a.b.c.d" for IPv4-mapped IPv6 address. [ruby-dev:41215] patch by Tomoyuki Chikanaga. Fri May 7 23:51:39 2010 Nobuyoshi Nakada * version.h: bump up to 1.9.3. Fri May 7 11:30:51 2010 Nobuyoshi Nakada * tool/rbinstall.rb (install-man): install mdocs directly without temporary files. [ruby-dev:41204] Fri May 7 09:16:16 2010 Nobuyoshi Nakada * ext/tk/extconf.rb (get_tclConfig_dirs): glob with EXEEXT. * ext/tk/extconf.rb (search_tclConfig): fixed typo. Fri May 7 06:45:28 2010 Hidetoshi NAGAI * ext/tk/extconf.rb: search directories on PATH, only if containing tclsh or wish command (probably right fix for [ruby-core:30010]). Fri May 7 03:40:58 2010 NARUSE, Yui * ext/bigdecimal/bigdecimal.c (VpCtoV): fix to check overflow. Thu May 6 22:19:38 2010 NAKAMURA Usaku * cont.c: define FIBER_USE_NATIVE only when _WIN32_WINNT >= 0x0400 on Windows because Fiber APIs are supported only such building (and running) environments. [ruby-dev:41192] Thu May 6 19:13:43 2010 NAKAMURA, Hiroshi * test/openssl/test_ec.rb: added test_dsa_sign_asn1_FIPS186_3. dgst is truncated with ec_key.group.order.size after openssl 0.9.8m for FIPS 186-3 compliance. WARNING: ruby-openssl aims to wrap an OpenSSL so when you're using openssl 0.9.8l or earlier version, EC.dsa_sign_asn1 raises OpenSSL::PKey::ECError as before and EC.dsa_verify_asn1 just returns false when you pass dgst longer than expected (no truncation performed). * ext/openssl/ossl_pkey_ec.c: rdoc typo fixed. Thu May 6 18:12:43 2010 Koichi Sasada * cont.c (fiber_setcontext): Fix last commit. Thu May 6 17:16:42 2010 Nobuyoshi Nakada * time.c (rb_localtime_r2): get rid of infinite loop bug of localtime() on x86_64-darwin. [ruby-core:30031] Thu May 6 15:56:12 2010 Aaron Patterson * ext/fiddle/*: Adding fiddle library to wrap libffi * test/fiddle/*: testing fiddle extension * ext/dl/lib/dl.rb: Requiring fiddle if it is available * ext/dl/lib/dl/callback.rb: using Fiddle if it is available * ext/dl/lib/dl/func.rb: ditto Thu May 6 15:04:37 2010 NARUSE, Yui * string.c (rb_str_match_m): add description about optional position parameter. [ruby-list:47064] patched by KISHIMOTO, Makoto Thu May 6 14:12:39 2010 Tanaka Akira * lib/tmpdir.rb: test RUBY_PLATFORM for loading tmpdir.so to avoid LoadError. Thu May 6 12:41:00 2010 Kenta Murata * NEWS: add rationalize methods of Complex, Float, Integer, NilClass, and Rational classes. Thu May 6 12:12:26 2010 Nobuyoshi Nakada * README: update. Thu May 6 03:34:29 2010 Koichi Sasada * cont.c: apply FIBER_USE_NATIVE patch. This patch improve Fiber context switching cost using system APIs. Detail comments are written in cont.c. Thu May 6 02:16:48 2010 Koichi Sasada * vm_method.c (rb_unlink_method_entry, rb_sweep_method_entry): added. Unlinked method entries are collected to vm->unlinked_method_entry_list. On the GC timing, mark all method entries which are on all living threads. Only non-marked method entries are collected. This hack prevents releasing living method entry. [Performance Consideration] Since this Method Entry GC (MEGC) doesn't occur frequently, MEGC will not be a performance bottleneck. However, to traverse living method entries, every control frame push needs to clear cfp->me field. This will be a performance issue (because pushing control frame is occurred frequently). Bug #2777 [ruby-dev:40457] * cont.c (fiber_init): init cfp->me. * gc.c (garbage_collect): kick rb_sweep_method_entry(). * method.h (rb_method_entry_t): add a mark field. * vm.c (invoke_block_from_c): set passed me. * vm.c (rb_thread_mark): mark cfp->me. * vm_core.h (rb_thread_t): add a field passed_me. * vm_core.h (rb_vm_t): add a field unlinked_method_entry_list. * vm_insnhelper.c (vm_push_frame): clear cfp->me at all times. * vm_insnhelper.c (vm_call_bmethod): pass me. * bootstraptest/test_method.rb: add a test. Wed May 5 22:22:51 2010 wanabe * compile.c (iseq_set_sequence): fix check range of ic_index. a patch from Tomoyuki Chikanaga. #3236 Wed May 5 21:49:31 2010 Yutaka Kanemoto * dln.c (aix_loaderror): use execerror for load error on AIX. This can avoid SEGV reported by Perry Smith. [Bug #2063] Wed May 5 20:37:54 2010 wanabe * thread_win32.c (w32_wait_events): get GVL before handle interrupt event. [ruby-core:27199], [ruby-core:29698] Wed May 5 19:00:01 2010 Hidetoshi NAGAI * ext/tk/extconf.rb: revert. enbugged by last commit. ([ruby-dev:41133], [ruby-dev:41134], [ruby-core:30010]) * ext/tk/README.tcltklib: ditto. Wed May 5 15:54:35 2010 NAKAMURA Usaku * file.c (rb_stat): use STAT macro instead of calling stat() directly. reported by Bill Kelly. [ruby-core:30012] Wed May 5 11:43:10 2010 Nobuyoshi Nakada * bootstraptest/test_io.rb (megacontent-copy_stream): get rid of deadlock. Wed May 5 07:27:14 2010 Nobuyoshi Nakada * gc.c (rb_mark_method_entry): renamed. Wed May 5 05:20:27 2010 Koichi Sasada * method.h, vm_method.c: rename some internal functions related to rb_method_entry_t. rb_add_method_me() -> rb_method_entry_set(). rb_get_method_entry() -> rb_method_entry_without_cache(). rb_gc_mark_method_entry() -> rb_mark_method_entry(). * class.c, proc.c: ditto. Tue May 4 22:59:48 2010 wanabe * compile.c (iseq_build_body): update iseq->ic_size. a patch from Tomoyuki Chikanaga. see #3236. Tue May 4 18:51:22 2010 Nobuyoshi Nakada * error.c (name_err_mesg_to_str): preserve encoding of inspection. [ruby-core:29948] Tue May 4 18:38:16 2010 Nobuyoshi Nakada * test/fileutils/test_fileutils.rb (test_copy_stream): IO.copy_stream support binmode only currently. [ruby-core:23724] Tue May 4 12:46:09 2010 Koichi Sasada * vm_insnhelper.c (argument_error): push correct backtrace. Bug #2281 [ruby-core:26333] Tue May 4 12:38:40 2010 Tanaka Akira * ext/socket/option.c (sockopt_inspect): use rb_str_cat2 and rb_str_append. * ext/socket/ancdata.c (ancillary_inspect): refined. Tue May 4 11:48:06 2010 Tanaka Akira * ext/socket/ancdata.c (ancillary_inspect): use rb_str_cat2 and rb_str_append. Tue May 4 07:52:33 2010 Yusuke Endoh * lib/net/http.rb (Net::HTTPResponse#read_chunked): ensure to skip the last newline of chunk. [ruby-core:29229] * test/net/http/utils.rb: add an option for chunked response test. * test/net/http/test_http.rb: add tests for chunked response. Tue May 4 03:37:54 2010 NARUSE, Yui * ext/nkf/nkf-utf8/nkf.c: Update nkf 2010-04-28. Mon May 3 21:08:16 2010 Kazuhiro NISHIYAMA * sample/README: update file list. [ruby-core:28981] Mon May 3 08:15:05 2010 Nobuyoshi Nakada * ext/syck/emitter.c (syck_scan_scalar): set SCAN_WHITEEDGE flag when scalar begins with newline. patches from Dave B at [ruby-core:23019] and caleb clausen at [ruby-core:25851]. [ruby-core:23006][ruby-core:29925] Sun May 2 17:52:16 2010 Nobuyoshi Nakada * lib/rdoc/task.rb (RDoc::Task): should not override newer code. Sun May 2 17:25:05 2010 Nobuyoshi Nakada * ext/dl/cfunc.c (rb_dlcfunc_call): ignore signedness. Sun May 2 12:04:30 2010 wanabe * iseq.c (iseq_load): allow filepath to be nil. a patch from Tomoyuki Chikanaga in [Bug #3229]. Sun May 2 08:54:37 2010 Nobuyoshi Nakada * lib/cgi.rb (CGI::NEEDS_BINMODE): check if O_BINARY value instead of fragile check by platform name. Sun May 2 07:38:43 2010 Nobuyoshi Nakada * lib/mkmf.rb (dir_config): should not modify argument arrays themselves. Sat May 1 22:53:57 2010 Nobuyoshi Nakada * lib/tempfile.rb (Tempfile#size): stat by path name when it is closed. * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert): keep the first trace. * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert): fixed filtering. [ruby-core:29908] Sat May 1 16:46:44 2010 Nobuyoshi Nakada * ext/bigdecimal/bigdecimal.c (BigDecimal_IsInfinite): don't use non-ascii character. Sat May 1 14:08:29 2010 Eric Hodel * lib/rubygems/server.rb: Fix bug when serving gems. Sat May 1 14:05:36 2010 Eric Hodel * lib/rdoc: Upgrade to RDoc 2.5.8. Sat May 1 09:43:06 2010 Nobuyoshi Nakada * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert): filter out traces in minitest directory. [ruby-core:29908] Sat May 1 06:42:57 2010 wanabe * win32/win32.c: add declaration of wstati64 for gcc. Sat May 1 02:41:33 2010 NAKAMURA Usaku * merge some patches from win32-unicode-test branch. see #1685. * file.c, include/ruby/intern.h (rb_str_encode_ospath): new function to convert encoding for pathname. * win32.c, include/ruby/win32.h (rb_w32_ulink, rb_w32_urename, rb_w32_ustati64, rb_w32_uopen, rb_w32_uutime, rb_w32_uchdir, rb_w32_umkdir, rb_w32_urmdir, rb_w32_uunlink): new functions to accept UTF-8 path. * win32/win32.c (rb_w32_opendir, link, rb_w32_stati64, rb_w32_utime, rb_w32_unlink): use WCHAR path internally. * file.c (rb_stat, eaccess, access_internal, rb_file_s_ftype, chmod_internal, rb_file_chmod, rb_file_chown, utime_internal, rb_file_s_link, unlink_internal, rb_file_s_rename): use UTF-8 version functions on Win32. * file.c (apply2files, rb_stat, rb_file_s_lstat, rb_file_symlink_p, rb_file_readable_p, rb_file_writable_p, rb_file_executable_p, check3rdbyte, rb_file_identical_p, rb_file_chmod, rb_file_chown, rb_file_s_link, rb_file_s_symlink, rb_file_s_rename): call rb_str_encode_ospath() before passing the path to system. * io.c (rb_sysopen): ditto. * dir.c (dir_chdir, dir_s_mkdir, dir_s_rmdir): ditto. Sat May 1 00:26:31 2010 Nobuyoshi Nakada * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert): assertion message must be String or Proc. suggested by caleb clausen at [ruby-core:29884]. Sat May 1 00:14:47 2010 Nobuyoshi Nakada * test/ruby/test_io.rb: skip false tests on Windows. [ruby-core:29886] Fri Apr 30 22:46:27 2010 Marc-Andre Lafortune * math.c: Math::DomainError < StandardError [ruby-core:29855] Fri Apr 30 21:40:36 2010 Nobuyoshi Nakada * test/test_open3.rb (TestOpen3#test_commandline): use simple command via shell. [ruby-dev:41100] Fri Apr 30 15:38:45 2010 Hidetoshi NAGAI * ext/tk/extconf.rb: better support for MinGW environment. Fri Apr 30 12:05:20 2010 Tanaka Akira * file.c (file_expand_path): call rb_str_set_len before BUFCHECK to prevent rb_str_resize in BUFCHECK discard the content. Fri Apr 30 11:48:31 2010 Marc-Andre Lafortune * string.c (rb_str_sub_bang): String#sub! now raises an error when called on a frozen string, even if no change is made. See [ruby-core:23657] Fri Apr 30 11:40:44 2010 Marc-Andre Lafortune * eval.c (make_exception, rb_obj_extend): Fix error messages in case of wrong number of arguments * file.c (rb_f_test, rb_file_s_umask): ditto * numeric.c (int_chr, num_step): ditto * process.c (rb_f_sleep): ditto * re.c (rb_reg_initialize_m): ditto * signal.c (rb_f_kill, sig_trap): ditto * string.c (rb_str_aref_m, rb_str_aset_m, rb_str_count, rb_str_delete_bang, rb_str_slice_bang, rb_str_sub_bang, str_gsub): ditto * proc.c (curry): rdoc fix Fri Apr 30 04:09:30 2010 NAKAMURA Usaku * time.c (TIMET_MAX): should be time_t, not unsigned_time_t. Fri Apr 30 03:59:08 2010 NAKAMURA Usaku * time.c (rb_time_unmagnify_to_float): should cast. Fri Apr 30 03:38:14 2010 NAKAMURA Usaku * numeric.c (fix_mul): the width of fixnum is same as long's on all platforms. Fri Apr 30 03:17:20 2010 Marc-Andre Lafortune * lib/matrix.rb: Improve algorithm for Matrix#determinant and Matrix#rank {determinant,det,rank}_e are now deprecated. [ruby-core:28273] Also fixes a bug in Determinant#rank (e.g. [[0,1][0,1][0,1]]) Matrix#singular?, Matrix#regular? now raise on rectangular matrices and use determinant instead of rank. Fri Apr 30 00:52:56 2010 NAKAMURA Usaku * win32/Makefile.sub (config.h): define some constants to select collect code for win64. Thu Apr 29 20:10:14 2010 Nobuyoshi Nakada * test/test_open3.rb (test_commandline): use dump instead of shellwords. [ruby-core:23797] Thu Apr 29 18:39:51 2010 Nobuyoshi Nakada * lib/thwait.rb (ThreadsWait#join): refined rdoc again. [ruby-core:29863] [ruby-dev:41092] Thu Apr 29 14:46:00 2010 Nobuyoshi Nakada * test/ruby: use more descriptive assertions. * test/ruby: fixed nonsense assertions. * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert): reverted. [ruby-core:29872] Thu Apr 29 12:33:42 2010 Nobuyoshi Nakada * lib/thwait.rb (ThreadsWait#join): refined rdoc. [ruby-core:29863] Thu Apr 29 12:16:20 2010 Nobuyoshi Nakada * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert): reject non-boolean values. [ruby-core:29868] Thu Apr 29 11:20:53 2010 Nobuyoshi Nakada * io.c (seek_before_access): renamed. see [ruby-core:29861]. * io.c (rb_io_s_binread): fixed rdoc. parts of a patch from Roger Pack in [ruby-core:29861]. Thu Apr 29 03:50:49 2010 James Edward Gray II * lib/xmlrpc/utils.rb: Fixing an incompatibility with reflection methods returning Symbols. Patch by HD Moore. [ruby-core:29821] Wed Apr 28 23:53:15 2010 Yusuke Endoh * lib/thwait.rb: revise rdoc. a patch from Roger Pack in [ruby-core:27362]. Wed Apr 28 23:21:42 2010 NARUSE, Yui * ext/json: Update to JSON 1.4.2. Wed Apr 28 22:53:57 2010 Yusuke Endoh * thread. (rb_thread_terminate_all): revert r24591 which caused SEGV sometimes. [ruby-dev:40936] [ruby-core:27245] [ruby-core:27416] Wed Apr 28 22:26:55 2010 Yusuke Endoh * test/psych/visitors/test_yaml_tree.rb (test_struct_const): remove Struct::Foo which affects test/ruby/test_struct to warn redefining constant. Wed Apr 28 18:04:48 2010 Nobuyoshi Nakada * time.c (time_timespec): use rb_check_funcall. Wed Apr 28 17:14:10 2010 Nobuyoshi Nakada * ext/socket/extconf.rb: CMSG_ macros are broken on 64bit darwin, because of use of __DARWIN_ALIGN. Wed Apr 28 16:44:58 2010 Nobuyoshi Nakada * include/ruby/ruby.h ({RSTRING,RSTRUCT,RBIGNUM}_LENINT): check long to cast to int. Wed Apr 28 16:28:51 2010 Nobuyoshi Nakada * ext/socket/unixsocket.c (sendmsg_blocking, recvmsg_blocking): define only when used. * ext/socket/rubysocket.h: non-implemented method definitions need to be shared. Wed Apr 28 10:27:33 2010 Nobuyoshi Nakada * vsnprintf.c (ruby_vsnprintf, ruby_snprintf): suppress warnings. why return int in spite of the arguments of size_t? Wed Apr 28 09:49:21 2010 Nobuyoshi Nakada * tool/compile_prelude.rb: enable optimization. Wed Apr 28 09:43:24 2010 Nobuyoshi Nakada * parse.y (warn_balanced): do not warn for EXPR_ENDFN. Tue Apr 27 23:57:04 2010 Yusuke Endoh * eval.c (ruby_cleanup): add exception guard around code running signal handler (of r27513). Absence of the guard made bootstraptest/test_thread.rb fail sometimes. Tue Apr 27 22:55:29 2010 Yusuke Endoh * insns.def (onceinlinecache): add exclusion control for a region between onceinlinecache and setinlinecache. [ruby-dev:39768] Tue Apr 27 22:40:54 2010 Yusuke Endoh * iseq.c (set_relation): do not use top_wrapper as bottom of cref, which caused constant lookup error when "wrapped load" is used; instead, use Object as bottom, and push top_wrapper on Object. [ruby-core:25039] Tue Apr 27 21:24:40 2010 Yusuke Endoh * eval.c (ruby_cleanup): before cleanup, check signal buffer and run handler if any. [ruby-core:20970] * thread.c (rb_threadptr_check_signal): separated from timer_thread_function. Tue Apr 27 18:00:50 2010 Nobuyoshi Nakada * lib/net/smtp.rb (Net::SMTP#rcptto_list): fixed typo. [ruby-core:29809] Tue Apr 27 12:44:23 2010 Eric Hodel * lib/rdoc: Import RDoc 2.5.7. Fixes #1318 and ruby-core:29780. Tue Apr 27 10:54:14 2010 Nobuyoshi Nakada * parse.y (parser_read_escape): deny extra character escapes. [ruby-core:27228] Tue Apr 27 06:20:13 2010 Tanaka Akira * io.c (select_internal): IO which cbuf is not empty is readable. Tue Apr 27 00:07:32 2010 Yusuke Endoh * parse.y (program): check void_expr when rb_parse_in_main(). [ruby-dev:38717] Mon Apr 26 20:11:05 2010 Tadayoshi Funaba * complex.c, rational.c, lib/cmath.rb, lib/date.rb lib/date/delta*: reverted r27484-27486. now official spec. Mon Apr 26 15:42:59 2010 NAKAMURA Usaku * ext/json/generator/generator.c (convert_UTF8_to_JSON_ASCII): get rid of a warning. Mon Apr 26 13:11:57 2010 Nobuyoshi Nakada * parse.y (ripper_get_value): escape Qundef. Mon Apr 26 12:42:43 2010 Nobuyoshi Nakada * parse.y (warn_balanced): warn according to last state. Mon Apr 26 09:05:30 2010 NARUSE, Yui * ext/json: Update to JSON 1.4.1. Sun Apr 25 23:50:08 2010 Nobuyoshi Nakada * io.c (ruby_dup): update max fd. Sun Apr 25 21:56:49 2010 Shugo Maeda * lib/net/imap.rb (fetch_internal): do not quote message data item names. Thanks, Eric Hodel. [ruby-core:23508] Sun Apr 25 15:59:02 2010 Tadayoshi Funaba * lib/cmath.rb: reverted experimental r23900. Sun Apr 25 15:51:00 2010 Tadayoshi Funaba * complex.c, rational.c: reverted experimental r24565. Sun Apr 25 15:34:48 2010 Tadayoshi Funaba * lib/date.rb, lib/date/delta*: reverted experimental r24567 and r25393. Sun Apr 25 11:02:20 2010 wanabe * hash.c (ruby_setenv): putenv on msvcrt.dll can't remove empty value. Sat Apr 24 23:40:50 2010 Tanaka Akira * lib/pp.rb: use [""].pack("p").size to detect the pointer size. Sat Apr 24 21:07:27 2010 Tanaka Akira * test/psych/test_psych.rb: don't leave temporary files. Sat Apr 24 16:27:48 2010 Nobuyoshi Nakada * Makefile.in (RUBY_PROGRAM_VERSION): added * tool/rbinstall.rb: expand target file name. * template/fake.rb.in: no need for hook if extmk. Sat Apr 24 14:40:20 2010 Tanaka Akira * io.c: raise IOError when byte oriented operations occur with non-empty character buffer. [ruby-dev:40493] [ruby-dev:40506] Sat Apr 24 13:06:57 2010 Nobuyoshi Nakada * ruby.c (get_arglen): skip the last terminator of argv before checking environ. * ruby.c (get_arglen): duplicate environ area if setenv and unsetenv are provided. * ruby.c (set_arg0): keep empty strings. Sat Apr 24 09:44:40 2010 Nobuyoshi Nakada * ext/syck/yaml2byte.c (bytestring_append, bytestring_extend): removed wrong extra assignments. a patch from Marcus Rueckert at [ruby-core:29759]. Sat Apr 24 00:41:52 2010 Yusuke Endoh * process.c (rb_f_fork): remove after_exec() which sometimes caused two timer threads started. [ruby-core:25217] * signal.c: use pthread_sigmask() instead of sigprocmask(). sigprocmask() is unspecified behavior on multi-thread programs. [ruby-core:25217] Sat Apr 24 00:36:05 2010 Yusuke Endoh * test/dl/test_base.rb: add kfreebsd support. based on a patch from Petr Salinger in [ruby-core:29769]. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560293 Sat Apr 24 00:14:41 2010 NAKAMURA Usaku * ext/openssl/ossl_ssl_session.c (SSL_SESSION_cmp): remove static for loopy version of openssl (0.9.8l?). Fri Apr 23 23:27:17 2010 Tanaka Akira * ext/openssl/ossl_config.c: fix compilation failure with OpenSSL 0.9.8. Fri Apr 23 17:29:35 2010 NAKAMURA Usaku * ext/openssl/ossl_config.c: OpenSSL 1.0.0 support. [ruby-core:29256] * ext/openssl/extconf.rb: check some functions added/removed at OpenSSL 1.0.0. * ext/openssl/ossl_engine.c (ossl_engine_s_load): use engines which exists. * ext/openssl/ossl_ssl_session (SSL_SESSION_cmp): removed at 1.0.0, so implement compatible function here. Fri Apr 23 14:37:22 2010 Nobuyoshi Nakada * gem_prelude.rb (Gem::QuickLoader.load_full_rubygems_library): get rid of creating same regexps many times. * lib/rubygems/custom_require.rb (Kernel#require): ditto. Fri Apr 23 14:07:36 2010 Nobuyoshi Nakada * doc/etc.rd, doc/etc.rd.ja: moved from ext/etc. * ext/etc.c (Init_etc): fixed rdoc. Fri Apr 23 11:31:25 2010 Eric Hodel * lib/rdoc: Update to RDoc 2.5.6. Fri Apr 23 04:11:26 2010 Nobuyoshi Nakada * test/ripper/test_parser_events.rb (test_unterminated_regexp): separate test. Fri Apr 23 01:47:54 2010 NAKAMURA Usaku * win32/win32.c (rb_w32_wopen): shouldn't use FILE_FLAG_OVERLAPPED with normal file. #1807, #2510, #2549 Fri Apr 23 01:28:03 2010 NAKAMURA Usaku * thread_win32.c (ubf_handle): remove unused typedef. Thu Apr 22 23:10:59 2010 Yusuke Endoh * proc.c (mnew): fix wrong error message when Kernel#public_method receives name of private method. [Bug #2425] Thu Apr 22 22:56:42 2010 Yusuke Endoh * bootstraptest/test_thread.rb: fix test. [Bug #2342] Thu Apr 22 21:50:17 2010 Keiju Ishitsuka * lib/irb/ext/multi-irb.rb: fix multi-irb running parallelly. [ruby-dev:41031] [Bug #3182] Thu Apr 22 17:13:34 2010 Eric Hodel * lib/rubygems: Import RubyGems 1.3.7.pre.1 (as 1.3.6.1). Thu Apr 22 16:43:31 2010 Nobuyoshi Nakada * parse.y (warn_balanced): removed false warning. * parse.y (parser_yylex): skip whitespaces after method name. Wed Apr 22 02:16:00 2010 Kenta Murata * ext/bigdecimal/bigdecimal.[ch]: replace _DEBUG with BIGDECIMAL_DEBUG to prevent activating debugging code when compiled with -DEBUG flag on Windows. [ruby-core:22989] #1308 Wed Apr 21 21:24:20 2010 Tanaka Akira * ext/digest/sha2/extconf.rb: check SHA256_CTX and SHA512_CTX to fix compilation failure on OpenBSD 4.4. Wed Apr 21 15:13:10 2010 NARUSE, Yui * io.c (io_getc): fix incomplete character immediately before EOF with newline converter. [ruby-dev:41024] Wed Apr 21 13:44:54 2010 Nobuyoshi Nakada * parse.y (regexp): check each fragments. [ruby-core:27374] Wed Apr 21 13:36:01 2010 Nobuyoshi Nakada * parse.y (parser_yylex): reverted r27388 due to backward compatibility. * parse.y (parser_yylex): warn confusing binary operators after local variable. Wed Apr 21 11:53:47 2010 Eric Hodel * lib/rdoc: Update to RDoc 2.5.5. Fixes bugs in ri, Darkfish and rdoc option handling. Wed Apr 21 11:31:35 2010 Nobuyoshi Nakada * parse.y (parser_yylex): abandoned EXPR_VCALL. Wed Apr 21 03:17:17 2010 NARUSE, Yui * io.c (io_getc): set read_encoding to resulted one character string. [ruby-dev:41023] Wed Apr 21 00:29:39 2010 Yusuke Endoh * bignum.c (bigmul1_karatsuba): fix calculation order to prevent underflow. [ruby-core:29088] Wed Apr 21 00:26:17 2010 Yusuke Endoh * compile.c (NODE_NEXT, NODE_REDO): add dummy putnil instruction to fix stack consistency error. [ruby-core:28172] * bootstraptest/test_jump.rb: add a test for above. Wed Apr 21 00:16:44 2010 Yusuke Endoh * ext/zlib/zlib.c (rb_deflate_params): update buf_filled count because deflateParams writes to out buffer. And, revert r18029 because the flush was not needed now and emits garbage. [ruby-dev:40802] Wed Apr 21 00:01:05 2010 Yusuke Endoh * vm_method.c (rb_add_method_def): decrement alias count of rb_method_definition_t to prevent memory leak. see [ruby-dev:41021]. Tue Apr 20 21:33:06 2010 NAKAMURA Usaku * ext/dl/win32/lib/win32/registry.rb (PredefinedKey#create): root key name should be a string. fixed [ruby-core:28192] Tue Apr 20 19:25:50 2010 Nobuyoshi Nakada * parse.y (parser_yylex): fix for tLPAREN_ARG. Tue Apr 20 12:34:23 2010 Takeyuki FUJIOKA * lib/cgi/{core, util}.rb (RFC822_DAYS, RFC822_MONTHS): move the constant because used only util.rb. Tue Apr 20 12:24:57 2010 Nobuyoshi Nakada * parse.y (lex_state_e, IS_END, IS_SPCARG, parser_yylex): separate the state after vcall. [ruby-core:29578] Tue Apr 20 01:03:00 2010 Yusuke Endoh * bootstraptest/test_fork.rb: add a test for [ruby-core:28924]. Tue Apr 20 00:43:03 2010 Nobuyoshi Nakada * file.c (rb_file_s_extname): skip last directory separators. [ruby-core:29627] Tue Apr 20 00:41:25 2010 Nobuyoshi Nakada * io.c (internal_{read,write}_func, rb_{read,write}_internal): reverted r27265, since now rb_thread_blocking_region() preserves errno. Mon Apr 19 23:14:45 2010 Yusuke Endoh * thread.c (rb_thread_blocking_region, rb_thread_blocking_region_end): preserve errno. [Bug #2606] [ruby-core:28924] Mon Apr 19 19:41:10 2010 URABE Shyouhei * lib/fileutils.rb (FileUtils::cp_r): backport r11156 from ruby_1_8. Mon Apr 19 19:18:53 2010 Nobuyoshi Nakada * parse.y (parser_yylex): reduced duplicated conditions. Mon Apr 19 13:58:04 2010 Eric Hodel * lib/rdoc: Update to RDoc 2.5.4. Fixes #3169, #3160, #3023. Mon Apr 19 12:46:15 2010 Nobuyoshi Nakada * lib/timeout.rb (Timeout#timeout): propagate errors to the caller. [ruby-dev:41010] Mon Apr 19 00:27:03 2010 NARUSE, Yui * vm_method.c (rb_add_method_def): workaround fix for redefinition of methods. This is because cfp->me uses the rb_method_entry which is freed by redefinition of remove_method. Note that reusing may cause another problem when the usage is changed. [ruby-core:27320] [ruby-core:29464] Sun Apr 18 22:13:21 2010 Nobuyoshi Nakada * parse.y (string_content): cond_stack and cmdarg_stack are VALUE. Sun Apr 18 18:07:47 2010 Tanaka Akira * lib/resolv.rb (Resolv::IPv4::Regex): make it only accept 0 to 255. [ruby-core:29501] Sun Apr 18 12:48:51 2010 Nobuyoshi Nakada * parse.y (parser_yylex): seems like a symbol-literal when spaces are unbalanced. [ruby-core:29578] Sun Apr 18 12:32:03 2010 Nobuyoshi Nakada * parse.y (string_content): preserve cond_stack and cmdarg_stack. [ruby-core:29579] Sun Apr 18 05:50:58 2010 Aaron Patterson * ext/psych/lib/psych/visitors/yaml_tree.rb: defaulting binary string format to "literal" format. Sun Apr 18 02:13:59 2010 NARUSE, Yui * lib/irb/ruby-lex.rb (identify_identifier): add '_' to the regexp. Sat Apr 17 23:21:15 2010 NARUSE, Yui * configure.in: use AC_TRY_LINK instead of AC_TRY_COMPILE. On Solaris it can compile with signbit but can't link. Sat Apr 17 20:34:09 2010 Yusuke Endoh * test/ruby/envutil.rb: update Gem::ConfigMap to fake environment for tests. Some test of rubygems had failed because envutil.rb changed only RbConfig::CONFIG but not Gem::ConfigMap. Sat Apr 17 20:31:08 2010 Yusuke Endoh * lib/irb/ruby-lex.rb (identify_identifier): allow multibyte character as identifier. [ruby-core:27275] Sat Apr 17 09:19:27 2010 wanabe * compile.c (iseq_compile_each): fix splat condition in NODE_WHEN. [Bug #2226] Sat Apr 17 08:57:41 2010 Nobuyoshi Nakada * lib/net/smtp.rb (Net::SMTP#rcptto_list): continue when at least one RCPT is accepted. based on a patch from Kero van Gelder at [ruby-core:26190]. Sat Apr 17 07:43:55 2010 Kazuhiro NISHIYAMA * test/thread/test_queue.rb (TestQueue#grind): fix typos. Sat Apr 17 07:27:53 2010 Kazuhiro NISHIYAMA * NEWS: add Array#repeated_{combination,permutation} [Feature #2981] Sat Apr 17 05:30:22 2010 Aaron Patterson * ext/psych/lib/psych/core_ext.rb (yaml_as): supporting deprecated "yaml_as" method * ext/syck/lib/syck/tag.rb: ditto Sat Apr 17 05:25:15 2010 Aaron Patterson * ext/psych/lib/psych/coder.rb (scalar): supporting deprecated methods * ext/psych/lib/psych/deprecated.rb: supporting deprecated to_yaml_properties method Sat Apr 17 01:32:50 2010 Yusuke Endoh * io.c (rb_io_rewind, rb_io_eof): add rdoc. based on a patch from Roger Pack in [ruby-core:26771] [Bug #2377]. Fri Apr 16 23:42:56 2010 Masaki Suketa * test/win32ole/test_folderitem2_invokeverb.rb (test_invokeverb): run test only when "Create Shortcut (&S)" menu is found. [ruby-core:29550] [Bug #1602] Fri Apr 16 21:52:16 2010 Yusuke Endoh * parse.y (string_content, etc): counts of CMDARG_PUSH and POP were inconsistent. [ruby-core:22637] Fri Apr 16 21:27:57 2010 Yusuke Endoh * ext/bigdecimal/bigdecimal.c (BigDecimal_coerce): revert r23389, which not only is unnecessary but also causes the inconsistency of return type. [ruby-core:25706] [Bug #2129] Fri Apr 16 20:05:24 2010 Yusuke Endoh * lib/thread.rb (Queue#push, #pop, SizedQueue#push, #pop): remove code that kicks waiting thread twice, which caused race and deadlock. a patch from James M. Lawrence. [ruby-core:25537] * test/thread/test_queue.rb: added. Fri Apr 16 20:01:47 2010 Yusuke Endoh * .gitignore: updated. Fri Apr 16 16:51:14 2010 Nobuyoshi Nakada * tool/file2lastrev.rb (VCS::SVN::get_revisions.): remind about DOSISH, sometimes. Fri Apr 16 16:15:40 2010 Yukihiro Matsumoto * array.c (rb_ary_repeated_permutation): new method added. a patch from Makoto Kishimoto in [ruby-core:29267] [ruby-core:28724] * array.c (rb_ary_repeated_combination): ditto. Thu Apr 15 22:41:47 2010 Yusuke Endoh * thread.c (rb_thread_priority, rb_thread_priority_set): fix rdoc. Lower-priority thread may run even if there are higher-priority threads. See [ruby-dev:40977]. Thu Apr 15 22:33:35 2010 Yusuke Endoh * lib/uri/ftp.rb (URI::FTP#set_path): added to correct handling of special case where path of ftp is relative. This converts relative path to absolute one, because external representation of ftp path is relative and internal representation is absolute. [ruby-core:24077] * lib/uri/ftp.rb (URI::FTP#initialize): converts absolute to relative. * lib/uri/generic.rb (URI::Generic#check_path): allow relative path when scheme is ftp. Thu Apr 15 21:54:39 2010 Tanaka Akira * tool/file2lastrev.rb: use backtick for ruby 1.8. Thu Apr 15 21:13:29 2010 NARUSE, Yui * tool/file2lastrev.rb: this should run with ruby 1.8. Thu Apr 15 20:41:10 2010 Tanaka Akira * tool/file2lastrev.rb: make -q effective for files not version controlled. Thu Apr 15 14:50:19 2010 Nobuyoshi Nakada * vm.c (vm_backtrace_each): get rid of use of malloc from signal handler by using ruby_engine_name. [ruby-core:29497] * vm_eval.c (print_backtrace): file may be nil when segfaulted in very early stage. * vm_dump.c (bugreport_backtrace): ditto. Thu Apr 15 11:51:49 2010 NAKAMURA Usaku * common.mk (help): small fix. Wed Apr 14 22:09:28 2010 NARUSE, Yui * lib/rexml/source.rb: force_encoding("UTF-8") when the input is already UTF-8. patched by Kouhei Sutou [ruby-core:23404] Wed Apr 14 18:23:00 2010 Kenta Murata * configure.in (signbit): signbit is a macro in C99. Wed Apr 14 17:56:06 2010 Nobuyoshi Nakada * io.c (io_shift_cbuf): should terminate. http://golf.shinh.org/p.rb?DECimal+number+to+BINary#Ruby Wed Apr 14 16:29:02 2010 Nobuyoshi Nakada * gc.c (GET_STACK_BOUNDS): fixed macro argument names. a patch from Satoshi Shiba at [ruby-dev:40973]. * gc.h (ruby_get_stack_grow_direction): fixed prototype. * thread_pthread.c (get_stack, ruby_stack_overflowed_p): both side should be same type. [Bug #3145] Wed Apr 14 15:58:11 2010 Nobuyoshi Nakada * string.c (rb_string_value_cstr): make NUL terminated if it is not done. Wed Apr 14 12:56:21 2010 Shugo Maeda * lib/net/imap (encode_utf7): encode & properly. Thanks, Kengo Matsuyama. [ruby-dev:38063] Wed Apr 14 11:39:26 2010 Nobuyoshi Nakada * ext/syck/lib/syck/basenode.rb (Syck::BaseNode#match_path): fixed library name. * ext/syck/lib/yaml/syck.rb: split from ext/syck/lib/syck.rb for backward compatibility. Wed Apr 14 09:24:07 2010 NARUSE, Yui * ext/nkf/nkf-utf8/nkf.c: Refix [nkf-bug:21393]. (explicit -X) Tue Apr 13 20:36:50 2010 NARUSE, Yui * ext/nkf/nkf-utf8/nkf.c: Fix: Windows Codepages wrongly convert Halfwidth Katakana. [nkf-bug:21393] Tue Apr 13 15:00:45 2010 Nobuyoshi Nakada * random.c (make_seed_value): fix leading-zero-guard condition on bdigit is smaller than 32bit. Tue Apr 13 13:57:36 2010 Keiju Ishitsuka * lib/irb/completion.rb (CompletionProc): fix [ruby-dev:40953] [Bug #3126]. Thanks Kazuhiro NISHIYAMA. Tue Apr 13 09:32:12 2010 NARUSE, Yui * transcode.c (transcode_loop): insert output the value when fallback hash has a related key. [ruby-dev:40540] [ruby-dev:40829] #3036 * transcode.c (rb_econv_prepare_opts): pass to newhash a value with the key :fallback. Tue Apr 13 00:12:04 2010 Tanaka Akira * random.c (rand_init): use the absolute value of seed to make srand(-2**40) portable with 32bit and 64bit. [ruby-core:29292](2) Mon Apr 12 22:48:47 2010 Tanaka Akira * enumerator.c (inspect_enumerator): don't raise for uninitialized enumerator. Mon Apr 12 21:47:41 2010 Nobuyoshi Nakada * LEGAL: separated the section for parse.c. contributed by Paul Betteridge in [ruby-core:29472]. Mon Apr 12 09:19:49 2010 Nobuyoshi Nakada * lib/fileutils.rb (fu_each_src_dest): ensure src is accessible. * lib/fileutils.rb (fu_same): use File.identical? to get rid of exceptions. [ruby-core:28141] * lib/fileutils.rb (fu_have_st_ino): no longer used. * lib/fileutils.rb (fu_have_st_ino): check if required method is defined, instead of platform name. Mon Apr 12 05:10:20 2010 Marc-Andre Lafortune * lib/matrix.rb: New method Matrix.build [ruby-core:28272] Mon Apr 12 03:45:25 2010 Marc-Andre Lafortune * lib/matrix.rb: Deprecate elements_to_{f/i/r} Mon Apr 12 03:30:29 2010 Marc-Andre Lafortune * lib/matrix.rb: Handle coercion errors by raising TypeErrors [ruby-core:26736] Mon Apr 12 00:51:21 2010 Kazuhiro NISHIYAMA * io.c (rb_io_getline_fast, rb_io_getline_1): fix ARGF.lineno behavior. [ruby-core:25205] * test/ruby/test_argf.rb (TestArgf#test_lineno3): add a test for above. Sun Apr 11 23:25:17 2010 Yutaka Kanemoto * configure.in: can not load libraries if --with-opt-dir is used on AIX. [Bug #3107] Sun Apr 11 14:44:45 2010 Yusuke Endoh * lib/irb/ruby-lex.rb (RubyLex#getc): revert r10817, which caused regression for handling case when there is no newline at the end of file. [ruby-core:28248] Sun Apr 11 12:08:49 2010 Nobuyoshi Nakada * encoding.c (enc_replicate): new encoding name must be valid c-string. [ruby-dev:40954] Sun Apr 11 11:58:23 2010 Nobuyoshi Nakada * include/ruby/win32.h (ftruncate): rename to get rid of conflict with same name but non-LFS function on MinGW. [ruby-core:24757] Sun Apr 11 10:33:34 2010 Eric Hodel * lib/rdoc: Update to RDoc 2.5.3. Includes r27288 and r27290. Sun Apr 11 09:31:39 2010 Aaron Patterson * test/syck/*: Moved test/yaml to test/syck since it's actually testing the syck YAML engine. Sun Apr 11 08:56:44 2010 NARUSE, Yui * lib/rdoc/rdoc.rb (setup_output_dir): compare by Time#to_i. Cached created time doesn't have fractional times, but FileStat#mtime has; so rdoc almost always judged files are updated. Sun Apr 11 07:40:48 2010 NARUSE, Yui * lib/rdoc/rdoc.rb (setup_output_dir): fix typo. [ruby-core:29415] Sun Apr 11 07:01:41 2010 NARUSE, Yui * lib/uri/common.rb (decode_www_form_component): validate. [ruby-dev:40938] * lib/uri/common.rb (decode_www_form): allow empty string. * lib/uri/common.rb: fix nodoc for constant. [ruby-dev:40949] Sat Apr 10 21:26:22 2010 NARUSE, Yui * lib/rdoc/markup/preprocess.rb (RDoc::Markup::PreProcess#handle): use File.binread to avoid locale dependency. Sat Apr 10 15:18:26 2010 Eric Hodel * lib/rdoc: Import RDoc 2.5.2 * lib/rdoc/parser/ruby.rb (RDoc::Parser::Ruby): Don't parse rdoc files, reverts r24976 in favor of include directive support in C parser. Sat Apr 10 13:14:22 2010 Yusuke Endoh * ext/openssl/ossl_ssl.c (Init_ossl_ssl): add SSLContext#ssl_timeout=, which allows net/https to specify timeout. [ruby-core:24812] Sat Apr 10 07:36:13 2010 wanabe * vm_method.c (rb_add_method): clear attr.location before rb_ary_new3. a patch from Masaya TARUI in [Bug #3108] Sat Apr 10 05:27:26 2010 Aaron Patterson * ext/psych/lib/psych/deprecated.rb: implementing Psych.quick_emit and adding deprecation warnings. * ext/psych/lib/psych/visitors/to_ruby.rb: supporting deprecated yaml_initialize api. * ext/psych/lib/psych/visitors/yaml_tree.rb: supporting deprecated to_yaml api. Sat Apr 10 01:08:53 2010 Aaron Patterson * ext/psych/parser.c: parse raises a TypeError when nil is passed in. Sat Apr 10 00:01:51 2010 Yusuke Endoh * ext/pty/lib/expect.rb: preserve buffer read, instead of discard. based on a patch from Luiz Angelo Daros de Luca in [ruby-core:23464]. Fri Apr 9 23:58:58 2010 Yusuke Endoh * ext/pty/lib/expect.rb: raise an error when argument is unexpected type. based on a patch from Luiz Angelo Daros de Luca in [ruby-core:23464]. Fri Apr 9 23:57:35 2010 Yusuke Endoh * ext/pty/lib/expect.rb: add rdoc. based on a patch from Luiz Angelo Daros de Luca in [ruby-core:23464]. Fri Apr 9 23:54:16 2010 Yusuke Endoh * lib/irb/init.rb, lib/irb/lc/help-message, lib/irb/lc/ja/help-message: add -w flag. [ruby-core:24594] Fri Apr 9 23:51:45 2010 Yusuke Endoh * ext/socket/ipsocket.c (init_inetsock_internal), ext/socket/unixsocket.c (rsock_init_unixsock): check the result of listen(2). based on a patch from Mike Pomraning. [ruby-core:23698] Fri Apr 9 21:22:10 2010 Keiju Ishitsuka * lib/irb/completion.rb (CompletionProc): irb will be stuck with long variable name at completion. [Bug#1969]. refix [ruby-core:28366]. Fri Apr 9 20:54:10 2010 NARUSE, Yui * lib/uri/common.rb (decode_www_form): don't ignore leading '?'. [ruby-dev:40938] * lib/uri/common.rb (decode_www_form): check whether argument is valid application/x-www-form-urlencoded data. Fri Apr 9 20:29:13 2010 Yusuke Endoh * dir.c (push_glob): clear up the previous commit (RB_GC_GUARD can precede the last reference). [ruby-dev:40942] Fri Apr 9 20:05:05 2010 Yusuke Endoh * dir.c (push_glob): add RB_GC_GUARD to prevent str being free'ed. a patch from Masaya TARUI in [ruby-dev:40939]. [ruby-dev:40514] Fri Apr 9 10:53:00 2010 Kenta Murata * compile.c (iseq_compile_each): stop hiding, and freeze unpopped string nodes to allow method redefinition. [ruby-dev:40641] Fri Apr 9 01:26:54 2010 Nobuyoshi Nakada * io.c (internal_{read,write}_func, rb_{read,write}_internal): preserve errno. a patch from Takehiro Kubo in [ruby-core:29340]. [ruby-core:28924] Fri Apr 9 01:12:07 2010 Yusuke Endoh * lib/irb/completion.rb (CompletionProc): calling the method "methods" may raise an exception. [ruby-core:28366] Thu Apr 8 14:33:24 2010 URABE Shyouhei * configure.in: --disable-install-doc should prohibit doxygen. Thu Apr 8 14:23:51 2010 NAKAMURA Usaku * include/ruby/win32.h: include errno.h before defining errnos. see [ruby-core:29314] Thu Apr 8 11:45:14 2010 Nobuyoshi Nakada * lib/yaml.rb: use Psych if only it is loaded already. * lib/yaml.rb (YAML::EngineManager#yamler): set the result after successfully switched. Thu Apr 8 07:22:05 2010 Nobuyoshi Nakada * random.c (rand_init): ignore higher bits if all they are same as the lower sign bit. [ruby-core:29292](2) Thu Apr 8 07:16:19 2010 Nobuyoshi Nakada * lib/irb/cmd/help.rb (IRB::ExtendCommand::Help#execute): use RI interactive mode if no argument. [ruby-dev:39839] Wed Apr 8 02:33:55 2010 Marc-Andre Lafortune * array.c (rb_ary_permutation): Remove limitation for lengthy permutations [ruby-core:29240] * test/ruby/test_array.rb: ditto Wed Apr 7 23:33:55 2010 KOSAKI Motohiro * misc/ruby-mode.el (ruby-mode-map): binded C-c C-c and C-c C-c C-u to comment-region and uncomment-region. Thanks Michael Klishin! [Feature #872] [ruby-core:20552] Wed Apr 7 21:44:14 2010 Tanaka Akira * time.c (ASCTIME): unused macro removed. Wed Apr 7 16:45:49 2010 Nobuyoshi Nakada * configure.in (Makefile): reverted r27244. Wed Apr 7 11:49:34 2010 NARUSE, Yui * lib/rexml/quickpath.rb (REXML::QuickPath::predicate): fix regexp. Wed Apr 7 09:44:48 2010 Nobuyoshi Nakada * configure.in (Makefile): quote init-commands. * configure.in (Makefile): `make ruby` builds ruby command even if RUBY_INSTALL_NAME is customized or it has extension. Wed Apr 7 03:28:27 2010 Nobuyoshi Nakada * lib/rdoc/rdoc.rb (RDoc#{initialize,setup_output_dir}): initialize @last_created and use it. Wed Apr 7 02:05:41 2010 Nobuyoshi Nakada * template/fake.rb.in: not define $extout to make target in cwd. Tue Apr 6 23:01:35 2010 KOSAKI Motohiro * vm_core.h: Introduce UNINITIALIZED_VAR() macro. * thread.c (do_select): Use UNINITIALIZED_VAR() instead FAKE_FD_ZERO(). Also, remove FAKE_FD_ZERO completely. [Feature #3018] Tue Apr 6 14:53:17 2010 NAKAMURA Usaku * include/ruby/win32.h: check definition existence before defining errno macros. * win32/win32.c (errmap): define winsock errors mappings. these are VC++10 support. see [ruby-core:29278] Tue Apr 6 21:55:25 2010 Tanaka Akira * configure.in: test localtime(3) overflow. [ruby-dev:40910] * time.c (rb_gmtime_r): renamed from rb_gmtime. (rb_localtime_r): renamed from rb_localtime. (rb_localtime_r2): call rb_localtime_r and validate the result if there is overflow problem. (rb_gmtime_r2): call rb_gmtime_r and validate the result if there is overflow problem. Tue Apr 6 11:21:23 2010 Nobuyoshi Nakada * template/fake.rb.in: hooks for extconf.rb. Tue Apr 6 06:19:36 2010 NARUSE, Yui * lib/rexml/text.rb (REXML::Text.check): comment out broken logic. Tue Apr 6 05:59:12 2010 NARUSE, Yui * lib/rexml/parsers/baseparser.rb (LETTER, DIGIT): always use POSIX charclass. * lib/rexml/parsers/baseparser.rb (NAMECHAR): remove duplicated range. * lib/rexml/xmltokens.rb (NCNAME_STR, NAMECHAR): ditto. * lib/rexml/parsers/xpathparser.rb (PathExpr): ditto. * lib/rexml/text.rb (REXML::Text#initialize): initialize @parent. Mon Apr 5 19:54:58 2010 NARUSE, Yui * re.c (make_regexp): use onig_new_with_source to keep sourcefile and sourceline. * re.c (onig_new_with_source): copied from onig_new in regcomp.c for keep sourcefile and sourceline. Mon Apr 5 13:20:45 2010 NAKAMURA Usaku * include/ruby/win32.h, win32/win32.c (EWOULDBLOCK): VC10 already defined EWOULDBLOCK. based on a patch from Charlie Savage, see [ruby-core:29255] Mon Apr 5 13:10:35 2010 NARUSE, Yui * ext/psych/lib/psych/core_ext.rb: remove before alias. * ext/syck/lib/syck.rb: don't warn called by itself. Mon Apr 5 13:08:24 2010 NAKAMURA Usaku * win32/mkexports.rb (each_export): VC10 support. a patch from Charlie Savage in [ruby-core:29254] Sun Apr 4 22:18:32 2010 Tanaka Akira * time.c (cmp): optimize for fixnums. (lt): use cmp. (gt): ditto. (le): ditto. (ge): ditto. (wlt): use wcmp. (wgt): ditto. (wle): ditto. (wge): ditto. (time_subsec): use wmod. Sun Apr 4 10:04:28 2010 NARUSE, Yui * include/ruby/ruby.h: replace snprintf and vsnprintf by ruby_snprintf and ruby_vsnprintf. [ruby-dev:40909] * configure.in: don't check snprintf(3) and vsnprintf(3). * include/ruby/missing.h: don't declare snprintf and vsnprintf. * include/ruby/ruby.h: include stdarg.h. * sprintf.c: include vsnprintf.c * vsnprintf.c: renamed from missing/vsnprintf.c. * vsnprintf.c: remove useless ifdefs. * win32/mkexports.rb: use ruby_snprintf and ruby_vsnprintf. Sun Apr 4 09:44:01 2010 Tanaka Akira * time.c (lt): call <=> instead of <. Sun Apr 4 06:46:16 2010 Aaron Patterson * lib/yaml: Moved to ext/syck/lib, Syck only uses Syck constant. * lib/yaml.rb: Added an engine manager for choosing YAML engine. * ext/syck/lib/syck/rubytypes.rb: squashed warnings when using Psych Sat Apr 3 22:47:51 2010 Tanaka Akira * time.c: don't define STRUCT_WIDEVAL. Sat Apr 3 18:15:02 2010 Nobuyoshi Nakada * lib/rdoc/rdoc.rb (RDoc#{setup,update}_output_dir): store mtimes per files in the flag file. * lib/rdoc/rdoc.rb (RDoc#normalized_file_list): skip already processed and unmodified files. Sat Apr 3 15:09:30 2010 Nobuyoshi Nakada * common.mk (rdoc): no force-update, and add RDOCFLAGS. * lib/rdoc/options.rb (RDoc#parse): no-force-update option. Sat Apr 3 10:51:10 2010 Nobuyoshi Nakada * random.c (random_rand): raise ArgumentError on nil, as the documentation implies. [ruby-core:29075] * random.c (rb_f_rand): mentioned the case of when max is nil. Sat Apr 3 06:56:11 2010 Marc-Andre Lafortune * array.c (rb_ary_product): Accept a block [ruby-core:29045] Sat Apr 3 04:46:00 2010 Tanaka Akira * tool/file2lastrev.rb (VCS#relative_to): path and @srcdir may have different relative-ness. Sat Apr 3 03:19:01 2010 Kazuhiro NISHIYAMA * lib/benchmark.rb (Benchmark::Tms#add): fix NameError. [ruby-dev:40906] * test/benchmark/test_benchmark.rb: add a test for above. Sat Apr 3 01:50:02 2010 Nobuyoshi Nakada * lib/rdoc/parser/ruby.rb (RDoc#make_message): no empty lines. * lib/rdoc/stats.rb (RDoc::Normal#print_file): send to stdout and flush always Sat Apr 3 00:03:11 2010 Nobuyoshi Nakada * lib/rdoc/class_module.rb (RDoc#merge): get rid of stack overflow. * lib/rdoc/parser/c.rb (RDoc#handle_method): see source files in source directory. Fri Apr 2 22:13:38 2010 Nobuyoshi Nakada * lib/rdoc/rdoc.rb: reverted r27186 to add generators. Fri Apr 2 21:17:43 2010 Nobuyoshi Nakada * NEWS: added reverse_lookup option. Fri Apr 2 15:26:14 2010 Nobuyoshi Nakada * test/rdoc/test_rdoc_ri_driver.rb (with_dummy_pager): don't grasp the terminal. Fri Apr 2 14:43:18 2010 Nobuyoshi Nakada * lib/rdoc/rdoc.rb (RDoc::Generator): defer by autoload. * lib/rdoc/generator/darkfish.rb: use normal library instead of gem. Fri Apr 2 14:26:26 2010 Nobuyoshi Nakada * lib/rdoc/rdoc.rb (RDoc::RDoc#parse_files): don't branch by RUBY_VERSION. reapplied r24990. * lib/rdoc/rdoc.rb (RDoc::RDoc#parse_files): emacs local variables are delimited by a semicolon. supported Vim style. reapplied r24988 with fixing a typo for shebang. Fri Apr 2 14:16:54 2010 Nobuyoshi Nakada * lib/rdoc/parser/ruby.rb (RDoc::Parser::Ruby): parse also rdoc files. reapplied r24976. * lib/rdoc/parser/c.rb: fixed a small error in the documentation. [ruby-core:24744] reapplied r24395. * lib/rdoc/parser.rb (RDoc::Parser.binary?): blksize may be nil and is irrelevant to whether a file is binary. TAB and newlines would be usually considered to be included in text data. reapplied r23071 and r24297. Fri Apr 2 13:59:17 2010 Nobuyoshi Nakada * lib/rdoc/ri/paths.rb (RDoc::RI::Paths): Gem::Enable has been obsolete. reapplied r24599. * lib/rdoc/ri/paths.rb: follows $ridir. reapplied r23554. * lib/rdoc/ri/paths.rb (RDoc::HOMEDIR): expand_path deals with platform dependent environments. reapplied r21312. Fri Apr 2 12:52:25 2010 NAKAMURA Usaku * lib/rdoc/parser.rb (binary?): regression. Fri Apr 2 11:54:49 2010 NAKAMURA Usaku * win32/win32.c (init_env): wrong calculation of the head of setenv string. [ruby-core:29216] a patch from Heesob Park in [ruby-core:29218] Fri Apr 2 08:24:56 2010 Nobuyoshi Nakada * process.c (ruby_setsid): split from proc_setsid. * process.c (proc_daemon): use EXIT_SUCCESS instead of magic number. Fri Apr 2 07:00:28 2010 Nobuyoshi Nakada * ext/dl/cptr.c (rb_dlptr_inspect): fix format specifiers. Fri Apr 2 05:38:17 2010 Nobuyoshi Nakada * include/ruby/ruby.h (InitVM): calls per-VM initialization in single VM, but does nothing in MVM. Fri Apr 2 02:56:56 2010 Marc-Andre Lafortune * lib/matrix.rb: New instance methods: empty? [ruby-core:26284], each, each_with_index [ruby-core:28400], conjugate, conj, imaginary, imag, real, real?, rectangular, rect [ruby-core:26285] Removed compare_by*, inspect_org, cf [ruby-core:26268] Matrix.empty: raise on negative sizes Matrix.determinant: raise on rectangular matrices [ruby-core:28271] Thu Apr 1 17:17:00 2010 NARUSE, Yui * enc/trans/iso2022.trans: CP50221 supports 8bit JIS. Thu Apr 1 16:44:00 2010 Eric Hodel * lib/rdoc, test/rdoc: Imported RDoc 2.5 Thu Apr 1 14:30:16 2010 Nobuyoshi Nakada * enc/utf_16{be,le}.c (utf16{be,le}_mbc_to_code): simplified. Thu Apr 1 14:07:51 2010 NARUSE, Yui * util.c (BSD__hdtoa): don't use C99 macros. (FP_NORMAL etc) Thu Apr 1 13:30:12 2010 NARUSE, Yui * sprintf.c (rb_str_format): support %a format. [ruby-dev:40650] * missing/vsnprintf.c (BSD_vfprintf): ditto. * missing/vsnprintf.c (cvt): ditto. * util.c (BSD__hdtoa): added. This is 2-clause BSDL licensed by David Schultz and from FreeBSD. * LEGAL: add about hdtoa() in util.c. Thu Apr 1 13:24:12 2010 NARUSE, Yui * object.c (rb_cstr_to_dbl): return 0.0 if hexadecimal and badcheck is FALSE: Float("0x1p+0") works, but "0x1p+0".to_f doesn't. [ruby-dev:40650] * util.c (ruby_strtod): allow hexadecimal integers. Thu Apr 1 13:20:50 2010 NARUSE, Yui * lib/scanf.rb: support %a format. [ruby-dev:40650] Thu Apr 1 12:04:10 2010 NAKAMURA Usaku * include/ruby/ruby.h (PRE_TIMET_PREFIX): define if configure doesn't defines it. [ruby-core:29190] Thu Apr 1 11:36:04 2010 Nobuyoshi Nakada * io.c (rb_io_initialize): fixed a rdoc miss that textmode and binmode flag explanation was reversed each other. a patch from Heesob Park in [ruby-core:29166]. Thu Apr 1 09:54:27 2010 Nobuyoshi Nakada * include/ruby/ruby.h (RUBY_{DEFAULT,NEVER}_FREE): added. [ruby-dev:40889] Thu Apr 1 04:55:08 2010 Tanaka Akira * time.c (rb_big_abs_find_minbit): fix handling the last word. Thu Apr 1 04:30:11 2010 Tanaka Akira * time.c (long_mul): overflow condition changed. (wi_mul): ditto. Wed Mar 31 23:33:29 2010 Tanaka Akira * time.c (long_mul): extracted from mul and avoid integer overflow. (wi_mul): extracted from wmul and avoid integer overflow. Wed Mar 31 21:30:38 2010 Tanaka Akira * time.c: less bignum allocations. * strftime.c (rb_strftime_timespec): defined to avoid rational for nano second resolution time. Wed Mar 31 16:05:13 2010 Nobuyoshi Nakada * test/rake/test_{package_task,rules,task_manager}.rb: use temporary directories. Wed Mar 31 13:53:13 2010 NARUSE, Yui * test/rubygems/gemutilities.rb (setup, teardown): Object#to_yaml must use syck on RubyGem. Wed Mar 31 06:57:14 2010 Tanaka Akira * time.c (timew2timespec): fix previous change. Wed Mar 31 00:32:19 2010 Tanaka Akira * time.c (wdivmod): renamed from wdivmodv. fix neg/pos and pos/neg. (split_second): return number of seconds as wideval_t. (timet2wv): new function. (wv2timet): new function. (timet2wideval): removed. Tue Mar 30 22:24:19 2010 Tanaka Akira * time.c: use more polymorphic operations. Tue Mar 30 22:12:38 2010 Kazuhiro NISHIYAMA * NEWS: add URI.decode and URI.encode to Obsoleted methods, and fix typos. [ruby-dev:40852] * NEWS: add Time#subsec. Tue Mar 30 22:07:12 2010 Tanaka Akira * time.c: reorder wide value implementation. Tue Mar 30 22:00:44 2010 Keiju Ishitsuka * lib/irb.rb: support [Feature#988], [ruby-core:21177]. * lib/irb/context.rb: fix Context#verbose?. Tue Mar 30 21:56:33 2010 Tanaka Akira * time.c: make wide value more polymorphic. Tue Mar 30 21:18:32 2010 NARUSE, Yui * ext/psych/extconf.rb: install psych .so to not psych/ but direct. This prepends to install *.rb files to psych/psych. * ext/psych/lib/psych.rb: require 'psych.so'. Tue Mar 30 20:55:14 2010 Tanaka Akira * time.c (w2v): renamed from w2xv. (v2w): renamed from xv2w. (rb_time_magnify): takes wideval_t. (rb_time_unmagnify): returns wideval_t. Tue Mar 30 19:46:00 2010 Nobuyoshi Nakada * ext/psych/lib: moved external library dependent files from lib. [ruby-core:29129] Tue Mar 30 18:25:52 2010 Nobuyoshi Nakada * file.c (rb_file_dirname): split from rb_file_s_dirname. * load.c (rb_f_require_relative): use absolute path instead of expanded path. Tue Mar 30 13:57:08 2010 Akinori MUSHA * process.c (proc_daemon): Process.daemon should raise an error on failure regardless of whether the implementation uses daemon(3) or not. [ruby-dev:40832] Tue Mar 30 13:11:17 2010 Nobuyoshi Nakada * tool/file2lastrev.rb (VCS::GIT_SVN): removed because git-log can deal with git-svn repository faster than git-svn-info. * tool/file2lastrev.rb (VCS#get_revisions): particular commands do not depend on instance. Tue Mar 30 08:55:50 2010 Aaron Patterson * ext/psych/extconf.rb: Making library detection more agnostic. Tue Mar 30 08:10:59 2010 Aaron Patterson * lib/psych.rb: Fix problem with empty and white-space only strings. Thanks Peter McLain! * test/psych/test_psych.rb: tests for change. Tue Mar 30 05:31:39 2010 Aaron Patterson * lib/psych.rb: documentation updates. Thanks Peter McLain! * lib/psych/{coder,tree_builder}.rb: ditto Tue Mar 30 03:56:13 2010 NARUSE, Yui * ext/psych/{emitter,parser,psych}.c: move variable declaration to the first of the block. Mon Mar 29 21:47:44 2010 Akinori MUSHA * prelude.rb, .document: Stuff in prelude.rb should be documented as well. Mon Mar 29 20:23:05 2010 Keiju Ishitsuka * lib/matrix.rb(Vector#each2, Vector#collect2): add type check for Integer[Bug #2495]. Mon Mar 29 19:45:09 2010 Tanaka Akira * time.c: wide value condition changed. Mon Mar 29 18:10:03 2010 Nobuyoshi Nakada * lib/optparse.rb (Numeric): accept rationals. Mon Mar 29 15:10:39 2010 Nobuyoshi Nakada * lib/tempfile.rb (Tempfile#open): re-open with same mode and options as initialize. Mon Mar 29 09:16:45 2010 NARUSE, Yui * random.c: change include order; ruby.h should be at first. Mon Mar 29 06:47:25 2010 Aaron Patterson * ext/psych/*: importing Psych to trunk * test/psych/*: ditto * lib/psych/*: ditto Sun Mar 28 10:03:51 2010 NARUSE, Yui * lib/scanf.rb: fix max width modifier for %f. Sun Mar 28 10:35:45 2010 Ryan Davis * lib/minitest/*.rb: Imported minitest 1.6.0 r5717. * test/minitest/*.rb: ditto. Sun Mar 28 10:12:28 2010 Tanaka Akira * time.c (rb_time_magnify): fix for LP64. Sun Mar 28 09:28:33 2010 NARUSE, Yui * lib/scanf.rb: fix %[egEFG] isn't accept. Sun Mar 28 09:53:02 2010 Tanaka Akira * time.c: rename small integer specialization related identifiers. Sun Mar 28 08:20:37 2010 Tanaka Akira * time.c (weq): specialize for small integer. (wne): ditto. (wlt): ditto. (wgt): ditto. (wle): ditto. (wge): ditto. (rb_time_magnify): ditto. (rb_time_unmagnify): ditto. (rb_time_unmagnify_to_float): new function to avoid rational for Time#to_f and Time#-. Sun Mar 28 07:12:41 2010 Tanaka Akira * time.c (mul): condition refined. Sun Mar 28 02:14:13 2010 Tanaka Akira * time.c: fix previous commit. Sat Mar 27 23:17:52 2010 Tanaka Akira * time.c: use 64bit arithmetic even on platforms with 32bit VALUE. Fri Mar 26 23:52:07 2010 wanabe * NEWS: add Thread#add_trace_func and Thread#set_trace_func. Fri Mar 26 22:58:10 2010 Yusuke Endoh * ext/openssl/ossl_x509store.c (ossl_x509store_initialize): initialize store->ex_data.sk. a patch from Christian Holtje in [ruby-core:28907]. [ruby-core:23971] [ruby-core:18121] Fri Mar 26 19:55:41 2010 Akinori MUSHA * Makefile.in (DOXYGEN): Define a missing variable DOXYGEN. Build has been failing when doxygen(1) is found by configure but the variable is not defined by the system and make(1) does not allow an empty command. ("@$(DOXYGEN)" was the cause) Fri Mar 26 19:28:03 2010 Shugo Maeda * test/ruby/test_hash.rb (test_recursive_key): recursive keys are permitted now. [ruby-dev:40735] Fri Mar 26 12:36:10 2010 Aaron Patterson * lib/yaml/basenode.rb: deprecating YPath methods * lib/yaml/stream.rb: deprecating YAML::Stream#edit Fri Mar 26 12:29:28 2010 Aaron Patterson * lib/yaml/encoding.rb: YAML.encode, YAML.decode are deprecated. * lib/yaml/stringio.rb: yaml/stringio.rb is deprecated. * lib/yaml/ypath.rb: YAML::YPath is deprecated. Fri Mar 26 04:52:19 2010 Hidetoshi NAGAI * ext/tk/extconf.rb: fix [ruby-core:28901] [Bug #2997]. Thanks, Michael Graff. * ext/tk/tcltklib.c: use xfree() for memories allocated by ALLOC(). * ext/tk/tkutil/tkutil.c: ditto. * ext/tk/lib/tkextlib/version.rb: forgot updating. Thu Mar 25 23:53:22 2010 wanabe * thread.c (thread_reset_event_flags): set flags to thread. [Bug #693] Thu Mar 25 23:17:16 2010 Yusuke Endoh * file.c (rb_get_path_check): prefer #to_path over #to_str. a patch originally written by me, and modified by Nobuyoshi Nakada. [ruby-core:24257] Thu Mar 25 18:10:08 2010 Kazuhiro NISHIYAMA * NEWS: Array#{uniq,uniq!} can take a block. see [ruby-dev:37998] Thu Mar 25 17:21:49 2010 Kazuhiro NISHIYAMA * NEWS: add IO#autoclose=, IO#autoclose?, IO#codepoints, IO#each_codepoint. Thu Mar 25 14:50:00 2010 Nobuyoshi Nakada * win32/win32.c (rb_w32_{read,write}): fix handle leaks. based on a patch from Heesob Park in [ruby-core:28919]. [ruby-core:28833] Thu Mar 25 12:37:37 2010 Kazuhiro NISHIYAMA * NEWS: add Kernel#singleton_class. Thu Mar 25 11:34:00 2010 Kenta Murata * bignum.c, node.h, strftime.c, enc/trans/utf8_mac.trans: added explicit casts for suppressing warnings. Thu Mar 25 11:34:00 2010 Kenta Murata * test/ruby/test_dir_m17n.rb: HFS+ escapes invalid byte sequences of filenames. Thu Mar 25 05:44:31 2010 Nobuyoshi Nakada * configure.in (ruby_version): needs runnable CPP. Thu Mar 25 04:42:19 2010 Nobuyoshi Nakada * tool/make-snapshot (package): take a breath for HP-UX make [ruby-core:28938]. * tool/make-snapshot (Dir.mktmpdir): for 1.8.6 backward compatibility. * tool/make-snapshot (package): $: no longer contains ".", in trunk. Thu Mar 25 03:52:45 2010 Nobuyoshi Nakada * ext/iconv/charset_alias.rb: update of URL. [ruby-dev:38360] Wed Mar 24 23:43:40 2010 Yusuke Endoh * thread.c (thread_create_core): let new thread inherit RUBY_EVENT_VM of event_flags. [ruby-core:25191] * thread.c (rb_threadptr_exec_event_hooks): delete RUBY_EVENT_VM if all event_hooks are removed. Wed Mar 24 22:58:02 2010 Yusuke Endoh * configure.in: revert the previous commit, which seemed to break make install. The files of standard libraries are directly installed to $(PREFIX)/lib/ruby instead of $(PREFIX)/lib/ruby/1.9.1 Wed Mar 24 18:16:08 2010 Nobuyoshi Nakada * configure.in (LDSHARED, CPP): keep $(CC). [ruby-core:28912] Wed Mar 24 14:33:56 2010 Nobuyoshi Nakada * win32/win32.c (rb_w32_read): limit read size to 16KB if the file seems to be console. [ruby-core:28902] Wed Mar 24 10:18:12 2010 NARUSE, Yui * file.c (file_expand_path): set length of string before calling rb_enc_check because rb_enc_check scans its content. This prevents warnings by valgrind. Tue Mar 23 23:58:51 2010 James Edward Gray II * lib/csv.rb: Incorporating the fixes from the recent FasterCSV releases: 1.5.2 and 1.5.3. New parser by Tim Elliott. [ruby-core:25038] Tue Mar 23 18:35:46 2010 Shugo Maeda * object.c (rb_obj_singleton_class): new method Kernel#singleton_class. [ruby-core:21702] Tue Mar 23 01:13:59 2010 Tanaka Akira * ext/socket: use rsock_ prefix for internal initialization functions. Mon Mar 22 20:32:22 2010 wanabe * proc.c (rb_method_location): return attr's location if it is setup. [Feature #2084] * NEWS: follow above. * vm_method.c (rb_add_method): save attr's location. * gc.c (mark_method_entry): mark attr's location. * method.h (rb_method_definition_t): add member to save attr's location. * vm_eval.c (vm_call0): follow above. * vm_insnhelper.c (vm_call_method): ditto. * vm_method.c (rb_method_definition_eq): ditto. Mon Mar 22 19:31:06 2010 Tadayoshi Funaba * lib/date.rb (Date#>>): fixed. [ruby-core:28011] Mon Mar 22 18:01:13 2010 Nobuyoshi Nakada * configure.in (RMDIRS): use rmdir -p if possible. * Makefile.in ({dist,real}clean-ext): fix for removing ext directories. Mon Mar 22 09:06:10 2010 Tanaka Akira * ext/socket/.document: extracted from ext/.document. Mon Mar 22 00:50:33 2010 Tanaka Akira * ext/socket/rubysocket.h (rsock_revlookup_flag): declared. Mon Mar 22 00:01:24 2010 Alexander Zavorine * symbian/setup (config.h): RUBY_EXEC_PREFIX defined. Sun Mar 21 00:46:29 2010 NARUSE, Yui * lib/uri/common.rb (URI.encode_www_form_component): convert strings of HTML5 ASCII incompatible encoding to UTF-8. * lib/uri/common.rb (URI.encode_www_form_component): "\x83\x41" of Shift_JIS should be encoded as "%83A". This follows real implementations. * lib/uri/common.rb (URI.decode_www_form_component): use given encoding for force_encoding. [ruby-dev:40721] Sun Mar 21 21:09:17 2010 Tanaka Akira * lib/resolv-replace.rb: specify super class for rdoc. * lib/ipaddr.rb: ditto. Sun Mar 21 19:52:27 2010 Nobuyoshi Nakada * io.c (rb_io_initialize): add autoclose argument to control close at finalization. [ruby-core:26222] * io.c (rb_io_autoclose_p, rb_io_set_autoclose): new methods. Sun Mar 21 19:50:04 2010 Tanaka Akira * ext/socket: make sources rdoc friendly. Sun Mar 21 17:57:49 2010 Nobuyoshi Nakada * io.c (IO_RBUF_CAPA_FOR): use large buffer as cbuf if readconv is needed for performance improvement. based on a patch by Roger Pack in [ruby-core:28163]. [ruby-core:28162] Sun Mar 21 17:14:49 2010 Tanaka Akira * tool/transcode-tblgen.rb: reuse hash object. Sun Mar 21 12:32:39 2010 Tanaka Akira * tool/transcode-tblgen.rb (transcode_compile_tree): make valid_encoding mandatory unless from_encoding is registered in ValidEncoding. (transcode_tbl_only): ditto. (transcode_tblgen): ditto. (ValidEncoding): new function. * enc/trans/escape.trans: specify valid_encoding. * enc/trans/emoji_sjis_docomo.trans: ditto. * enc/trans/emoji.trans: ditto. * enc/trans/emoji_iso2022_kddi.trans: ditto. * enc/trans/big5.trans: ditto. * enc/trans/emoji_sjis_softbank.trans: ditto. * enc/trans/emoji_sjis_kddi.trans: ditto. * enc/trans/chinese.trans: use ValidEncoding() instead of ValidEncoding[]. Sun Mar 21 09:43:01 2010 Nobuyoshi Nakada * io.c (IO_[CRW]BUF_CAPA_MIN): replaced magic numbers. Sun Mar 21 09:22:10 2010 Tanaka Akira * object.c (rb_obj_hash): use LONG2FIX to avoid Bignum allocation. Sat Mar 20 22:51:46 2010 Tanaka Akira * string.c (rb_str_sum): use UCHAR_MAX. Sat Mar 20 19:16:42 2010 Tanaka Akira * tool/transcode-tblgen.rb (ActionMap.unambiguous_action): use Array#delete. (ActionMap.merge2): defined. (ActionMap::PostMemo): removed. (transcode_compile_tree): use ActionMap.merge2. Sat Mar 20 13:26:09 2010 Tanaka Akira * array.c (rb_ary_uniq_bang): the array is already unique if the length is zero or one. (rb_ary_uniq): ditto. Sat Mar 20 12:30:54 2010 Nobuyoshi Nakada * lib: fixed typo. a patch by Sho Hashimoto in [ruby-dev:40716]. Sat Mar 20 11:32:18 2010 Tanaka Akira * tool/transcode-tblgen.rb (each_firstbyte_range): tuned for less method calls. Sat Mar 20 00:59:50 2010 wanabe * ext/dl/lib/dl/pack.rb (DL#pack): allow LLP64. Fri Mar 19 05:26:31 2010 Tanaka Akira * string.c (rb_str_sum): don't call method for each byte. Thu Mar 18 21:24:21 2010 Nobuyoshi Nakada * Makefile.in (miniruby): link $(NORMALMAINOBJ). Thu Mar 18 19:52:27 2010 Tanaka Akira * tool/transcode-tblgen.rb: scan singleton mappings sequentially. Thu Mar 18 06:28:32 2010 Nobuyoshi Nakada * configure.in (RUBY_EXEC_PREFIX): added to config.h. * ruby.c (ruby_init_loadpath_safe): TMP_RUBY_PREFIX should be exec_prefix, not rubylibprefix. [ruby-core:28718] * version.c (RUBY_LIB_PREFIX): fallback to RUBY_EXEC_PREFIX. Thu Mar 18 05:58:27 2010 Nobuyoshi Nakada * ext/bigdecimal/bigdecimal.c (BigDecimal_{to_i,mod,divmod,div2}): removed unused variables. Thu Mar 18 04:40:56 2010 Nobuyoshi Nakada * parse.y (rb_intern3): get rid of type-punning cast. Thu Mar 18 02:29:42 2010 Yusuke Endoh * compile.c (iseq_build_body): add mark to jump table hash of case. Thu Mar 18 00:58:27 2010 NARUSE, Yui * util.c (ruby_strtod): Add support for Hexadecimal floating-point expression [ruby-dev:40650] #2969 Thu Mar 18 00:00:58 2010 NARUSE, Yui * lib/uri/common.rb (URI.{en,de}code_www_form_component): renamed from URI.{en,de}code_www_component. [ruby-dev:40672] * lib/uri/common.rb (URI.encode_www_form_component): %-encoded element should have always two hex. * lib/uri/common.rb (URI.encode_www_form_component): better treatment for ASCII incompatible encodings and encodings whose lead byte may use 7bit. * lib/uri/common.rb (URI.decode_www_form_component): add %20. * lib/uri/common.rb (URI.decode_www_form_component): add result's encoding as 2nd argument. * lib/uri/common.rb (URI.decode_www_form): added. Wed Mar 17 16:25:53 2010 Nobuyoshi Nakada * hash.c (rb_hash_aset): allow recursive key. [ruby-core:24648] Wed Mar 17 06:39:59 2010 Nobuyoshi Nakada * ruby.h (rb_warning, rb_sys_warning): fixed typo in rdoc. [ruby-core:28696] Wed Mar 17 02:29:46 2010 Yusuke Endoh * compile.c, iseq.c, ruby.c, vm.c, vm_core.h, vm_eval.c: add absolute path field into rb_iseq_t. The field contains a string representing a path to corresponding source file. or nil when the iseq is created from -e, stdin, eval, etc. This field is used for require_relative. [ruby-dev:40004] * load.c (rb_f_require_relative): add C implementation of require_relative. * prelude.rb (require_relative): get rid of Ruby implementation of require_relative. Wed Mar 17 01:24:01 2010 Yusuke Endoh * parse.y (rb_intern3): prohibit Symbol with an invalid encoding. [ruby-core:24621] * test/ruby/test_m17n_comb.rb: modify a test for above. Tue Mar 16 22:51:11 2010 Tanaka Akira * tool/transcode-tblgen.rb: specialize for singleton mappings. Tue Mar 16 20:13:00 2010 Kenta Murata * enc/trans/emoji.trans: added codepoints leading 0xf4 into nomap_table. Tue Mar 16 17:33:30 2010 NARUSE, Yui * ext/bigdecimal/bigdecimal.c (VpCtoV): keep e's sign. When e doesn't over flow e * BASE_FIG but overflow e * 10, e will overflow. Tue Mar 16 17:18:44 2010 Nobuyoshi Nakada * include/ruby/encoding.h (rb_str_conv_enc_opts): missing prototype. Tue Mar 16 15:20:13 2010 Nobuyoshi Nakada * ext/tmpdir: split from lib/tmpdir.rb. * win32/win32.c (rb_w32_system_tmpdir): extracted from init_env. * win32/win32.c (rb_w32_getcwd): removed duplicated code. Tue Mar 16 14:06:13 2010 Nobuyoshi Nakada * include/ruby/encoding.h (ENC_TO_ENCINDEX): suppress warnings. Tue Mar 16 14:03:24 2010 Nobuyoshi Nakada * configure.in (RSHIFT): parenthesize the argument of cast instead of the result. Tue Mar 16 11:23:42 2010 Nobuyoshi Nakada * file.c (file_expand_path): ignore dname if it has different drive letter or UNC. Tue Mar 16 07:16:56 2010 Tanaka Akira * tool/transcode-tblgen.rb: redundant loop removed. Tue Mar 16 07:01:43 2010 Tanaka Akira * tool/transcode-tblgen.rb: refactored to use tree as memo key. Tue Mar 16 04:05:13 2010 Tanaka Akira * tool/transcode-tblgen.rb: more info in generating macro names. Mon Mar 15 21:58:03 2010 Tanaka Akira * tool/transcode-tblgen.rb: ActionMap#each_firstbyte inlined. Mon Mar 15 21:22:49 2010 Tanaka Akira * tool/transcode-tblgen.rb (transcode_tblgen): add valid_encoding optional argument. * enc/trans/single_byte.trans use valid_encoding argument for transcode_tblgen. * enc/trans/chinese.trans: ditto. Mon Mar 15 18:33:36 2010 Nobuyoshi Nakada * random.c (default_rand): removed initial buffer. * random.c (Init_RandomSeed): initialize seed of default random. * random.c (Init_RandomSeed2): turn the seed to Bignum object. Mon Mar 15 17:28:30 2010 Yukihiro Matsumoto * io.c (rb_io_print): RDoc update. a patch from Daniel Kelley in [ruby-core:28643]. Mon Mar 15 14:06:07 2010 Nobuyoshi Nakada * random.c (next_state): no initialization here. * random.c (default_mt): always return initialized MT. Mon Mar 15 11:49:48 2010 NARUSE, Yui * random.c (rb_reset_random_seed): set seed in this. [ruby-core:28655] Mon Mar 15 10:26:02 2010 NARUSE, Yui * ext/nkf/nkf-utf8/nkf.c: import latest nkf. [master 9306cb0] this also fixes [ruby-dev:40607] Mon Mar 15 09:34:17 2010 NARUSE, Yui * lib/uri/common.rb (URI.encode_www_component): call str.to_s at first. Mon Mar 15 09:36:22 2010 Nobuyoshi Nakada * symbian/README.SYMBIAN: fixed broken patch and converted to unified diff. Mon Mar 15 07:51:05 2010 Nobuyoshi Nakada * file.c (Init_File): do not define File::ALT_SEPARATOR on cygwin. Mon Mar 15 07:41:00 2010 Nobuyoshi Nakada * file.c (realpath_rec): use same cache. * file.c (realpath_internal): regulate separators in prefix. [ruby-core:28653] * file.c (FILE_ALT_SEPARATOR): separated condition. Mon Mar 15 04:41:25 2010 Nobuyoshi Nakada * io.c (rb_io_each_codepoint): read directly when readconv is needed but internal encoding is not set. [ruby-core:28650] Mon Mar 15 04:18:31 2010 Nobuyoshi Nakada * tool/file2lastrev.rb (VCS::{SVN,GIT}#get_revisions): use block argument 'path' to get the path given by super. Mon Mar 15 02:43:59 2010 Tanaka Akira * tool/transcode-tblgen.rb (Action#hash): defined. (Action#eql?): ditto. (Action#==): ditto. Mon Mar 15 01:52:46 2010 Tanaka Akira * tool/transcode-tblgen.rb: refactored. Mon Mar 15 01:18:31 2010 Alexander Zavorine * symbian/setup (*.pkg): Ruby Core installation separated from standard extensions. * symbian/configure.bat: ditto. * symbian/README.SYMBIAN: ditto. * symbian/setup (config.h): support for 2nd internal drive added. Mon Mar 15 00:11:23 2010 NARUSE, Yui * tool/file2lastrev.rb (VCS::GIT_SVN#get_revisions) : use block argument 'path' to get the path given by super. * tool/file2lastrev.rb (VCS::GIT#get_revisions): use double quotes for Windows. patched by Vladimir Sizikov [ruby-core:28651] Sun Mar 14 22:38:31 2010 Tanaka Akira * tool/transcode-tblgen.rb: consider valid_encoding for max_input. Sun Mar 14 15:46:09 2010 Tanaka Akira * enc/trans/emoji.trans: fix nomap_table. Sun Mar 14 09:50:03 2010 Nobuyoshi Nakada * compile.c (insn_data_to_s_detail), iseq.c (insn_operand_intern): fixed format specifiers. Sun Mar 14 07:20:17 2010 Yukihiro Matsumoto * file.c (EXPAND_PATH_BUFFER): make it back to usascii, to prevent infinite loop on some platform. [ruby-dev:40629] Sun Mar 14 02:40:38 2010 Tanaka Akira * tool/transcode-tblgen.rb: reject ambiguous mapping. * enc/trans/single_byte.trans: remove ambiguous mapping such as \xD6 -> U+05F2 and \xD6\xC7 -> U+FB1F in Windows-1255 Sat Mar 13 23:48:27 2010 Yukihiro Matsumoto * file.c (file_expand_path): should not just copy the encoding from fname. [ruby-core:28635] * file.c (EXPAND_PATH_BUFFER): set filesystem_encoding, not usascii for path buffer. Sat Mar 13 17:48:43 2010 Nobuyoshi Nakada * tool/file2lastrev.rb: refactored. fixed changed revision of git. Sat Mar 13 15:44:20 2010 Yukihiro Matsumoto * io.c (rb_io_print): should not print field separator at the end of arguments. [ruby-talk:358633] Sat Mar 13 14:49:55 2010 Yukihiro Matsumoto * enum.c (enum_join): remove Enumerable#join. [ruby-core:24786] * array.c (ary_join_1): use #to_ary to detect recursive array. Sat Mar 13 12:26:13 2010 Nobuyoshi Nakada * include/ruby/io.h (MakeOpenFile): finalize fptr to get rid of memory leak. Sat Mar 13 11:14:26 2010 Shugo Maeda * load.c (rb_get_expanded_load_path): expand paths if any item in $: is not a string. Sat Mar 13 10:16:32 2010 Shugo Maeda * load.c (rb_get_expanded_load_path): does not expand paths if all the items in $: are absolute paths. [ruby-core:28113] Sat Mar 13 10:03:52 2010 Hidetoshi NAGAI * ext/tk/extconf.rb: fix [Bug #2840] Tk doesn't built in mingw. Sat Mar 13 03:24:15 2010 Tanaka Akira * tool/transcode-tblgen.rb: show consumed time at last. Sat Mar 13 00:44:20 2010 Nobuyoshi Nakada * file.c (rb_file_s_basename): check encoding of suffix. Sat Mar 13 00:11:05 2010 Nobuyoshi Nakada * ruby.c (ruby_init_loadpath_safe): mark initial load paths. * gem_prelude.rb (push_all_highest_version_gems_on_load_path): search insertion position by initial load path mark. * lib/rubygems.rb (Gem.load_path_insert_index): ditto. Fri Mar 12 21:34:00 2010 Kenta Murata * NEWS: emoji encodings. Fri Mar 12 17:14:12 2010 NARUSE, Yui * lib/uri/common.rb (URI.encode_www_form): new method to generate URL-encoded form data. [ruby-dev:39246] * lib/uri/common.rb (URI.encode_www_component, URI.decode_www_component): new method for encode/decode a name/value of HTML form. Fri Mar 12 17:36:35 2010 NARUSE, Yui * lib/webrick/httpservlet/cgihandler.rb (WEBrick::HTTPServlet::CGIHandler#do_GET): set binary mode for tempfile. http://pc12.2ch.net/test/read.cgi/tech/1265467681/286 Fri Mar 12 13:52:00 2010 Kenta Murata * tool/compile_prelude.rb: TMP_RUBY_PREFIX should replace rubylibprefix but not prefix. Fri Mar 12 09:43:11 2010 NARUSE, Yui * complex.c (f_signbit): remove condition for signbit because all platforms have signbit from r26871. Fri Mar 12 07:25:16 2010 Nobuyoshi Nakada * win32/win32.c (init_env): get rid of alloca() for outer string. Fri Mar 12 07:17:15 2010 Nobuyoshi Nakada * ext/racc/cparse/cparse.c: suppressed warnings for shortening on platforms where pointer is bigger than int. Fri Mar 12 07:15:08 2010 Nobuyoshi Nakada * ruby.c (ruby_init_loadpath_safe, ruby_init_gems): set and remove TMP_RUBY_PREFIX. * variable.c (rb_const_remove): new function. * tool/compile_prelude.rb: split each preludes. Fri Mar 12 07:09:20 2010 Nobuyoshi Nakada * Makefile.in (config.status): setup MINIRUBY environment for cross-compiling. Fri Mar 12 06:48:58 2010 Nobuyoshi Nakada * ext/tk/extconf.rb: log() is built-in in some compilers and needs proper declaration. Fri Mar 12 06:37:13 2010 Nobuyoshi Nakada * sample/timeout.rb: split from lib/timeout.rb. Thu Mar 11 22:35:27 2010 Tanaka Akira * time.c (time_round): new method Time#round. [ruby-dev:40595] Thu Mar 11 17:31:59 2010 Nobuyoshi Nakada * transcode.c (str_transcode0): confirm the code range. Thu Mar 11 12:14:17 2010 Nobuyoshi Nakada * missing/signbit.c: added. Thu Mar 11 11:16:33 2010 Nobuyoshi Nakada * configure.in: check if target_archs has changed. Thu Mar 11 01:33:30 2010 wanabe * win32/win32.c (signbit): allow x64. Thu Mar 11 01:04:48 2010 Shugo Maeda * iseq.c (rb_iseq_clone): sets local_iseq and klass properly. Wed Mar 10 21:25:41 2010 Yusuke Endoh * enum.c (min_ii, max_ii, minmax_ii): remove wrong optimization that reuses array for yield parameter, which caused unexpected behavior. [ruby-core:25989] Wed Mar 10 12:10:00 2010 Kenta Murata * enc/x_emoji.h: renamed from enc/x-emoji.c. Wed Mar 10 04:17:08 2010 Koichi Sasada * compile.c (defined_expr), insns.def (defined): fix to pass a Symbol object such as :$foo for the "defined?($foo)" expression on defined instruction. This patch fixes ISeq#to_a/load. Tue Mar 9 20:50:09 2010 Yusuke Endoh * test/dl/test_method.rb: delete a residual test for dl on libffi. Tue Mar 9 18:00:00 2010 Kenta Murata * enc/trans/EMOJI/*.src, enc/trans/emoji*, enc/x-emoji.c, test/ruby/enc/test_emoji.rb, tool/enc-emoji-citrus-gen.rb, tool/enc-emoji4unicode.rb, tool/jisx0208.rb, tool/test/test_jisx0208.rb: new encodings to support emoji charsets, which are used by Japanese mobile phones [ruby-dev:40528]. Thanks Yoji Shidara for a lot of contribution. * tool/transcode-tblgen.rb: modified for enc-emoji4unicode.rb. Tue Mar 9 14:57:40 2010 NARUSE, Yui * tool/transcode-tblgen.rb (ActionMap#generate_node): remove useless dup. * tool/transcode-tblgen.rb (transcode_tbl_only): remove duplicated method call for encode_utf8. Tue Mar 9 14:55:00 2010 NARUSE, Yui * re.c (rb_reg_to_s): remove unused variable. Tue Mar 9 12:17:34 2010 Yusuke Endoh * tool/transcode-tblgen.rb (StrSet#parse, ActionMap#generate_node): optimization (reusing object and improving memoize). [ruby-dev:40582] Sun Mar 7 02:27:03 2010 Alexander Zavorine * dln.c [DLN_NEEDS_ALT_SEPARATOR] (translit_separator): small typo fixed. * symbian/setup (*.pkg): Shared library installation path fixed to match changes in version.c. * symbian/setup (ruby.mmp): SOURCE dln_find.c added. Sun Mar 7 23:14:22 2010 Tanaka Akira * bignum.c (rb_big_pack): use DIGSPERLONG and BITSPERDIG. (rb_big_unpack): use DIGSPERLONG. Sun Mar 7 19:21:10 2010 Marc-Andre Lafortune * io.c: Fix documentation for each/each_line/lines, bytes/each_byte, codepoints/each_code_point [ruby-core:23948] * string.c: ditto * ext/stringio/stringio.c: ditto Sun Mar 7 13:49:49 2010 Tanaka Akira * file.c: add optional basedir argument for realpath/realdirpath. (realpath_internal): handle basedir. (rb_file_s_realpath): extract basedir from argument list. (rb_file_s_realdirpath): extract basedir from argument list. * lib/pathname.rb (realpath): pass basedir. (realdirpath): ditto. Sun Mar 7 02:05:38 2010 NARUSE, Yui * encoding.c (enc_set_filesystem_encoding): filesystem encoding on Mac OS X is now default external encoding. so Mac OS X is now treated as one of Unix. [ruby-dev:40439] * file.c (file_path_convert): ditto. Sat Mar 6 22:07:09 2010 Tanaka Akira * pack.c: fix the prototype of rb_big2ulong_pack. Sat Mar 6 13:45:37 2010 Yusuke Endoh * io.c (rb_io_s_write, rb_io_s_binwrite): delete File#write and #binwrite. It may take a long time to make them stable, so 1.9.2 should not include them. We need refactoring to implement them again. * test/ruby/test_io.rb: delete tests for them. Sat Mar 6 10:03:35 2010 Yusuke Endoh * io.c (rb_io_s_binwrite): use mode "r+b" instead of "ab" to handle offset correctly. [ruby-core:28517] * test/ruby/test_io.rb: use assert_equal instead of assert. Sat Mar 6 01:08:54 2010 NAKAMURA Usaku * win32/Makefile.sub (config.h): VC6 has __int64. Fri Mar 5 19:36:12 2010 NARUSE, Yui * transcode.c (econv_opts): set :undef => :replace when :replace is given and :invalid is not given. [ruby-dev:40554] Fri Mar 5 17:51:09 2010 Nobuyoshi Nakada * io.c (pipe_open): suppressed a warning. * win32/win32.c (rb_w32_map_errno, winnt_stat, rb_chsize): ditto. * win32/win32.c (rb_w32_aspawn): get rid of overflow. Fri Mar 5 11:59:30 2010 Nobuyoshi Nakada * win32/win32.c (signbit): defined on mingw. Thu Mar 4 22:49:42 2010 Yusuke Endoh * eval.c (setup_exception): avoid line number 0 when setting $DEBUG=true. [ruby-dev:39116] Thu Mar 4 22:45:02 2010 Yusuke Endoh * io.c (io_s_write, io_s_binwrite): add File#write and #binwrite. [ruby-core:21701] * test/ruby/test_io.rb: add tests for above. Mon Mar 4 13:14:34 2010 wanabe * gc.c (gc_profile_total_time): add GC::Profiler.total_time. [ruby-core:27169] * NEWS: ditto. Thu Mar 4 10:15:10 2010 NARUSE, Yui * complex.c (m_log, m_exp): remove unused functions. Thu Mar 4 02:34:59 2010 Yusuke Endoh * test/ruby/test_env.rb (TestEnv#test_select_bang): add tests. Thu Mar 4 02:29:52 2010 Kazuhiro NISHIYAMA * test/ruby/test_hash.rb (TestHash#test_keep_if): fix typo. Thu Mar 4 00:10:54 2010 Tanaka Akira * tool/transcode-tblgen.rb (HEX2): extracted from regexps. Wed Mar 3 23:16:32 2010 Marc-Andre Lafortune * complex.c (nucomp_real_check): raise TypeError instead of ArgumentError when argument is not a real as expected [ruby-core:28395] * rational.c (nurat_int_check): ditto (for integers) Wed Mar 3 23:07:08 2010 Marc-Andre Lafortune * lib/matrix.rb (Vector#each): Return self and optimization [ruby-core:28405] Wed Mar 3 18:35:55 2010 Yukihiro Matsumoto * hash.c (rb_hash_select_bang): add #select! and keep_if to Hash. * hash.c (env_select_bang): ..and to ENV. Wed Mar 3 15:54:20 2010 Yukihiro Matsumoto * lib/matrix.rb (Vector#each2, collect2): small refactoring. Wed Mar 3 16:14:24 2010 Yukihiro Matsumoto * lib/matrix.rb (Vector#each): make Vector enumerable. [ruby-core:28405] Wed Mar 3 14:28:23 2010 Yukihiro Matsumoto * array.c (rb_ary_select_bang): select! removes all elements for which block returns false. [ruby-core:27286] * array.c (rb_ary_keep_if): #keep_if, new method. Wed Mar 3 06:19:25 2010 Nobuyoshi Nakada * win32/win32.c (signbit): defined. * win32/Makefile.sub, symbian/setup (config.h): pack.c requires SIZEOF_INT*_T now. Tue Mar 2 21:16:48 2010 Yusuke Endoh * io.c (rb_io_lines, rb_io_bytes, rb_io_chars, rb_io_codepoints): change to alias to each_*, in similar way to ARGF and String. [ruby-core:23948] Tue Mar 2 15:54:40 2010 NARUSE, Yui * regcomp.c (noname_disable_map): add NT_ANCHOR case. Without this change, captured groups in anchors (look-ahead, look-behind, and so on) are not removed and unintended invalid backref error occur. [ruby-core:28235] * regcomp.c (renumber_by_map): ditto. Tue Mar 2 14:42:00 2010 Kenta Murata * test/dl/test_closure.rb: forget to revert at r26764. Tue Mar 2 14:29:24 2010 Nobuyoshi Nakada * file.c (rb_find_file_ext_safe, rb_find_file_safe): skip argument checks in file_expand_path(). Tue Mar 2 13:54:44 2010 Marc-Andre Lafortune * test/ruby/test_math.rb: Fix lgamma test Mon Mar 1 23:26:56 2010 Tanaka Akira * ext/pty/pty.c (pty_open): refine the path for master IO. Mon Mar 1 20:07:06 2010 TAKANO Mitsuhiro (takano32) * ext/zlib/zlib.c (zstream_expand_buffer_into): remove compare different type values warning. Mon Mar 1 17:42:45 2010 wanabe * configure.in (mingw): do not detect snprintf/vsnprintf. Mon Mar 1 16:54:21 2010 Yukihiro Matsumoto * include/ruby/oniguruma.h: updated to follow Oniguruma 5.9.2. * re.c (make_regexp): use onig_new() instead of onig_alloc_init(). * re.c (rb_reg_to_s): ditto. Sun Feb 28 21:32:36 2010 Nobuyoshi Nakada * ext/pty/pty.c (get_device_once): raise on error when fail is non-zero. Sun Feb 28 18:58:00 2010 Kenta Murata * math.c (rb_eMathDomainError): new exception class for representing mathematical domain error instead of Errno::EDOM. * math.c (domain_check, infinity_check): removed, no longer needed. * math.c (math_atan2, math_acos, math_asin, math_acosh, math_atanh, math_log, math_log2, math_log10, math_sqrt, math_gamma, math_lgamma): mathematical domain errors are checked and raised before calling libm's functions. * test/ruby/test_math.rb: updated for changes of math.c. Sun Feb 28 15:07:28 2010 Tanaka Akira * pack.c (pack_pack): use union to avoid pointer cast. (pack_unpack): ditto. Sun Feb 28 11:49:35 2010 NARUSE, Yui * openssl/ossl.c (OSSL_IMPL_SK2ARY): for OpenSSL 1.0. patched by Jeroen van Meeuwen at [ruby-core:25210] fixed by Nobuyoshi Nakada [ruby-core:25238], Hongli Lai [ruby-core:27417], and Motohiro KOSAKI [ruby-core:28063] * ext/openssl/ossl_pkcs7.c (pkcs7_get_certs, pkcs7_get_crls): split pkcs7_get_certs_or_crls. Sun Feb 28 11:42:55 2010 NARUSE, Yui * test/openssl/{test_x509cert.rb,openssl,test_x509crl.rb, test_x509req.rb}: fix false positive tests because of OpenSSL spec change. patched by originally Hongli Lai [ruby-core:27417], and fixed by Motohiro KOSAKI [ruby-core:28063] Sun Feb 28 11:21:03 2010 NARUSE, Yui * test/openssl/{test_x509cert.rb,openssl,test_x509req.rb}: remove false positive tests because of OpenSSL spec change. patched by Motohiro KOSAKI [ruby-core:28063] see also [ruby-dev:40077] Sun Feb 28 11:25:16 2010 Tanaka Akira * pack.c (pack_pack): generalized integer packer implemented. (pack_unpack): generalized integer unpacker implemented. Sun Feb 28 06:58:53 2010 Tanaka Akira * pack.c (swap32): use __builtin_bswap32 on gcc 4.3.0 or later. (swap64): ditto. Sun Feb 28 00:38:18 2010 Tanaka Akira * pack.c: use integer types with explicit size. Sat Feb 27 15:54:55 2010 Tanaka Akira * pack.c: check assumption on QUAD_SIZE and SIZEOF_LONG. * bignum.c: check assumption on SIZEOF_LONG and SIZEOF_BDIGITS. Sat Feb 27 03:48:18 2010 Tanaka Akira * pack.c: fix q and Q for big endian environments which have no 8 bytes integer type. (pack_pack): use rb_big_pack. (pack_unpack): use rb_big_unpack. * include/ruby/intern.h (rb_big_pack): declared. (rb_big_unpack): ditto. * bignum.c (rb_big_pack): new function. (rb_big_unpack): ditto. Fri Feb 26 21:36:51 2010 Tanaka Akira * bignum.c: fix rb_quad_pack and rb_quad_unpack for environments which don't have 8bytes integer type. This still depends on little endian. (rb_quad_pack): use quad_buf_complement. don't raise for large values. (rb_quad_unpack): use quad_buf_complement. (quad_buf_complement): new function extracted from rb_quad_pack. add one after bitwise negation. Fri Feb 26 21:29:48 2010 Tanaka Akira * configure.in (RSHIFT): add parenthesis to suppress warning. Fri Feb 26 20:51:47 2010 Yusuke Endoh * ext/socket/raddrinfo.c, ext/socket/udpsocket.c: avoid illegal cast from void-returning function to VALUE-returning one. It causes SEGV on RubySpec with mingw32. Fri Feb 26 20:07:48 2010 Tanaka Akira * pack.c (QUAD_SIZE): it should be always 8. * bignum.c (rb_quad_pack): use LONG_LONG version only if SIZEOF_LONG_LONG == QUAD_SIZE. Fri Feb 26 16:49:29 2010 Nobuyoshi Nakada * pack.c (swap64): fix for VC6. Fri Feb 26 14:17:09 2010 Nobuyoshi Nakada * pack.c (pack_pack, pack_unpack): suppressed warnings. Fri Feb 26 07:44:51 2010 NARUSE, Yui * ext/dl: revert dl with libffi because it can't run on mswin now. Thu Feb 25 22:59:46 2010 Tanaka Akira * pack.c: consider DYNAMIC_ENDIAN. refactored. Thu Feb 25 11:17:01 2010 NARUSE, Yui * rational.c (nurat_expt): use Float#** when Rational ** Float. This fixes Rational(3,1)**3.0=>26.99999999999999 on FreeBSD. * complex.c (rb_fexpt): removed. Note that this function is not static but is private. Thu Feb 25 00:43:57 2010 Koichi Sasada * insns.def: Change the operand type of setinlinecache (OFFSET to IC). This IC must be same as corresponding getinlinecache instruction's IC operand. This change is for a little performance improvement (getting IC directly) and is for the AOT compilation development. * compile.c, iseq.c, insns.def: Change the approach to handling inline cache (IC) type operand to enable the above change. This change also affects ISeq#to_a method. The inline cache operand will be dumped by fixnum, the index of inline cache, in other words, inline cache identity. * template/insns_info.inc.tmpl, tool/instruction.rb: No need to count inline cache size (insn_iclen()). Thu Feb 25 00:57:59 2010 Tanaka Akira * pack.c (swap64): don't redefine. Thu Feb 25 00:29:55 2010 Tanaka Akira * pack.c (pack_unpack): don't use OFF32 for gcc 4.5. Wed Feb 24 22:39:15 2010 Tanaka Akira * lib/resolv.rb: fix [ruby-core:28320] reported by Paul Clegg. (Resolv::DNS::Requester#request): raise ResolvTimeout consistently for timeout. Wed Feb 24 14:38:16 2010 Eric Hodel * lib/rubygems/indexer: Removed obsolete files. Wed Feb 24 11:52:05 2010 Nobuyoshi Nakada * dln.c (translit_separator): moved back from load.c again. * dln_find.c: split from dln.c. Wed Feb 24 09:31:33 2010 Nobuyoshi Nakada * ext/digest/extconf.rb: use OpenSSL only when all transform functions are available. Wed Feb 24 00:39:17 2010 Yusuke Endoh * string.c (str_new_empty): String#split, partition, rpartition taints the resulting strings if self is tainted. Mon Feb 22 21:35:33 2010 Tanaka Akira * ext/digest/sha2/sha2init.c: test OpenSSL more strictly. Mon Feb 22 11:52:30 2010 Nobuyoshi Nakada * lib/rubygems: update to 1.3.6. Mon Feb 22 11:21:18 2010 Nobuyoshi Nakada * ext/digest/sha2: Use OpenSSL's SHA1 engine if available. Sun Feb 21 21:20:17 2010 Nobuyoshi Nakada * lib/mkmf.rb (create_makefile, install_files): honor srcprefix argument if given. [ruby-dev:40449] Sun Feb 21 13:29:57 2010 Nobuyoshi Nakada * lib/rubygems/rubygems_version.rb: outdated. [ruby-core:28275] Sun Feb 21 06:24:12 2010 Alexander Zavorine * symbian/setup (config.h): HAVE_STRUCT_TIMEZONE, VOID_UNSETENV, and RUBY_LIB_VERSION_STYLE defined. * symbian/setup (ruby.mmp): SOURCE node.c added. Mon Feb 22 09:15:45 2010 Yukihiro Matsumoto * gc.c (gc_mark_children): lost comment added. Sat Feb 20 14:42:19 2010 Yukihiro Matsumoto * marshal.c (r_object0): should prepare placeholder before processing instance variables. [ruby-dev:40414] * marshal.c (id2encidx): no longer need arg. Sat Feb 20 14:36:16 2010 Yukihiro Matsumoto * vm.c (vm_backtrace_each): use called_id when method definition structure is already freed. [ruby-dev:40234] [ruby-core:27959] Fri Feb 19 00:04:19 2010 Yusuke Endoh * lib/drb/drb.rb (DRbServer#stop_service): join killed thread to ensure service stops. [ruby-dev:40441] Thu Feb 18 22:31:15 2010 Yusuke Endoh * math.c (math_atanh): raise ERANGE without calling atanh if absolute value is 1 to achieve platform-independent math. [ruby-core:28219] * math.c (math_lgamma): return [Infinity, 1] without calling lgamma_r if argument is infinity or -infinity. [ruby-core:28219] Thu Feb 18 22:28:00 2010 Kenta Murata * configure.in: new --with-ext and --with-out-ext options for extmk. * tool/mkconfig.rb: normalizing --with-out-ext to --without-ext. Thu Feb 18 21:50:00 2010 Tanaka Akira * pack.c (pack_unpack): call PACK_ITEM_ADJUST for 'Q'. Thu Feb 18 02:14:26 2010 Yusuke Endoh * io.c (io_fread, io_getpartial, io_read, io_sysread): by using lock, prohibit modification of buffer string during read (which had caused EFAULT or SEGV). [ruby-dev:40437] * test/ruby/test_io.rb: rewrite tests for the old behavior. Wed Feb 17 21:34:01 2010 Yusuke Endoh * regcomp.c (setup_tree, onig_compile): optimize .* at last by converting into (?>.*), which does not backtrack. [ruby-core:27791] * test/ruby/test_regexp.rb: add a test for above. Wed Feb 17 21:26:53 2010 Tanaka Akira * bootstraptest/runner.rb (assert_normal_exit): add :timeout option. Wed Feb 17 17:05:39 2010 Nobuyoshi Nakada * vm_insnhelper.c (vm_call_cfunc): removed unused variable. * vm.c (vm_frametype_name): define only when VMDEBUG. Wed Feb 17 15:34:45 2010 Nobuyoshi Nakada * ext/dl/dl_conversions.c (rb_dl_type_to_ffi_type): support signed long long. * ext/dl/cfunc.c (rb_dlcfunc_inspect): get rid of overflow. * ext/dl/closure.c (dlc_callback, rb_dlclosure_init): ditto. * ext/dl/cptr.c (rb_dlptr_s_malloc): ditto. * ext/dl/method.c (rb_dlfunction_initialize): ditto. Wed Feb 17 01:16:12 2010 Yusuke Endoh * hash.c (hash_update): always raise an exception when adding a new key during iteration. Traditionally, an exception was raised only when rehash occurs, but it may lead to difficult bug to reproduce. [ruby-core:23614] Tue Feb 16 22:09:27 2010 Yusuke Endoh * gc.c (chain_finalized_object): fix precedence. Tue Feb 16 21:32:01 2010 Yusuke Endoh * gc.c (rb_objspace_call_finalizer): always run finalizer at exit, before object is free'd. [ruby-dev:40382] Tue Feb 16 20:56:39 2010 Tanaka Akira * file.c (rb_group_member): renamed from group_member. don't use group_member() in glibc because it's not valgrind clean. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570047 Tue Feb 16 19:19:21 2010 Nobuyoshi Nakada * ext/dl/cfunc.c (rb_dlcfunc_call): convert signed value to unsigned. Tue Feb 16 19:02:59 2010 Nobuyoshi Nakada * test/dl/test_{base,handle}.rb: use more verbose assertions. * test/dl/test_import.rb (DL::LIBC::BoundQsortCallback): renamed to get rid of overwriting warning. Tue Feb 16 11:03:19 2010 Aaron Patterson * ext/dl/method.c: Adding DL::Method as a superclass for DL::Function Mon Feb 15 23:37:30 2010 Tanaka Akira * io.c: check lseek error by errno. NetBSD 4.0.1 may return -1 as a file position of tty. Mon Feb 15 23:08:56 2010 Tanaka Akira * lib/pstore.rb (PStore#initialize): initialize @thread_safe. [ruby-core:27853] Mon Feb 15 22:45:26 2010 Tanaka Akira * st.c (st_foreach): don't access ptr->hash after func call. It may access freed area. Mon Feb 15 22:25:16 2010 Tanaka Akira * ext/zlib/zlib.c (zlib_mem_alloc): suppress valgrind warnings. http://www.zlib.net/zlib_faq.html#faq36 Mon Feb 15 22:18:49 2010 Tanaka Akira * time.c (time_add): propagate fixed time offset. Mon Feb 15 17:42:20 2010 NARUSE, Yui * signal.c (USE_SIGALTSTACK): NetBSD can't use sigaltstack(2) with pthread. http://netbsd.gw.com/cgi-bin/man-cgi?sigaltstack++NetBSD-current Mon Feb 15 13:11:47 2010 NARUSE, Yui * array.c (rb_ary_push_m): use rb_ary_modify instead of rb_ary_modify_check. This fixes regression due to r26632. Sun Feb 14 12:54:44 2010 Nobuyoshi Nakada * marshal.c (r_object0): removed duplicated entry for regexp. [ruby-dev:40416] Sun Feb 14 04:45:31 2010 Nobuyoshi Nakada * marshal.c (r_object0): register regexp object before encoding name. [ruby-dev:40414] * re.c (rb_reg_alloc, rb_reg_init_str): split from rb_reg_new_str. Sat Feb 13 17:07:20 2010 Yukihiro Matsumoto * array.c (rb_ary_delete): RDoc update. a patch from Hugh Sasse. [ruby-core:28128] * array.c (rb_ary_compact_bang): ditto. Sat Feb 13 15:01:24 2010 Yukihiro Matsumoto * marshal.c (id2encidx): duplicated entry for encoding name. [ruby-dev:40388] Sat Feb 13 12:17:52 2010 Tanaka Akira * lib/tempfile.rb (Tempfile::Remover): new class to replace Tempfile.callback. port r24902 from Ruby 1.8. Fri Feb 12 17:55:21 2010 Nobuyoshi Nakada * vm.c (thread_free): fixed typo. Fri Feb 12 02:27:39 2010 Akinori MUSHA * lib/set.rb (Set#initialize, Set#replace, Set#merge) (Set#subtract, Set#&): Fix duck type tests. [ruby-core:28078] * lib/set.rb (Set#initialize, Set#replace, Set#merge) (Set#subtract, Set#&): Try #each if #each_entry fails. Thu Feb 11 20:43:00 2010 Tanaka Akira * io.c (rb_io_oflags_modestr): return "r" for O_RDONLY|O_APPEND. [ruby-dev:40379] Thu Feb 11 19:19:21 2010 Kazuhiro NISHIYAMA * missing/alloca.c: s/RUBY_LIB/RUBY_LIB_PREFIX/ [ruby-dev:40395] Thu Feb 11 17:52:11 2010 Nobuyoshi Nakada * vm.c (vm_exec): reset thread state before restarting vm loop from catch scope. [ruby-core:28129], [ruby-core:28143] Thu Feb 11 14:43:16 2010 Nobuyoshi Nakada * marshal.c (r_object0): read sequentially since marshal source may not be possible to rewind. [ruby-dev:40386] * marshal.c (r_object0): replace non-1.8 escapes directly. Thu Feb 11 09:49:31 2010 Tanaka Akira * lib/resolv.rb: fix [ruby-core:28144] reported by Hans de Graaff. (Resolv::DNS#make_requester): pass nameserver_port to UnconnectedUDP.new. (Resolv::DNS.bind_random_port): change the is_ipv6 argument to bind_host. (Resolv::DNS::Requester#initialize): change instance variable to store multiple sockets. (Resolv::DNS::Requester#request): pass readable sockets to recv_reply. (Resolv::DNS::Requester#close): close all sockets. (Resolv::DNS::Requester::UnconnectedUDP#initialize): allocate a socket for each address family of name servers. (Resolv::DNS::Requester::UnconnectedUDP#recv_reply): read from the passwd readable socket. (Resolv::DNS::Requester::UnconnectedUDP#sender): use appropriate socket for the target nameserver. (Resolv::DNS::Requester::ConnectedUDP): follow the instance variable change. (Resolv::DNS::Requester::TCP#sender): ditto. (Resolv::DNS::Config#nameserver_port): new method. Thu Feb 11 01:45:04 2010 Yusuke Endoh * vm.c (vm_exec): temporarily revert r26628, which causes SEGV when executing rubyspec. Wed Feb 10 16:31:03 2010 Nobuyoshi Nakada * array.c (rb_ary_push_m, rb_ary_unshift_m, rb_ary_aset), (rb_ary_insert, rb_ary_replace, rb_ary_concat), (rb_ary_uniq_bang, rb_ary_flatten_bang): check if frozen after wrong number of arguments but before TypeError. [ruby-core:28140] * hash.c (rb_hash_replace): ditto. * string.c (rb_str_replace): ditto. Wed Feb 10 04:06:36 2010 Nobuyoshi Nakada * vm.c (vm_exec): reset thread state before starting vm loop. [ruby-core:28129] Tue Feb 9 23:48:25 2010 Yusuke Endoh * ext/bigdecimal/bigdecimal.c (BigDecimal_divide): fix precision too. Tue Feb 9 23:26:07 2010 Yusuke Endoh * ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): fix precision. [ruby-core:17472][ruby-dev:35372][ruby-dev:40105][ruby-dev:40358] Tue Feb 9 22:23:27 2010 Yusuke Endoh * io.c (READ_CHECK): do not select fd before reading, that had made TCPServer#gets stuck. [ruby-dev:40317] Tue Feb 9 21:27:38 2010 Yusuke Endoh * lib/rexml/text.rb (REXML::Text#initialize): REXML::Text.new checks raw text for illegal characters without entity check, for the sake of 1.8 compatibility. This had caused rubyspec error. Mon Feb 8 23:49:24 2010 Yukihiro Matsumoto * io.c (rb_io_getline_fast): wrong calculation of new position from rb_str_coderange_scan_restartable(). [ruby-core:28103] * io.c (read_all): ditto. * sprintf.c (rb_str_format): ditto. Mon Feb 8 21:03:53 2010 Tanaka Akira * ext/socket/socket.c (socket_s_ip_address_list): obtain the scope_id of IPv6 link local address on OpenSolaris. Mon Feb 8 16:27:57 2010 Nobuyoshi Nakada * dmyversion.c: empty load path in miniruby. * common.mk (COMPILE_PRELUDE): rbconfig is loaded on demand. * tool/eval.rb, win32/{mkexports,resource}.rb: miniruby no longer contains "." in $:. Mon Feb 8 15:15:07 2010 Yukihiro Matsumoto * object.c (rb_obj_clone): call initialize_clone hook method to call initialize_copy. * object.c (rb_obj_dup): call initialize_dup hook. * lib/delegate.rb (Delegator#initialize_clone): use new hook to implement deep copy. [ruby-dev:40242] * lib/delegate.rb (Delegator#initialize_dup): ditto. * test/test_delegate.rb (TestDelegateClass#test_copy_frozen): add a test to ensure #clone copies frozen status. Mon Feb 8 10:28:58 2010 Yukihiro Matsumoto * configure.in: check pthread_attr_getstack to prevent obsolete warning for pthread_attr_getstackaddr. Sun Feb 7 23:12:34 2010 Tanaka Akira * sample/test.rb: sort files for syntax validation. Sun Feb 7 23:08:53 2010 Tanaka Akira * bootstraptest/runner.rb: sort test files. Sun Feb 7 12:53:12 2010 Tanaka Akira * lib/rake.rb (Rake::FileList::ARRAY_METHODS): fix test failure by <=> definition at Kernel. Sun Feb 7 03:01:46 2010 Tanaka Akira * math.c (math_lgamma): initialize sign because lgamma(NaN) doesn't set the sign in OpenSolaris. Sun Feb 7 00:23:21 2010 Shugo Maeda * class.c (rb_class_init_copy): raise a TypeError if the argument is BasicObject. [ruby-core:27060] Sat Feb 6 23:37:11 2010 Shugo Maeda * lib/net/ftp.rb (initialize): set @sock to a NullSocket instance to raise FTPConnectionError when not connected. [ruby-dev:40258] Sat Feb 6 23:25:57 2010 Shugo Maeda * ext/curses/view2.rb: replaced with Hugh Sasse's version. [ruby-core:27894] Sat Feb 6 22:57:00 2010 Shugo Maeda * lib/net/imap.rb (receive_responses): does not hang when an unexpected BYE response received. fixed [ruby-core:27944]. Thanks, Bob Potter. Sat Feb 6 21:31:23 2010 Shugo Maeda * lib/monitor.rb (wait): supported timeout. * test/net/imap/test_imap.rb (test_exception_during_idle): use timeout. Sat Feb 6 19:35:16 2010 Yusuke Endoh * tool/compile_prelude.rb: fix require path. Sat Feb 6 12:02:36 2010 Nobuyoshi Nakada * lib/delegate.rb (Delegator#method_missing), (Delegator.delegating_block): don't hide backtrace from __getobj__ and reduced exception messages when $DEBUG. Sat Feb 6 11:35:08 2010 Nobuyoshi Nakada * ext/socket/ipsocket.c (ip_addr, ip_peeraddr), ext/socket/socket.c (sock_s_getaddrinfo): added optional reverse_lookup flag. [ruby-core:28007] Sat Feb 6 01:55:02 2010 Yusuke Endoh * ext/stringio/stringio.c (strio_ungetc): pads with \000 when the current position is after the end. [ruby-dev:40271] Sat Feb 6 01:14:54 2010 Yusuke Endoh * ext/purelib.rb, common.mk: to simulate ruby command more precisely, remove "." from $: of virtual environment for build and test. Sat Feb 6 00:02:31 2010 Tanaka Akira * random.c (fill_random_seed): don't use O_NOFOLLOW because /dev/urandom is a symlink in OpenSolaris. * lib/securerandom.rb (SecureRandom.random_bytes): ditto. Fri Feb 5 16:38:08 2010 Nobuyoshi Nakada * lib/delegate.rb (Delegator): include copy of Kernel. [ruby-dev:40314] * lib/delegate.rb (Delegator#{dup,clone}): class of copy should be Delegator. [ruby-dev:40313] Fri Feb 5 09:26:54 2010 NARUSE, Yui * bignum.c (big_op): remove unused variables. Fri Feb 5 02:06:57 2010 Aaron Patterson * lib/yaml/rubytypes.rb: Struct members are emitted without a leading colon. Thanks Yusuke Endoh! [ruby-core:28052] * test/yaml/test_struct.rb: fixed tests to go with Struct changes * test/yaml/test_yaml.rb: fixed tests to go with Struct changes Fri Feb 5 00:34:24 2010 Yusuke Endoh * bignum.c (big_gt, big_ge, big_lt, big_ge): added Bignum#>, >=, < and <= to allow to compare with BigDecimal. [ruby-dev:40167] Thu Feb 4 15:47:27 2010 NARUSE, Yui * thread_pthread.c (native_thread_init_stack): use get_stack. patched by KOSAKI Motohiro [ruby-dev:40309] * thread_pthread.c (ruby_init_stack): use get_stack on platforms which have pthread_attr_get_np. (FreeBSD, DragonFlyBSD and NetBSD) This is because FreeBSD and DragonFly BSD must use pthread_attr_get_np to get stack size of main thread, but Mac OS X and Linux with LinuxThreads must use getrlimit. Thu Feb 4 09:55:38 2010 NARUSE, Yui * configure.in: FreeBSD, DragonFly BSD and OpenBSD needs pthread_np.h to use pthread_*_np functions. OpenBSD's pthread_*_np also depend sys/signal.h, but it is included at signal.h via vm_core.h via thread.c. Thu Feb 4 08:15:53 2010 Nobuyoshi Nakada * lib/delegate.rb (Delegator): now inherits BasicObject. [ruby-dev:39154], [Bug #2679], [ruby-dev:40242] Thu Feb 4 03:00:59 2010 Yusuke Endoh * ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): get red of floating point exception. Thu Feb 4 01:24:01 2010 Yusuke Endoh * ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): fix infinity handling. 1 / Infinity was evaluated to NaN. Thu Feb 4 00:37:43 2010 Nobuyoshi Nakada * time.c (time_mdump, time_mload): dump/load utc_offset. [ruby-dev:40063] Wed Feb 3 22:22:30 2010 Nobuyoshi Nakada * configure.in: check for non-portable stack attribute functions. Wed Feb 3 20:10:52 2010 Tanaka Akira * ext/iconv/charset_alias.rb: pass block argument to outer local variable. Wed Feb 3 20:08:05 2010 Tanaka Akira * file.c (realpath_rec): rb_path_last_separator may return NULL. Wed Feb 3 13:15:24 2010 NARUSE, Yui * thread_pthread.c: DragonFlyBSD is also the same as FreeBSD on getting the stack size of the main thread. Wed Feb 3 12:30:10 2010 NARUSE, Yui * thread_pthread.c (ruby_init_stack): use pthread_get_attr_np to get the stack size of the main thread on FreeBSD. * thread_pthread.c: include pthread_np.h on FreeBSD. Wed Feb 3 11:38:44 2010 Nobuyoshi Nakada * ext/dl/{closure,function}.c: removed C99 features and warnings. Wed Feb 3 10:12:09 2010 Aaron Patterson * ext/dl/function.c: DL::Function now uses libffi * ext/dl/cfunc.c (rb_dl_set_last_error): set to non static so errors can be exposed. * ext/dl/closure.c: DL::Closure will now be used in place of ext/dl/callback/*. * ext/dl/dl.c: legacy callbacks removed in favor of libffi * ext/dl/dl_conversions.(c,h): used for converting ruby types to FFI types. * ext/dl/callback/*: replaced by libffi callbacks. * ext/dl/lib/dl/callback.rb: Converting internal callbacks to use DL::Closure * ext/dl/lib/dl/closure.rb: Ruby parts of the new DL::Closure object * ext/dl/lib/dl/import.rb: More conversion to use DL::Closure object * ext/dl/lib/dl/value.rb (ruby2ffi): adding private method for DL::CPtr to ffi value conversion. Tue Feb 2 18:15:12 2010 Nobuyoshi Nakada * ext/socket/socket.c: turn on do_not_reverse_lookup by default, which has been reverted in r9880 probably unintentionally, according to matz. [ruby-core:24530] Tue Feb 2 14:46:06 2010 Yukihiro Matsumoto * enumerator.c: move implementation of each_slice, each_cons, each_with_object to enum.c. * enum.c (each_slice_i): convert multiple values from yield into an array. * enum.c (each_cons_i): ditto. * enum.c (each_with_object_i): ditto. Tue Feb 2 14:30:27 2010 Yukihiro Matsumoto * enum.c (enum_each_entry): new method #each_entry to pack values from yield into an array. * lib/set.rb (Set#merge): use Enumerable#each_entry to implement Set compatible to 1.8 behavior. [ruby-core:27985] * lib/set.rb: replace is_a?(Enumerable) with respond_to?(:each) for duck typing. * lib/set.rb (SortedSet#add): typo fixed. Tue Feb 2 11:13:56 2010 Nobuyoshi Nakada * lib/delegate.rb (Delegator#marshal_dump): exclude delegator-specific instance variables. Mon Feb 1 21:26:41 2010 Yusuke Endoh * lib/matrix.rb (Vector#each2): returns a self. [ruby-dev:40241] Mon Feb 1 17:08:42 2010 Yukihiro Matsumoto * numeric.c (flo_minus): RDoc update. a patch from red stun in [ruby-core:27951] Mon Feb 1 07:36:33 2010 Hidetoshi NAGAI * ext/tk/tkutil/tkutil.c: fix SEGV on TkUtil::CallbackSubst._setup_subst_table. * ext/tk/lib/tk.rb: [ruby1.9] fix freeze at exit. * ext/tk/lib/tk.rb: [POTENTIAL INCOMPATIBLE] return NoMethodError for TkWindow#to_ary and to_str. * ext/tk/lib/tkextlib/tcllib/plotchart.rb: wrong arguments. * ext/tk/sample/tkballoonhelp.rb: fail to support TkEntry widgets. Sun Jan 31 23:20:43 2010 wanabe * io.c (rb_io_each_codepoint): use cbuf when needs readconv. Sun Jan 31 23:07:23 2010 Yusuke Endoh * test/ruby/test_dir.rb: use string instead of symbol as file name. Sun Jan 31 22:41:33 2010 Yusuke Endoh * string.c (rb_string_value): fix the previous commit. Sun Jan 31 21:43:35 2010 Yusuke Endoh * string.c (rb_string_value): make no exception for Symbol. [ruby-dev:40274] Sun Jan 31 21:10:15 2010 Yusuke Endoh * vm_insnhelper.c (vm_throw): fixed infinite loop. [ruby-core:27969] Sun Jan 31 21:29:58 2010 Yusuke Endoh * lib/rexml/text.rb (REXML::Text#initialize): do Text.check only when parent is specified, since Text.check may need doctype. partially revert r26518. Sun Jan 31 15:50:34 2010 Yusuke Endoh * lib/rexml/text.rb (REXML::Text#initialize): fix typo and a bug that seems to be caused by refactoring. Sun Jan 31 15:46:37 2010 Yusuke Endoh * lib/rexml/parent.rb (REXML::Parent#delete): return the deleted node because the rdoc of REXML::Element#delete_element says it returns "the element that was removed." [REXMLTracker#161] Sun Jan 31 14:33:00 2010 James Edward Gray II * lib/csv.rb: A bug fix for deleting blank Table rows from Andy Hartford. Sun Jan 31 13:31:43 2010 wanabe * gc.c (obj_free): free rb_classext_t of eigenclass. [Bug #1392] Sun Jan 31 13:00:14 2010 Yusuke Endoh * lib/rexml/document.rb (REXML::Document#add): fix duplicate XMLDecls and bad DocTypes in REXML::Document. (Bug #19058) [ruby-core:27979] based on the patch by Federico Builes. Fri Jan 29 22:49:21 2010 Yusuke Endoh * lib/getoptlong.rb (set_options): ensure that the type of argument is Array, restoring this check that was deleted at r10239. This caused rubyspec error. Fri Jan 29 12:59:33 2010 Nobuyoshi Nakada * configure.in (mingw): needs $(DEFFILE) for extension libraries. [ruby-core:27946] Fri Jan 29 11:09:49 2010 Nobuyoshi Nakada * lib/mkmf.rb (try_do): log no source when no development env. * lib/mkmf.rb (create_makefile): srcprefix always needs $(srcdir). * lib/mkmf.rb (create_makefile): yield configuration if a block is given. Fri Jan 29 09:43:30 2010 NARUSE, Yui * enc/trans/utf8_mac.trans (buf_shift_char): don't see uninitialized value. [ruby-dev:40233] Fri Jan 29 01:42:24 2010 Yukihiro Matsumoto * lib/delegate.rb (Delegator#initialize_copy): use initialize_copy instead of overriding clone/dup. [ruby-dev:40221] it now always clones the target, it might cause incompatibility. Fri Jan 29 01:26:53 2010 Yukihiro Matsumoto * ext/bigdecimal/bigdecimal.c (BigDecimal_to_i): update RDoc to denote that #to_i raises FloatDomainError for Inf and NaN. * ext/bigdecimal/bigdecimal.c (BigDecimal_to_i): fast #to_i using BigDecimal_split(). * bignum.c (conv_digit): use faster ISDIGIT() assuming ASCII. Fri Jan 29 00:18:54 2010 Yusuke Endoh * lib/cgi.rb: set autoload to CGI::HtmlExtension. [ruby-dev:40194] Thu Jan 28 09:44:19 2010 NARUSE, Yui * regcomp.c (onig_compile): initialize ScanEnv. mainly to initialize env->warnings_flag [ruby-dev:40196] * regparse.c (scan_env_clear): clear warnings_flag. Wed Jan 27 23:33:21 2010 Yusuke Endoh * test/matrix/test_matrix.rb, test/matrix/test_vector.rb: add some tests. Wed Jan 27 23:29:36 2010 Yusuke Endoh * lib/thread.rb (ConditionVariable#wait, signal, broadcast): return self (for 1.8 compatibility). Wed Jan 27 23:27:54 2010 Keiju Ishitsuka * lib/matrix.rb: add exception Matrix::ErrOperationNotImplemented [ruby-dev:40149]. * lib/matrix.rb: change message of exception Matrix::ErrOperationNotDefined [ruby-dev:40150], [ruby-dev:40176]. * lib/matrix.rb: add method Vector#/ [ruby-dev:40151]. * lib/matrix.rb(Matrix::Scalar#+,-,/): delete meaningless when switch. [ruby-dev:40149] Wed Jan 27 23:22:54 2010 Kazuhiro NISHIYAMA * vm_dump.c (bugreport_backtrace): trivial change. * vm_dump.c (rb_vm_bugreport): uninitialized local variable i. [ruby-dev:40169] * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_segv_test): follow above change. Wed Jan 27 23:20:52 2010 Kazuhiro NISHIYAMA * test/ruby/test_exception.rb (TestException#test_thread_signal_location): change test method name. Wed Jan 27 22:48:40 2010 Yusuke Endoh * lib/matrix.rb (determinant): fix name error. Wed Jan 27 22:26:25 2010 Yusuke Endoh * vm_eval.c (rb_backtrace): "circular require" warning was output to stdout except the first line. All line is output to stderr now. [ruby-dev:40147] Wed Jan 27 00:22:20 2010 Yusuke Endoh * ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod, BigDecimal_mod, BigDecimal_divmod, BigDecimal_div2): BigDecimal#% and #div returned an array itself that was returned by #divmod. Wed Jan 27 00:19:30 2010 Yusuke Endoh * ext/bigdecimal/bigdecimal.c (VpCtoV): do not raise infinity exception for BigDecimal("0E200000000000"). Tue Jan 26 21:50:31 2010 Yusuke Endoh * ext/bigdecimal/bigdecimal.c (VpCtoV): BigDecimal("0E200000000000") was Infinity, not 0. * test/bigdecimal/test_bigdecimal.rb: add a test for above. Tue Jan 26 21:36:22 2010 Tanaka Akira * configure.in: test unsetenv returns a value. unsetenv is void in older BSDs (FreeBSD 6 and OpenBSD 4.5 at least). * hash.c (ruby_setenv): don't use the result of unsetenv if unsetenv doesn't return a value. Tue Jan 26 21:32:03 2010 Tanaka Akira * ext/socket/extconf.rb: suppress a warning. * ext/extmk.rb: ditto. Tue Jan 26 20:23:22 2010 Yusuke Endoh * vm.c (rb_vm_invoke_proc): this function must not catch TAG_RETURN because vm_exec does. This caused rubyspec error. [ruby-dev:40158] Tue Jan 26 20:21:28 2010 Masatoshi SEKI * lib/drb/eq.rb: fix circular require in drb. reported by akr. see [ruby-dev:40156] [ruby-core:27661] Tue Jan 26 19:59:17 2010 NARUSE, Yui * ext/zlib/zlib.c (rb_gzfile_s_wrap): add rdoc. [Bug #2656] patched by Hugh Sasse [ruby-core:27692] [ruby-core:27852] * ext/zlib/doc/zlib.rd: removed. Tue Jan 26 16:43:34 2010 NARUSE, Yui * ext/strscan/strscan.c: fix rdoc. (length -> bytesize) reported by Kornelius Kalnbach. see [ruby-core:27792] Tue Jan 26 07:06:05 2010 Tanaka Akira * lib/matrix.rb: suppress warnings. Tue Jan 26 03:16:45 2010 Yusuke Endoh * cont.c, vm_core.h, eval.c: because rb_protect must not be jumped by callcc, revert r26407. And rename trap_tag to protect_tag and change exception message (across trap -> across stack rewinding barrier). Mon Jan 25 23:08:10 2010 NAKAMURA Usaku * thread.c (do_select): wrong conditions. [ruby-core:27753] Mon Jan 25 22:31:53 2010 Yusuke Endoh * test/ruby/envutil.rb: use method_defined? instead of instance_methods.include?. Mon Jan 25 22:08:20 2010 Yusuke Endoh * cont.c (rb_cont_call, cont_restore_1): remove trap_tag check because it seems not to make sense. [ruby-dev:40121] * vm_core.h, eval.c (rb_protect): ditto. Mon Jan 25 21:43:05 2010 Yusuke Endoh * test/ruby/envutil.rb: fix the check if instance method `ruby' is defined or not. Mon Jan 25 21:17:32 2010 Yusuke Endoh * test/ruby/test_rubyoptions.rb (test_segv_test): add a test for bugreport trace dumper. Mon Jan 25 17:47:02 2010 Nobuyoshi Nakada * ext/pty/pty.c (pty_check): needs WNOHANG to poll, return $?, and call raise_from_check() with pid_t. [ruby-dev:40141] Mon Jan 25 17:36:11 2010 Nobuyoshi Nakada * version.c (RUBY_LIB, RUBY_*_LIB): moved from configures. Mon Jan 25 12:11:45 2010 Nobuyoshi Nakada * signal.c (USE_SIGALTSTACK): only when SA_SIGINFO also is available. see [ruby-core:27768]. Mon Jan 25 12:02:34 2010 NARUSE, Yui * dln.c, file.c, io.c, signal.c: add __HAIKU__. patched by Alexander von Gluck [ruby-core:27767] Mon Jan 25 11:45:47 2010 NARUSE, Yui * math.c (domain_check): ignore errno if y is inf. r26335 is because NetBSD 5.0's asin and acos returns 0.0 with errno EDOM. But it breaks Linux whose gamma returns inf with errno ERANGE on. Sun Jan 24 22:48:05 2010 Koichi Sasada * eval.c, vm.c, vm_eval.c, vm_insnhelper.c: fix issues about return and c-return trace. This issue skips (c-)return event with global jump such as break or return. This fix make vm invoke hooks at stack rewind timing. fix [ruby-core:27606] [Bug #2610]. * test/ruby/test_settracefunc.rb: add a test for above. Sun Jan 24 14:21:48 2010 Tanaka Akira * string.c (rb_enc_strlen_cr): increment by rb_enc_mbminlen(enc) for broken byte sequence. [ruby-core:27748] (rb_str_inspect): ditto. Sun Jan 24 05:18:34 2010 Nobuyoshi Nakada * thread.c (thread_start_func_2): unlock all locking mutexes before clean up. [ruby-core:26877] * thread.c (rb_thread_atfork): no other threads to be joined. * vm_core.h (rb_thread_lock_unlock, rb_thread_lock_destroy): new functions. * vm.c (ruby_vm_destruct): unlock and destroy global VM lock. Sun Jan 24 00:31:39 2010 NARUSE, Yui * lib/rdoc/parser/ruby.rb: fix typo. patched by Hal Brodigan [ruby-core:21536] Sun Jan 24 00:02:18 2010 NARUSE, Yui * lib/rdoc/markup/to_html_crossref.rb: fix failure of the test. patched by Tomoyuki Chikanaga and nobu [ruby-core:20564] Sat Jan 23 23:27:12 2010 NARUSE, Yui * dir.c (dir_s_glob): add rdoc by Roger Pack. [ruby-core:27669] Sat Jan 23 23:12:56 2010 NARUSE, Yui * lib/rdoc/generator/html.rb (RDoc::Generator::HTML#gen_into): make the rdoc(generating html) run faster and use less memory. patch by Tetsu Soh [ruby-core:27656] Sat Jan 23 19:54:48 2010 Masaki Suketa * ext/win32ole/win32ole.c: add WIN32OLE.ole_initialize, WIN32OLE.ole_uninitialize to use in win32ole.rb. You must not use these methods. * ext/win32ole/lib/win32ole.rb: add win32ole.rb re-define Thread#initialize (fix ruby-core:27634) Sat Jan 23 00:25:19 2010 Yusuke Endoh * sample/coverage.rb: preserve exit status. Sat Jan 23 00:21:18 2010 Yusuke Endoh * test/ruby/test_dir.rb: get rid of debug print. * test/ruby/test_module.rb: fixed to make test-all work. Fri Jan 22 23:54:04 2010 Yusuke Endoh * test/ruby/test_array.rb: add a test for Array#rotate, rotate!. * test/ruby/test_dir.rb, test/ruby/test_fnmatch.rb: add some tests (for coverage of dir.c). * test/ruby/test_enum.rb: add a test for Enumerable#minmax. * test/ruby/test_enumerator.rb: add some tests for Enumerator#inspect, Enumerator::Generator and Yielder. * test/ruby/test_env.rb: add a test for ENV#index. * test/ruby/test_exception.rb: add some tests (for coverage of error.c). * test/ruby/test_hash.rb: add a test for recursive check. * test/ruby/test_integer.rb: add a test for number of argument of Integer. * test/ruby/test_method.rb: add a test for define_method. * test/ruby/test_module.rb: add a test for constant of included module. * test/ruby/test_proc.rb: add a test for parameters with cfunc. Fri Jan 22 23:50:03 2010 Yusuke Endoh * test/ruby/test_regexp.rb, test/ruby/test_symbol.rb, test/ruby/test_variable.rb: add some tests (for coverage of compile.c). Fri Jan 22 21:05:34 2010 Tanaka Akira * time.c (time_mload): add submicro into vtm.subsecx. [ruby-dev:40133] Fri Jan 22 14:26:36 2010 Nobuyoshi Nakada * common.mk (rdoc): needs encodings and exts. Fri Jan 22 14:16:18 2010 NARUSE, Yui * configure.in: add missing comma. Fri Jan 22 01:07:16 2010 Yusuke Endoh * test/ruby/test_bignum.rb, test/ruby/test_class.rb, test/ruby/test_defined.rb, test/ruby/test_hash.rb, test/ruby/test_primitive.rb, test/ruby/test_variable.rb: add some tests (for coverage). Fri Jan 22 01:03:28 2010 Yusuke Endoh * test/ruby/test_require.rb (test_define_class): expect TypeError instead of NameError. [ruby-core:27504] Thu Jan 21 15:09:35 2010 URABE Shyouhei * configure.in: some tidy. Thu Jan 21 11:15:46 2010 Nobuyoshi Nakada * array.c (rb_ary_rotate): new methods, Array#rotate! and Array#rotate. [ruby-dev:17194] * array.c (rb_ary_reverse_m): copy directly. Thu Jan 21 09:38:00 2010 Nobuyoshi Nakada * configure.in: use AS_CASE instead of when, to get rid of an unintentional substitution. Thu Jan 21 08:45:03 2010 Nobuyoshi Nakada * iseq.c (iseq_s_disasm): check for proc first. based on the patch by Roger Pack in [ruby-core:27626]. [ruby-core:27227] Wed Jan 20 16:09:59 2010 URABE Shyouhei * common.mk (compile.$(OBJEXT)): dependencies lacking. * vm_method.c (rb_add_method_cfunc): invalid initializer for C89 * compile.c (iseq_insns_unification): int might be smaller than int* Tue Jan 19 20:00:30 2010 Nobuyoshi Nakada * lib/resolv.rb (Resolv::Config.default_config_hash): return an empty hash when resolv.conf is not available. [ruby-core:27620] * lib/resolv.rb (Resolv::DNS::Config#lazy_initialize): fixed the defaults of nameserver and port. Tue Jan 19 14:29:16 2010 Nobuyoshi Nakada * Makefile.in (clean-ext): allow glob patterns. * ext/extmk.rb: ditto. Tue Jan 19 14:19:26 2010 NAKAMURA Usaku * ext/zlib/{extconf.rb, zlib.c): crc32_combine and adler32_combine is supported on Zlib 1.2.2.1, so check them for old zlib. Tue Jan 19 09:03:37 2010 Aaron Patterson * ext/zlib/zlib.c: added Zlib.crc32_combine and Zlib.adler32_combine * test/zlib/test_zlib.rb: corresponding tests [ruby-core:27551] Tue Jan 19 02:02:32 2010 Yusuke Endoh * test/ruby/test_array.rb: add some tests (for coverage). * test/ruby/test_bignum.rb: ditto. Tue Jan 19 01:57:12 2010 Yusuke Endoh * test/ruby/test_bignum.rb: some coerce definitions (for test) was wrong. Tue Jan 19 01:53:11 2010 Yusuke Endoh * bignum.c (bigsub_int): remove nonsense loop. Tue Jan 19 01:42:36 2010 Yusuke Endoh * parse.y (top_compstmt, top_stmts, top_stmt): prohibit BEGIN {} in non-toplevel scope. [ruby-core:21657] * test/ruby/test_beginendblock.rb (test_begininclass): add a test for above. Mon Jan 18 17:16:03 2010 Nobuyoshi Nakada * lib/webrick/httpservlet/filehandler.rb (make_partial_content): add bytes-unit. [ruby-dev:40030] Mon Jan 18 15:49:42 2010 Nobuyoshi Nakada * lib/net/http.rb (Net::HTTPHeader#{content_range,range_length}): use inclusive range same as the header representation. Mon Jan 18 03:59:57 2010 Akinori MUSHA * ext/digest/digest.c (rb_digest_instance_hexdigest_bang): Fix rdoc. * ext/digest/lib/digest.rb (Digest::Class.base64digest) (Digest::Instance#base64digest{,!}): New methods. Sun Jan 17 22:48:44 2010 Akinori MUSHA * ext/digest/digest.c (rb_digest_instance_digest) (rb_digest_instance_hexdigest): Save a method call of reset() for a disposable clone. Sun Jan 17 19:24:25 2010 Nobuyoshi Nakada * math.c (domain_check): check errno first. NetBSD 5.0's asin and acos returns 0.0 with errno EDOM. Sun Jan 17 14:24:35 2010 Nobuyoshi Nakada * ext/iconv/iconv.c (rb_str_derive): use long. * ext/iconv/iconv.c (iconv_convert): suppress a warning. * lib/mkmf.rb (check_signedness): new method. * lib/mkmf.rb (have_header, create_header): use String#tr_cpp. Thu Jan 14 13:06:58 2010 Nobuyoshi Nakada * numeric.c (flo_hash, int_chr): fixed type. Thu Jan 14 12:50:37 2010 Nobuyoshi Nakada * string.c (rb_str_concat): fixed range check for Fixnum, and added checks for integer overflow and invalid char code. Thu Jan 14 09:34:31 2010 NARUSE, Yui * string.c (rb_str_concat): raise RangeError when the argument is negative value. [ruby-core:27583] Thu Jan 14 08:49:59 2010 Tanaka Akira * time.c (time_to_r): convert to rational if internal representation is not rational. Thu Jan 14 04:01:50 2010 Tanaka Akira * time.c (time_mdump): use nano_num and nano_den instead of subnano to avoid Rational class in marshaled data which prevent unmarshal by Ruby 1.8. (time_mload): use nano_num and nano_den. Wed Jan 13 11:57:38 2010 Marc-Andre Lafortune * object.c (rb_class_initialize): Make sure BasicObject doesn't get initialized twice [ruby-core:27577] * class.c (rb_class_init_copy): ditto Wed Jan 13 06:54:44 2010 Nobuyoshi Nakada * configure.in: check for if struct timezone is defined. * missing.h (struct timezone): define if not defined. * win32/win32.h (struct timezone): defined in the newer w32api. [ruby-core:27515] Wed Jan 13 00:33:09 2010 NARUSE, Yui * lib/shell/command-processor.rb: fix typo by Sho Hashimoto. reported and patched at [ruby-dev:40058] [Bug #2599] Tue Jan 12 23:48:29 2010 Kouhei Sutou * lib/rss/maker/base.rb, test/rss/test_maker_0.9.rb: accept any time format in maker. [ruby-core:26923] Tue Jan 12 21:56:00 2010 Tanaka Akira * string.c (rb_str_set_len): call rb_str_modify. * file.c (realpath_rec): don't call rb_str_modify before rb_str_set_len. Tue Jan 12 20:44:14 2010 Tanaka Akira * file.c (realpath_internal): call rb_secure. Tue Jan 12 16:48:46 2010 Nobuyoshi Nakada * lib/net/http.rb (Net::HTTP.start): options may not be given. Tue Jan 12 16:48:03 2010 Nobuyoshi Nakada * ext/readline/readline.c (readline_readline): check if instream is closed instead of fd 0. * ext/readline/readline.c (Init_readline): use STDIN for input. Reported by Sora Harakami. See http://d.hatena.ne.jp/codnote/20100111/1263174134 Tue Jan 12 16:09:02 2010 wanabe * test/ruby/test_process.rb (test_execopts_env): MANDATORY_ENVS might not be a part of ENV. e.g. TMPDIR. Tue Jan 12 14:07:31 2010 NARUSE, Yui * lib/net/http.rb (Net::HTTP.start): add hash argument to set ssl related options. when use_ssl is set default value of verify_mode is OpenSSL::SSL::VERIFY_PEER. [ruby-dev:40003] Tue Jan 12 14:53:07 2010 NAKAMURA Usaku * win32/win32.c (init_env): use _wputenv() instead of SetEnvironmentVariableW() because latter doesn't set msvcrt's environ work area, of course. [Bug #2552] Tue Jan 12 13:33:54 2010 NAKAMURA Usaku * file.c (realpath_rec): trace symbolic link only when supporting readlink(). Tue Jan 12 12:49:39 2010 Nobuyoshi Nakada * misc/ruby-mode.el (ruby-here-doc-beg-match): fix for here-doc which ends with an underscore. Tue Jan 12 09:58:03 2010 NAKAMURA Usaku * hash.c: need to include errno.h for EINVAL. * hash.c (ruby_setenv): fixed typo. see [ruby-dev:40026] Tue Jan 12 09:22:43 2010 Tanaka Akira * prelude.rb (require_relative): use File.realpath. [ruby-dev:40040] * include/ruby/intern.h: declare rb_dir_getwd. * dir.c (rb_dir_getwd): copied from dir_s_getwd to export. (dir_s_getwd): use rb_dir_getwd. * file.c (rb_file_s_realpath): new method File.realpath. (rb_file_s_realdirpath): new method File.realdirpath. * lib/pathname.rb (Pathname#realpath): use File.realpath. (Pathname#realdirpath): use File.realdirpath. Mon Jan 11 22:45:08 2010 Akinori MUSHA * hash.c (ruby_setenv): Improve the emulation of setenv(3) on environments where putenv(3) is used. Raise EINVAL If a variable name contains an '='. Mon Jan 11 18:16:38 2010 wanabe * vm_insnhelper.h (GET_BLOCK_PTR): return 0 when in class frame. [Bug #2583] Mon Jan 11 16:52:05 2010 NARUSE, Yui * string.c (rb_str_strlen): added. [ruby-dev:40028] * include/ruby/intern.h (rb_str_strlen): declared. Mon Jan 11 13:30:35 2010 Nobuyoshi Nakada * lib/webrick/accesslog.rb (WEBrick::AccessLog#format): fixed typo. * lib/webrick/httpstatus.rb (WEBrick::HTTPStatus::Status#initialize): accept 0 or more arguments. [ruby-dev:40021] Mon Jan 11 12:47:58 2010 Akinori MUSHA * hash.c (ruby_setenv): ENV.[]= should raise an error if setenv(3) or putenv(3) fails. [ruby-dev:40023] Sun Jan 10 17:25:24 2010 Nobuyoshi Nakada * lib/webrick/accesslog.rb : Escape needed. * lib/webrick/httpstatus.rb : ditto. * lib/webrick/httprequest.rb : ditto. * lib/webrick/httputils.rb : ditto. * test/webrick/test_cgi.rb (TestWEBrickCGI::test_bad_): Test for it. Sun Jan 10 04:54:36 2010 Nobuyoshi Nakada * class.c (rb_define_class): raise TypeError same as class statement. [ruby-core:27504] Sun Jan 10 04:41:20 2010 Nobuyoshi Nakada * lib/mkmf.rb (configuration): needs ARCH_FLAG. Sat Jan 9 14:20:54 2010 NAKAMURA Usaku * common.mk (install-all): maybe typo. Sat Jan 9 14:01:14 2010 NAKAMURA Usaku * missing/vsnprintf.c (BSD_vfprintf): get rid of a warning of VC++ x64. Sat Jan 9 08:40:54 2010 Nobuyoshi Nakada * win32/configure.bat (WIN32DIR): regularise file separators. Fri Jan 8 23:35:18 2010 Yusuke Endoh * proc.c (mnew): don't check visibility of method body if public ZSUPER method is found. [ruby-dev:39767] * test/ruby/test_method.rb: add a test for above. Fri Jan 8 22:59:40 2010 Yusuke Endoh * vm_method.c (rb_alias): skip ZSUPER method when searching body of source method. [ruby-dev:39760] * test/ruby/test_alias.rb: add a test for above. Fri Jan 8 21:15:21 2010 NARUSE, Yui * lib/net/http, lib/net/https: move content from net/https to net/http. [ruby-dev:39986] Fri Jan 8 14:06:01 2010 NAKAMURA Usaku * io.c (rb_io_s_read): close the IO if an exception is raised on seeking. [ruby-core:27429] Fri Jan 8 13:12:26 2010 Nobuyoshi Nakada * marshal.c (w_symbol): dump no encoding for 7bit only coderange symbol. [ruby-core:27375] Thu Jan 7 07:56:09 2010 Ryan Davis * lib/minitest/*.rb: Imported minitest 1.5.0 r5596. * test/minitest/*.rb: ditto. Tue Jan 5 19:30:53 2010 Kazuhiro NISHIYAMA * test/ruby/test_exception.rb: add a test. cf [ruby-dev:39116] Tue Jan 5 02:03:34 2010 NARUSE, Yui * configure.in (DTRACE): clear this when `dtrace -l` fails. Note that current FreeBSD needs privilege to call it; so to use DTrace on FreeBSD, you should run configure as root. Mon Jan 4 21:24:18 2010 Yuki Sonoda (Yugui) * gc.c: added UNLIKELY to probes for optimization. * vm.c: ditto. * thread.c: ditto. Mon Jan 4 09:30:54 2010 NAKAMURA Usaku * win32/Makefile.sub (TRACING_MODEL): follow yugui's previous changes. Mon Jan 4 09:30:25 2010 NAKAMURA Usaku * thread_win32.c (InterlockedExchangePointer): old SDK support. Sun Jan 3 23:54:51 2010 Yuki Sonoda (Yugui) * trace.h: new file. wraps tracing mechanisms. * defs/dtrace.d: new file. defined a dtrace provider "ruby". * include/ruby/ruby.h (LIKELY): moved from vm.c. (UNLIKELY): ditto. (OBJSETUP): probe "object-create". (RUBY_EVENT_RESCUE): new event. * vm_exec.c (DEBUG_ENTER_INSN): embedded a probe insn-entry into it. (DEBUG_END_INSN): insn-return. * vm.c (LIKELY): moved into ruby.h. (UNLIKELY): ditto. (Init_BareVM): embedded a probe "raise" into it. * variable.c (rb_class2name_without_alloc): new utility function. * tool/rbinstall.rb (install?(:ext, :arch, :'ext-arch')): installs dtrace.d if necessary. * thread_pthread.c (add_signal_thread_list): probe "raise". (rb_thread_create_timer_thread): ditto. * thread.c (rb_thread_schedule_rec): probes "thread-enter" and "thread-leave", (thread_start_func_2): ditto. (thread_cleanup_func): probe "thread-term" * lib/mkmf.rb: supports dtrace postprocessor on making an extension. * iseq.c (rb_vm_insn_name): new utility function. (rb_vm_insn_len): ditto. * insns.def (hook): probes "method-entry", "method-return", "line", and "rescue". * compile.c (iseq_compile_each): adds a trace op for "rescue" probe. * gc.c (garbage_collect): probes "gc-begin" and "gc-end". (obj_free): probe "object-free" (garbage_collect_with_gvl): probe "raise" (negative_size_allocation_error): ditto. (rb_memerror): ditto. * eval.c (rb_rescue2): probe "rescue" (rb_longjmp): probe "raise" * ext/probe/probe.c: new extension for application defined probes. * ext/probe/extconf.rb: ditto. * configure.in (--with-tracing-model): new option to choose a tracing mechanism. (DTRACE): new substitution. name of dtrace(1). (RUBY_TRACING_MODEL): new substitution. (DTRACE_OBJ): ditto. (MINIDTRACE_OBJ): ditto. (GOLFDTRACE_OBJ): ditto. (LIBRUBY_DTRACE_OBJ): ditto. (RUBY_DTRACE_POSTPROCESS): new macro. checks whether the dtrace on the system needs postprocessing. (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether the dtrace supports USDT. * Makefile.in: (DTRACE): new variable. name of dtrace(1). (TRACING_MODEL): new variable. name of the chosen tracing mechanism. (DTRACE_OBJ): same as the one in configure.in. (MINIDTRACE_OBJ): ditto. (GOLFDTRACE_OBJ): ditto. (LIBRUBY_DTRACE_OBJ): ditto. (CPPOUTFILE): new substitution. necessary for generating dtrace.d (trace_none.h): new target for TRACING_MODEL=none (RUBY_H_INCLUDES): appended a header for tracing. (distclean-local): also removes preprocessed version of dtrace.d ($(LIBRUBY_A)): needs $(LIBRUBY_DTRACE_OBJ) if dtrace needs postprocessing. ($(PROGRAM)): ditto. (golf): ditto. (miniruby): ditto. ($(arch_hdrdir)/ruby/dtrace.d): new target. preprocessed version of defs/dtrace.d. generated if necessary. ($(arch_hdrdir)/ruby/trace_dtrace.h): new target. definition of probes. ($(LIBRUBY_DTRACE_OBJ)): new target. generated if dtrace needs postprocessing. ($(DTRACE_OBJ)): ditto. ($(MINIDTRACE_OBJ)): ditto. ($(GOLFDTRACE_OBJ)): ditto. Sun Jan 3 15:34:19 2010 Yuki Sonoda (Yugui) * lib/rexml/text.rb: String no longer has #each. Patch by Mitsutaka Mimura (takkanm). [ruby-dev:39949]. Sun Jan 3 01:29:18 2010 Tanaka Akira * lib/resolv.rb (Resolv::DNS::Message::MessageDecoder#inspect): implemented. Sat Jan 2 15:57:54 2010 Tanaka Akira * lib/resolv.rb (Resolv::DNS#initialize): new option :nameserver_port. (Resolv::DNS#each_resource): pass port number. (Resolv::DNS#make_requester): ditto. (Resolv::DNS::Config#lazy_initialize): initialize @nameserver_port instead of @nameserver. (Resolv::DNS::Config#single?): return port number addition to the nameserver. (Resolv::DNS::Config#generate_timeouts): use @nameserver_port. (Resolv::DNS::Config#resolv): yield port number. Sat Jan 2 00:43:22 2010 NARUSE, Yui * lib/uri/common.rb (initialize_regexp): allow leading and trailing white space, and forbid extra characters on another lines. [ruby-core:26223] RFC 3986 Appendix C. Delimiting a URI in Context draft-duerst-iri-bis-07 7.2. Web Address processing Fri Jan 1 23:17:49 2010 NARUSE, Yui * lib/uri/generic.rb (URI#normalize!): normalize case of scheme. [ruby-core:27309] Fri Jan 1 00:47:57 2010 Akinori MUSHA * ext/digest/digest.c (rb_digest_instance_method_unimpl): Suppress compiler warnings. Fri Jan 1 00:00:00 2010 Tanaka Akira * tool/mkconfig.rb: generate RbConfig.ruby in rbconfig.rb. * lib/webrick/httpservlet/cgihandler.rb: use RbConfig.ruby. * test/ruby/envutil.rb: ditto. * benchmark/report.rb: ditto. * benchmark/runc.rb: ditto. * tool/eval.rb: ditto. Thu Dec 31 18:18:55 2009 NAKAMURA Usaku * ext/socket/rubysocket.h: include addrinfo.h only when using our own getaddrinfo.c. Thu Dec 31 14:20:11 2009 NAKAMURA Usaku * process.c (save_redirect_fd): consider EBADF that the fd is not used. [ruby-dev:39938] Thu Dec 31 06:03:48 2009 Nobuyoshi Nakada * ext/socket/raddrinfo.c (addrinfo_type): typed. * ext/socket/extconf.rb: fix for wide-getaddrinfo option. * ext/socket/addrinfo.c: rename {addr,name}info functions to ensure those are used on darwin. Thu Dec 31 03:27:53 2009 NAKAMURA Usaku * thread_win32.c (native_thread_destroy): decreased the probability of using the interrupt event in the thread termination. see [ruby-core:27199]. Thu Dec 31 02:35:57 2009 NAKAMURA Usaku * thread_win32.c (w32_error): should report the function. Thu Dec 31 01:58:47 2009 Nobuyoshi Nakada * ext/extmk.rb: fix for extstatic. Wed Dec 30 19:43:00 2009 NARUSE, Yui * include/ruby/ruby.h (RREGEXP_SRC_END): added. Wed Dec 30 19:40:00 2009 NARUSE, Yui * include/ruby/defines.h (INFINITY): this is float. * include/ruby/defines.h (NAN): ditto. * numeric.c (rb_infinity): change content as float. * numeric.c (rb_nan): ditto. Wed Dec 30 17:59:14 2009 Nobuyoshi Nakada * gem_prelude.rb (push_all_highest_version_gems_on_load_path): simplified. * lib/rubygems/command_manager.rb (Gem#load_and_instantiate): rescue only NameError from const_get. * lib/rubygems/source_index.rb (Gem#load_specification): don't use RUBY_VERSION to branch. * lib/rubygems/validator.rb (Gem::TestRunner, Gem#alien): ditto. * lib/rubygems.rb: Kernel#gem is already defined, and workaround for home directory and custom_require are no longer needed. Tue Dec 29 16:03:33 2009 NARUSE, Yui * numeric.c (Init_Numeric): Add Float::INFINITY and Float::NAN. [ruby-dev:1657] [ruby-dev:4760] [ruby-list:7023] [ruby-list:46690] [ruby-core:26632] [ruby-talk:41352] [ruby-talk:203333] * include/ruby/defines.h (INFINITY): defined. * include/ruby/defines.h (NAN): defined. * include/ruby/util.h (ruby_div0): removed. * numeric.c (fix_pow): use INFINITY and NAN instead of ruby_div0(1.0). * marshal.c (r_object0): ditto. * bignum.c (big_fdiv): ditto. Tue Dec 29 10:36:23 2009 Nobuyoshi Nakada * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::STANDALONE): any number spaces can be placed between equal-sign and the value. patch from Ed Howland in [ruby-core:27345]. Mon Dec 28 22:33:58 2009 NAKAMURA Usaku * win32/win32.c (CreateChild): force to inherit standard I/O handles. this change fixes [ruby-core:27273], but other side effects might exist. Mon Dec 28 22:00:10 2009 NAKAMURA, Hiroshi * test/ruby/test_marshal.rb: added tests for taintness/untrustness propagation. Mon Dec 28 18:13:26 2009 Yuki Sonoda (Yugui) * sample/occur2.rb: reimplemented in modern style. [ruby-dev:39927]. Mon Dec 28 17:19:37 2009 Yuki Sonoda (Yugui) * tool/install-sh: correction by Hiro Asari. https://gist.github.com/264558/58ad1cae45cde49600bbb39286af2aae23e639d5 Mon Dec 28 13:18:52 2009 Yuki Sonoda (Yugui) * tool/install-sh: wrote the intention. [ruby-dev:39928] Sun Dec 27 10:45:00 2009 Masaki Suketa * ext/win32ole/win32ole.c (foleparam_initialize): add foleparam_initialize to check argument of WIN32OLE_PARAM.new * test/win32ole/test_win32ole_param.rb (test_s_new): add some assertion to test WIN32OLE_PARAM.new Sun Dec 27 09:41:54 2009 Yuki Sonoda (Yugui) * tool/rbinstall.rb (install?(:local, :comm, :bin, :'bin-comm')): Makes it vim friendly. __END__ in a heredoc is confusing with the script end for vim. Sun Dec 27 09:13:55 2009 Yuki Sonoda (Yugui) * sample/occur2.rb: have been broken. fixed for Ruby 1.9 feature. Thu Dec 24 16:32:30 2009 Marc-Andre Lafortune * lib/uri/generic.rb (eql?): Check the class of the compared object. Based on a patch by Peter McLain [ruby-core:27019] Thu Dec 24 15:20:03 2009 NARUSE, Yui * regexec.c (match_at): follow enclen's change. Thu Dec 24 12:08:00 2009 Marc-Andre Lafortune * lib/delegate.rb (marshal_dump/load): dump & load instance variables by default [ruby-core:24211] Thu Dec 24 10:31:50 2009 Marc-Andre Lafortune * lib/object.c (rb_obj_cmp): Default <=> operator returns 0 if objects are == [ruby-core:24063] Wed Dec 23 09:12:31 2009 Nobuyoshi Nakada * test/cgi/test_cgi_multipart.rb (CGIMultipartTest#_prepare): always must be binary mode. c.f. Bug#2341 Thu Dec 10 09:20:58 2009 NARUSE, Yui * encoding.c (Init_Encoding): undef Encoding.new because a class which is rb_undef_alloc-func-ed can't call new method. [ruby-dev:39862] * vm.c (Init_VM): undef RubyVM.new and RubyVM::Env.new. Mon Dec 21 17:51:44 2009 NARUSE, Yui * regcomp.c (optimize_node_left): include equal on the condition of for-loop. This bug also affects original Oniguruma. [ruby-core:27247] Mon Dec 21 10:03:33 2009 NARUSE, Yui * regcomp.c (print_enc_string): follow enclen's change. * regcomp.c (onig_print_compiled_byte_code): ditto. * regcomp.c (onig_print_compiled_byte_code): change prototype. * regint.c (onig_print_compiled_byte_code): comment out. Mon Dec 21 08:04:34 2009 Marc-Andre Lafortune * object.c: BasicObject#initialize accepts any number of arguments [ruby-core:27080] Mon Dec 21 02:45:46 2009 Yusuke Endoh * vm_eval.c (rb_iterate): remove SEGV (retry). Sun Dec 20 23:18:23 2009 Yusuke Endoh * vm_eval.c (rb_iterate): remove SEGV (use the original patch). [ruby-dev:39874] Sun Dec 20 21:26:05 2009 Yusuke Endoh * vm_eval.c (rb_iterate): pass current block when the argument bl_proc is NULL. This behavior can be used to make enumerator faster [ruby-dev:39874] * enumerator.c (enumerator_each): pass current block directly instead of trampoline block (enumerator_each_i). * io.c (argf_each_line, argf_each_byte, argf_each_char): ditto. Sat Dec 19 14:59:30 2009 Yukihiro Matsumoto * gem_prelude.rb (Kernel#gem): should make gem private. a patch from Sho Hashimoto in [ruby-dev:39838]. Sat Dec 19 14:57:17 2009 Yukihiro Matsumoto * lib/webrick/config.rb (WEBrick::Config): typo fixed. a patch from Sho Hashimoto in [ruby-dev:39835]. Sat Dec 19 11:06:48 2009 Marc-Andre Lafortune * lib/matrix.rb (each2,collect2,map2): Fix enumerator [ruby-core:27225] Sat Dec 19 09:58:05 2009 Nobuyoshi Nakada * vm_eval.c (check_funcall): reset method_missing_reason before trying the call. based on a patch from Yehuda Katz in [ruby-core:27219]. Sat Dec 19 09:29:22 2009 Marc-Andre Lafortune * lib/set.rb: Add checks that passed argument is Enumerable. [ruby-core:23844] Wed Dec 16 20:28:46 2009 Kazuhiro NISHIYAMA * test/ruby/envutil.rb: fix a typo in assert message. Wed Dec 16 16:57:59 2009 Nobuyoshi Nakada * lib/un.rb (httpd): try to convert port number to integer. Wed Dec 16 11:18:30 2009 WATANABE Hirofumi * configure.in(MINIRUBY): use "$BASERUBY" as a default ruby executable name. Wed Dec 16 00:53:14 2009 Tanaka Akira * lib/find.rb (Find.find): rescue more exceptions which is possible to occur by other process change the directory tree. Tue Dec 15 09:06:33 2009 Nobuyoshi Nakada * lib/find.rb (Find.find): get rid of race condition. Mon Dec 14 22:33:21 2009 Tanaka Akira * lib/find.rb (Find.find): rescue only ENOENT and EACCES for lstat. Mon Dec 14 21:49:30 2009 Tanaka Akira * lib/find.rb (Find.find): narrow rescue region. Mon Dec 14 09:20:54 2009 Nobuyoshi Nakada * lib/find.rb (Find.find): removed already unnecessary code. Sun Dec 13 23:48:25 2009 Tanaka Akira * lib/find.rb (Find.find): sort directory entries. [ruby-dev:39847] Sun Dec 13 20:55:30 2009 Tanaka Akira * test/ruby/envutil.rb (invoke_ruby): call to_str for stdin_data to reject non-string. Sun Dec 13 20:26:57 2009 NARUSE, Yui * ruby.c (rb_parser_dump_tree): add prototype. Thu Dec 10 20:55:55 2009 Martin Duerst * transcode_data.h, transcode.c, tool/transcode-tblgen.rb: Added support for new transcoding instruction FUNsio (with Tatsuya Mizuno) * enc/trans/gb18030.trans: Significantly reduced GB18030 conversion table footprint using FUNsio and differences (with Tatsuya Mizuno) * test/ruby/test_transcode.rb: Minor name fix (from Tatsuya Mizuno) Thu Dec 10 17:22:36 2009 Shugo Maeda * vm_eval.c (yield_under): yields self the same as 1.8. Thu Dec 10 15:49:13 2009 Nobuyoshi Nakada * thread_pthread.c (native_mutex_reinitialize_atfork): release and re-acquire the lock at re-initialization. Thu Dec 10 12:56:02 2009 NARUSE, Yui * encoding.c (enc_replicate): add Encoding#replicate(name). * encoding.c (enc_replicate_with_index): renamed from old enc_replicate. * encoding.c (rb_enc_from_encoding_index): split from rb_enc_from_encoding. Thu Dec 10 09:15:00 2009 NARUSE, Yui * string.c (rb_str_inspect): CHAR_ESC_LEN should be 13. Thu Dec 10 01:12:55 2009 Nobuyoshi Nakada * parse.y (dyna_pop_gen): pop dvars. [ruby-dev:39861] Thu Dec 10 00:46:43 2009 Nobuyoshi Nakada * node.c (dump_node): fixed for long members. Wed Dec 9 22:57:04 2009 Yusuke Endoh * node.c: node management added. Currently, only pretty-dumper is implemented. [ruby-dev:39853] * ruby.c: --dump=parsetree and --dump=parsetree_with_comment options added. This is just for debug or research purpose. Note that the compatibility of these options are not supported at all. Wed Dec 9 09:50:35 2009 Nobuyoshi Nakada * string.c (rb_str_justify): fixed the case a fill size is a multiple of the length of the padding. [ruby-dev:39856] Tue Dec 8 23:41:34 2009 NAKAMURA Usaku * win32/configure.bat: now recognize --with-*-{dir,include,lib} options and pass them to mkmf. * win32/configure.bat: general conversion from ``/'' to ``\'' of configure_args is not necessary any longer. * win32/setup.mak: BASERUBY is used as command, so always need to convert ``/'' to ``\'' within it. Tue Dec 8 23:39:52 2009 NAKAMURA Usaku * numeric.c (flo_eq): suppress a warning on VC++ for x64. Tue Dec 8 16:19:05 2009 Nobuyoshi Nakada * lib/rubygems: update to 1.3.5. * lib/rubygems/defaults.rb (Gem::default_dir): removed a clause doing nothing. Tue Dec 8 03:50:24 2009 Tanaka Akira * file.c (rb_f_test): use string form in unknown command error message. Mon Dec 7 14:11:08 2009 Nobuyoshi Nakada * marshal.c (w_object): reverted r26007. [ruby-dev:39845] * test/test_delegate.rb (test_marshal): moved from test_marshal.rb. Mon Dec 7 13:05:59 2009 Yuki Sonoda (Yugui) * string.c (rb_str_justify): CVE-2009-4124. Fixes a bug reported by Emmanouel Kellinis , KPMG London; Patch by nobu. Sun Dec 6 23:50:46 2009 NARUSE, Yui * strftime.c: %l should be 1..12 instead of 0..12 [ruby-core:27072] Sun Dec 6 23:16:35 2009 Tanaka Akira * lib/find.rb (Find.find): reduce stat system call. Sun Dec 6 16:02:15 2009 NARUSE, Yui * lib/webrick/httpservlet/filehandler.rb: escape filename of index. [ruby-dev:37768] Sun Dec 6 00:35:16 2009 Alexander Zavorine * symbian/setup (config.h): EXECUTABLE_EXTS moved from dln.c:dln_find_1(). Sat Dec 5 15:35:05 2009 Nobuyoshi Nakada * marshal.c (w_object): dump instance variables when using marshal_dump. [ruby-core:24211] * variable.c (rb_ivar_count): added. Sat Dec 5 13:19:29 2009 Nobuyoshi Nakada * configure.in: default ac_cv_prog_CC to CC. Sat Dec 5 10:18:26 2009 Nobuyoshi Nakada * lib/irb/extend-command.rb (def_extend_command): fixed argument number for negative arity. Fri Dec 4 16:50:13 2009 Nobuyoshi Nakada * parse.y (k_def): adjust the location of method definition to the line of def. [Bug #2427] Fri Dec 4 19:05:28 2009 Yukihiro Matsumoto * insns.def (defined): should respect #respond_to_missing? as #respond_to? does. Fri Dec 4 15:50:18 2009 Shugo Maeda * vm_eval.c (yield_under): does not yield self, and passes blockptr instead of &block to vm_cref_push(). [ruby-dev:39833] Fri Dec 4 15:15:43 2009 Yukihiro Matsumoto * time.c (num_exact): should not accept strings as operands, even though they respond to #to_r. ideally, strict rational conversion should be done by a method like #to_rational, not #to_r. [ruby-core:23729] Fri Dec 4 13:10:23 2009 NAKAMURA, Hiroshi * ext/stringio/stringio.c (ungetc): RDoc updated. trunk allows pushing back behind the beginning of the pseudo stream. Fri Dec 4 03:10:38 2009 Shugo Maeda * compile.c (compile_cpath, iseq_compile_each): reverted constant/class variable lookup in instance_eval etc. to the behavior of 1.8. * eval.c (rb_mod_nesting): ditto. * insns.def (putspecialobject, defineclass): ditto. * node.h (NODE_FL_CREF_PUSHED_BY_EVAL): ditto. * vm_core.h (VM_SPECIAL_OBJECT_CONST_BASE): ditto. * vm_eval.c (yield_under, eval_under): ditto. * vm_insnhelper.c (vm_cref_push, vm_get_const_base, vm_get_ev_const, vm_get_cvar_base): ditto. Thu Dec 3 20:27:27 2009 Martin Duerst * enc/trans/gb18030-tbl.rb: Fix omission of C1 region in code table (from Tatsuya Mizuno) * test/ruby/test_transcode.rb: Added test for converting full range of Unicode codepoints from/to GB18030 (from Tatsuya Mizuno) Wed Dec 2 23:51:28 2009 NAKAMURA, Hiroshi * ext/openssl/ossl_ssl.c: initialize @hostname of SSLSocket to avoid warning at SSLSocket#connect. Tue Dec 1 18:01:43 2009 NAKAMURA, Hiroshi * test/digest/test_digest_extend.rb: added tests for digest framework. Tue Dec 1 12:01:13 2009 Nobuyoshi Nakada * parse.y (dyna_push_gen, dyna_pop_gen): no needs to save both of args and vars. [ruby-core:26961] * parse.y (dyna_push_gen): use rb_node_newnode() for ripper. [ruby-core:26961] * parse.y (dyna_push_gen, dyna_pop_gen): adjust local vtable level for the case of syntax errors in method name or argument inside do block. [ruby-core:26961] Mon Nov 30 16:57:45 2009 Nobuyoshi Nakada * ext/extmk.rb (command_output): $makeflags are already quoted. Mon Nov 30 16:54:22 2009 Nobuyoshi Nakada * configure.in, win32/Makefile.sub (EXECUTABLE_EXTS): moved from dln.c:dln_find_1(). * lib/mkmf.rb (def find_executable0): use EXECUTABLE_EXTS, not only EXEEXT. [ruby-core:26821] Mon Nov 30 11:00:12 2009 Nobuyoshi Nakada * parse.y (parser_yylex): suppress an extra error message after numeric literal without digits. based on a patch from ujihisa . in [ruby-dev:39811]. [ruby-dev:39798] Sun Nov 29 16:56:24 2009 Nobuyoshi Nakada * vm_eval.c (check_funcall_failed): pass ID. [ruby-core:26934] Sun Nov 29 06:37:53 2009 Aaron Patterson * lib/rexml/formatters/default.rb (write_attribute): fix an exception when printing a document when duplicate namespaced attributes exist. Thanks, Alexey Froloff [ruby-core:26837] Sat Nov 28 09:05:53 2009 Yukihiro Matsumoto * vm_eval.c (check_funcall_failed): should rescue user raised NoMethodError. rescue all NoMethodError if receiver does not respond to the method name. [ruby-dev:39796] Thu Nov 26 21:14:30 2009 Yuki Sonoda (Yugui) * test/ruby/test_complex.rb (@unify): fix the detection if math loaded. This makes test_complex.rb work fine with the previous commit. * test/ruby/test_rational.rb (@unify): ditto. Thu Nov 26 21:13:36 2009 Yuki Sonoda (Yugui) * test/test_mathn.rb (TestMathn): new test case. test for r25067. Thu Nov 26 21:11:23 2009 Yuki Sonoda (Yugui) * test/openssl/test_config.rb (OpenSSL::TestConfig): new test case. test for r25017. Thu Nov 26 21:08:54 2009 Yuki Sonoda (Yugui) * test/ruby/test_range.rb (TestRange#test_comparison_when_recursive): test for r25010. * test/ruby/test_struct.rb (TestStruct#test_comparison_when_recursive): ditto. Thu Nov 26 20:18:02 2009 NARUSE, Yui * gem_prelude.rb (Gem.set_home): must dup before force_encoding and must force_encoding before gsub. cf. Yen Sign problem of SJIS [ruby-core:26910] Thu Nov 26 17:54:37 2009 NAKAMURA Usaku * win32/{configure.bat, setup.mak, Makefile.sub}: add new configure option ``--with-ntver''. Thu Nov 26 11:42:22 2009 Nobuyoshi Nakada * test/mkmf/base.rb: use $INCFLAGS to add -I option. [Bug#2387] Thu Nov 26 07:17:58 2009 wanabe * marshal.c (mark_dump_arg): mark str. see also [ruby-dev:39735] Thu Nov 26 00:05:58 2009 NAKAMURA, Hiroshi * test/digest/test_digest_extend.rb: Added tests for current digest framework. Wed Nov 25 20:46:37 2009 Tanaka Akira * vm_eval.c (rb_search_method_entry): refine error message. Wed Nov 25 19:29:05 2009 Akinori MUSHA * ext/digest/digest.c (rb_digest_instance_method_unimpl): Do not call rb_inspect() on an object that does not implement necessary methods; reported by NaHi. Wed Nov 25 19:30:30 2009 Martin Duerst * transcode.c: Added a check for an internal error (with Tatsuya Mizuno) Tue Nov 24 22:57:46 2009 Tanaka Akira * test/ruby/envutil.rb (EnvUtil.invoke_ruby): raise Timeout::Error instead of flunk. reported by Yusuke Endoh. Tue Nov 24 22:31:44 2009 Yusuke Endoh * vm.c (ruby_vm_destruct, thread_memsize): fix argument type to make RUBY_MARK_FREE_DEBUG available. Tue Nov 24 21:25:21 2009 Tanaka Akira * error.c: include errno.h at beginning. Tue Nov 24 20:11:37 2009 Tanaka Akira * strftime.c: %Y format a year with 4 digits at least. * lib/time.rb: format a year with 4 digits at least. Tue Nov 24 20:05:27 2009 Tanaka Akira * defs/known_errors.def: more errors. Tue Nov 24 20:01:49 2009 Tanaka Akira * include/ruby/ruby.h (rb_bug_errno): declared. * include/ruby/intern.h (rb_strerrno): declaration removed. * error.c (rb_strerrno): make it static. return NULL for unknown errors. (rb_bug_errno): defined. * thread_pthread.c: use rb_bug_errno. * signal.c (ruby_signal): use rb_bug_errno. Tue Nov 24 10:17:38 2009 NARUSE, Yui * file.c (file_path_convert): fix fs_encoding is not assign. Tue Nov 24 10:00:00 2009 Nobuyoshi Nakada * error.c (rb_strerrno): constified. Tue Nov 24 09:49:31 2009 Tanaka Akira * error.c (rb_strerrno): return "UNKNOWNERROR" for non-zero unknown error. Tue Nov 24 09:18:33 2009 Tanaka Akira * include/ruby/intern.h (rb_strerrno): declared. * template/known_errors.inc.tmpl: generate defined_error() and undefined_error() instead of set_syserr. * error.c (Init_syserr): define defined_error() and undefined_error() to follow the above change. (rb_strerrno): defined. * thread_pthread.c: show error message and errno macro name with rb_bug. Mon Nov 23 16:06:53 2009 Nobuyoshi Nakada * thread_pthread.c (RUBY_STACK_MIN, RUBY_STACK_SPACE): delay for platforms where PTHREAD_STACK_MIN is not compile time constant. [ruby-dev:39751] Mon Nov 23 11:26:45 2009 Nobuyoshi Nakada * dln.c (dln_find_1): removed duplication. Mon Nov 23 04:12:00 2009 Tanaka Akira * enc/trans/newline.trans (fun_so_universal_newline): generate \n after \r\n detection instead of just after \r. [ruby-list:45988] [ruby-core:25881] [ruby-core:26788] Sat Nov 21 18:48:35 2009 Tanaka Akira * vm_eval.c (rb_search_method_entry): show flags and klass value in not implemented error message. Sat Nov 21 16:38:50 2009 Nobuyoshi Nakada * marshal.c (marshal_dump): use normal object as the buffer so that no hidden object is exposed to ruby-level. [ruby-dev:39744] Sat Nov 21 15:58:43 2009 NARUSE, Yui * io.c (read_all): fix: false negative invalid byte sequence on reading from pipes. [ruby-dev:39743] fix: assign the variable 'pos' as relative value from recent pos. Sat Nov 21 14:44:16 2009 NARUSE, Yui * file.c (file_path_convert): delay getting UTF8-MAC encoding while really needed. [ruby-core:26807] Fri Nov 20 21:16:54 2009 Tanaka Akira * vm_eval.c (rb_search_method_entry): avoid trigraph. Thu Nov 19 23:17:06 2009 Shugo Maeda * lib/net/ftp.rb (putbinaryfile): use APPE for resume. Thanks, Tomoyuki Chikanaga. Thu Nov 19 22:50:05 2009 Shugo Maeda * lib/net/imap.rb (flag_list): untaint strings to intern in the safe level 1. * lib/net/imap.rb (max_flag_count=): new methods to set the max number of flags interned to symbols. Thu Nov 19 20:43:39 2009 NAKAMURA Usaku * ext/socket/getnameinfo.c: need to include extconf.h for HAVE_* macros. reported by Kenta Murata via IRC. Thu Nov 19 17:00:59 2009 NAKAMURA Usaku * win32/Makefile.sub: nmake execute the file named echo if it exists in the PATH. reported by Kenta Murata via IRC. Thu Nov 19 02:50:47 2009 Tanaka Akira * vm_eval.c (rb_search_method_entry): show the type of the hidden object. (rb_type_str): new function for above. Thu Nov 19 00:47:09 2009 Tanaka Akira * io.c (MORE_CHAR_SUSPENDED): renamed from MORE_CHAR_CBUF_FULL. Wed Nov 18 22:00:13 2009 Tanaka Akira * io.c (fill_cbuf): extracted from more_char. (io_shift_cbuf): fix memmove condition. (read_all): use fill_cbuf directly to avoid ECONV_AFTER_OUTPUT. [ruby-dev:39708] Wed Nov 18 18:25:09 2009 Nobuyoshi Nakada * thread.c (rb_thread_atfork_internal): reinitialize global lock at fork to get rid of deadlock. based on the patch from Hongli Lai in [ruby-core:26783]. [ruby-core:23572] Wed Nov 18 17:48:22 2009 Nobuyoshi Nakada * thread.c (terminate_atfork_i): all mutex locks by other threads have been abandoned at fork. Wed Nov 18 15:27:20 2009 NAKAMURA Usaku * file.c (file_path_convert): delay getting filesystem encoding while really needed. Wed Nov 18 12:33:42 2009 NARUSE, Yui * encoding.c (enc_set_default_encoding): reset filesystem encoding because on resetting default_external because Unix's filesystem encoding depends on default_external. * encoding.c (enc_set_filesystem_encoding): added. * ruby.c (process_options): don't call rb_filesystem_encoding because filesystem encoding is reset when default_external is reset. Wed Nov 18 11:57:32 2009 TAKANO Mitsuhiro (takano32) * math.c (math_gamma): fix incorrect comparison expression. see also [ruby-dev:39709] [Bug #2381] Wed Nov 18 11:37:05 2009 NARUSE, Yui * io.c (rb_scan_open_args): move path encoding conversion for filesystem encoding of Mac OS X. * file.c (file_path_convert): added for convert encoding of file path. * file.c (rb_get_path_check): add file_path_convert. Wed Nov 18 10:17:09 2009 Nobuyoshi Nakada * string.c (str_utf8_nth): no count_utf8_lead_bytes_with_word optimization for short string. [ruby-core:26787] * string.c (str_utf8_offset): str_utf8_nth never return NULL. Wed Nov 18 10:12:34 2009 Shugo Maeda * vm_method.c (rb_undef): should raise TypeError if klass is nil. 1.instance_eval { undef to_s } causes SEGV before this fix. * test/ruby/test_undef.rb: new tests for undef. Wed Nov 18 08:41:42 2009 Nobuyoshi Nakada * string.c (str_utf8_nth): fixed overrun. [ruby-core:26787] Wed Nov 18 07:51:01 2009 Tanaka Akira * io.c (parse_mode_enc): fix invalid access. Tue Nov 17 23:50:06 2009 Shugo Maeda * vm_method.c (rb_alias): should raise TypeError if klass is nil. 1.instance_eval { alias to_string to_s } causes SEGV before this fix. * test/ruby/test_alias.rb (test_special_const_alias): ditto. Tue Nov 17 17:53:53 2009 Martin Duerst * enc/big5.c, enc/trans/big5.trans, enc/trans/big5-uao-tbl.rb, test/ruby/test-transcode.rb: Added Encoding 'Big5-UAO' and transcoding for it (from Tatsuya Mizuno) (see Bug #1784) Tue Nov 17 16:26:24 2009 Nobuyoshi Nakada * insns.def (opt_case_dispatch): runtime value cannot be used as an element initializer. * vm_insnhelper.c (opt_case_dispatch_i): gets rid of type-punning calls. Mon Nov 16 15:51:53 2009 Shugo Maeda * vm_insnhelper.c (vm_call_method): protected singleton methods of an object should not be able to called from other instances of the class of the object. [ruby-core:26761] * vm_eval.c (rb_method_call_status): ditto. * test/ruby/test_module.rb (test_protected_singleton_method): ditto. Mon Nov 16 14:03:53 2009 wanabe * io.c (read_all): shift read buffer if exception occurred. pointed out in [ruby-dev:39702]. Mon Nov 16 07:59:38 2009 wanabe * io.c (read_all): don't call io_shift_cbuf until buffering enough or econv_finished. [ruby-dev:39696] * io.c (more_char): don't call clear_readconv to read buffer after econv_finished. * io.c (appendline, rb_io_each_codepoint): clear readconv when done. Mon Nov 16 01:58:08 2009 Yusuke Endoh * include/ruby/ruby.h (rb_classext_t): annotate @internal. Mon Nov 16 01:35:34 2009 Tanaka Akira * encoding.c (rb_filesystem_encindex): use default external encoding instead of locale encoding in Unix. * ruby.c (process_options): delay filesystem encoding initialization until default external encoding initialization. Mon Nov 16 00:06:26 2009 Yusuke Endoh * thread.c (thread_cleanup_func): delete locking_mutex when thread object become dummy because of fork. [ruby-core:26744] [ruby-core:26745] * bootstraptest/test_thread.rb: add a test for above. Sat Nov 14 21:54:46 2009 Yusuke Endoh * class.c (rb_mod_init_copy): fix memory leak of Class#dup. [ruby-dev:39687] Sat Nov 14 17:09:39 2009 Nobuyoshi Nakada * configure.in (--with-opt-dir): ignore and suppress a warning. [ruby-dev:39684] Sat Nov 14 16:43:24 2009 Nobuyoshi Nakada * hash.c (ruby_setenv): get rid of crash in Solaris 8 and 10. [ruby-core:26668] Sat Nov 14 09:16:54 2009 Marc-Andre Lafortune * ext/bigdecimal/bigdecimal.c (BigDecimalCmp): Fix comparisons [ruby-core:26646] * test/bigdecimal/test_bigdecimal.rb (class): Fix and improve tests. Sat Nov 14 04:07:06 2009 Hidetoshi NAGAI * ext/tk/lib/tk/variable.rb (TkVariable::coerce): fix bug on a numeric value. Sat Nov 14 03:35:29 2009 Hidetoshi NAGAI * ext/tk/lib/tk/variable.rb: TkVariable#*(other) and /(other) have a bug on handling of the "other" value. Fri Nov 13 21:18:15 2009 Yusuke Endoh * ext/zlib/zlib.c (rb_zlib_adler32): fix typo. Fri Nov 13 16:22:00 2009 Nobuyoshi Nakada * thread.c (thread_start_func_2): see first_func, not first_proc, to decide which to use. * gc.c (vm_xrealloc): use the given object space. Fri Nov 13 00:46:24 2009 Takeyuki FUJIOKA * lib/cgi/util.rb (CGI::pretty): fix the overflow bug if stripped string.[ruby-dev:37975] Thu Nov 12 23:08:11 2009 Takeyuki FUJIOKA * lib/cgi/core.rb (read_from_cmdline): this code is better. [ruby-core:25991] Thu Nov 12 22:55:42 2009 Takeyuki FUJIOKA * lib/net/telnet.rb: don't use simple delegate. because SimpleDelegate behavior changed. Thu Nov 12 14:33:21 2009 Nobuyoshi Nakada * thread_win32.c (thread_errno): CreateThread does not set errno. * thread.c (thread_create_core): moved failure handling from native_thread_core(). * thread_pthread.c (native_thread_create): constified. Thu Nov 12 10:08:56 2009 NARUSE, Yui * .document: remove documents not in rdoc format until rdoc supports non rdoc files. [ruby-core:26459] Thu Nov 12 06:42:38 2009 Nobuyoshi Nakada * lib/tempfile.rb (Tempfile#initialize): option hash may not be given. [ruby-core:26681] Thu Nov 12 01:29:15 2009 Yusuke Endoh * enumerator.c (yielder_yield_push): Yielder#<< should return self. [ruby-dev:39660] Wed Nov 11 19:17:35 2009 Nobuyoshi Nakada * lib/tempfile.rb (Tempfile#initialize): merge mode option. * lib/tmpdir.rb (Dir::Tmpname#create): splat options. Wed Nov 11 12:54:02 2009 Nobuyoshi Nakada * hash.c (ruby_setenv): use ruby_strdup(). Wed Nov 11 12:19:27 2009 NAKAMURA Usaku * hash.c (ruby_setenv): also set CRT workarea. ref [ruby-core:25010] Wed Nov 11 09:36:02 2009 Nobuyoshi Nakada * marshal.c (w_object, r_object0): use RHASH_IFNONE but not ifnone directly. Wed Nov 11 08:32:45 2009 Tanaka Akira * thread.c (blocking_region_begin): define before BLOCKING_REGION. reported by Luis Lavena. [ruby-core:26670] Wed Nov 11 08:22:19 2009 Tanaka Akira * util.c (ruby_strtod): use dval() consistently. Wed Nov 11 02:14:48 2009 Yuki Sonoda (Yugui) * test/matrix/test_matrix.rb (TestMatrix#test_rank): added a test method for r24969. Tue Nov 10 08:23:21 2009 Nobuyoshi Nakada * process.c (rb_f_exec, rb_f_system, rb_f_spawn): mentioned about the shell to be used when the command line is single string. See [ruby-core:26652] Mon Nov 9 20:15:16 2009 Tanaka Akira * thread.c (rb_gc_save_machine_context): don't save the stack pointer in this function. (RB_GC_SAVE_MACHINE_CONTEXT): call rb_gc_save_machine_context and save the stack pointer at caller side. (rb_thread_schedule_rec): use RB_GC_SAVE_MACHINE_CONTEXT instead of rb_gc_save_machine_context. (blocking_region_begin): changed to a macro. use RB_GC_SAVE_MACHINE_CONTEXT instead of rb_gc_save_machine_context. [ruby-dev:39659] Mon Nov 9 11:28:29 2009 Nobuyoshi Nakada * configure.in (warnflags): add -Wno-long-long. Sun Nov 8 18:13:12 2009 Nobuyoshi Nakada * hash.c: use RHASH_IFNONE but not ifnone directly. Sat Nov 7 21:02:57 2009 Tanaka Akira * lib/pp.rb (PP::ObjectMixin#pretty_print): use to_s regardless of instance variables. Sat Nov 7 20:59:11 2009 Nobuyoshi Nakada * vm_insnhelper.c (vm_push_frame): get rid of out-of-bounds access. Sat Nov 7 12:41:19 2009 Yukihiro Matsumoto * vm_insnhelper.c (VM_CALLEE_SETUP_ARG): revert r25521. [ruby-core:26427] [ruby-core:26447] Fri Nov 6 18:33:47 2009 Yukihiro Matsumoto * vm_insnhelper.c (vm_push_frame): add CHECK_STACK_OVERFLOW. [ruby-dev:39592] * eval.c (rb_longjmp): add 1 level backtrace for sysstack_error without calling any method to prevent further stack overflow. * eval.c (make_exception): don't call #exception for sysstack_error to prevent stack overflow. * proc.c (Init_Proc): don't freeze sysstack_error. * eval.c (rb_longjmp): move reentrant check after exception preparation. Fri Nov 6 17:13:45 2009 Nobuyoshi Nakada * lib/mkmf.rb (create_header): split the line by tabs. Fri Nov 6 12:02:32 2009 NARUSE, Yui * configure.in (MINIDLNOBJ): set default as dmydln.o. Now LLVM clang seems to be able to build Ruby 1.9. Fri Nov 6 09:29:32 2009 NARUSE, Yui * encoding.c (rb_filesystem_encindex): add fallback to ASCII-8BIT on Windows. Fri Nov 6 07:29:07 2009 Kazuhiro NISHIYAMA * test/ruby/test_case.rb: merged r25658 from ruby_1_8. Thu Nov 5 12:27:07 2009 NARUSE, Yui * gem_prelude.rb (Gem.user_home): force_encoding( Encoding.find('filesystem')). [ruby-core:26525] Thu Nov 5 07:47:31 2009 Nobuyoshi Nakada * parse.y (BEGIN): now local_push and local_pop are necessary in ripper. Wed Nov 4 21:39:10 2009 NARUSE, Yui * .document: add some README files to default rdoc's of trunk. patched by Roger Pack [ruby-core:26459] Wed Nov 4 16:06:11 2009 Nobuyoshi Nakada * include/ruby/st.h (SIZEOF_ST_INDEX_T): moved from st.c for Init_RandomSeed(). Wed Nov 4 15:50:16 2009 URABE Shyouhei * include/ruby/ruby.h (NUM2CHR): prefix __extension__ for braced-groups within expressions. Wed Nov 4 15:46:30 2009 Nobuyoshi Nakada * ruby.c (set_{internal,external}_encoding_once): fixed typos. Wed Nov 4 12:49:18 2009 Marc-Andre Lafortune * proc.c (mnew): Fix scope issue [ruby-core:26069] Wed Nov 4 08:50:51 2009 Nobuyoshi Nakada * random.c (rb_hash_start): moved from string.c. * random.c (Init_RandomSeed2): register global address before set. * random.c (Init_RandomSeed): initialize hashseed. Wed Nov 4 08:26:00 2009 Nobuyoshi Nakada * dir.c (dir_check): moved other checks from GetDIR. * dir.c (GetDIR): fixed a variable name. Wed Nov 4 08:19:31 2009 Nobuyoshi Nakada * cont.c (rb_fiber_start): fixed unconditional test. Wed Nov 4 02:08:14 2009 Aaron Patterson * ext/dl/cptr.c (rb_dlptr_eql, rb_dlptr_cmp): DL::CPtr#== and DL::CPtr#<=> should not raise an exception when compared to a different object. Wed Nov 4 00:05:36 2009 NARUSE, Yui * string.c (rb_str_upto): make next object before yield its block. fix: can modify original begin string of String#upto. [ruby-dev:26384] [ruby-dev:39626] Mon Nov 2 18:33:21 2009 wanabe * cont.c (fiber_free): don't free unallocated local_storage. see #1325. * cont.c (cont_init): clear local_storage not to use current thread's. * cont.c (fiber_t_alloc, root_fiber_alloc): link itself always for a case that fiber_link_remove() is called before fiber_link_join(). * cont.c (fiber_init): clear cont->vm_stack and th->stack before root_fiber_alloc() in rb_fiber_current(). Mon Nov 2 14:52:53 2009 Nobuyoshi Nakada * eval.c (rb_exc_raise, rb_exc_fatal, rb_make_exception): suppressed shorten-64-to-32 warnings. Mon Nov 2 14:43:48 2009 NAKAMURA Usaku * thread_pthread.c (native_stop_timer_thread): delay joining timer thread after unlocking mutex. Mon Nov 2 13:31:14 2009 NAKAMURA Usaku * thread_pthread.c (native_stop_timer_thread): need to join timer thread only when really stopping it. Mon Nov 2 12:55:50 2009 NAKAMURA Usaku * thread_{pthread,win32}.c (native_stop_timer_thread): join the thread here. * thread_{pthread,win32}.c (native_reset_timer_thread): new function. * thread.c (rb_thread_stop_timer_thread, rb_thread_reset_timer_thread): call above function instead of simply setting 0. Mon Nov 2 11:22:19 2009 NARUSE, Yui * ext/dl/win32/lib/win32/registry.rb: update rdoc. [ruby-core:26022] Sun Nov 1 20:16:03 2009 NARUSE, Yui * ext/bigdecimal/bigdecimal.c: fixed rdoc. [ruby-core:26457] Sun Nov 1 16:24:16 2009 Nobuyoshi Nakada * configure.in (rb_cv_stack_grow_dir): fix for universal binary. * configure.in (sitehdrdir, vendorhdrdir): fixed default values. Sun Nov 1 13:31:16 2009 wanabe * win32/win32.c (overlapped_socket_io, recvmsg, sendmsg): pass handle instead of pointer to CloseHandle(). Sun Nov 1 13:11:27 2009 wanabe * ext/socket/socket.c (socket_s_ip_address_list): use FreeLibrary() to free HMODULE. Sun Nov 1 08:17:48 2009 Nobuyoshi Nakada * gc.c (GET_STACK_BOUNDS): refactored common code. based on a patch from Suraj N. Kurapati in [ruby-core:26443]. Sat Oct 31 23:44:35 2009 Yukihiro Matsumoto * enum.c (enum_count): remove optimization using #size. revert r25560. * vm_eval.c (rb_funcall_no_recursive): remove method. Sat Oct 31 23:28:49 2009 Yukihiro Matsumoto * vm_eval.c (check_funcall): logic updated according to [ruby-dev:39594]. search method entry, call if it exists; otherwise check method_missing, call if it was overridden, protecting exceptions; if NoMethodError happens, check method name. * vm_eval.c (vm_call0): use idMethodMissing. * vm_eval.c (rb_search_method_entry): typo fixed. Sat Oct 31 17:19:28 2009 NAKAMURA, Hiroshi * lib/net/http.rb (Net::HTTPResponse#each_response_header): cosmetic: '?\ ' -> '?\s' Fri Oct 30 22:09:47 2009 NAKAMURA, Hiroshi * lib/net/http.rb (Net::HTTPResponse#each_response_header): accept multiline message header of HTTP response. see #1796. cf. RFC 2616 '4.2 Message Header'. * test/net/http/test_httpresponse.rb: added. Fri Oct 30 18:54:04 2009 Yukihiro Matsumoto * string.c (trnext): detect empty range and raise exception. [ruby-dev:39108] Fri Oct 30 17:01:46 2009 Nobuyoshi Nakada * vm_eval.c (enum call_type): get rid of last comma. * vm_eval.c (vm_call0, vm_call_super, rb_f_send, rb_f_public_send): fixed call_type. [ruby-dev:39581] * vm_eval.c (rb_search_method_entry, rb_method_call_status): split from rb_call0(). * vm_eval.c (rb_check_funcall): get rid of raising exceptions and hiding further exceptions. [ruby-dev:39584] * vm_eval.c (rb_funcall_no_recursive): ditto. Fri Oct 30 13:36:39 2009 Nobuyoshi Nakada * thread.c (rb_thread_blocking_region): reverted r25566, and added description that no exception is allowed inside `func', instead. see [ruby-dev:39582] Fri Oct 30 13:13:16 2009 NAKAMURA Usaku * win32.c (recvmsg, sendmsg, link): shouldn't raise ruby's exceptions in the functions expected as system API. see [ruby-dev:39579] and [ruby-dev:39582] Fri Oct 30 12:59:20 2009 NAKAMURA Usaku * thread.c (rb_thread_blocking_region): standard C doesn't accept preprocessing directive within macro expansion. Fri Oct 30 10:55:36 2009 Nobuyoshi Nakada * thread.c (rb_thread_blocking_region): must ensure to unlock GVL. [ruby-dev:39579] Fri Oct 30 04:47:26 2009 Nobuyoshi Nakada * include/ruby/ruby.h (RSTRING_END): trivial optimization. * string.c (rb_str_sub_bang): trivial optimization. Fri Oct 30 02:11:36 2009 Yukihiro Matsumoto * enum.c (enum_count): call #size using rb_funcall_no_recursive() to prevent infinite recursive calls. [ruby-core:24794] * vm_eval.c (rb_funcall_no_recursive): utility function to check direct recursive call. * vm_eval.c (rb_check_funcall): move from eval.c. [refactoring] Thu Oct 29 18:37:02 2009 NARUSE, Yui * encoding.c (Init_Encoding): revert previous commit. * ruby.c (process_options): ditto. Thu Oct 29 15:35:39 2009 NARUSE, Yui * encoding.c (Init_Encoding): set locale and filesystem encindex. * ruby.c (process_options): move setting func of filesystem encoding to Init_Encoding. Thu Oct 29 15:43:25 2009 Nobuyoshi Nakada * vm_core.h (rb_name_err_mesg_new): added prototype. Thu Oct 29 13:53:18 2009 Yukihiro Matsumoto * array.c (rb_ary_to_ary): do not use #respond_to? to detect to_ary. Just call. [ruby-core:23738] * eval.c (rb_check_funcall): new function with method existence check. returns Qundef when the method does not exist. * enumerator.c (enumerator_rewind): just call method, using rb_check_funcall(). [ruby-core:23738] * error.c (exc_equal): ditto. * object.c (convert_type): ditto. * error.c (rb_name_err_mesg_new): export function. * eval.c (make_exception): ditto. * io.c (pop_last_hash): return early when the last argument is nil. * io.c (rb_io_puts): treat T_STRING specially for small optimization. * vm_eval.c (raise_method_missing): skip method call if possible using rb_method_basic_definition_p(). * vm_eval.c (method_missing): ditto. * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_debug): test suites changed to ignore exceptions caused by just-call policy. Thu Oct 29 04:41:44 2009 NARUSE, Yui * ruby.c (process_options): call rb_filesystem_encoding(). Thu Oct 29 04:40:36 2009 NARUSE, Yui * io.c (Init_IO): rb_default_rs should be US-ASCII. Thu Oct 29 01:22:01 2009 Yutaka Kanemoto * ext/socket/extconf.rb : Compilation failure on AIX. ss_len (a member of struct sockaddr_storage) has preceding __, but ss_family does not have it from AIX 5.2. Wed Oct 28 16:32:49 2009 NARUSE, Yui * encoding.c (get_filesystem_encoding): removed. * encoding.c (rb_locale_encindex): added. * encoding.c (rb_filesystem_encindex): added. * encoding.c (rb_filesystem_encindex): add an alias 'filesystem'. [ruby-dev:39574] * encoding.c (enc_find): add rdoc about special aliases. * gem_prelude.rb (Gem.set_home): use Encoding.find('filesystem'). * gem_prelude.rb (Gem.set_paths): ditto. Wed Oct 28 15:02:31 2009 NARUSE, Yui * gem_prelude.rb (Gem.set_home): force_encoding(Encoding.filesystem_encoding) [ruby-core:25959] * gem_prelude.rb (Gem.set_paths): ditto. Wed Oct 28 14:24:45 2009 NARUSE, Yui * encoding.c (get_filesystem_encoding): add Encoding.filesystem_encoding [ruby-dev:39546] also see [ruby-core:25959] Wed Oct 28 14:51:31 2009 Nobuyoshi Nakada * ext/etc/etc.c (etc_each_group): fixed typo. Wed Oct 28 13:02:10 2009 Shugo Maeda * lib/net/ftp.rb (Net::FTP#initialize): sets @binary to true. * lib/net/ftp.rb (Net::FTP#binary=): sends a TYPE command only when logged in. [ruby-dev:39548] * lib/net/ftp.rb (Net::FTP#send_type_command): new private method which sends an appropriate TYPE command according to the value of @binary. * lib/net/ftp.rb (Net::FTP#login): calls send_type_command instead of binary=. Wed Oct 28 12:26:51 2009 Yukihiro Matsumoto * vm_insnhelper.c (vm_setup_method): should push call frame before raising exception, to put the Ruby-defined method name in the error message. [ruby-core:26333] * vm_insnhelper.c (VM_CALLEE_SETUP_ARG): macro modified. * vm_insnhelper.c (vm_yield_setup_args): modified for new VM_CALLEE_SETUP_ARG macro. Tue Oct 27 22:46:44 2009 NARUSE, Yui * lib/net/ftp.rb (Net::FTP#initialize): @sock = nil. * lib/net/ftp.rb (Net::FTP#binary=): send command only when socket is open. [ruby-dev:39548] Tue Oct 27 22:22:38 2009 Nobuyoshi Nakada * ext/stringio/stringio.c (Init_stringio): added read_nonblock and write_nonblock aliases. [ruby-dev:39551] * ext/stringio/stringio.c (strio_data_type): typed. Tue Oct 27 21:20:35 2009 Hidetoshi NAGAI * ext/tk/lib/tk/variable.rb: add TkVariable#+@ and -@ method. Tue Oct 27 16:36:52 2009 Nobuyoshi Nakada * string.c (chopped_length): get rid of unexpected exception. see [ruby-core:26336]. Tue Oct 27 15:53:10 2009 Tanaka Akira * gc.h (SET_MACHINE_STACK_END): use __i386. Some compiler may not define __i386__. Solaris 64-bit Developer's Guide: http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view Tue Oct 27 15:44:48 2009 Shugo Maeda * lib/net/ftp.rb (getbinaryfile, list): call to_s to convert a Pathname instance into a string. [ruby-core:26237] Tue Oct 27 12:30:16 2009 Nobuyoshi Nakada * gc.h (SET_MACHINE_STACK_END): use __i386__ instead of __i386, and explicit size qualifiers. Tue Oct 27 09:40:55 2009 NARUSE, Yui * gc.h (SET_MACHINE_STACK_END): add x86_64 version by nobu. Tue Oct 27 09:27:59 2009 NARUSE, Yui * vm_exec.c (DECL_SC_REG): use __clang__. Tue Oct 27 08:56:11 2009 Nobuyoshi Nakada * mkconfig.rb: reverted r25443 because build_os is used in mkmf.rb on some platforms. [ruby-core:26332] Tue Oct 27 08:01:57 2009 Kazuhiro NISHIYAMA * parse.y (ripper_filename): add Ripper#filename. [ruby-dev:37856] * test/ripper/test_filter.rb: add more tests. Tue Oct 27 07:53:25 2009 Yukihiro Matsumoto * gc.c (garbage_collect_with_gvl): do not garbage_collect when dont_gc flag turned on. [ruby-core:26327] Tue Oct 27 07:38:39 2009 Hidetoshi NAGAI * ext/tk/tcltklib.c,stubs.c: remove errors or warnings when compiled with old ruby 1.8.x. * ext/tk/tkutil/tkutil.c: ditto. Tue Oct 27 05:56:39 2009 NARUSE, Yui * vm.c (invoke_block_from_c): return Qnil when its iseq is SPECIAL CONST. [ruby-core:26335] Tue Oct 27 05:11:49 2009 NARUSE, Yui * vm_exec.c (DECL_SC_REG): check defined(__asm__) before use it. LLVM/clang defines __GNUC__ but doesn't have __asm__. Tue Oct 27 03:45:39 2009 Nobuyoshi Nakada * win32/Makefile.sub (config.h): added RUBY_SITEARCH to use different name from RUBY_ARCH. [ruby-core:26324] Mon Oct 26 20:04:13 2009 Marc-Andre Lafortune * array.c (rb_ary_cmp): Array#<=> returns nil when comparison fails [ruby-core:26316] Mon Oct 26 18:37:57 2009 Yukihiro Matsumoto * hash.c (default_proc_arity_check): new support function. * hash.c (rb_hash_initialize): should do arity check as #default_proc=. [ruby-core:26281] Mon Oct 26 13:24:17 2009 Hidetoshi NAGAI * ext/tk/lib/remote-tk.rb: typo fixed. Mon Oct 26 12:34:08 2009 Yusuke Endoh * ruby.c (usage): -T and -W descriptions updated. see [ruby-dev:39539] * man/ruby.1: ditto. Mon Oct 26 12:06:27 2009 Nobuyoshi Nakada * io.c (io_fwrite): adjust stdio file position after direct write on BSDish platforms. [ruby-core:26300] Sun Oct 25 15:44:24 2009 Nobuyoshi Nakada * ext/dl/handle.c (dlhandle_sym): fixed an invalid local variable declaration. Sun Oct 25 13:33:58 2009 Nobuyoshi Nakada * io.c (io_cntl): F_DUPFD is platform dependent. Sun Oct 25 10:19:09 2009 Nobuyoshi Nakada * ext/dl/handle.c (rb_dlhandle_close): fixed an invalid local variable declaration. Sun Oct 25 05:44:34 2009 Marc-Andre Lafortune * lib/matrix.rb (**): Optimization (up to 45% faster) Sat Oct 24 14:28:40 2009 Yukihiro Matsumoto * hash.c (rb_hash_set_default_proc): checks arity of default_proc of a Hash. [ruby-core:26087] Sat Oct 24 13:38:45 2009 Yukihiro Matsumoto * object.c (rb_obj_cmp): defines Object#<=>. [ruby-core:24063] Sat Oct 24 09:51:28 2009 Yukihiro Matsumoto * enum.c (enum_flat_map): new method that concatenates the values from given block. also provides alias #collect_concat. Sat Oct 24 00:36:47 2009 Tanaka Akira * io.c (io_cntl): update max file descriptor by the result of fcntl(F_DUPFD). Fri Oct 23 16:31:14 2009 Yukihiro Matsumoto * class.c (rb_class_new): move class check to rb_check_inheritable(). * class.c (rb_check_inheritable): should not allow subclass of class Class. [ruby-core:26225] Fri Oct 23 14:25:54 2009 Nobuyoshi Nakada * configure.in (target, target_alias): replace with real cpu. * mkconfig.rb: build* are not needed in rbconfig.rb. * configure.in (warnflags): use -Wextra only when -Wno-missing-field-initializers is available. * configure.in (optflags): removed -fomit-frame-pointer by default. Fri Oct 23 09:12:59 2009 Nobuyoshi Nakada * lib/pathname.rb (Pathname::SAME_PATHS): FNM_SYSCASE is always non-nil. Fri Oct 23 07:32:37 2009 Nobuyoshi Nakada * configure.in, Makefile.in, win32/Makefile.sub (XRUBY): runnable ruby without current libraries. * common.mk (rdoc): use XRUBY. Fri Oct 23 07:28:50 2009 Nobuyoshi Nakada * configure.in (warnflags): use -Wextra instead of -Wall. * gc.c (mark_current_machine_context): get rid of warning. Thu Oct 22 21:10:39 2009 NAKAMURA Usaku * class.c (rb_obj_basic_to_s_p): typo. Please become familiar with the ANSI style. Thu Oct 22 20:20:27 2009 Tanaka Akira * test/ruby/envutil.rb (assert_in_out_err): test_stdout and test_stderr should be an array. * test/ruby/test_rubyoptions.rb (test_notfound): test_stdin of assert_in_out_err should be a string. Thu Oct 22 17:49:05 2009 Akinori MUSHA * lib/fileutils.rb (FileUtils#fu_get_uid, fu_get_gid): Do not convert an integer back and forth. Thu Oct 22 17:29:51 2009 Nobuyoshi Nakada * parse.y (arg_prepend): removed. a patch from Mikhail T. in [ruby-core:26217]. Thu Oct 22 04:54:41 2009 Yukihiro Matsumoto * object.c (rb_obj_inspect): print instance variables only when Object#to_s is not overridden. [ruby-core:24425] * class.c (rb_obj_basic_to_s_p): new function. Wed Oct 21 19:32:52 2009 Nobuyoshi Nakada * object.c (rb_obj_inspect): fixed rdoc about the case that to_s is called. [ruby-core:24425] Wed Oct 21 08:17:17 2009 Nobuyoshi Nakada * test/logger/test_logger.rb (TestLogDevice#test_write): check also error message. Wed Oct 21 03:54:41 2009 Marc-Andre Lafortune * lib/matrix.rb: Creator functions now strict with their arguments Support for empty matrices (see new method Matrix.empty) Matrix#trace raises an ErrDimensionMismatch if the matrix is not square Enumerators are returned when no block given Consistent results when accessing elements with out of bounds indices Details in [ruby-core:23598]. Wed Oct 21 00:27:15 2009 NAKAMURA, Hiroshi * lib/webrick/httpauth/digestauth.rb: typo in exception message fixed. Wed Oct 21 00:17:28 2009 NAKAMURA, Hiroshi * lib/logger.rb: imported upstream version (logger/1.2.7) see #2238. * do not raise an exception even if log writing failed. * do not raise ShiftingError if an aged file already exists. (no ShiftingError will be raised from 1.2.7, just warn() instead) * test/logger/test_logger.rb: ditto. Tue Oct 20 22:29:06 2009 Keiju Ishitsuka * lib/matrix.rb: Bug fix. See detail [ruby-core:23598]. Tue Oct 20 17:57:31 2009 Nobuyoshi Nakada * marshal.c (w_symbol, r_symreal): fixed the order of symbol and its encoding modifier, in order to make the dump readable from 1.8. [ruby-dev:39515] Tue Oct 20 16:41:18 2009 NAKAMURA Usaku * include/ruby/win32.h (finite, scalb): inline'ed non-standard identifier macros. [ruby-core:26166] Tue Oct 20 15:38:02 2009 Nobuyoshi Nakada * parse.y (ripper_intern): enable literal optimization. * parse.y (method_call): dispatch symbols. a patch from Andy Keep in [ruby-core:26169]. [ruby-core:26165] * parse.y (mlhs_basic): fixed handling splat in middle of mlhs. a patch from Andy Keep in [ruby-core:26163] * parse.y (parser_here_document): dispatch delayed heredoc contents. based on a patch from Andy Keep in [ruby-core:24855]. Mon Oct 19 15:17:29 2009 Nobuyoshi Nakada * .gdbinit (rb_method_entry): search method entry by class and id. Mon Oct 19 15:03:31 2009 NAKAMURA Usaku * win32/Makefile.sub (enc/unicode/name2ctype.h): no need to create directory if it already exists. Mon Oct 19 11:34:38 2009 Nobuyoshi Nakada * .gdbinit (rb_ps): dump all threads and their callstacks. based on [ruby-core:26155] by Joshua ben Jore . Mon Oct 19 10:59:36 2009 Nobuyoshi Nakada * iseq.c (prepare_iseq_build, rb_iseq_build_for_ruby2cext): untrust mark array. [ruby-core:26137] Mon Oct 19 05:49:53 2009 Marc-Andre Lafortune * lib/rexml/element.rb (text=): false should be converted to string. A patch by Teruo Oshida [ruby-dev:38351] Sun Oct 18 22:33:25 2009 Tadayoshi Funaba * lib/date.rb: do not require lib/delta.rb. * lib/date/delta.rb: follows the above change. Sun Oct 18 19:14:21 2009 Tanaka Akira * parse.y (is_special_global_name): add boundary check. Sun Oct 18 18:31:58 2009 Nobuyoshi Nakada * ruby.c (ruby_init_loadpath_safe): should not dup tmp string. a patch from neomjp neomjp in [ruby-core:24251]. Sun Oct 18 09:49:14 2009 Yuki Sonoda (Yugui) * test/test_prime.rb (TestPrime#test_eratosthenes_works_fine_after_timeout): test for [ruby-dev:39465]. * lib/prime.rb (Prime::EratosthenesSieve): fixed [ruby-dev:39465]. suppressed memory reallocation. constantified some magic numbers. Sat Oct 17 22:11:03 2009 Nobuyoshi Nakada * marshal.c (id2encidx): register encoding name. (r_object0): register object before encoding name. [ruby-core:24882] Sat Oct 17 17:56:58 2009 Yuki Sonoda (Yugui) * test/rake/test_fileutils.rb (Rake::TestFileUtils#test_sh): uses FileUtils::RUBY instead of fixed "ruby" so that the ruby command works fine in Ruby's "make test-all". (test_sh_with_a_single_string_argument): ditto. (test_sh_with_multiple_arguments): ditto. (test_sh_failure): ditto (test_sh_special_handling): ditto. Sat Oct 17 17:30:06 2009 Yusuke Endoh * bignum.c (big_split): fix off-by-one error. [ruby-dev:39501] Sat Oct 17 16:34:27 2009 Tanaka Akira * parse.y (parser_yylex): fix token even after trailing under score. Sat Oct 17 11:27:44 2009 Yukihiro Matsumoto * vm_method.c (basic_obj_respond_to): call #respond_to_missing? always with two arguments. [ruby-core:26090] Sat Oct 17 08:51:44 2009 Yukihiro Matsumoto * lib/delegate.rb (Delegator#respond_to_missing): warn only when specified method is a private. [ruby-dev:39498] Fri Oct 17 00:05:53 2009 wanabe * st.c (unpack_entries): save table->bins and never change the table during unpacking. Because st_insert() may cause GC and refer the table, i.e. st_foreach(). [Bug #2196] Fri Oct 16 22:20:25 2009 Tanaka Akira * prelude.rb (require_relative): defined as a module function of Kernel. Fri Oct 16 20:18:28 2009 Yukihiro Matsumoto * lib/delegate.rb (Delegator#method_missing): remove backtrace lines _until_ `method_missing'. Fri Oct 16 20:09:55 2009 Yukihiro Matsumoto * lib/delegate.rb (Delegator#freeze): #freeze should freeze self and the target at once. [ruby-core:26118] Fri Oct 16 19:39:28 2009 Yukihiro Matsumoto * lib/delegate.rb (Delegator#respond_to_missing): warn if optional include_private argument is not false. Delegator does (and should) not forward private methods. [ruby-core:26080] * lib/delegate.rb (Delegator#respond_to_missing): instead of redefining #respond_to?, use #respond_to_missing?. [ruby-core:26081] Fri Oct 16 18:42:18 2009 Nobuyoshi Nakada * bootstraptest/test_gc.rb: added tests based on [ruby-dev:39484] from wanabe . Fri Oct 16 16:09:01 2009 NAKAMURA Usaku * win32/win32.c (rb_w32_spawn): `\'' is also quote character. Fri Oct 16 13:40:09 2009 Nobuyoshi Nakada * gc.h (rb_gc_debug_body): constified. Fri Oct 16 13:20:39 2009 NARUSE, Yui * ext/bigdecimal/bigdecimal.c (VpMidRound): remove warnings. patch from Charlie Savage. [ruby-core:22869] * ext/digest/bubblebabble/bubblebabble.c (bubblebabble_str_new): ditto. * ext/digest/digest.c (hexencode_str_new): ditto. * ext/iconv/iconv.c (iconv_convert): ditto. * ext/socket/socket.c (inspect_sockaddr): ditto. * ext/socket/raddrinfo.c (sockaddr_obj): ditto. * ext/syck/emitter.c (syck_emitter_write): ditto. * ext/syck/emitter.c (syck_emitter_flush): ditto. * ext/syck/emitter.c (syck_emit_tag): ditto. Fri Oct 16 12:03:31 2009 NARUSE, Yui * lib/csv.rb (CSV#raw_encoding): returns ASCII-8BIT when the io doesn't have encoding. Fri Oct 16 03:15:52 2009 NARUSE, Yui * lib/csv.rb (CSV#read_to_char): set encoding and verify data which read from io before encode it to @encoding. * lib/csv.rb (CSV#raw_encoding): add to get @io's encoding. * lib/csv.rb (CSV#read_io): add to read string and set @io's encoding. Thu Oct 15 18:26:12 2009 Nobuyoshi Nakada * parse.y (rb_intern3): check symbol table overflow before generate next id. [ruby-core:26092] Thu Oct 15 15:14:15 2009 Nobuyoshi Nakada * io.c (io_encoding_set): get rid of parsing non-ascii string, and refine messages for invalid name encoding. * io.c (io_reopen): unread current buffer before telling the position, for the case of reopening same file. [ruby-dev:39479] Thu Oct 15 14:20:58 2009 Nobuyoshi Nakada * ext/iconv/iconv.c (iconv_create): cannot retry with given block. [ruby-dev:39487] Thu Oct 15 09:25:07 2009 NAKAMURA Usaku * ext/socket/init.c (rsock_init_sock): mswin doesn't have S_IFSOCK flag in st_mode of struct stat. so, use rb_w32_issocket() function instead of S_ISSOCK macro. Thu Oct 15 00:47:42 2009 NARUSE, Yui * tool/enc-unicode.rb, enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src: use UTS#18 for POSIX character class. http://rubyspec.org/issues/show/161 Thu Oct 15 00:26:07 2009 Tanaka Akira * ext/socket/init.c (rsock_init_sock): validate file descriptor. Wed Oct 14 13:24:14 2009 Nobuyoshi Nakada * ruby.c (process_options): script name should not be shown in an error message before loaded. Wed Oct 14 09:06:38 2009 Nobuyoshi Nakada * eval.c (ruby_run_node): need to call ruby_cleanup() always even if any error occurred so far. Wed Oct 14 08:08:12 2009 Marc-Andre Lafortune * proc.c (mnew): Method#new checks for respond_to_missing? with private set to true [ruby-core:26069] Tue Oct 13 21:05:01 2009 NARUSE, Yui * tool/enc-unicode.rb, enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src: Add DerivedCoreProperties, PropList (Binary Property), PropertyAlias and PropertyValueAlias. Now users of tool/enc-unicode.rb should specify the directory of UCD files. Tue Oct 13 18:54:25 2009 Hidetoshi NAGAI * ext/tk/variable.rb: bug fix. additional trace definition changes the option of first trace definition. Tue Oct 13 18:23:17 2009 Nobuyoshi Nakada * parse.y (token_info_push, token_info_pop): reduced ifdefs. * parse.y (parser_magic_comment): fixed normalization. Tue Oct 13 09:04:14 2009 Marc-Andre Lafortune * thread.c: Revert changes to Thread#raise made in r25278 [ruby-core:25367] * eval_intern.h: ditto Mon Oct 12 23:27:57 2009 Shugo Maeda * lib/net/ftp.rb (login): use "anonymous@" as a default password. [ruby-dev:39451] Mon Oct 12 22:48:25 2009 Shugo Maeda * lib/net/ftp.rb (retrlines): added a new block parameter. * lib/net/ftp.rb (gettextfile): preserve missing end-of-line at end of files. [ruby-core:24590] Mon Oct 12 19:48:33 2009 Nobuyoshi Nakada * eval.c (ruby_run_node): if an exception occurred in ruby_option, the result is not executable. Mon Oct 12 05:51:11 2009 NARUSE, Yui * regparse.c (fetch_token): warn invalid back reference and subexp call. (\k and \g). Mon Oct 12 03:47:42 2009 NARUSE, Yui * marshal.c (has_encoding): added for check the regexp is dumped by 1.8 or 1.9. * marshal.c (r_object0): use has_encoding. Sun Oct 11 15:54:52 2009 Nobuyoshi Nakada * ext/gdbm/gdbm.c (fgdbm_select): fixed rdoc. a patch from Justin Collins in [ruby-core:26050]. Sun Oct 11 10:27:09 2009 Nobuyoshi Nakada * lib/irb/context.rb (IRB::Context#irb_name): removed duplicated attr_reader. [ruby-core:26047] * lib/irb/ruby-lex.rb (RubyLex#lex_int2): removed duplicated character class range. Sun Oct 11 10:04:35 2009 NARUSE, Yui * regparse.c (fetch_token_in_cc): warn when \p is not followed by property name. * regparse.c (fetch_token): ditto. Sun Oct 11 09:44:46 2009 NARUSE, Yui * regerror.c (onig_vsnprintf_with_pattern): added. * regparse.c (onig_syntax_warn): use above. Sun Oct 11 09:04:08 2009 Nobuyoshi Nakada * include/ruby/ruby.h (RB_GC_GUARD_PTR): workaround for gcc optimization. * include/ruby/ruby.h (ruby_exec_node): declared. Sun Oct 11 03:10:50 2009 NARUSE, Yui * regparse.c (onig_syntax_warn): added. * regparse.c (CC_ESC_WARN, CLOSE_BRACKET_WITHOUT_ESC_WARN, CC_DUP_WARN, UNKNOWN_ESC_WARN): use onig_syntax_warn. Sun Oct 11 00:14:38 2009 Nobuyoshi Nakada * marshal.c (marshal_dump, marshal_load): prevent from GC. Sat Oct 10 23:57:44 2009 Nobuyoshi Nakada * file.c (path_check_0): prevent from GC. Sat Oct 10 23:51:22 2009 Nobuyoshi Nakada * transcode.c (rb_transcoding, str_transcoding_resize): fixed types. Sat Oct 10 20:35:27 2009 Yuki Sonoda (Yugui) * math.c (math_atanh): reverted r25279. Sat Oct 10 19:03:29 2009 Tanaka Akira * ext/curses/curses.c: use rb_thread_blocking_region to avoid rb_read_check. This makes other threads runnable in getstr and wgetstr. (getch_func): extracted from curses_getch. (curses_getch): use rb_thread_blocking_region with getch_func. (getstr_func): extracted from curses_getstr. (curses_getstr): use rb_thread_blocking_region with getstr_func. (wgetch_func): extracted from window_getch. (window_getch): use rb_thread_blocking_region with wgetch_func. (wgetstr_func): extracted from window_getstr. (window_getstr): use rb_thread_blocking_region with wgetstr_func. * include/ruby/io.h (rb_read_check): deprecated because it access internal of stdio. Sat Oct 10 18:59:17 2009 Nobuyoshi Nakada * configure.in (cflags, cxxflags): remove duplicating options. Sat Oct 10 18:19:03 2009 Nobuyoshi Nakada * configure.in, Makefile.in (LIBRUBY_SO), common.mk (ruby.imp), win32/mkexports.rb (each_export): exclude _threadptr_ functions. Sat Oct 10 17:55:57 2009 Nobuyoshi Nakada * eval.c (rb_threadptr_errinfo): renamed. Sat Oct 10 17:03:22 2009 Nobuyoshi Nakada * eval.c (ruby_exec_node): removed unused argument. Sat Oct 10 14:55:55 2009 Marc-Andre Lafortune * math.c (math_atanh): Fix bug for Math.atanh(+/-1). It now returns +-Infinity. [ruby-core:26028] Sat Oct 10 14:09:40 2009 Marc-Andre Lafortune * thread.c (rb_threadptr_execute_interrupts_rec, rb_threadptr_raise): Thread#raise with no argument will now re-raise the current exception if there is one [ruby-core:25367] * eval.c (get_errinfo, rb_rubylevel_thread_errinfo): Getter for current exception for a given thread Fri Oct 9 23:10:04 2009 Yukihiro Matsumoto * vm_method.c (rb_method_boundp): should exclude NOEX_RESPONDS. based on the patch from Nikolai Lugovoi. [ruby-core:25949] Fri Oct 9 21:14:40 2009 Tanaka Akira * lib/resolv.rb (Resolv::DNS::Requester::ConnectedUDP): disable reverse lookup. (Resolv::DNS::Requester::UnconnectedUDP): ditto. Fri Oct 9 10:12:13 2009 NARUSE, Yui * lib/irb/context.rb (IRB::Context#initialize): remove warnings when $VERBOSE is set as true in .irbrc. Fri Oct 9 02:58:18 2009 NARUSE, Yui * tool/enc-unicode.rb: optimized. * enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src: U+100000-U+10FFFD is assigned, not Cn. Fri Oct 9 02:12:02 2009 Marc-Andre Lafortune * ext/curses/curses.c: Many functions of module Curses could cause a crash if the ncurses library was not properly initialized. Fix pointed out by Alexander Beisig [ruby-core:22592] Functions fixed: attroff, attron, attrset, bkgd, bkgdset, can_change_color, close_screen, closed, color_content, curs_set, def_prog_mode, delch, deleteln, getmouse, getstr, has_colors, init_color, init_pair, insertln, keyname, mouseinterval, mousemask, pair_content, pair_number, reset_prog_mode, resizeterm, scrl, setscrreg, standend, standout, start_color, timeout, ungetmouse, use_default_colors Fri Oct 9 01:07:34 2009 Yusuke Endoh * compile.c (ADD_TRACE): fire coverage event in ensure clause. [ruby-dev:39303] * iseq.h, iseq.c: ditto. Fri Oct 9 00:33:29 2009 Marc-Andre Lafortune * lib/net/telnet.rb (cmd): Pass FailEOF options: patch by Brian Candler [ruby-core:22723] Fri Oct 9 00:01:17 2009 Tanaka Akira * ext/socket/lib/socket.rb (Socket.udp_server_recv): extracted from Socket.udp_server_loop_on. Thu Oct 8 05:45:14 2009 NARUSE, Yui * tool/enc-unicode.rb: parse range notation of UnicodeData.txt. * enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src: follow above change. [ruby-dev:39444] Thu Oct 8 02:46:24 2009 Nobuyoshi Nakada * string.c (rb_str_inspect): copy by chunks. Thu Oct 8 01:23:18 2009 Nobuyoshi Nakada * iseq.c (iseq_s_disasm): accept proc objects. [ruby-core:18762] Wed Oct 7 16:42:28 2009 Nobuyoshi Nakada * marshal.c (mark_dump_arg, mark_load_arg): ignore already cleaned data. [ruby-core:25969] * marshal.c (clear_dump_arg, clear_load_arg): clear freed fields. Wed Oct 7 16:06:30 2009 Nobuyoshi Nakada * include/ruby/ruby.h (rb_long2int): evaluates the argument only once. * struct.c (rb_struct_alloc): check array length overflow. Wed Oct 7 09:23:49 2009 NARUSE, Yui * string.c (rb_str_inspect): don't assign -1 to unsigned int. Wed Oct 7 00:27:01 2009 Tanaka Akira * lib/resolv.rb (Resolv::DNS.bind_random_port): bind to "::" for IPv6. (Resolv::DNS::ConnectedUDP#initialize): specify is_ipv6 argument of bind_random_port. [ruby-core:25970] Tue Oct 6 23:32:38 2009 Yukihiro Matsumoto * string.c (rb_str_upto): RDoc updated. a patch from Nobuhiro IMAI in [ruby-dev:39440]. [ruby-dev:39439] Tue Oct 6 21:30:58 2009 Tanaka Akira * io.c (io_reopen): avoid close if possible. Tue Oct 6 18:56:09 2009 Yukihiro Matsumoto * struct.c (rb_struct_select): Struct#select should return enumerator when no block given. Tue Oct 6 06:26:00 2009 Hidetoshi NAGAI * * ext/tk/lib/tk/canvas.rb: *** POTENTIALLY INCOMPATIBLE *** 'tags' option of a TkcItem object should give a list of TkcTag objs. * ext/tk/lib/tkextlib/vu/dial.rb: fix logical bug. * ext/tk/lib/tk/canvas.rb, ext/tk/lib/tkextlib/blt/component.rb: lack of support for methodcall_optkeys. Mon Oct 5 17:19:33 2009 Yukihiro Matsumoto * lib/delegate.rb (Delegator::public_api): take snapshot of public method at the beginning time. * lib/delegate.rb (SimpleDelegator#initialize): use Delegator.public_api since public_method might be added after initialization. [ruby-dev:39383] * lib/delegate.rb (DelegateClass): ditto. Mon Oct 5 12:22:12 2009 Yukihiro Matsumoto * array.c (rb_ary_{times, shuffle_bang, sample}): reducing macro calls inside of the loop by keeping pointers in local variables. a patch from Masahiro Kanai (CanI) in [ruby-dev:39406]. It was found and fixed at Security and Programming camp 2009. * string.c (rb_str_{times, split_m}): ditto. * struct.c (rb_struct_{getmember, set, aref_id, aset_id}, {make, inspect}_struct, recursive_{equal, hash, eql}): ditto. Mon Oct 5 00:09:57 2009 Yukihiro Matsumoto * vm_method.c (basic_obj_respond_to): should not call #respond_to_missing? for not implemented methods. [ruby-core:25909] * vm_method.c (rb_method_boundp): returns exceptional value 2 for not-implemented methods when called from #respond_to? (specifies by new constant NOEX_RESPONDS). * method.h (enum): new constant NOEX_RESPONDS added. Sun Oct 4 22:16:29 2009 Takeyuki FUJIOKA * lib/cgi/cookie.rb: add default value to @@accept_charset if have not defined. [ruby-dev:38987] * lib/cgi/util.rb: ditto. Sun Oct 4 19:30:54 2009 Nobuyoshi Nakada * marshal.c (struct {dump,load}_arg): manage with dfree, instead of using local variable which may be moved by context switch. [ruby-dev:39425] Sun Oct 4 15:00:32 2009 Nobuyoshi Nakada * pack.c (NATINT_LEN, pack_pack): suppressed warnings. Sun Oct 4 14:01:10 2009 Nobuyoshi Nakada * lib/rubygems.rb (Gem::binary_mode): binary mode uses binary encoding. Sun Oct 4 08:27:10 2009 Tanaka Akira * enum.c (slicebefore_ii): use id_eqq. Sun Oct 4 06:40:09 2009 Alexander Zavorine * symbian/setup (ruby.mmp): added macro RUBY_EXPORT to match the change in dln.c Sun Oct 4 05:34:34 2009 Hidetoshi NAGAI * ext/tk/lib/tk/variable.rb: add TkVariable#to_hash,to_proc,to_int, to_str,to_ary Sun Oct 4 00:59:52 2009 Takeyuki FUJIOKA * lib/cgi/core.rb: fix command-line option of non-interactive terminal. [ruby-core:23016] Sun Oct 4 00:40:18 2009 Nobuyoshi Nakada * lib/rake/contrib: added. [ruby-core:25918] Sat Oct 3 22:14:18 2009 Nobuyoshi Nakada * parse.y (bv_decls, bvar): fix for block variables. [ruby-dev:39423] Sat Oct 3 21:19:18 2009 Nobuyoshi Nakada * vm_method.c (rb_add_method_def): no redefinition warning on undef. Sat Oct 3 18:51:11 2009 Yukihiro Matsumoto * object.c (rb_f_integer): now Integer() takes optional base argument. base will be ignored for non string values. suggested by Sam Carr at RubyFoo Lounge at London. * test/ruby/test_integer.rb (TestInteger#test_Integer): test updated. Sat Oct 3 04:34:25 2009 Nobuyoshi Nakada * parse.y (assignable_gen): parser_yyerror takes two arguments. Sat Oct 3 04:07:52 2009 Nobuyoshi Nakada * lib/rake: updated to rake code to rake-0.8.7 source code base. * lib/rake/loaders/makefile.rb (Rake::MakefileLoader#process_line): respace dependencies too. Sat Oct 3 02:59:21 2009 Nobuyoshi Nakada * parse.y (assignable_gen): get rid of macro collision. Sat Oct 3 02:49:50 2009 Nobuyoshi Nakada * array.c (ary_make_shared): should count frozen array itself. Sat Oct 3 01:01:20 2009 NARUSE, Yui * enc/unicode/name2ctype.h: Updated to Unicode 5.2.0. Sat Oct 3 01:01:03 2009 Nobuyoshi Nakada * configure.in: workaround for regexp metacharacters of expr in prefix path. Sat Oct 3 00:47:52 2009 Nobuyoshi Nakada * test/ripper/dummyparser.rb (DummyParser): improvement by Magnus Holm in [ruby-core:25884]. * remove scanner events which simply returned the first argument. * all parser events are now automatically generated. * simplify blocks. Sat Oct 3 00:43:52 2009 NARUSE, Yui * method.h (rb_method_type_t): remove a comma at end of enumerator list. Sat Oct 3 00:31:04 2009 Nobuyoshi Nakada * range.c (discrete_object_p): needs the argument type to get rid of truncation on platforms where VALUE is larger than int. Fri Oct 2 22:30:15 2009 NARUSE, Yui * enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src: Updated to Unicode 5.2.0. NOTE: when you update these data, download UnicodeData.txt and Scripts.txt from http://www.unicode.org/Public/UNIDATA/ and run ruby1.9 tool/enc-unicode.rb UnicodeData.txt Scripts.txt \ > enc/unicode/name2ctype.kwd * enc/unicode/Scripts.txt: removed. * enc/unicode/UnicodeData.txt: removed. Fri Oct 2 20:49:19 2009 Tanaka Akira * enum.c (enum_slice_before): take a pattern if no block given. Fri Oct 2 20:37:37 2009 Nobuyoshi Nakada * parse.y (ripper_yylval_id, ripper_get_{id,value}): wrap ID by NODE to track local variable assignment. * parse.y (lvar_defined_gen, assignable_gen): enable local variable check. [ruby-core:24923] * parse.y (validate): use value only. * test/ripper/test_parser_events.rb (test_local_variables): tests based on a patch from Magnus Holm in [ruby-core:25885]. Fri Oct 2 15:34:15 2009 Nobuyoshi Nakada * thread.c (ruby_suppress_tracing): get rid of clobbering by longjmp. Fri Oct 2 09:20:35 2009 NAKAMURA Usaku * eval.c (rb_origenviron): remove unused old variable. [ruby-dev:39412] Thu Oct 1 14:16:39 2009 NAKAMURA Usaku * win32/{setup.mak,Makefile.sub,win32.c},include/ruby/win32.h (RT_VER): split compiler specification and runtime library specification. * win32/Makefile.sub (LD_SHARED*, config.status): no need to embed manifest if not exist. Thu Oct 1 13:23:14 2009 NAKAMURA Usaku * win32/win32.c (rb_w32_getpid): simply call GetCurrentProcessId() instead of calling MSVCRT's getpid(). Wed Sep 30 13:15:45 2009 Nobuyoshi Nakada * vm_method.c (rb_add_method_def): show the location where overwritten method was defined. [ruby-dev:39400] Wed Sep 30 00:37:27 2009 Nobuyoshi Nakada * enumerator.c (enumerator_block_call): extracted. Wed Sep 30 00:00:25 2009 NARUSE, Yui * string.c (rb_str_inspect): escape as \x{XXXX} when the encoding is other than Unicode. [ruby-dev:39388] Wed Sep 30 00:00:30 2009 Nobuyoshi Nakada * configure.in (THREAD_MODEL): modified message when no thread model is available. Tue Sep 29 23:17:32 2009 Nobuyoshi Nakada * io.c (rb_scan_open_args): rb_utf8mac_encoding is undefined. Tue Sep 29 22:25:41 2009 Tanaka Akira * include/ruby/intern.h (rb_struct_iv_get): deprecated because it is not used and access internal structure. Tue Sep 29 22:19:36 2009 Tanaka Akira * lib/test/unit/assertions.rb (assert_equal): use Time#subsec if nsec is not enough to distinguish arguments. Tue Sep 29 21:16:35 2009 NARUSE, Yui * io.c (rb_scan_open_args): add UTF8-MAC to no-conversion encoding. Tue Sep 29 21:21:15 2009 Nobuyoshi Nakada * configure.in (--enable-pthread): deprecated. Tue Sep 29 21:03:59 2009 Yusuke Endoh * lib/pp.rb (Kernel#pp): returns its arguments, like Kernel#p. [ruby-dev:34830] Tue Sep 29 17:02:45 2009 Nobuyoshi Nakada * ext/json/lib/json/common.rb (recurse_proc): removed needless module_function, since visibility is already module_function. Tue Sep 29 13:48:58 2009 Nobuyoshi Nakada * vm_method.c (rb_method_definition_eq): non-null definition is not equal to null definition. * vm_method.c (rb_add_method_def): nothing to do if old method had same definition. [ruby-dev:39397] Tue Sep 29 06:50:32 2009 NARUSE, Yui * string.c (rb_str_inspect): dump as \uXXXX when the string is in Unicode. [ruby-dev:39388] Tue Sep 29 06:49:16 2009 NARUSE, Yui * encoding.c (rb_enc_unicode_p): defined. Returns 1 when the encoding is Unicode series other than UTF-7 else 0. Tue Sep 29 04:14:08 2009 NARUSE, Yui * encoding.c (rb_filesystem_encoding): On Unix systems, filesystem encoding should be locale encoding. [ruby-dev:39393] Tue Sep 29 04:07:58 2009 NARUSE, Yui * hash.c (rb_f_getenv): use rb_filesystem_str_new_cstr instead of rb_str_new2. ENV['PATH'].encoding should be Filesystem Encoding because its content is related to filesystem. see [ruby-dev:39393] * hash.c (env_fetch): ditto. * string.c (rb_filesystem_str_new): defined. * string.c (rb_filesystem_str_new_cstr): ditto. * include/ruby/intern.h (rb_filesystem_str_new): added. * include/ruby/intern.h (rb_filesystem_str_new_cstr): ditto. Tue Sep 29 04:06:18 2009 NARUSE, Yui * include/ruby/st.h: include inttypes.h and stdint.h. Tue Sep 29 00:07:06 2009 Nobuyoshi Nakada * hash.c (rb_f_getenv, env_fetch): env string may be overwritten. Mon Sep 28 23:30:59 2009 Nobuyoshi Nakada * dln.c (load_lib, dln_find_exe_r): env string may be overwritten. * dln.c (dln_{exit,loaderror,memerror,notimplement}): renamed as independent names. * dln.c (aix_loaderror): needs format string. Mon Sep 28 19:36:20 2009 NAKAMURA Usaku * win32/win32.c (LK_ERR): with overlapped I/O, LockFileEx() returns ERROR_IO_PENDING if the file is locked. Mon Sep 28 19:05:05 2009 Martin Duerst * include/ruby/st.h: aligned prototype of st_hash_uint32 with function definition (fixing compiling problem on cygwin) Mon Sep 28 12:13:15 2009 Yukihiro Matsumoto * method.h (enum): new method type VM_METHOD_TYPE_MISSING. * vm_eval.c (vm_call0): invoking VM_METHOD_TYPE_MISSING method objects. * vm_insnhelper.c (vm_call_method): invoking method defined from VM_METHOD_TYPE_MISSING. * proc.c (rb_method_entry_arity): ditto. * vm_method.c (rb_method_entry_eq): two method object wraps method_missing with same symbol should be equal. [ruby-core:25755] * proc.c (mnew): should always return method object. Mon Sep 28 11:38:07 2009 NAKAMURA Usaku * parse.y (parser_tokadd_string): the byte after ``\'' may be a part of multibyte character, so pushback it. [ruby-list:46416] Mon Sep 28 10:06:38 2009 NARUSE, Yui * stringio/stringio.c (strio_read): set ASCII-8BIT encoding when length argument is given. Mon Sep 28 01:28:17 2009 Yutaka Kanemoto * Makefile.in (miniruby): suppress duplication warning on AIX. Mon Sep 28 01:13:25 2009 Yutaka Kanemoto * common.mk (ruby.imp): add text section [Bug #2064]. * common.mk (ruby.imp): do not export Init_*. Sun Sep 27 13:06:43 2009 Tanaka Akira * lib/pp.rb (PP:ObjectMixin#pretty_print): delegates has no inspect method. [ruby-core:25804] Sun Sep 27 12:01:42 2009 Nobuyoshi Nakada * string.c (str_buf_cat2): optimize since all second arguments are constant literals. * string.c (str_cat_char): unused now. * string.c (rb_hash_{uint{32,},end}): removed. Sun Sep 27 11:58:23 2009 Nobuyoshi Nakada * configure.in (optflags): add -fomit-frame-pointer by default. Sun Sep 27 11:28:15 2009 Tanaka Akira * enum.c (enum_minmax): use struct for memo. (enum_minmax_by): ditto. Sun Sep 27 10:21:16 2009 Nobuyoshi Nakada * configure.in (warnflags): check all flags if each are available. Sun Sep 27 05:35:17 2009 NARUSE, Yui * ext/json/ext/generator/generator.c: Documentation patch by okkez. [Bug #2075] Sun Sep 27 04:20:55 2009 NARUSE, Yui * string.c (rb_str_inspect): result's encoding should be fixed. If default_internal is not nil, the encoding is default_internal. Else if default_external is not nil, the encoding is default_external. But the encoding is not ASCII-compatible, the encoding is replaced by US-ASCII. Characters in ASCII-incompatible encoding or non ASCII characters in other than the encoding will be \xXX escaped. [ruby-dev:39343] * string.c (str_buf_cat2): defined. * string.c (prefix_escape): removed. Sun Sep 27 05:37:45 2009 Alexander Zavorine * symbian/missing-pips.c: Updated to work with the latest PIPS 1.6. * symbian/setup: ditto. * symbian/README.SYMBIAN: ditto. Sun Sep 27 02:00:46 2009 Koichi Sasada * string.c: use rename-macro instead of RUBY_ALIAS_FUNCTION_TYPE. Because build causes failure. Sat Sep 26 23:29:11 2009 Nobuyoshi Nakada * st.c: moved murmur hash from string.c. [ruby-dev:39376] Sun Sep 26 00:24:14 2009 Alexander Zavorine * symbian/setup: Updated .mmp file generation due to blockinlining.c removal. Sat Sep 26 22:39:24 2009 Yuki Sonoda (Yugui) * Makefile.in(test-rubyspec): explicitly executes run subcommand of mspec. * spec/README: typo fix Sat Sep 26 17:53:13 2009 Nobuyoshi Nakada * st.c (COLLISION): improved collision log feature. * string.c (hash): updated to MurmurHash 2.0 2009-09-19. * string.c (rb_hash_start): fixed shift width on 128bit platform. * include/ruby/intern.h (rb_hash_{start,uint32,uint,end}): fixed prototypes. Sat Sep 26 13:26:55 2009 Marc-Andre Lafortune * lib/net/http.rb (transport_request): Handle timeout error by closing socket if exception raised. [ruby-core:20976] Sat Sep 26 12:08:17 2009 Yukihiro Matsumoto * vm_method.c (rb_method_entry_eq): method defined from same block/proc should be equal. [ruby-core:25755] [ruby-core:24791] Sat Sep 26 08:35:12 2009 Koichi Sasada * iseq.c (compile_string): rename to parse_string(), because this function only parse String to NODE. Fri Sep 25 16:01:45 2009 NAKAMURA Usaku * win32/win32.c, include/ruby/win32.h (rb_w32_access): new function to replace MSVCRT's access(). [ruby-core:25761] * file.c (eaccess): workaround for recent MSVCRT is no longer needed. Fri Sep 25 13:04:46 2009 Nobuyoshi Nakada * proc.c (mnew): fix for instance method of Module, BasicObject and subclass of a class which overrides respond_to_missing?. based on a patch from Nikolai Lugovoi in [ruby-core:25748]. Fri Sep 25 11:56:50 2009 Nobuyoshi Nakada * vm_method.c (rb_mod_method_defined): should return true or false. Thu Sep 24 13:32:53 2009 Yukihiro Matsumoto * proc.c (mnew): generate method object that wraps method_missing, when #respond_to_missing? is defined. * test/ruby/test_object.rb (test_respond_to_missing): add test suites for #respond_to_missing? changes. Thu Sep 24 09:41:42 2009 Marc-Andre Lafortune * lib/mathn.rb (Bignum#**): Fixed bignum**fixnum that was broken when requiring lib/mathn [ruby-core:25740] Thu Sep 24 02:21:23 2009 Nobuyoshi Nakada * ext/bigdecimal/lib/bigdecimal/math.rb (atan): atan(Infinity) is PI/2. * ext/bigdecimal/lib/bigdecimal/math.rb (atan): reduce loop with the double-angle formula. based on a patch from Masahiro Kanai (CanI) in [ruby-dev:39367]. Thu Sep 24 01:14:18 2009 Yutaka Kanemoto * dln.c (aix_loaderror): fixed typo. suppress warnings. Thu Sep 24 00:17:06 2009 Tanaka Akira * enum.c (enum_minmax): reduce comparison. (enum_minmax_by): ditto. Wed Sep 23 22:58:57 2009 Tanaka Akira * lib/thread.rb (ConditionVariable#wait): add timeout argument. [ruby-talk:346154] Wed Sep 23 21:25:20 2009 Nobuyoshi Nakada * ext/bigdecimal/lib/bigdecimal/math.rb (atan): refined. Wed Sep 23 17:08:30 2009 Nobuyoshi Nakada * parse.y (assign_in_cond): also should warn assignment to dvar in conditional. [ruby-dev:39363] Wed Sep 23 13:14:21 2009 Nobuyoshi Nakada * string.c (rb_str_upto): keep first width. [ruby-dev:39361] Wed Sep 23 11:28:06 2009 Nobuyoshi Nakada * tool/instruction.rb (make_header_prepare_stack): check stack overflow. [ruby-core:25714] * tool/instruction.rb (make_footer_stack_val): ditto. Wed Sep 23 05:03:36 2009 Marc-Andre Lafortune * proc.c (umethod_bind, rb_mod_define_method): Fix bug that disallowed methods from singleton classes to be used for UnboundMethod#bind, Kernel#define_singleton_method and Module#define_method, even when that singleton class was of the right kind_of. A patch by Shane O'Brien [ruby-core:25632] Tue Sep 22 22:56:48 2009 Yukihiro Matsumoto * vm_method.c (basic_obj_respond_to): new function to fundamental behavior for #respond_to? * vm_method.c (basic_obj_respond_to): calls #respond_to_missing method if overridden, to check responsiveness of methods implemented by #method_missing. Tue Sep 22 16:34:33 2009 Nobuyoshi Nakada * st.c (st_table_entry, st_get_key): use st_index_t. Tue Sep 22 16:28:41 2009 Nobuyoshi Nakada * regenc.h (PosixBracketEntryType): constified. * regenc.h (PosixBracketEntryInit): suppress warnings. * regerror.c (onig_error_code_to_str, onig_snprintf_with_pattern): fixed type. * regparse.c (st_str_end_key, str_end_cmp, str_end_hash): constified. * tool/transcode-tblgen.rb (transcode_generated_code): fixed type. Tue Sep 22 10:29:06 2009 Tanaka Akira * enum.c (enum_chunk): new method Enumerable#chunk. * enum.c (enum_slice_before): new method Enumerable#slice_before. [ruby-dev:38392] [ruby-dev:39240] Tue Sep 22 05:58:25 2009 Nobuyoshi Nakada * compile.c, cont.c, gc.c, insns.def, iseq.c, iseq.h, process.c, thread.c, vm.c, vm_core.h, vm_dump.c, vm_eval.c, vm_insnhelper.c, vm_method.c, template/insns_info.inc.tmpl, tool/instruction.rb: fixed types. Tue Sep 22 05:04:08 2009 Nobuyoshi Nakada * ext/bigdecimal/lib/bigdecimal/{ludcmp,math}.rb: depend on bigdecimal. * ext/bigdecimal/lib/bigdecimal/*.rb: made module functions. Tue Sep 22 04:47:37 2009 Nobuyoshi Nakada * ext/bigdecimal/bigdecimal.c (GetVpValue): support conversion from Rational. [ruby-core:25697] Tue Sep 22 04:43:42 2009 Nobuyoshi Nakada * Makefile.in, win32/Makefile.sub (INSNS): depend on tools. Tue Sep 22 01:10:22 2009 Marc-Andre Lafortune * ossl_ocsp.c (ossl_ocspres_to_der): Bug fix in Response#to_def. Patch by Chris Chandler [ruby-core:18411] Tue Sep 22 01:10:02 2009 Marc-Andre Lafortune * ossl_config.c (ossl_config_add_value_m, ossl_config_set_section): Check if frozen (or untrusted for $SAFE >= 4) [ruby-core:18377] Mon Sep 21 17:12:10 2009 Nobuyoshi Nakada * proc.c (proc_binding): allow proc from method. [ruby-core:25589] * vm.c (collect_local_variables_in_env): block iseq can be NULL. Mon Sep 21 10:50:37 2009 Yukihiro Matsumoto * time.c (rb_time_succ): make Time#succ obsolete since time is not a discrete value. * range.c (discrete_object_p): treat time objects specially to determine discrete values, since time objects have #succ yet are discrete (for now at least). Mon Sep 21 10:13:22 2009 Nobuyoshi Nakada * cont.c (cont_new, cont_capture, fiber_t_alloc): needs already running thread. cf. [ruby-core:25681] Mon Sep 21 00:07:36 2009 Nobuyoshi Nakada * ext/bigdecimal/lib/bigdecimal/math.rb (sin, cos, atan, exp, log): improved precision and performance. based on a patch from Makoto Yamashita in [ruby-core:25600] and [ruby-core:25602]. Sun Sep 20 11:11:34 2009 Marc-Andre Lafortune * struct.c (rb_struct_equal, rb_struct_eql): Handle comparison of recursive structures [ruby-core:24759] * range.c (range_eq, range_eql): ditto for ranges Sat Sep 19 17:46:46 2009 Nobuyoshi Nakada * vm_core.h (ENABLE_VM_OBJSPACE): socklist needs st_table in rb_w32_sysinit(), before object space initialization. Sat Sep 19 17:32:59 2009 Nobuyoshi Nakada * dir.c (GlobPathValue), file.c (rb_get_path_check): path names must be ASCII compatible. Sat Sep 19 00:02:19 2009 Nobuyoshi Nakada * include/ruby/ruby.h (rb_type): forward declaration to suppress a warning. a patch from Naohisa Goto at [ruby-dev:39350] Fri Sep 18 23:59:27 2009 Nobuyoshi Nakada * dir.c (GlobPathValue): adjust return types. based on a patch from Naohisa Goto at [ruby-dev:39350]. Fri Sep 18 23:51:17 2009 Nobuyoshi Nakada * marshal.c (r_object0): entry regexp object before its encoding name. [ruby-core:25625] Fri Sep 18 16:29:16 2009 Nobuyoshi Nakada * common.mk (eval.o): needs vm.h. * eval.c (ruby_cleanup): destruct current VM before exit. * gc.c (rb_objspace_free): free object space. * vm.c (ruby_vm_destruct): destruct and free VM struct. Fri Sep 18 16:15:04 2009 Nobuyoshi Nakada * compile.c (iseq_compile_each), parse.y (stmt, arg): arg_concat() on op_asgn was inversed. [ruby-core:25629] [Bug #2050] Fri Sep 18 16:06:27 2009 Nobuyoshi Nakada * dir.c (GlobPathValue): glob allows null bytes as separators. Fri Sep 18 10:11:53 2009 Nobuyoshi Nakada * doc/re.rdoc: use rdoc mode. * misc/rdoc-mode.el: added. Fri Sep 18 09:02:49 2009 Nobuyoshi Nakada * lib/rdoc/rdoc.rb (RDoc::RDoc#parse_files): don't branch by RUBY_VERSION. * lib/rdoc/rdoc.rb (RDoc::RDoc#parse_files): emacs local variables are delimited by a semicolon. supported Vim style. Fri Sep 18 07:06:41 2009 Kazuhiro NISHIYAMA * test/fileutils/test_fileutils.rb: add a test for [ruby-dev:39345] Fri Sep 18 06:47:13 2009 Nobuyoshi Nakada * dir.c (push_glob): str should be a string always. * dir.c (rb_push_glob, dir_globs): use #to_path to convert non- string values. cf. [ruby-dev:39345] Fri Sep 18 06:36:51 2009 Nobuyoshi Nakada * lib/mkmf.rb (rm_f, rm_rf): FileUtils.rm can take an array. [ruby-dev:39345] * lib/mkmf.rb (create_header): open in binmode. Thu Sep 17 18:34:19 2009 Nobuyoshi Nakada * gc.c (vm_xrealloc): free as like standard free if size is zero. Thu Sep 17 15:41:02 2009 Koichi Sasada * eval_intern.h: use rb_node_newnode() directly. Thu Sep 17 15:01:32 2009 Koichi Sasada * blockinlining.c: removed. * README.EXT: ditto. * README.EXT.ja: ditto. Thu Sep 17 13:50:50 2009 Nobuyoshi Nakada * thread.c (rb_thread_s_debug_set): set level, not only boolean. Thu Sep 17 13:12:37 2009 Nobuyoshi Nakada * lib/rdoc/parser/ruby.rb (RDoc::Parser::Ruby): parse also rdoc files. * doc/re.rdoc: renamed from re.rb. Thu Sep 17 09:37:28 2009 NARUSE, Yui * doc/re.rb: New document for Ruby's fork of Oniguruma. written by Run Paint Run Run [ruby-core:25420] * re.c: import document in doc/re.rb. * .document: add doc/re.rb. Thu Sep 17 06:03:40 2009 Marc-Andre Lafortune * lib/matrix.rb (Matrix#rank): Two bug fixes. One made Matrix[[0,0],[0,0],[1,0]].rank raise a NoMethodError while the other one had Matrix[[0,1],[0,0],[1,0]].rank raise a TypeError. Thu Sep 17 06:02:04 2009 Marc-Andre Lafortune * lib/matrix.rb: Optimizations Thu Sep 17 00:36:01 2009 Tanaka Akira * time.c (time_mdump): error message refined. Wed Sep 16 19:27:43 2009 Yukihiro Matsumoto * test/ruby/test_thread.rb (TestThread#test_recursive): remove implementation dependent test. Wed Sep 16 17:42:52 2009 NAKAMURA Usaku * win32/Makefile.sub (config.status): install-capi needs docdir. And, mandir, infodir and ridir are also depend on datadir like docdir. Wed Sep 16 17:20:49 2009 Marc-Andre Lafortune * lib/matrix.rb (Matrix#/): Fix obvious bug Wed Sep 16 16:59:34 2009 NAKAMURA Usaku * win32/Makefile.sub (DOCTARGETS): rdoc is default. Wed Sep 16 16:27:40 2009 NAKAMURA Usaku * win32/Makefile.sub: typo. Wed Sep 16 16:20:17 2009 Nobuyoshi Nakada * configure.in (CAPITARGET): enable iff doxygen is available. * configure.in (INSTALLDOC): enable if rdoc or doxygen are enabled. * common.mk (docs): target to make documents. * Makefile.in, win32/Makefile.sub (install-{all,nodoc}): trigger by $(INSTALLDOC) from install. Wed Sep 16 13:39:10 2009 Marc-Andre Lafortune * lib/matrix.rb (determinant): Bug fix where determinant failed on some matrices [ruby-core:23597] Wed Sep 16 13:30:20 2009 Marc-Andre Lafortune * lib/matrix.rb: trivial optimizations Wed Sep 16 13:15:17 2009 NAKAMURA Usaku * template/Doxyfile.tmpl: RbConfig::CONFIG['DOT'] is sometimes nil. Wed Sep 16 10:14:54 2009 Nobuyoshi Nakada * README.EXT, README.EXT.ja (rb_protect, rb_jump_tag): added. Wed Sep 16 10:12:56 2009 Nobuyoshi Nakada * common.mk (main): makes also encs. Wed Sep 16 06:30:07 2009 Marc-Andre Lafortune * thread.c (rb_exec_recursive_outer, rb_exec_recursive): Added method to short-circuit to the outermost level in case of recursion * test/ruby/test_thread.rb (test_recursive_outer): Test for above * hash.c (rb_hash_hash): Return a sensible hash for in case of recursion [ruby-core:24648] * range.c (rb_range_hash): ditto * struct.c (rb_struct_hash): ditto * array.c (rb_array_hash): ditto * test/ruby/test_array.rb (test_hash2): test for above Wed Sep 16 06:17:33 2009 Marc-Andre Lafortune * vm_eval.c (rb_catch_obj, rb_catch, rb_f_catch): No longer use the obsolete function rb_iterate. Tue Sep 15 21:48:12 2009 Tanaka Akira * configure.in (--enable-frame-address): removed. Tue Sep 15 15:21:01 2009 NAKAMURA Usaku * win32/{configure.bat,Makefile.sub} (RDOCTARGET): the meaning of this macro was changed at r24923. Tue Sep 15 15:16:14 2009 Nobuyoshi Nakada * common.mk (install-rdoc), configure.in (RDOCTARGET): removed circular dependency. [ruby-dev:39339] Tue Sep 15 15:09:13 2009 NAKAMURA Usaku * win32/configure.bat: need a space before a tab to output the tab by echo. Tue Sep 15 14:24:52 2009 NARUSE, Yui * string.c (rb_str_split_m): use rb_isspace when the string may be ASCII-incompatible. * string.c (rb_str_lstrip_bang): ditto. * string.c (rb_str_rstrip_bang): ditto. Tue Sep 15 12:12:27 2009 Nobuyoshi Nakada * configure.in (RUBY_USE_BUILTIN_FRAME_ADDRESS): check after real target CPU is set. * configure.in (RUBY_UNIVERSAL_ARCH): check real target CPU after AC_PROG_CC. Tue Sep 15 06:42:59 2009 Nobuyoshi Nakada * common.mk (install-all): target to install all. * tool/rbinstall.rb (parse_args): accept all install targets. * tool/rbinstall.rb (parse_args): show help message and exit if rbconfig could not load. Tue Sep 15 04:25:03 2009 Nobuyoshi Nakada * configure.in (RDOCTARGET): use install-all. [ruby-dev:39334] Tue Sep 15 03:00:35 2009 Yukihiro Matsumoto * string.c (rb_str_lstrip_bang): use ascii_isspace(). [ruby-dev:39322] * string.c (rb_str_rstrip_bang): ditto. * string.c (rb_str_split_m): ditto. Mon Sep 14 16:39:14 2009 Nobuyoshi Nakada * debug.c, parse.y: fixed types. * node.h (nd_line): limit to int. Mon Sep 14 11:23:45 2009 Nobuyoshi Nakada * configure.in, common.mk, */configure.bat (rdoc): make before install if rdoc is enabled. [ruby-dev:39325] Mon Sep 14 10:56:40 2009 Nobuyoshi Nakada * common.mk (check-ruby): run all test of ruby itself. Mon Sep 14 10:44:47 2009 Nobuyoshi Nakada * include/ruby/ruby.h (RB_TYPE_P): should not use BUILTIN_TYPE for special constants. Mon Sep 14 10:08:19 2009 NARUSE, Yui * string.c (rb_str_inspect): use rb_enc_mbc_to_codepoint because we already knew char is found and got length. Mon Sep 14 09:59:03 2009 NAKAMURA Usaku * include/ruby/ruby.h (NUM2INT, NUM2LL, INT2NUM, UINT2NUM), (LONG2NUM, ULONG2NUM, NUM2CHR): get rid of backward references of macros. the code couldn't compile by VC. Mon Sep 14 08:33:11 2009 Marc-Andre Lafortune * lib/net/http.rb (each_*): return enumerator if no block present. Patch by Arthur Schreiber [ruby-core:18310] Mon Sep 14 06:42:21 2009 Marc-Andre Lafortune * lib/cgi/cookie.rb (value): Keep CGI::Cookie#value in sync with the cookie itself. Based on a patch by Arthur Schreiber [ruby-core:17634] Mon Sep 14 05:21:12 2009 Marc-Andre Lafortune * lib/net/http.rb (fetch): Handle properly default values; a patch by Arthur Schreiber [ruby-core:18308] Mon Sep 14 04:07:09 2009 Marc-Andre Lafortune * lib/set.rb (==): Optimization; patch by Arthur Schreiber [ruby-core:17203] Mon Sep 14 03:30:23 2009 Alexander Zavorine * symbian/pre-build: added rule to generate id.h for Symbian build. * symbian/configure.bat: fixed harmless error message. Sun Sep 13 22:18:33 2009 Nobuyoshi Nakada * variable.c (rb_mod_remove_const): do not change VM state when an exception will occur. Sun Sep 13 21:25:01 2009 Masaki Suketa * ext/win32ole/win32ole.c (oletypelib_get_libattr): some refactoring by adding oletypelib_get_libattr. Sun Sep 13 20:55:19 2009 Masaki Suketa * ext/win32ole/win32ole.c (oletypelib_get_typelib): some refactoring by adding oletypelib_get_typelib. Sun Sep 13 20:18:49 2009 Nobuyoshi Nakada * ruby.c (process_sflag, proc_options, load_file_internal): fixed types. Sun Sep 13 19:39:59 2009 Masaki Suketa * ext/win32ole/win32ole.c: some refactoring. Sun Sep 13 19:38:34 2009 Nobuyoshi Nakada * ruby.c (load_file_internal): no need to define DATA when error. Sun Sep 13 18:48:43 2009 Nobuyoshi Nakada * configure.in (XLDFLAGS): link startup code with ObjC support. Sun Sep 13 13:38:00 2009 Marc-Andre Lafortune * thread.c (recursive_*): refactored the access to the inspect table used by rb_exec_recursive_*. The functions recursive_push, pop and check now assume a valid hash table as their first argument. Added documentation. Sun Sep 13 12:07:49 2009 Nobuyoshi Nakada * include/ruby/ruby.h (SYM2ID): needs parens. * include/ruby/ruby.h (NUM2INT, NUM2LL, INT2NUM, UINT2NUM), (LONG2NUM, ULONG2NUM, NUM2CHR, rb_type_p, rb_special_const_p): GCC specific optimization. Sun Sep 13 11:06:12 2009 Tanaka Akira * lib/open-uri.rb (OpenURI::Meta#content_type_parse): strip quotes. Sun Sep 13 09:38:06 2009 Nobuyoshi Nakada * lib/prime.rb (EratosthenesGenerator#initialize): call super. (TrialDivisionGenerator, Generator23): ditto. [ruby-core:25539] Sun Sep 13 09:34:10 2009 Nobuyoshi Nakada * vm_method.c (rb_add_method_def): no warning for inherited method. Sun Sep 13 08:30:30 2009 Masaki Suketa * ext/win32ole/win32ole.c: fix WIN32OLE_TYPELIB.new when the 1st argument is the non-registered file. Sun Sep 13 02:08:43 2009 Koichi Sasada * vm_core.h: change members of iseq_inline_cache_entry. make cache value members to one union member "ic_value". * insns.def: ditto. * vm_insnhelper.c: ditto. Sun Sep 13 01:15:49 2009 Tanaka Akira * lib/open-uri.rb (URI::FTP#buffer_open): fix the %2F handling. Sun Sep 13 00:46:39 2009 Nobuyoshi Nakada * vm_method.c (CALL_METHOD_HOOK): refined with macro. * vm_method.c (rb_remove_method_id): no definition body is undefined. * vm_method.c (rb_add_method, rb_add_method_me): call method added hook after definition. [ruby-core:25536] * vm_method.c (rb_alias): hooks are called from rb_add_method_def. Sat Sep 12 22:47:24 2009 Tanaka Akira * lib/open-uri.rb (URI::FTP#buffer_open): use the port specified in the URI. Sat Sep 12 17:31:42 2009 Nobuyoshi Nakada * configure.in (GCC): subst for GCC depending extension libraries. Sat Sep 12 07:52:59 2009 Masaki Suketa * ext/win32ole/win32ole.c (EVENTSINK_Invoke): initialize result variant value. Fri Sep 11 21:52:13 2009 Nobuyoshi Nakada * NEWS: update for 1.9.2. based on a patch from Run Paint Run Run in [ruby-core:25534]. Fri Sep 11 21:38:13 2009 Nobuyoshi Nakada * configure.in: check for real target cpu on darwin 10. Fri Sep 11 18:51:57 2009 NARUSE, Yui * test/fileutils: use require_relative to require fileasserts. Fri Sep 11 14:22:45 2009 Nobuyoshi Nakada * configure.in (debugflags): use gdb by default on linux and darwin. * configure.in (XLDFLAGS): keep ARCHFILE macro on AIX. * configure.in (RUBY_REPLACE_TYPE): define typename to default type if the latter is found. Fri Sep 11 13:57:36 2009 Nobuyoshi Nakada * include/ruby/win32.h (fstat): override if large file support is enabled. Fri Sep 11 11:33:30 2009 Nobuyoshi Nakada * tool/config.{guess,sub}: updated to automake-1.11. Fri Sep 11 10:38:33 2009 URABE Shyouhei * lib/net/http.rb (Net::HTTPHeader::encode_kvpair): also call to_s to k. A patch from swdyh http://github.com/swdyh/ruby/tree/c847f43c2ccb679b9ff728f8b1b16c6ceeb57f39 Fri Sep 11 09:45:11 2009 Nobuyoshi Nakada * dln.c (aix_loaderror): get rid of using uninitialized value in the case loadquery fails. fixed wrong index variable usage. see [ruby-core:25479]. Fri Sep 11 07:52:43 2009 NARUSE, Yui * unicode.c (onigenc_unicode_property_name_to_ctype): ignore case of properties. * tool/enc-unicode.rb: downcase properties list. * enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src: follow above. Fri Sep 11 05:00:19 2009 Koichi Sasada * include/ruby/ruby.h (rb_data_type_t): Add comments. And add a member variable "data", a multi-purpose storage area for rb_data_type. Fri Sep 11 02:14:21 2009 Tanaka Akira * test/dl: use require_relative to require test_base.rb. Fri Sep 11 02:06:44 2009 NARUSE, Yui * parse.y (rb_char_to_option_kcode): ASCII-8BIT should also delay. * re.c (parser_regx_options): return rb_ascii8bit_encindex on ASCII-8BIT. [ruby-dev:39300] Fri Sep 11 01:14:00 2009 Marc-Andre Lafortune * lib/net/http.rb (fetch): rdoc fix, patch by Arthur Schreiber. [ruby-core:18309]. Thu Sep 10 23:00:45 2009 Nobuyoshi Nakada * lib/mkmf.rb (create_makefile): fix for parallel execution. [ruby-core:25509] Thu Sep 10 21:22:01 2009 Tanaka Akira * test/dl/test_cptr.rb (test_free=): test SEGV at first. [ruby-dev:39269] Thu Sep 10 21:20:59 2009 Tanaka Akira * test/ruby/envutil.rb (assert_normal_exit): Don't use AssertionMessage. Thu Sep 10 15:59:05 2009 NARUSE, Yui * regparse.c (UNKNOWN_ESC_WARN): added. * regparse.c (conv_backslash_value): Warn unknown escaped chars in regexp. [ruby-dev:39104] Wed Sep 9 22:02:02 2009 Nobuyoshi Nakada * lib/fileutils.rb (FileUtils::Entry_#copy_file): open the source file first to ensure it can be copied. [ruby-core:25498] Wed Sep 9 21:20:49 2009 Nobuyoshi Nakada * ext/bigdecimal/bigdecimal.c (BigDecimal_data_type): typed. * ext/dl/cfunc.c (dlcfunc_data_type): typed. * ext/dl/cptr.c (dlptr_data_type): ditto. * ext/dl/handle.c (dlhandle_data_type): ditto. Wed Sep 9 17:17:31 2009 NARUSE, Yui * re.c (parser_regx_options): only one kcode should effect options [ruby-core:25411] Wed Sep 9 15:46:28 2009 Nobuyoshi Nakada * load.c (rb_feature_provided): fixed for autoloading extension library without suffix. Wed Sep 9 15:24:32 2009 TAKANO Mitsuhiro (takano32) * include/ruby/st.h : revert previous commit. * ext/objspace/objspace.c : remove st_memsize declare. Wed Sep 9 14:07:19 2009 TAKANO Mitsuhiro (takano32) * include/ruby/st.h : fix duplicate st_memsize declare. Wed Sep 9 13:33:11 2009 Nobuyoshi Nakada * variable.c (rb_autoload): initialize typed data. Wed Sep 9 13:10:41 2009 Nobuyoshi Nakada * st.c (st_free_table): constified. Wed Sep 9 13:09:07 2009 Nobuyoshi Nakada * dir.c (dir_data_type): typed. * enumerator.c (enumerator_data_type): typed. (yielder_data_type, generator_data_type): ditto. * error.c (name_err_mesg_data_type): typed. * file.c (stat_data_type): typed. * thread.c (thgroup_data_type, mutex_data_type, barrier_data_type): typed. * time.c (time_data_type): typed. * transcode.c (econv_data_type): typed. * variable.c (autoload_data_type): typed. Wed Sep 9 11:11:33 2009 Nobuyoshi Nakada * include/ruby/ruby.h (rb_data_type_struct): constified dsize. Wed Sep 9 11:07:48 2009 Nobuyoshi Nakada * cont.c (cont_memsize): fixed wrong expression on IA64. Wed Sep 9 10:51:46 2009 Nobuyoshi Nakada * cont.c (cont_restore_1, rb_cont_call): should be Fiber. Wed Sep 9 00:27:29 2009 Nobuyoshi Nakada * cont.c (cont_data_type, fiber_data_type): typed. Tue Sep 8 22:37:59 2009 Nobuyoshi Nakada * lib/tempfile.rb, lib/tmpdir.rb (Tmpname): extracted new module. [ruby-dev:39197] Tue Sep 8 22:18:11 2009 Nobuyoshi Nakada * st.c (st_init_*table_with_size): use st_index_t. * include/ruby/st.h (st_hash_func): use st_index_t. Tue Sep 8 21:48:15 2009 Nobuyoshi Nakada * vm.c (rb_thread_mark): mark callers iseqs. [ruby-core:25474] [Bug #2062] Tue Sep 8 11:53:58 2009 Koichi Sasada * iseq.c (iseq_mark): no need to mark inline cache entries. * insns.def (onceinlinecache, setinlinecache): save a value to mark cached value. Tue Sep 8 08:32:30 2009 Nobuyoshi Nakada * test/dl/test_{cfunc,ptr}.rb: added tests from Aaron Patterson. see [ruby-dev:39249]. Mon Sep 7 17:22:59 2009 Nobuyoshi Nakada * io.c (rb_io_tell): adjustment for ungotten data. Mon Sep 7 17:13:53 2009 Nobuyoshi Nakada * io.c (io_encname_bom_p): removed magic number. Mon Sep 7 12:26:04 2009 Yukihiro Matsumoto * lib/irb/inspector.rb (IRB::INSPECTORS.def_inspector): support object without #inspect defined. a patch from Daniel Bovensiepen. [ruby-core:25200] Mon Sep 7 05:38:34 2009 Koichi Sasada * insns.def (opt_*): add IC operands. * vm_insnhelper.h (CALL_SIMPLE_METHOD): add a version which use an inline cache. USE_IC_FOR_SPECIALIZED_METHOD macro switches the behaviour. This change also removes CALL_SIMPLE_METHOD_IC() macro. * tool/instruction.rb: fix elimination process to ignore variable "ic". Mon Sep 7 05:21:09 2009 Koichi Sasada * Makefile.in, common.mk: move a id.h generation rule. Mon Sep 7 05:07:59 2009 Koichi Sasada * benchmark/driver.rb: remove RUBY_VERSION output. Mon Sep 7 05:06:16 2009 Koichi Sasada * vm_insnhelper.c: rename macro name ENABLE_IC_FOR_IVAR to USE_IC_FOR_IVAR. Mon Sep 7 03:21:40 2009 NARUSE, Yui * lib/uri/common.rb (URI.escape): obsoleted. * lib/uri/common.rb (URI.unescape): ditto. Sun Sep 6 18:13:54 2009 Koichi Sasada * vm_insnhelper.h (CALL_SIMPLE_METHOD_IC): make a macro invoke simple method with inline cache entry. * insns.def (opt_length, opt_size): fix to use inline method cache. Sun Sep 6 17:47:21 2009 Koichi Sasada * template/id.h.tmpl: fix this. * id.h: removed. Because this file is generated automatically. Sun Sep 6 17:31:28 2009 Koichi Sasada * compile.c (iseq_specialized_instruction), insns.def (opt_size): optimize #size methods (by specialized instruction). * id.c, id.h, vm.c, vm_insnhelper.h: ditto. Sun Sep 6 16:13:06 2009 Koichi Sasada * insns.def (setinstancevariable), vm_insnhelper.c (vm_setivar): fix to use inline cache (trivial optimization). Sun Sep 6 10:34:19 2009 Nobuyoshi Nakada * io.c: fixed rdoc, a patch from Nobuhiro IMAI at [ruby-core:25433]. Sun Sep 6 05:19:09 2009 NARUSE, Yui * io.c: Add rdoc for ARGF. contributed by Run Paint Run Run. [ruby-core:23854] Sat Sep 5 15:21:13 2009 Nobuyoshi Nakada * compile.c (iseq_compile_each): op_asgn to aref should return rhs. [ruby-core:25387] Sat Sep 5 10:38:46 2009 Nobuyoshi Nakada * compile.c (iseq_compile_each): &&= and ||= should return rhs. [ruby-dev:39163] (#1996), [ruby-core:25143] Sat Sep 5 08:51:43 2009 Nobuyoshi Nakada * re.c (update_char_offset): position should be long. * re.c (match_hash, match_equal): new methods. [ruby-core:24748] * re.c (reg_match_pos, rb_reg_eqq, rb_reg_s_quote): get rid of use VALUE as int. Fri Sep 4 20:40:57 2009 Nobuyoshi Nakada * numeric.c (round): added declaration. [ruby-dev:39222] Fri Sep 4 06:15:39 2009 Yukihiro Matsumoto * dir.c (Init_Dir): alias Dir#path to Dir#to_path. [ruby-core:25326] Fri Sep 4 04:49:39 2009 Nobuyoshi Nakada * random.c (random_rand): fixed rdoc. [ruby-core:25332] Fri Sep 4 04:46:08 2009 Nobuyoshi Nakada * lib/webrick/httpservlet/abstract.rb (do_OPTIONS): method names are symbols now. [ruby-core:24580] Thu Sep 3 17:56:40 2009 Nobuyoshi Nakada * parse.y (literal_concat_gen): concat body from dstr instead of nd_next. [ruby-core:25284] Wed Sep 2 16:49:53 2009 Nobuyoshi Nakada * math.c (math_gamma): get rid of direct comparison between too big double and integer, with gcc on x86_64. [ruby-core:25257] Wed Sep 2 13:47:30 2009 Nobuyoshi Nakada * math.c (domain_check): simplified. Wed Sep 2 11:32:24 2009 Koichi Sasada * gc.c (obj_free): fix to free method table (fix memory leak). Wed Sep 2 07:42:15 2009 Nobuyoshi Nakada * tool/instruction.rb (RubyVM::InstructionsLoader#make_stackcaching_insns): simplified. Wed Sep 2 02:32:46 2009 NARUSE, Yui * ext/json/lib/json/common.rb (NaN): Change definition of NaN to 0.0/0 for 1.8/1.9 compatibility. Wed Sep 2 01:16:32 2009 NARUSE, Yui * ext/json: Update to JSON 1.1.9. Tue Sep 1 19:56:28 2009 Koichi Sasada * vm_eval.c (eval_string_with_cref): fix to check local_table_size. [ruby-dev:39205] [Bug #2024] Mon Aug 31 16:20:41 2009 Yuki Sonoda (Yugui) * class.c (make_singleton_class): variable name changed. removed an unnecessary conditional. Mon Aug 31 14:17:09 2009 Yuki Sonoda (Yugui) * class.c: refactored singleton class related matters. Handles eigenclasses and plain classes transparently. (make_metaclass): renamed from make_metametaclass. (METACLASS_OF): new utility macro (META_CLASS_OF_CLASS_CLASS): ditto. (ENSURE_EIGENCLASS): ditto. (make_singleton_class): extracted from rb_singleton_class. (boot_defclass): moved from object.c (Init_class_hierarchy): extracted from Init_Object. (rb_make_metaclass): refactored. (singleton_class_of): extracted from rb_singleton_class. (rb_singleton_class): refactored. (rb_define_singleton_method): it needs a metaclass only but not its metametaclass. * object.c: booting class hierarchy was moved to class.c for keeping dependency between compilation units least. (Init_Object): extracting the booting into Init_class_hierarchy. (boot_defclass): moved to class.c. Sun Aug 30 23:44:09 2009 Tanaka Akira * time.c (find_time_t): use mktime for the first guess. Sun Aug 30 16:38:56 2009 Nobuyoshi Nakada * parse.y (rb_enc_symname2_p): not depend on nul terminator. Sun Aug 30 14:11:45 2009 Tanaka Akira * common.mk: dependencies updated. Sun Aug 30 13:00:11 2009 Tanaka Akira * time.c (add): shortcut implemented for fixnums. (sub): ditto. (mul): ditto. Sun Aug 30 10:24:43 2009 Tanaka Akira * time.c (eq): apply RTEST. (ne): ditto. (add): avoid method dispatch for bignums. (sub): ditto. (mul): ditto. (mod): ditto. Sun Aug 30 09:45:11 2009 Tanaka Akira * bignum.c (bigmul1_single): new function specialized respect to multiply two single digit bignums. (bigmul0): use bigmul1_single. Sun Aug 30 03:59:43 2009 Tanaka Akira * timev.h (TIME_SCALE): defined as 1000000000. (struct vtm): subsec is replaced by subsecx. subsec * TIME_SCALE == subsecx. * time.c: avoid rational in most cases. (struct time_object): timev is replaced by timexv. timev * TIME_SCALE == timexv. Sun Aug 30 03:17:25 2009 Tanaka Akira * time.c (init_leap_second_info): use TIMET_MAX. Sun Aug 30 01:15:31 2009 NARUSE, Yui * ext/zlib/zlib.c (gzfile_read_all): use gzfile_newstr; set and convert its encoding. [ruby-dev:38304] Sat Aug 29 20:40:02 2009 Yuki Sonoda (Yugui) * vm_eval.c (rb_call0): gets rid of checking method cache twice. * method.h (rb_get_method_entry): added a prototype of the function. (rb_method_entry_without_cache): more friendly name. Sat Aug 29 12:16:47 2009 Nobuyoshi Nakada * lib/tmpdir.rb (Dir.mktmpdir): rolled back r24699. [ruby-dev:39193] Sat Aug 29 03:27:17 2009 Nobuyoshi Nakada * lib/tempfile.rb (Tempfile#make_tmpname): removed thread race condition. * lib/tmpdir.rb (Dir.mktmpdir): ditto. Fri Aug 28 20:29:34 2009 Akinori MUSHA * lib/tempfile.rb (Tempfile#callback): Debug information should be output to stderr, not stdout; pointed out by akira yamada. cf. [ruby-dev:39072] Fri Aug 28 20:34:24 2009 Masaki Suketa * ext/win32ole/win32ole.c: use SafeStringValue instead of Check_SafeStr. Fri Aug 28 13:30:43 2009 NAKAMURA Usaku * thread.c (do_select): rollback r24680. void struct initializer is invalid. Fri Aug 28 11:45:33 2009 Nobuyoshi Nakada * method.h (rb_method_definition_t): split from rb_method_entry_ to deal aliases. [ruby-dev:39165] * proc.c (struct METHOD): contains rb_method_entry_t copy. Fri Aug 28 10:21:30 2009 Nobuyoshi Nakada * iseq.c (iseq_mark): skip outdated cache entries. * vm_core.h ({GET,INC}_VM_STATE_VERSION): moved from vm_insnhelper.h. Fri Aug 28 07:25:25 2009 Yukihiro Matsumoto * enumerator.c (next_i): typo fixed (reached at end -> reached an end). pointed out by James Edward Gray II at LoneStar RubyConf. Thu Aug 27 18:31:07 2009 Nobuyoshi Nakada * vm_method.c (rb_remove_method_id): exported. * numeric.c (num_sadded): fix for non-ascii method name. Thu Aug 27 14:32:31 2009 NARUSE, Yui * re.c (rb_reg_preprocess_dregexp): set encoding as ASCII-8BIT when /n is specified and the embedded string is escaped text. Thu Aug 27 13:51:12 2009 Nobuyoshi Nakada * random.c (random_rand): random integer can be a fixnum for bignum range. [ruby-dev:39173] Thu Aug 27 08:16:34 2009 Nobuyoshi Nakada * ext/strscan/strscan.c (strscan_set_string): set string should not be duped or frozen, because freezing it causes #concat method failure, and unnecessary to dup without freezing. a patch from Aaron Patterson at [ruby-core:25145]. Thu Aug 27 02:06:11 2009 NARUSE, Yui * Makefile.in (enc/unicode/name2ctype.kwd): remove rules to generate name2ctype.kwd from UnicodeData.txt and Scripts.txt. if you want to generate, use tool/enc-unicode.rb. Thu Aug 27 02:00:09 2009 NARUSE, Yui * unicode.c (PROPERTY_NAME_MAX_SIZE): use MAX_WORD_LENGTH. Wed Aug 26 23:59:56 2009 Nobuyoshi Nakada * random.c (random_rand): refined error message. * random.c (random_rand): fixed for edge cases of ranges. [ruby-dev:39166] Wed Aug 26 21:49:23 2009 NARUSE, Yui * lib/tempfile.rb: add documents from Hongli Lai's fork. cf [ruby-core:25131]. Wed Aug 26 19:51:13 2009 NARUSE, Yui * tool/mkconfig.rb (program_transform_name): fix for multiple trans rules for autoconf 2.61 or earlier. * tool/rbinstall.rb (program_transform_name): ditto. Wed Aug 26 19:20:26 2009 Nobuyoshi Nakada * random.c (random_rand): unified random_int and random_float. [ruby-dev:39158]. and fixes [ruby-core:24655], [ruby-core:24677], [ruby-core:24679]. Wed Aug 26 18:59:59 2009 Nobuyoshi Nakada * test/test_tempfile.rb: merged from Hongli Lai's fork. cf [ruby-core:25131]. Wed Aug 26 18:49:22 2009 Nobuyoshi Nakada * lib/tempfile.rb (Tempfile#close!): should not undefine finalizer by just unlink. Wed Aug 26 17:00:31 2009 Nobuyoshi Nakada * tool/mkconfig.rb (program_transform_name): fix for autoconf 2.61 or earlier. Wed Aug 26 14:34:39 2009 Nobuyoshi Nakada * lib/tempfile.rb (Tempfile#close!, Tempfile#path): added side notes from Hongli Lai's fork. * lib/tempfile.rb (Tempfile#unlink, Tempfile.callback): do nothing any more once unlinked. Wed Aug 26 13:48:33 2009 Nobuyoshi Nakada * lib/tempfile.rb (Tempfile#unlink): reverted r23494, since the usage in RubyInline is considered wrong. Wed Aug 26 12:36:58 2009 Nobuyoshi Nakada * vm.c (collect_local_variables_in_env): skips internal variables. [ruby-core:25125] Tue Aug 25 23:51:07 2009 NARUSE, Yui * tool/enc-unicode.rb: added for generate name2ctype.kwd. contributed by Run Paint Run Run [ruby-core:24775] * enc/unicode.c (CodeRanges): move definitions to name2ctype.h. * enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src: updated to v5.1. * enc/unicode/UnicodeData.txt, enc/unicode/Scripts.txt: added v5.1. * Makefile.in: add rule to generate name2ctype.kwd from UnicodeData.txt and Scripts.txt. Tue Aug 25 22:31:51 2009 NARUSE, Yui * configure.in (MKDIR_P): Set 'mkdir -p' to MKDIR_P when AC_PROG_MKDIR_P doesn't set MKDIR_P. Tue Aug 25 17:38:22 2009 Nobuyoshi Nakada * bignum.c (rb_big_clone, bigmul1_normal, bigdivrem): trivial optimization. * bignum.c (big2dbl): truncates zero digits to get rid of possible underflow. Tue Aug 25 12:22:25 2009 Nobuyoshi Nakada * Makefile.in (enc/unicode/name2ctype.h): explicitly ignores the result of diff and turns -e option off, because *BSD make passes it by default. Tue Aug 25 02:16:37 2009 Nobuyoshi Nakada * configure.in (DLDFLAGS): use linker_flag and changed undefined and multiply_defined behaviors. cf [ruby-core:25086]. Mon Aug 24 21:31:37 2009 Kouhei Sutou * lib/rss/maker/base.rb, test/rss/test_maker_2.0.rb: fix a bug that RSS Maker doesn't accept 'false' as guid's isPermaLink. Reported by Joe Holt. Thanks!!! Mon Aug 24 18:58:56 2009 NAKAMURA Usaku * include/ruby/missing.h (vsnprintf): rollback a part of r24179, because it's meaningless. Mon Aug 24 16:35:57 2009 Nobuyoshi Nakada * st.c (st_delete_safe): deals with packed entries. [ruby-core:25080] * st.c (st_cleanup_safe): ditto. [ruby-core:25081] Mon Aug 24 13:24:07 2009 NAKAMURA Usaku * win32/Makefile.sub (MAKEDIRS): define. * common.mk (capi): using $(MAKEDIRS), so depends on $(PREP). Mon Aug 24 13:14:06 2009 Nobuyoshi Nakada * configure.in (RUBY_CHECK_SIZEOF): set cross_compiling only when universal binary. Mon Aug 24 12:55:19 2009 Nobuyoshi Nakada * win32/Makefile.sub (enc/unicode/name2ctype.h): use md instead of $(MAKEDIRS). Sun Aug 23 15:22:45 2009 Tanaka Akira * bootstraptest/runner.rb (main): "usage" description updated. Sun Aug 23 15:12:22 2009 Tanaka Akira * bootstraptest/runner.rb (Dir.mktmpdir): updated to latest. (in_temporary_working_directory): temporary directory name changed. Sun Aug 23 00:56:13 2009 Tanaka Akira * thread.c (rb_thread_schedule): don't recur infinitely. (rb_threadptr_execute_interrupts): ditto. [ruby-dev:38060] Sat Aug 22 15:07:23 2009 Tanaka Akira * ext/syck/rubyext.c (id_hash_new): new function to create a hash which key is compared by object id. (syck_emitter_reset): use id_hash_new for bonus->data. * lib/yaml.rb (YAML.quick_emit): give the object itself to emitter. don't use object_id and hash. Sat Aug 22 13:05:22 2009 NARUSE, Yui * Makefile.in: use CP and MV macros. Sat Aug 22 01:29:29 2009 Nobuyoshi Nakada * lib/mkmf.rb (rm_f, rm_rf): pass the last hash through if exists. [ruby-dev:39153] Sat Aug 22 00:48:08 2009 Tanaka Akira * enumerator.c (ary2sv): add dup argument. (enumerator_next): call ary2sv with dup=0. (enumerator_peek): call ary2sv with dup=1 to return duplicated array. (enumerator_peek_values_m): new function to return duplicated array. (Init_Enumerator): use enumerator_peek_values_m as Enumerator#peek_value. Sat Aug 22 00:03:19 2009 Yusuke Endoh * thread.c (rb_check_deadlock): decrease number of sleepers before deadlock detection because the deadlock exception makes main thread run. [ruby-dev:39142] Fri Aug 21 22:34:58 2009 Tanaka Akira * enumerator.c (get_next_values): extracted from enumerator_next_values. (enumerator_next_values): use get_next_values. (enumerator_peek_values): ditto. Fri Aug 21 17:01:04 2009 Nobuyoshi Nakada * enc/unicode/name2ctype.h: split from enc/unicode.c and made a perfect hash. Fri Aug 21 15:13:08 2009 NARUSE, Yui * include/ruby/io.h, io.c (FMODE_SETENC_BY_BOM): renamed from FMODE_STRIP_BOM. Thu Aug 20 01:24:55 2009 NARUSE, Yui * io.c (rb_io_fmode_modestr): change modestr syntax for BOM to "BOM|UTF-*". [ruby-dev:39106] * io.c (parse_mode_enc): ditto. Fri Aug 21 15:01:35 2009 NARUSE, Yui * ext/readline/readline.c (readline_readline): use rb_prep_terminal only on Windows. Fri Aug 21 07:25:45 2009 Nobuyoshi Nakada * lib/rdoc/ri/gemdirs.rb: split from lib/rdoc/ri/paths.rb to ge rid of loading rubygems and searching all gems always. Fri Aug 21 07:14:52 2009 Nobuyoshi Nakada * configure.in (RUBY_PROGRAM_VERSION, RUBY_RELEASE_DATE): extracts from version.h for cross-compiling. * template/fake.rb.in (RUBY_VERSION, RUBY_DESCRIPTION): use above. Fri Aug 21 00:08:01 2009 Nobuyoshi Nakada * lib/rdoc/ri/paths.rb (RDoc::RI::Paths): Gem::Enable has been obsolete. Thu Aug 20 23:56:15 2009 Nobuyoshi Nakada * io.c (rb_sysopen): moved sysopen_struct from rb_sysopen_internal. Thu Aug 20 23:39:51 2009 Yusuke Endoh * parse.y (reduce_nodes_gen): preserve NODE_FL_NEWLINE flag during node reducing. [ruby-core:24463] Thu Aug 20 14:39:47 2009 NARUSE, Yui * ext/readline/readline.c (readline_get): add rl_prep_terminal(1). incited by jitte [ruby-list:43546] Thu Aug 20 12:09:01 2009 Nobuyoshi Nakada * parse.y (ivar2_hash_type): disabled for now. Thu Aug 20 08:39:50 2009 Yukihiro Matsumoto * thread.c (rb_thread_terminate_all): do not ignore interrupt when reaping threads on termination. [ruby-dev:39107] Thu Aug 20 02:32:08 2009 Tanaka Akira * enumerator.c (next_init): don't clear feedvalue. Thu Aug 20 01:28:42 2009 Tanaka Akira * enumerator.c: implement Enumerator#{next_values,peek_values,feed} and StopIteration#result. [ruby-dev:39109] (struct enumerator): replace no_next by stop_exc. new field feedvalue. (enumerator_mark): mark feedvalue and stop_exc. (enumerator_init): initialize feedvalue and stop_exc. (enumerator_init_copy): initialize feedvalue. (next_ii): send yield arguments as an array. return feedvalue. (next_i): generate StopIteration exception here. set result. (next_init): initialize feedvalue. (enumerator_next_values): new method Enumerator#next_values. (ary2sv): new function. (enumerator_peek_values): new method Enumerator#peek_values. (enumerator_feed): new method Enumerator#feed. (yielder_yield): return the yield value. (generator_each): return the iterator value. (stop_result): new method StopIteration#result. Thu Aug 20 01:06:48 2009 Yukihiro Matsumoto * dir.c (DEFINE_STRUCT_DIRENT): use union to allocate sufficient memory space for Solaris. a patch from Naohisa GOTO in [ruby-dev:39132]. [ruby-dev:39062] * configure.in (SIZEOF_STRUCT_DIRENT_TOO_SMALL): Solaris dirent check. Wed Aug 19 11:32:43 2009 Nobuyoshi Nakada * enc/unicode.c (CodeRanges): initialized statically. Wed Aug 19 02:54:01 2009 Yusuke Endoh * test/ruby/test_settracefunc.rb (test_return, test_return2): add two tests for [ruby-dev:38701] and [ruby-core:24463]. Wed Aug 19 01:08:34 2009 Yusuke Endoh * compile.c (NODE_RETURN): fire return event at explicit return. [ruby-dev:38701] Tue Aug 18 21:00:26 2009 Tanaka Akira * enumerator.c (enumerator_peek): new method Enumerator#peek. (enumerator_next): don't rewind at end. [ruby-dev:38932] Tue Aug 18 13:46:14 2009 TAKANO Mitsuhiro (takano32) * touch test/rdoc/empty.dat to run test_rdoc_parser.rb Tue Aug 18 11:37:24 2009 wanabe * vm_insnhelper.c (vm_call_cfunc): ensure hook c-return. [Bug #1588] * test/ruby/test_settracefunc.rb (TestSetTraceFunc#test_raise): follow above. Tue Aug 18 01:57:00 2009 Yukihiro Matsumoto * range.c (range_step): treat symbols specially so that iterating over symbols should work like strings. [ruby-core:24780] * range.c (range_each): ditto. Tue Aug 18 01:21:31 2009 Yukihiro Matsumoto * range.c (range_each): should honor to_str conversion. Mon Aug 17 23:45:40 2009 Tadayoshi Funaba * lib/date/delta.rb: removed require 'date'. added to_c. Mon Aug 17 14:35:03 2009 Nobuyoshi Nakada * parse.y (lex_get_str, lex_io_gets, rb_parser_compile_string): must be ascii compatible. Mon Aug 17 10:37:41 2009 NARUSE, Yui * regparse.c (add_code_range_to_buf0): added with checkdup argument. * regparse.c (add_code_range_to_buf): use above. * regparse.c (add_code_range0): added with checkdup argument. * regparse.c (add_code_range): use above. * regparse.c (i_apply_case_fold): don't warn if the duplicate is caused by case folding. Mon Aug 17 08:31:56 2009 Tadayoshi Funaba * lib/date/delta.rb: merged from date4. [experimental] * lib/date/delta/parser.*: ditto. * lib/date.rb: followed the above changes. Mon Aug 17 08:19:03 2009 Tadayoshi Funaba * lib/date/format.rb (strptime): removed \v; since \s includes \v. Mon Aug 17 08:14:26 2009 Tadayoshi Funaba * complex.c (nucomp_rationalize) added. [experimental] * rational.c ({nurat,nilclass,integer,float}_rationalize) ditto. Mon Aug 17 08:11:53 2009 Tadayoshi Funaba * lib/cmath.rb: use num#i. Mon Aug 17 07:59:00 2009 Tadayoshi Funaba * numeric.c (flo_pow,fix_pow): may return complex number. * bignum.c (rb_big_pow): ditto. Mon Aug 17 07:16:10 2009 Yukihiro Matsumoto * numeric.c (num_imaginary): num#i to return imaginary counterpart of the given numeric. * complex.c (Init_Complex): undef #i for complex numbers. Mon Aug 17 00:17:33 2009 Tadayoshi Funaba * lib/complex.rb, lib/rational.rb: added warning messages. Sun Aug 16 23:58:22 2009 Nobuyoshi Nakada * parse.y (yylex): should dispatch scan-event even when follows just after delayed-token. [ruby-dev:37855] [Bug #1071] Sun Aug 16 22:20:16 2009 Tadayoshi Funaba * lib/date/format.rb: reverted. Sun Aug 16 21:31:21 2009 NARUSE, Yui * lib/date/format.rb: suppressed a warning. * lib/irb/ruby-lex.rb: ditto. Sun Aug 16 15:25:26 2009 NARUSE, Yui * lib/csv.rb: Change magic comment to US-ASCII in order to make literals as US-ASCII. Sun Aug 16 10:45:10 2009 Nobuyoshi Nakada * regparse.c (parse_char_class, parse_exp, parse_branch), (parse_subexp): fixed memory leak. a patch from Ralf Junker at [ruby-core:24921]. Sun Aug 16 10:38:23 2009 Nobuyoshi Nakada * vm.c (vm_backtrace_each, vm_backtrace_push), vm_eval.c (print_backtrace), vm_dump.c (bugreport_backtrace): rb_backtrace_iter_func now takes VALUE as file and method names. Sun Aug 16 03:06:59 2009 Koichi Sasada * vm_insnhelper.c (opt_eq_func): fix optimization bug. This issue was found out and debugged with Takuto Hayashi at Security and Programming camp 2009. Sun Aug 16 01:10:00 2009 NARUSE, Yui * regparse.c (add_ctype_to_cc_by_range): fix the first character bigger than sb_out was dropped. * test/ruby/test_regexp.rb (TestRegexp#test_posix_bracket): add tests for above. Sun Aug 16 00:30:33 2009 NARUSE, Yui * include/ruby/oniguruma.h (ONIGENC_CTYPE_SPECIAL_MASK): added. (ONIGENC_CTYPE_D): ditto. (ONIGENC_CTYPE_S): ditto. (ONIGENC_CTYPE_W): ditto. * regparse.c: \d, \s and \w are now non Unicode class. [ruby-dev:39026] (fetch_token_in_cc): use ONIGENC_CTYPE_[DSW] for \d/\s/\w. (fetch_token): ditto. (add_ctype_to_cc): add routines for ONIGENC_CTYPE_[DSW]. (parse_exp): ditto. * test/ruby/test_regexp.rb (TestRegexp#test_char_class): add tests for above. Sat Aug 15 10:39:53 2009 Nobuyoshi Nakada * parse.y (fname, string_dvar, sym, dsym, f_arglist): removed duplications. Fri Aug 14 20:03:10 2009 Nobuyoshi Nakada * include/ruby/ruby.h (rb_check_safe_str): deprecated. * ext/openssl/ossl_x509store.c (ossl_x509store_add_{file,path}): replaced deprecated function. Fri Aug 14 17:59:12 2009 NARUSE, Yui * re.c (rb_reg_preprocess_dregexp): change Exception class to RegexpError. * test/ruby/test_m17n.rb (test_regexp_usascii): follow above. * test/ruby/test_m17n.rb (test_regexp_embed): ditto. Fri Aug 14 17:17:42 2009 NARUSE, Yui * enc/Makefile.in (MKDIRS): revert r24525. Fri Aug 14 16:28:19 2009 Nobuyoshi Nakada * ext/digest/lib/digest/hmac.rb (Digest::HMAC#initialize): faster code. Fri Aug 14 14:31:33 2009 Nobuyoshi Nakada * configure.in (rubyhdrdir): fixed typo. [ruby-dev:39079] Fri Aug 14 00:29:22 2009 Yukihiro Matsumoto * doc/ChangeLog-1.8.0: add forgotten entry contributed by TAKAHASHI Kaoru. [ruby-dev:39065] Fri Aug 14 00:19:49 2009 Yukihiro Matsumoto * lib/delegate.rb (Delegator#method_missing): __FILE__ may contain multi-byte characters. a patch from Kenta Murata in [ruby-dev:39066]. Thu Aug 13 21:01:03 2009 wanabe * vm.c (vm_exec): returning from lambda runs ensure section. [Bug #1729] Thu Aug 13 18:40:07 2009 Nobuyoshi Nakada * configure.in (RUBY_CHECK_SIZEOF): set cross_compiling to yes only when AC_COMPUTE_INT, and inverted the arguments. Thu Aug 13 18:22:08 2009 Nobuyoshi Nakada * configure.in (RUBY_CHECK_SIZEOF): use AC_COMPUTE_INT instead of _AC_COMPUTE_INT_COMPILE with cross compiling, since its arguments have been changed at autoconf 2.64. Thu Aug 13 16:31:10 2009 Nobuyoshi Nakada * insns.def (opt_case_dispatch): suppressed a warning. * vm_insnhelper.c (opt_case_dispatch_i): ditto. Thu Aug 13 16:20:07 2009 Nobuyoshi Nakada * configure.in, Makefile.in (MAKEDIRS): used MKDIR_P instead of as_mkdir_p. [ruby-dev:39063] Thu Aug 13 15:37:33 2009 Nobuyoshi Nakada * regenc.c (onigenc_strlen_null, onigenc_str_bytelen_null): fixed infinite loop for wide encodings. reported by Ralf Junker a [ruby-core:24892]. [ruby-core:24904] Wed Aug 12 21:07:46 2009 NAKAMURA Usaku * ext/socket/extconf.rb: if ipv6 is enabled, the version of Windows must be XP or later. [ruby-core:24601] Wed Aug 12 15:59:29 2009 NAKAMURA Usaku * common.mk (yes-test-knownbug): use RUNRUBY instead of MINIRUBY. Wed Aug 12 15:52:04 2009 NARUSE, Yui * class.c (rb_define_module_id_under): fix the name. * class.c (rb_define_module_under): fix for previous changes. Wed Aug 12 15:32:16 2009 Nobuyoshi Nakada * class.c (rb_define_class_id_under, rb_define_module_id_under): new functions to define a nested class/module with non-ascii name. * struct.c (make_struct): use name with encoding. * struct.c (inspect_struct): ditto. [ruby-core:24849] Wed Aug 12 Wed Aug 12 14:54:34 2009 Koichi Sasada * insns.def, vm.c, vm_insnhelper.c, vm_insnhelper.h: check definition of (classes)#=== for case/when optimization. Fix Bug #1376 [ruby-core:23190]. * string.c (Init_String), bignum.c (Init_Bignum), numeric.c (Init_Numeric): define String#===, Symbol#===, Bignum#===, Fixnum#===, Float#=== as same as (classes)#==. Wed Aug 12 14:14:42 2009 NAKAMURA Usaku * win32/win32.c (readdir_internal): free old temporary filename. [ruby-core:24820] Wed Aug 12 12:59:51 2009 Nobuyoshi Nakada * string.c (rb_str_new_frozen): must not change encoding of frozen shared string. [ruby-dev:39068] Wed Aug 12 11:51:51 2009 Nobuyoshi Nakada * configure.in (rb_cv_broken_crypt): needs more checks. Wed Aug 12 07:41:31 2009 NARUSE, Yui * encoding.c (rb_enc_compatible): If a string is empty and other's encoding is US-ASCII, returns the empty string's encoding. [ruby-list:46274] Wed Aug 12 07:38:12 2009 NARUSE, Yui * encoding.c (is_data_encoding): fix condition. * encoding.c (enc_capable): ditto. Tue Aug 11 23:12:31 2009 Tadayoshi Funaba * lib/date.rb (complete_frags): Monday must be suitable for %W's default day. Tue Aug 11 21:42:46 2009 Nobuyoshi Nakada * numeric.c (num_divmod): fixed rdoc. [ruby-core:24862] Mon Aug 10 21:45:26 2009 Nobuyoshi Nakada * include/ruby/intern.h (rb_path2class): no deprecation. Mon Aug 10 10:57:59 2009 Narihiro Nakamura * gc.c: reject unused longlife gc. longlife gc target is longlife NODE by method table and vm inline cache. but, fixed it at r24085, r24128. so I rejected longlife gc. * debug.c: ditto. * include/ruby/intern.h: ditto. * include/ruby/ruby.h: ditto. * iseq.c: ditto. * node.h: ditto. * vm_insnhelper.c: ditto. * vm_insnhelper.h: ditto. Mon Aug 10 06:55:45 2009 Nobuyoshi Nakada * marshal.c (class2path, w_unique, w_extended, w_class, w_uclass): deal with non-ascii class path. [ruby-core:24790] * marshal.c (r_unique, path2class, path2module, obj_alloc_by_path), (r_object0): ditto. * variable.c (rb_path_to_class): new encoding-aware function to get a class from its name. Sun Aug 9 21:14:03 2009 Hidetoshi NAGAI * ext/tk/extconf.rb (search_tclConfig): last change isn't enough. fixed it. Sun Aug 9 16:36:51 2009 Nobuyoshi Nakada * common.mk (ruby.imp): excluded prelude.o to get rid of circular dependency. [ruby-dev:39052] Sun Aug 9 14:49:24 2009 Yusuke Endoh * bignum.c (rb_big_cmp, bigsub, big_real_len, bigmul1_normal, bigmul1_balance, big_split): remove BDIGITS() inside of the loops. same as r24444. Sat Aug 8 17:03:21 2009 NARUSE, Yui * encoding.c (enc_ascii_compatible_p): added. [ruby-core:24793] (Init_Encoding): New API Encoding#ascii_compatible?. Sun Aug 9 07:25:07 2009 Nobuyoshi Nakada * ext/ripper/eventids2.c (token_to_eventid): added keyword_do_LAMBDA. [ruby-dev:39049] Sun Aug 9 02:07:41 2009 Yuki Sonoda (Yugui) * tool/compile_prelude.rb: fixes a regexp pattern for require. It had matched 'require("foo"('. Sat Aug 8 11:42:44 2009 Yukihiro Matsumoto * bignum.c (bigzero_p): removing BDIGITS() inside of the loop. inspired by Masahiro Kanai's blog entry . Sat Aug 8 06:18:29 2009 Nobuyoshi Nakada * marshal.c (w_symbol r_symlink, r_symbol, r_object0): fix for non-ascii symbols. loading such symbols can cause segfaults in older versions. [ruby-core:24788] Fri Aug 7 03:25:06 2009 Nobuyoshi Nakada * eval_error.c (error_print): removed an extra argument. Fri Aug 7 03:22:50 2009 Nobuyoshi Nakada * eval.c (rb_exc_raise, rb_exc_fatal): nil is used to reraise. Fri Aug 7 01:49:41 2009 Akinori MUSHA * ext/digest/sha2/sha2.c: The ULL suffix is not supported by pre-C99 compilers, so resurrect the ULL() macro to regain portability. [ruby-dev:39032] Fri Aug 7 01:35:26 2009 Akinori MUSHA * ext/digest/*/extconf.rb: inttypes.h and unistd.h need not be checked here. [ruby-dev:39032] Fri Aug 7 01:04:17 2009 Hidetoshi NAGAI * ext/tk/extconf.rb (search_tclConfig): fix logic bug. Thu Aug 6 21:18:15 2009 NAKAMURA Usaku * ext/digest/sha2/lib/sha2.rb: should require sha2.so. Thu Aug 6 21:11:40 2009 NAKAMURA Usaku * ext/digest/sha2/sha2.c (*_Final): typos. Thu Aug 6 19:46:56 2009 Akinori MUSHA * ext/digest/sha2/sha2.h (BYTE_ORDER): Define BYTE_ORDER as necessary. [ruby-dev:39029] Thu Aug 6 16:36:25 2009 Nobuyoshi Nakada * encoding.c (valid_encoding_name_p): rejects too long encoding names. * encoding.c (encoding_data_type): typed data. * encoding.c (enc_capable, rb_enc_get_index): Symbol is encoding capable. * encoding.c (rb_enc_associate_index): cannot set encoding on special constants. Thu Aug 6 15:44:04 2009 Nobuyoshi Nakada * vm_method.c (rb_method_entry_eq): deals with optimized method properly. [ruby-core:24789] Thu Aug 6 13:30:11 2009 Nobuyoshi Nakada * test/mkmf/base.rb (TestMkmf): was turned into a class, because MiniUnit doesn't complain even if a testcase has no tests. Thu Aug 6 13:00:30 2009 Nobuyoshi Nakada * lib/mkmf.rb (check_sizeof): added optional compiler option argument. [ruby-core:24785] * lib/mkmf.rb (create_makefile): suppressed shadowing outer local variable warnings. Thu Aug 6 12:05:06 2009 Nobuyoshi Nakada * lib/test/unit/testcase.rb (Test::Unit): removes silly TestCase class. Thu Aug 6 01:37:20 2009 Akinori MUSHA * ext/digest/sha2/sha2.[ch]: Update to 1.0 RELEASE which fixes an off-by-one bug in SHA-256 hashing. Reduce differences from the original while at it. [Bug #1799] Thu Aug 6 00:09:56 2009 Akinori MUSHA * lib/ipaddr.rb (IPAddr#hash): Take account of netmask; submitted by Nobuhiro IMAI in [ruby-dev:39011] Wed Aug 5 19:19:13 2009 Nobuyoshi Nakada * ruby.c (load_file_internal): assumes -x flag if no "ruby" is in the shebang line. [ruby-dev:39015] Wed Aug 5 19:11:01 2009 NARUSE, Yui * ruby.c (rb_stdio_set_default_encoding): declared. Wed Aug 5 18:46:01 2009 Nobuyoshi Nakada * debug.c (ruby_dummy_gdb_enums): made public. [ruby-dev:39001] Wed Aug 5 13:49:09 2009 Yukihiro Matsumoto * string.c (rb_str_upto): generate numerical sequence when characters in both edges are all digits. [ruby-talk:343186] Wed Aug 5 12:54:00 2009 Nobuyoshi Nakada * eval.c (rb_exc_raise, rb_exc_fatal): require exception object. [ruby-core:24767] Wed Aug 5 12:39:23 2009 Nobuyoshi Nakada * eval.c (rb_longjmp): reset raised flag before fatal error. Wed Aug 5 10:20:39 2009 NARUSE, Yui * re.c (rb_reg_preprocess_dregexp): add options to arguments. * re.c (rb_reg_new_ary): follow above. * re.c (rb_reg_preprocess_dregexp): change error message when /.../n has a non escaped non ASCII character in non ASCII-8BIT script. [ruby-dev:38524] Wed Aug 5 03:28:41 2009 Nobuyoshi Nakada * lib/test/unit.rb (Test::Unit.setup_argv): expands paths before requiring. [ruby-dev:39012] Wed Aug 5 01:38:27 2009 Yusuke Endoh * lib/pp.rb (guard_inspect_key): untrust internal hash to prevent unexpected SecurityError. * test/ruby/test_object.rb: add a test for [ruby-dev:38982]. Wed Aug 5 00:33:05 2009 Nobuyoshi Nakada * lib/rdoc/parser/c.rb: fixed a small error in the documentation. [ruby-core:24744] Tue Aug 4 22:10:34 2009 NAKAMURA Usaku * win32/win32.c (has_redirection): need to execute shell if commandline includes newline. cf. [ruby-core:24560] Tue Aug 4 15:06:58 2009 Akinori MUSHA * lib/ipaddr.rb (IPAddr#{eql?,hash}): Add IPAddr#{eql?,hash} so that an IPAddr object can be used as a hash key, a set element, etc.; suggested by Nick Brown . Tue Aug 4 13:07:10 2009 NARUSE, Yui * include/ruby/oniguruma.h (ONIG_SYN_WARN_CC_DUP): defined. * regparse.h (ScanEnv): add warnings_flag. * regparse.c (CC_DUP_WARN): defined for warn duplicated characters in character class of regexp. [ruby-core:24593] (add_code_range_to_buf): add CC_DUP_WARN. (next_state_val): add CC_DUP_WARN. (OnigSyntaxRuby): add ONIG_SYN_WARN_CC_DUP. (SET_ALL_MULTI_BYTE_RANGE): add env to arguments. (add_code_range): ditto. (add_code_range_to_buf): ditto. (not_code_range_buf): ditto. (or_code_range_buf): ditto. (and_code_range1): ditto. (and_code_range_buf): ditto. (and_cclass): ditto. (or_cclass): ditto. (add_ctype_to_cc_by_range): ditto. (add_ctype_to_cc): ditto. (parse_char_class): ditto. Tue Aug 4 12:40:45 2009 NARUSE, Yui * enc/encdb.c (ENC_SET_BASE): fix typo. patch by ujihisa [ruby-dev:39004] Tue Aug 4 11:57:39 2009 Yukihiro Matsumoto * range.c (range_eql, range_eq): fixed equality to work for subclasses of Range. a patch from Marc-Andre Lafortune. [ruby-core:22190] * test/ruby/test_range.rb: add assertions for above. Tue Aug 4 09:41:11 2009 NARUSE, Yui * enc/big5.c (EncLen_Big5): back to original Big5 table. (EncLen_Big5_HKSCS): for Big5-HKSCS. (trans): add the lead byte table for Big5-HKSCS. (big5_mbc_enc_len): abstract function for Big5 series. (big5_mbc_enc_len): for Big5. (big5_hkscs_mbc_enc_len): for Big5-HKSCS. (BIG5_HKSCS_P): added. (BIG5_ISMB_FIRST): add routine for Big5-HKSCS. (big5_hkscs): add for Big5-HKSCS. Tue Aug 4 09:33:54 2009 NARUSE, Yui * encoding.c (rb_enc_set_base): Add for setting base encoding with their names. this is internal function. * template/encdb.h.tmpl: specify ENC_SET_BASE for second encodings in each encoding files. * enc/encdb.c (rb_enc_set_base): add a declaration. (ENC_SET_BASE): ditto. Tue Aug 4 06:30:01 2009 Yukihiro Matsumoto * hash.c (rb_hash_replace): should copy compare_by_identity status as well. [ruby-core:24728] Tue Aug 4 05:43:03 2009 Yukihiro Matsumoto * thread.c (recursive_push): need to set UNTRUST. [ruby-dev:38997] Tue Aug 4 03:56:51 2009 Hidetoshi NAGAI * ext/tk/lib/tcltklib.c: fix trouble on old-style C function declarations [ruby-core:22871]. * ext/tk/lib/tcltklib.c: (ruby_1_8) fix warning about RUBY_RELEASE_DATE * ext/tk/lib/tk/multi-tk.rb: kill zombie threads. * ext/tk/lib/tk/fontchooser.rb: fix typo and support OptionObj. * ext/tk/lib/tk/{canvas.rb,virtevent.rb,image.rb,timer.rb}: don't create unnecessary array. Mon Aug 3 22:19:24 2009 Yusuke Endoh * eval.c (rb_mod_include): fix document. [ruby-core:24675] Mon Aug 3 18:25:08 2009 Yukihiro Matsumoto * sample/svr.rb: obsolete TCPserver renamed. [ruby-core:24712] * sample/tsvr.rb: ditto. * sample/dualstack-httpd.rb: ditto. Mon Aug 3 18:12:54 2009 Yukihiro Matsumoto * thread.c (recursive_push): untrust internal hash to prevent unexpected SecurityError. a patch from Kazuhiro NISHIYAMA. Fix: #1864 [ruby-dev:38982] Mon Aug 3 17:06:05 2009 Yukihiro Matsumoto * lib/README: updated. a patch from Daniel Bovensiepen. [ruby-core:24693] Mon Aug 3 16:28:09 2009 NAKAMURA Usaku * win32/win32.c (rb_w32_connect): return value was broken when some error occurred. [ruby-core:24234] Mon Aug 3 15:56:52 2009 Nobuyoshi Nakada * array.c (permute0): use chars for boolean array. * array.c (rb_ary_{permutation,combination}): disallow reentrance with continuation since work-buffers cannot restore. * array.c (rb_ary_{permutation,combination,product}): must not use ary_discard on strings. Mon Aug 3 06:43:25 2009 Yukihiro Matsumoto * numeric.c (flo_hash): normalize -0.0 to 0.0. [ruby-core:24577] Mon Aug 3 00:32:00 2009 Nobuyoshi Nakada * random.c (rb_random_int): arguments have to be converted to integer. [ruby-core:24679] Sun Aug 2 21:04:37 2009 Nobuyoshi Nakada * parse.y (literal_concat0): tail can be nil. [ruby-dev:38980] Sun Aug 2 20:09:07 2009 Nobuyoshi Nakada * array.c (rb_ary_combination, rb_ary_product): prevent from GC. Sun Aug 2 16:53:19 2009 Yusuke Endoh * test/ruby/test_rand.rb: add tests for Random#float's rejection against Infinity and NaN. Sun Aug 2 14:20:43 2009 Nobuyoshi Nakada * random.c (rand_int): prevent from GC. Sat Aug 1 19:23:27 2009 NARUSE, Yui * string.c (tr_trans): change condition of singlebyte optimization. Sat Aug 1 18:50:53 2009 Nobuyoshi Nakada * random.c (random_float): rejects Infinity and NaN. [ruby-core:24651] Sat Aug 1 18:34:52 2009 Nobuyoshi Nakada * tool/rbinstall.rb (gem): suppressed warnings. cf: [ruby-dev:38975] Sat Aug 1 05:18:36 2009 NARUSE, Yui * string.c (tr_trans): can't use singlebyte optimization when the replacement is multibyte. [ruby-core:24612] Fri Jul 31 18:01:34 2009 NAKAMURA Usaku * lib/securerandom.rb (SecureRandom.random_bytes): return string should be ASCII-8BIT. [ruby-core:24640] Fri Jul 31 16:28:33 2009 NARUSE, Yui * io.c (rb_stdio_set_default_encoding): added. * ruby.c (process_options): call rb_stdio_set_default_encoding after setting default internal and external. Fri Jul 31 15:06:33 2009 NAKAMURA Usaku * tool/compile_prelude.rb: too long string literal causes compile error on some platforms. Fri Jul 31 13:15:27 2009 NAKAMURA Usaku * transcode.c (str_encode_bang): C99ism. Fri Jul 31 11:48:03 2009 Nobuyoshi Nakada * compile.c (iseq_compile_each): used more appropriate construct. Fri Jul 31 10:54:08 2009 Nobuyoshi Nakada * parse.y (literal_concat_gen): reduced unnecessary node at string literal concatenation with empty head dstr. [ruby-dev:38968] Fri Jul 31 02:57:39 2009 Yusuke Endoh * parse.y (literal_concat_gen): NODE_DSTR was incorrectly handled as NODE_STR. [ruby-dev:38968] * bootstraptest/test_syntax.rb: add a test for above. Fri Jul 31 00:55:48 2009 Yusuke Endoh * test/ruby/test_module.rb (test_ancestors, test_included_modules): ignore rake mixins. Fri Jul 31 00:30:54 2009 Yusuke Endoh * vm_insnhelper.c (vm_call_cfunc): let set_trace_func use called_id instead of original_id. Thu Jul 30 23:04:32 2009 Yuki Sonoda (Yugui) * gem_prelude.rb (Gem.path): uses Gem.default_path as a default value so that ruby finds gems in ~/.gem/. (Gem.user_home): reduced version of lib/rubygems.rb's. Gem.default_path needs it. Thu Jul 30 22:28:04 2009 Yuki Sonoda (Yugui) * tool/compile_prelude.rb: replaces "require" with in-place evaluation so that copy & paste for lib/rubygems/default.rb is not necessary. * gem_prelude.rb: removes copied codes from lib/rubygems/defaults.rb. uses require instead. * common.mk (prelude.c): adds dependency for lib/rubygems/defaults.rb. Thu Jul 30 21:56:18 2009 Yusuke Endoh * test/ruby/test_rand.rb: add tests for Random class. Thu Jul 30 21:48:56 2009 Yusuke Endoh * random.c (init_genrand): ensure invariant of mt->next and mt->left. mt->next should always equal mt->state + N + 1 - mt->left. In fact, 'r = Random.new(0); r == r.dup' has returned false. Thu Jul 30 21:43:41 2009 Yusuke Endoh * random.c (random_bytes): use NUM2LONG instead of FIX2LONG because Random#bytes may receive bignum. Thu Jul 30 21:39:42 2009 Yusuke Endoh * compile.c (iseq_compile_each): fix stack consistency error. [ruby-core:24611] * bootstraptest/test_method.rb: add tests for above. Thu Jul 30 18:39:39 2009 Martin Duerst * transcode.c: added check for frozen string for encode! (see Bug #1836) * test/ruby/test_transcode.rb: added tests for the above Thu Jul 30 16:45:39 2009 Nobuyoshi Nakada * insns.def (defineclass): preserve encoding of class/module names. [ruby-core:24600] * variable.c (rb_set_class_path_string): set class path with a string value. Thu Jul 30 16:12:48 2009 Nobuyoshi Nakada * variable.c (Init_var_tables): initializes __classid__ ID. * variable.c: use st_data_t for st functions. Thu Jul 29 14:25:14 2009 Takeyuki FUJIOKA * lib/cgi/util.rb (CGI::unescape): support encoding option. * lib/cgi/cookie.rb (CGI::Cookie.parse): fix for the encoded value. Wed Jul 29 08:08:07 2009 NARUSE, Yui * parse.y (regexp): regexp literal at the top of dstr is still needed even if it is empty. Wed Jul 29 03:36:24 2009 Yukihiro Matsumoto * ext/json/lib/json/common.rb (JSON#recurse_proc): remove unnecessary private specifier. [ruby-dev:38929] Wed Jul 29 03:34:46 2009 Koichi Sasada * vm_core.h, vm_insnhelper.c (vm_call_method): revive VM_CALL_OPT_SEND_BIT and use it to recognize "send" method. Wed Jul 29 03:11:59 2009 Koichi Sasada * proc.c (rb_method_entry_arity): support not_implemented method. (I have no idea to test it) Tue Jul 28 19:36:26 2009 Koichi Sasada * proc.c (rb_method_entry_arity): support optimized method (send). * test/ruby/test_method.rb: add a test for above. Tue Jul 28 04:34:05 2009 Hidetoshi NAGAI * ext/tk/lib/extconf.rb: bug fix and ignore invalid Tcl/Tk libraries. * ext/tk/lib/config_list.in: bug fix and add a new option. * ext/tk/lib/README.tcltklib: update for a new option. Mon Jul 27 19:03:07 2009 Nobuyoshi Nakada * include/ruby/intern.h (rb_*str_new_cstr, rb_str_buf_new_cstr), (rb_str_buf_cat2, rb_str_cat2, rb_exc_new2): suppress warnings. Mon Jul 27 10:24:50 2009 Nobuyoshi Nakada * lib/rdoc/parser.rb (RDoc::Parser.binary?): fix for empty files. [ruby-dev:38848] Mon Jul 27 06:51:41 2009 Yukihiro Matsumoto * io.c (argf_eof): should call next_argv() before testing. [ruby-core:24561] Sun Jul 26 19:17:33 2009 Nobuyoshi Nakada * io.c (argf_eof): go to the next file if called after ARGF.close or ARGF.skip. a patch from Mike Kasick at [ruby-core:24561]. Sun Jul 26 18:30:02 2009 Nobuyoshi Nakada * vm_insnhelper.c (vm_call_method): __send__ can call protected methods. [ruby-core:24500] Sun Jul 26 01:09:14 2009 Alexander Zavorine * ext/bigdecimal.c: moved BASE_FIG definition before it is used first time. * include/ruby/defines.h [__SYMBIAN32__]: defined TRUE and FALSE to match changes in bignum.c and array.c. Sat Jul 25 17:49:03 2009 Nobuyoshi Nakada * io.c (argf_eof): should not have reached EOF before trying to read. based on a patch by Heesob Park in [ruby-core:24559]. [ruby-core:24557] Sat Jul 25 13:44:28 2009 Nobuyoshi Nakada * 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] Sat Jul 25 01:05:59 2009 NARUSE, Yui * enc/big5.c: Fix EncLen_BIG5 for Big5-HKSCS. see [ruby-core:24390] Fri Jul 24 19:19:19 2009 Martin Duerst * enc/trans/big5.trans, big5-hkscs-tbl.rb: new Chinese BIG5-HKSCS transcoding (with Tatsuya Mizuno) see [ruby-core:24390] * 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 Fri Jul 24 18:03:01 2009 Shugo Maeda * 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. Fri Jul 24 00:13:41 2009 Shugo Maeda * 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. Thu Jul 23 17:31:02 2009 Keiju Ishitsuka * lib/irb/ruby-lex.rb: make irb be able to parse string_dvar. [ruby-core: 24051] Thu Jul 23 17:26:51 2009 Hidetoshi NAGAI * ext/tk/extconf.rb: should not create "config_list" in a $srcdir. Thu Jul 23 14:35:02 2009 NAKAMURA Usaku * win32/win32.c (rb_w32_{open,wopen}): fixed typos. these conditions mean to call runtime's open() if textmode. Thu Jul 23 08:53:24 2009 Eric Hodel * lib/rdoc/markup/simple_markup/: Remove useless directory. [Bug #1343] Thu Jul 23 08:52:12 2009 Nobuyoshi Nakada * random.c (random_{state,left}): internal/debug use. Wed Jul 22 19:29:26 2009 Yukihiro Matsumoto * test/ruby/test_module.rb (TestModule#test_alias): warning message updated. Thu Jul 23 00:39:25 2009 Nobuyoshi Nakada * common.mk (class.o): depends on vm_core.h. Thu Jul 23 00:10:02 2009 Nobuyoshi Nakada * time.c (init_leap_second_info): checks the result of gmtime to suppress warnings. Wed Jul 22 22:23:24 2009 Yusuke Endoh * 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. Wed Jul 22 22:16:48 2009 URABE Shyouhei * method.h: Commas at end of enum list not allowed as of C89 * vm_method.c (rb_add_method): avoid C++ comment * vm_insnhelper.c (vm_call_cfunc): ditto. Wed Jul 22 20:42:52 2009 NAKAMURA Usaku * ext/socket/extconf.rb: define IPPROTO_IPV6 macro for recent Windows SDK. Wed Jul 22 19:32:10 2009 NAKAMURA Usaku * ext/socket/mkconstants.rb: define IPV6_* constants only when INET6 is defined. Wed Jul 22 19:23:04 2009 NAKAMURA Usaku * ext/socket/extconf.rb: ipv6 support is disabled by default on mswin. Wed Jul 22 17:41:08 2009 NAKAMURA Usaku * ext/socket/ipsocket.c (init_inetsock_internal): drop IPv6 addresses if INET6 is not defined. Wed Jul 22 17:29:59 2009 NAKAMURA Usaku * ext/socket/extconf.rb: enable ipv6 support for win32. Wed Jul 22 16:38:39 2009 Yuki Sonoda (Yugui) * hash.c (Hash::[]): rdoc. patch by Marc-Andre Lafortune. #1385. Wed Jul 22 10:00:53 2009 NAKAMURA Usaku * win32/win32.c (WSAMSG): get rid of compile error on VC9 and mingw. Wed Jul 22 06:35:56 2009 Yukihiro Matsumoto * test/ruby/test_enum.rb (TestEnumerable#each): recursive join now raises ArgumentError. Wed Jul 22 02:33:57 2009 Keiju Ishitsuka * lib/irb.rb: forget svn commit. Wed Jul 22 01:20:54 2009 Yukihiro Matsumoto * bootstraptest/test_io.rb: block write may block for long time. Wed Jul 22 00:34:39 2009 Keiju Ishitsuka * lib/irb.rb, lib/irb/init.rb, lib/irb/ext/save-history.rb: add IRB::irb_at_exit. no use finalizer saving history. [ruby-dev-38563] Tue Jul 21 23:47:38 2009 Yusuke Endoh * 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. Tue Jul 21 21:37:19 2009 Keiju Ishitsuka * lib/irb/cmd/help.rb: fixed irb's "help" command. [ruby-core:22310]. * lib/tracer.rb: no show lines unknown line number. [ruby-core:22096], no trace display c-call and c-return as default. Tue Jul 21 16:24:41 2009 Masaki Suketa * 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. Tue Jul 21 16:07:57 2009 Nobuyoshi Nakada * lib/tracer.rb: toplevel caller exists now. [ruby-core:24454] Tue Jul 21 13:36:20 2009 NAKAMURA Usaku * win32/win32.[ch] (recvmsg, sendmsg): new functions to support recvmsg/ sendmsg like UNIX. these functions are experimental and not tested well. bug reports are welcome. Tue Jul 21 13:35:21 2009 NAKAMURA Usaku * win32/Makefile.sub (TEST_RUNNABLE): follow r24209. Tue Jul 21 12:45:31 2009 Nobuyoshi Nakada * gc.c (rb_gc_enable, rb_gc_disable): should return Qtrue/Qfalse. Tue Jul 21 12:38:07 2009 Nobuyoshi Nakada * variable.c (rb_generic_ivar_memsize): should not remove generic instance variable table. Mon Jul 20 20:35:55 2009 NARUSE, Yui * io.c (rb_f_open): add rdoc about specifying ext_enc as *-bom. Mon Jul 20 19:00:58 2009 Nobuyoshi Nakada * 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. Mon Jul 20 12:51:39 2009 wanabe * lib/matrix.rb (Matrix#rank): revert a part of r20859 to avoid infinite loop. [Bug #1020] Mon Jul 20 11:12:54 2009 Nobuyoshi Nakada * configure.in, Makefile.in (TEST_RUNNABLE): tests are no runnable if cross-compiling. * common.mk (btest*, test*): ditto. Mon Jul 20 10:55:18 2009 Tanaka Akira * ext/socket/lib/socket.rb (Addrinfo#family_addrinfo): fix a typo in error message. patch by Nobuhiro IMAI. [ruby-dev:38828] Sun Jul 19 22:22:54 2009 Tadayoshi Funaba * rational.c (float_to_r): an improvement. Sun Jul 19 20:41:24 2009 Tadayoshi Funaba * complex.c (make_patterns): do not use \d. * rational.c (make_patterns): ditto. Sun Jul 19 17:32:37 2009 Nobuyoshi Nakada * io.c (io_read): should taint the result. [ruby-dev:38826] Sun Jul 19 11:00:14 2009 Nobuyoshi Nakada * vm_method.c (me_opts): fixed optimized method aliasing. [ruby-dev:38824] Sun Jul 19 10:54:56 2009 Tanaka Akira * ext/socket/lib/socket.rb (Socket.accept_loop): rescue IO::WaitReadable instead of Errno::EWOULDBLOCK. (Socket.udp_server_loop_on): ditto. Sat Jul 18 23:44:59 2009 NARUSE, Yui * re.c (reg_enc_error): use rb_enc_get to get the encoding of a Regexp object. REGEXP(re)->ptr->enc is the encoding of the regexp engine for patterns and target strings. [ruby-core:23208] Sat Jul 18 17:43:12 2009 Nobuyoshi Nakada * string.c (rb_str_hash_cmp): got rid of overflow. Sat Jul 18 16:03:01 2009 Nobuyoshi Nakada * include/ruby/defines.h (TRUE, FALSE): for internal use. Sat Jul 18 11:39:49 2009 NAKAMURA Usaku * random.c: workaround for VC++ 6.0. Sat Jul 18 09:16:18 2009 Nobuyoshi Nakada * random.c (rb_random_{int32,real,bytes,int}): added functions for extension libraries. Sat Jul 18 09:07:00 2009 Nobuyoshi Nakada * random.c (fill_random_seed): use cryptographic service on Windows. Sat Jul 18 07:56:00 2009 Hidetoshi NAGAI * ext/tk/lib/tk.rb: fail to create a widget object for an unknown widget path. Sat Jul 18 07:06:31 2009 Hidetoshi NAGAI * ext/tk/lib/tk.rb,ext/tk/lib/tk/grid.rb: Bug fix on grid_slaves(). Extend usage pattern of grid_column()/grid_row(). Sat Jul 18 06:30:35 2009 NAKAMURA Usaku * include/ruby/win32.h: include winsock headers in extern "C++" for C++ extension libraries. * include/ruby/missing.h (vsnprintf): workaround for VC++. [ruby-core:23096] Sat Jul 18 00:23:47 2009 Yuki Sonoda (Yugui) * ext/readline/readline.c (Init_readline): rl_catch_signals does not exist on some platform like Mac OS X 10.5. * ext/readline/extconf.rb: checks existence of rl_catch_signals. Fri Jul 17 22:37:22 2009 NAKAMURA Usaku * ext/socket/socket.c (socket_s_ip_address_list): drop inactive adapters. * test/socket/test_{nonblock,addrinfo,socket}.rb: skip some tests on Windows. [ruby-core:23051] Fri Jul 17 22:29:21 2009 NAKAMURA Usaku * ext/readline/readline.c (Init_readline): use rl_catch_sigwinch only when existing. * ext/readline/extconf.rb: check existence of rl_catch_sigwinch, and workaround for native Win32 readline port. Fri Jul 17 18:18:23 2009 Tanaka Akira * range.c (recursive_hash): extracted from range_hash. reject recursive key. (range_hash): use recursive_hash. Fri Jul 17 18:11:32 2009 Tanaka Akira * struct.c (recursive_hash): extracted from rb_struct_hash. reject recursive key. (rb_struct_hash): use recursive_hash. Fri Jul 17 16:45:22 2009 Tanaka Akira * array.c (recursive_hash): reject recursive key. Fri Jul 17 15:20:53 2009 Nobuyoshi Nakada * random.c (DIGSPERINT): fix for LP64. * random.c (fill_random_seed): /dev/urandom is not available on DOSISH systems. * random.c (random_equal): new method Random#==. Fri Jul 17 13:35:47 2009 Tanaka Akira * ext/socket/init.c (rsock_getfamily): return AF_UNSPEC if getsockname is failed. [ruby-core:24383] Fri Jul 17 01:22:57 2009 Yukihiro Matsumoto * 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. Thu Jul 16 23:32:16 2009 Hidetoshi NAGAI * ext/tk/extconf.rb,ext/tk/config_list.in: ignore paths which includes white space characters on Windows.[ruby-dev:38794] * ext/tk/lib/tk.rb: works on Cygwin (limitation:: Tk.mainloop works on the main thread only). Thu Jul 16 20:58:18 2009 Masaki Suketa * 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. Thu Jul 16 19:02:28 2009 NAKAMURA Usaku * ext/socket/lib/socket.rb (Socket.tcp_server_sockets_port0): servers is nil if an error occurs before setting it. Thu Jul 16 18:42:56 2009 Nobuyoshi Nakada * random.c (fill_random_seed): suppress a warning. Thu Jul 16 18:30:20 2009 Nobuyoshi Nakada * hash.c (rb_hash_aset, recursive_hash): rejects recursive hash. [ruby-core:22921] Thu Jul 16 18:28:09 2009 Nobuyoshi Nakada * id.c (Init_id), vm.c (vm_exec): @#__ThrowState__ is no longer used. [ruby-dev:38760] Thu Jul 16 17:41:28 2009 Koichi Sasada * vm_method.c (rb_alias): fix a case which try non-existing method alias. * test/ruby/test_alias.rb: add a test. Thu Jul 16 16:00:23 2009 Nobuyoshi Nakada * io.c (io_reopen): discards read buffer. [ruby-core:24240] Thu Jul 16 15:52:25 2009 Nobuyoshi Nakada * bignum.c (rb_big_new, rb_bigzero_p), range.c (rb_range_values): added for random.c. * random.c (rb_random_t): objectified. [EXPERIMENTAL] [ruby-dev:30954] Thu Jul 16 14:08:44 2009 Yukihiro Matsumoto * array.c (rb_ary_sample): RDoc update. a patch from Florian Frank. [ruby-core:24347] Thu Jul 16 12:42:10 2009 NARUSE, Yui * ext/readline/readline.c (readline_readline): rl_free_line_state before rl_cleanup_after_signal. * ext/readline/readline.c (Init_readline): set rl_catch_signals and rl_catch_sigwinch as 0. [ruby-core:21884] Thu Jul 16 08:59:22 2009 Koichi Sasada * node.h, vm_core.h, variable.c: rename global_entry to rb_global_entry. * compile.c, insns.def, iseq.c, vm_insnhelper.h: ditto. Thu Jul 16 08:57:44 2009 Koichi Sasada * vm_method.c: separate clearing cache entry code. Thu Jul 16 08:56:32 2009 Koichi Sasada * dir.c (push_glob): re-fix GC problem. Thu Jul 16 08:55:27 2009 Koichi Sasada * common.mk: add method.h. Thu Jul 16 08:53:26 2009 Koichi Sasada * io.c (argf_free): free data body. Wed Jul 15 23:46:55 2009 Koichi Sasada * method.h, vm_core.h: add rb_method_entry_t. Remove nodes around method management. This change affect some VM control stack structure. * vm.c, vm_insnhelper.c, vm_method.c, vm_eval.c: ditto. and make some refactoring. * insns.def, class.c, eval.c, proc.c, vm_dump.c : ditto. * vm_core.h, compile.c (iseq_specialized_instruction): remove VM_CALL_SEND_BIT. use another optimization tech for Kernel#send. * node.h: remove unused node types. * ext/objspace/objspace.c (count_nodes): ditto. * gc.c: add mark/free functions for method entry. * include/ruby/intern.h: remove decl of rb_define_notimplement_method_id(). nobody can use it because noex is not opened. * iseq.c (iseq_mark): fix to check ic_method is available. * iseq.c (rb_iseq_disasm): fix to use rb_method_get_iseq(). Wed Jul 15 23:45:11 2009 Koichi Sasada * dir.c (push_glob): fix GC problem. Wed Jul 15 17:33:52 2009 Yuki Sonoda (Yugui) * ext/purelib.rb: translates a fake path to rubygems in $" into an alternative in $: so that Kernel.#require does not load more rubygems.rb. Resolves many failures in test/rubygems/*. * gem_prelude.rb (Gem.load_full_rubygems_library): supports case the rubygems to load is not in $(rubylibprefix). (Gem.path_to_full_rubygems_library): new method for the changes in purelib.rb and Gem.load_full_rubygems_library. (Gem.fake_rubygems_as_loaded): new method. Wed Jul 15 16:29:35 2009 NAKAMURA Usaku * win32/Makefile.sub (LIBPATHFLAG): path is already quoted in mkmf.rb. Wed Jul 15 06:21:50 2009 Hidetoshi NAGAI * ext/tk/extconf.rb: --with-{tcl,tk}-dir doesn't work.[ruby-dev:38782] Wed Jul 15 04:22:54 2009 NARUSE, Yui * test/cgi/test_cgi_multipart.rb (CGIMultipartTest#_prepare): set tempfile name with literal. Tue Jul 14 21:53:18 2009 Nobuyoshi Nakada * ext/io/nonblock: moved from ext/io/wait/lib. Tue Jul 14 17:29:20 2009 NARUSE, Yui * string.c (rb_str_index_m): return nil if pos is out of string. [ruby-core:23660] Tue Jul 14 16:13:04 2009 Nobuyoshi Nakada * io.c (rb_io_initialize): check if the descriptor can be accessed in the specified open mode. [ruby-dev:38571] Tue Jul 14 09:26:14 2009 Hidetoshi NAGAI * ext/tk/lib/multi-tk.rb: Long-term-callback support isn't stable yet. So, disable the feature and waiting for improvement in the future. Tue Jul 14 01:28:17 2009 NARUSE, Yui * test/ruby/test_m17n.rb (TestM17N#test_env): the encoding of ENV is now locale encoding. Tue Jul 14 01:24:56 2009 NARUSE, Yui * marshal.c (r_object0): should return real object. Tue Jul 14 01:06:31 2009 Yusuke Endoh * enumerator.c (yielder_yield_i): use rb_proc_new instead of rb_iterate. [ruby-dev:38518] * README.EXT: rb_iterate is obsolete since 1.9; use rb_block_call instead. * README.EXT.ja: ditto. Tue Jul 14 00:45:41 2009 Yuki Sonoda (Yugui) * test/ruby/test_case.rb (TestCase#test_deoptimization): test for [ruby-core:23190]. Mon Jul 13 22:49:50 2009 Yuki Sonoda (Yugui) * lib/prime.rb (Prime#prime_division): now decomposes negative integer into a decomposition with element [-1, 1]. * test/test_prime.rb: test for it. Mon Jul 13 22:28:03 2009 NAKAMURA Usaku * io.c (pipe_open): handles leaked on win32 when an error occurs. Mon Jul 13 20:21:51 2009 Nobuyoshi Nakada * marshal.c (r_object0): should not shadow outer variable not to return Qnil always. Mon Jul 13 19:41:05 2009 NARUSE, Yui * marshal.c (r_object0): copy instance variables to new regexp. Mon Jul 13 17:49:11 2009 Koichi Sasada * vm_core.h, compile.c: declare struct iseq_inline_cache_entry. Inline cache (IC) entries are no longer GC managed object. IC entries are freed when ISeq is freed. * iseq.c: fix mark, free, memsize functions for above change. * insns.def: remove rb_gc_write_barrier(). * vm_insnhelper.c (vm_method_search): ditto. * tool/instruction.rb, template/insns_info.inc.tmpl (insn_iclen): added. Mon Jul 13 13:35:08 2009 Koichi Sasada * insns.def, vm_insnhelper.c (getinstancevariable): fix to use inline cache. * compile.c: fix to skip inline cache entry (IC). IC is added automatically by compiler. * insns.def, vm_insnhelper.h: fix IC positions. * iseq.c: increment minor_version of ISeq because of above change. Mon Jul 13 08:01:00 2009 Hidetoshi NAGAI * ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries. * ext/tk/*: Support new features of Tcl/Tk8.6b1 and minor bug fixes. ( [KNOWN BUG] Ruby/Tk on Ruby 1.9 will not work on Cygwin. ) * ext/tk/*: Unify sources between Ruby 1.8 & 1.9. Improve default_widget_set handling. * ext/tk/*: Multi-TkInterpreter (multi-tk.rb) works on Ruby 1.8 & 1.9. ( [KNOWN BUG] On Ruby 1.8, join to a long term Thread on Tk callbacks may freeze. On Ruby 1.9, cannot create a second master interpreter (creating slaves are OK); supported master interpreter is the default master interpreter only. ) * ext/tk/lib/tkextlib/*: Update supported versions of Tk extensions. Tcllib 1.8/Tklib 0.4.1 ==> Tcllib 1.11.1/Tklib 0.5 BWidgets 1.7 ==> BWidgets 1.8 TkTable 2.9 ==> TkTable 2.10 TkTreeCtrl 2005-12-02 ==> TkTreeCtrl 2.2.9 Tile 0.8.0/8.5.1 ==> Tile 0.8.3/8.6b1 IncrTcl 2005-02-14 ==> IncrTcl 2008-12-15 TclX 2005-02-07 ==> TclX 2008-12-15 Trofs 0.4.3 ==> Trofs 0.4.4 Mon Jul 13 01:18:13 2009 Nobuyoshi Nakada * time.c (time_timespec): rounds subsecond toward zero. Sun Jul 12 23:51:39 2009 NARUSE, Yui * hash.c (env_str_new): use rb_locale_str_new instead of rb_tainted_str_new. rb_locale_str_new set string locale encoding and tainted. Sun Jul 12 23:56:40 2009 Tadayoshi Funaba * complex.c: added some shortcuts. * rational.c: ditto. Sun Jul 12 23:30:26 2009 Nobuyoshi Nakada * object.c (rb_to_integer, rb_check_to_integer): return Bignum as-is. Sun Jul 12 21:07:46 2009 Tadayoshi Funaba * complex.c: use k_exact_{zero,one}_p macro. * rational.c: ditto. Sun Jul 12 20:42:58 2009 Tadayoshi Funaba * numeric.c (fix_divide): added an entry to rational. * rational.c (rb_rational_reciprocal): added. * complex.c (f_reciprocal): added. Sun Jul 12 02:24:42 2009 Nobuyoshi Nakada * random.c (rand_init): use fixed buffer for small numbers. Sat Jul 11 14:43:34 2009 NARUSE, Yui * test/ruby/test_io_m17n.rb (test_strip_bom): added. Sat Jul 11 07:11:59 2009 Nobuyoshi Nakada * ext/readline/readline.c (readline_attempted_completion_function): array length is long. * ext/readline/readline.c (readline_s_get_filename_quote_characters): missing type of self. Sat Jul 11 02:37:37 2009 Nobuyoshi Nakada * random.c (limited_rand): expands to long before shift so that the result does not overflow. Sat Jul 11 00:16:27 2009 Nobuyoshi Nakada * random.c (rand_init): got rid of buffer overflow. Sat Jul 11 00:11:38 2009 Nobuyoshi Nakada * array.c (ary_join_1): should recurse for element array. Fri Jul 10 23:10:11 2009 NARUSE, Yui * io.c (io_strip_bom): ungetbyte third byte when UTF-16LE. Fri Jul 10 23:04:16 2009 NARUSE, Yui * io.c (io_strip_bom): Fix condition of second byte of UTF-16LE/UTF-32LE. Fri Jul 10 21:45:30 2009 TAKAO Kouji * 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]. Fri Jul 10 21:00:05 2009 TAKAO Kouji * 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. Fri Jul 10 16:30:03 2009 Nobuyoshi Nakada * array.c (recursive_join): use obj to tell if recursion occurs. [ruby-core:24150] * enum.c (enum_join): reverted r23966. [ruby-core:24196] Fri Jul 10 14:41:34 2009 NARUSE, Yui * marshal.c (r_object0): set encoding only if the encoding is not US-ASCII. Fri Jul 10 14:44:03 2009 Nobuyoshi Nakada * random.c (struct MT): ruby already assumes int has 32bit a least, so no needs to use long. * random.c (rand_init): copies data to be used really only. Fri Jul 10 11:41:39 2009 Nobuyoshi Nakada * include/ruby/ruby.h (rb_obj_{untrust,untrusted,trust}): added prototypes. [ruby-dev:38756] Fri Jul 10 10:25:19 2009 Nobuyoshi Nakada * vm_insnhelper.c (vm_search_superclass): checks for implicit argument passing before method search. [ruby-core:24244] Fri Jul 10 07:22:29 2009 Nobuyoshi Nakada * parse.y (parser_data_type): typed. Thu Jul 9 23:28:48 2009 NARUSE, Yui * include/ruby/io.h (FMODE_STRIP_BOM): new constant. * io.c (io_encname_bom_p): judge whether the encoding name is *-bom or not. (parse_mode_enc): drop "-bom". (rb_io_modestr_fmode): set FMODE_STRIP_BOM if needed. (rb_io_extract_modeenc): ditto. (io_strip_bom): strip bom if exists. (io_set_encoding_by_bom): set encoding if there is bom. Set encoding and strip bom when modeenc string is "r:foo-bom" [ruby-dev:37236] Thu Jul 9 21:56:59 2009 NARUSE, Yui * marshal.c (r_object0): replace \u by u when the regexp is made by Ruby 1.8. [ruby-dev:36750] Wed Jul 8 23:13:54 2009 Tadayoshi Funaba * complex.c (nucomp_div): omitted zero division check. Wed Jul 8 21:00:37 2009 Keiju Ishitsuka * lib/irb/inspector.rb: forget svn add. Wed Jul 8 19:10:22 2009 Nobuyoshi Nakada * error.c (rb_check_type): rejects typed data. Wed Jul 8 18:28:04 2009 Nobuyoshi Nakada * proc.c ({proc,binding,method}_data_type): typed. Wed Jul 8 16:47:03 2009 Nobuyoshi Nakada * file.c (rb_file_s_basename): returns new string instead of shared string from FilePathStringValue(). [ruby-core:24199] Wed Jul 8 04:28:16 2009 Eric Hodel * ext/.document: Update with extensions that appear to have documentation. [ruby-core:24181] Wed Jul 8 04:28:16 2009 Koichi Sasada * include/ruby/ruby.h: rename "...TypeStruct" and "typed_struct" to "TypedData..." and "typeddata", respectively. rename rb_data_type_t#name to rb_data_type_t#wrap_struct_name. * error.c, gc.c, iseq.c, vm.c: ditto. Tue Jul 7 20:23:27 2009 Keiju Ishitsuka * bin/irb, lib/irb.rb lib/irb/*: irb-0.9.6, extend inspect-mode Tue Jul 7 17:00:38 2009 Nobuyoshi Nakada * gc.c (rb_gc_call_finalizer_at_exit): deal with typed struct like as obj_free(). * error.c (rb_typed_struct_is_kind_of): new function to see if the given typed struct. * error.c (rb_check_typed_struct): new function to check typed struct. * include/ruby/ruby.h (Check_TypedStruct, Data_Get_TypedStruct): new macro to check typed struct. Tue Jul 7 13:36:46 2009 Nobuyoshi Nakada * enum.c (DEFINE_ENUMFUNCS): included function signature. * enum.c (rb_enum_join): non-nil separator must be convertible to String. [ruby-core:24172] Tue Jul 7 12:47:28 2009 Yukihiro Matsumoto * enum.c (rb_enum_join): should propagate taint to the return value. the change was overridden by r23967. [ruby-core:24176] Tue Jul 7 11:56:52 2009 Nobuyoshi Nakada * gc.c (GC_PROF_SET_MALLOC_INFO, GC_PROF_SET_HEAP_INFO): simplified. Tue Jul 7 10:12:37 2009 NARUSE, Yui * io.c (rb_io_ext_int_to_encs): Set external encoding if ext==intern. [ruby-dev:38278] Mon Jul 6 09:31:50 2009 Nobuyoshi Nakada * proc.c (make_curry_proc): should propagate lambda-ness. [ruby-core:24127] * proc.c (proc_hash): use long. Mon Jul 6 09:06:49 2009 Yukihiro Matsumoto * 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. Mon Jul 6 09:04:45 2009 Nobuyoshi Nakada * enum.c (enum_join): deals with self recursive objects to get rid of infinite recursion. [ruby-core:24150] Mon Jul 6 08:00:10 2009 Yukihiro Matsumoto * enum.c (enum_to_a): should propagate taint to the return value. [ruby-core:24152] * enum.c (enum_sort_by): ditto. Mon Jul 6 00:41:41 2009 Tadayoshi Funaba * rational.c: edited rdoc. Sun Jul 5 23:55:57 2009 Tanaka Akira * time.c (find_time_t): fix Time.local(2009,2,31) failure on 64bit time_t environment. Sun Jul 5 22:43:13 2009 Tadayoshi Funaba * complex.c (nucomp_s_polar): now arg is optional. Sun Jul 5 20:40:35 2009 Tadayoshi Funaba * complex.c (float_arg): returns PI for -0.0. Sun Jul 5 14:04:36 2009 Nobuyoshi Nakada * thread.c (rb_threadptr_exec_event_hooks): new function to execute event hooks, with preserving errinfo. [ruby-core:24118] Sun Jul 5 08:14:38 2009 Nobuyoshi Nakada * vm_method.c (rb_add_method, remove_method, rb_undef): fixed minor grammatical errors in warnings. a patch from Run Pain Run Run at [ruby-core:24141]. * vm_method.c (Init_eval_method): registers notimplement_body as a mark-object. * vm_insnhelper.c (vm_yield_setup_block_args): restores the firs arg where is overwritten at funcall. [ruby-core:24139] Sat Jul 4 08:20:03 2009 Yukihiro Matsumoto * numeric.c (dbl2ival): should raise FloatDomainError on Infinity and NaN as 1.8 does. [ruby-dev:38726] Fri Jul 3 22:48:45 2009 Tanaka Akira * time.c (find_time_t): less number of guesses for hh:mm:60. Fri Jul 3 21:30:14 2009 Tadayoshi Funaba * complex.c (nucomp_equal_p): removed. Fri Jul 3 21:07:29 2009 Tadayoshi Funaba * 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. Fri Jul 3 19:48:40 2009 Tadayoshi Funaba * complex.c: undef-ed some methods. [ruby-core:24110] * complex.c (Numeric#arg): NaN for NaN. [ruby-core:24116] Fri Jul 3 18:35:06 2009 Nobuyoshi Nakada * vm_core.h (struct rb_iseq_struct): fixed types. * vm_core.h (ic_vmstat): VM state version is VALUE. Fri Jul 3 02:52:20 2009 Tanaka Akira * time.c (find_time_t): time guess strategy refined again. Fri Jul 3 00:36:16 2009 Tanaka Akira * time.c (find_time_t): time guess strategy refined. Thu Jul 2 11:16:25 2009 Shugo Maeda * lib/net/imap.rb: added response to Net::IMAP::ResponseError. a patch from Eric Hodel in [ruby-core:24111]. Thu Jul 2 08:04:39 2009 Nobuyoshi Nakada * time.c (num_exact): rb_check_to_integer() can deal with both of Fixnum and Bignum together. Thu Jul 2 07:53:44 2009 Nobuyoshi Nakada * parse.y (parser_yylex): fixed wrong variable. Thu Jul 2 05:37:38 2009 Tanaka Akira * time.c (num_exact): use to_r for T_FLOAT. Thu Jul 2 05:15:54 2009 Tanaka Akira * time.c (quo): return an integer if possible. Wed Jul 1 21:09:25 2009 Tanaka Akira * include/ruby/intern.h (rb_time_num_new): declared. * time.c (nsec2timev): extracted from time_new_internal. (time_new_internal): change argument to VALUE. (rb_time_new): follow the argument change. (rb_time_nano_new): ditto. (rb_time_num_new): new function. * ext/socket/ancdata.c (ancillary_timestamp): use rb_time_num_new to represent struct bintime preciously. Wed Jul 1 08:46:11 2009 Nobuyoshi Nakada * marshal.c (w_encoding): encodings need extra depth. [ruby-core:24100] Wed Jul 1 06:47:09 2009 Nobuyoshi Nakada * enum.c (enum_grep): gets rid of type-punning calls. Wed Jul 1 06:36:28 2009 Yukihiro Matsumoto * enum.c (enum_join): add Enumerable#join. * array.c (ary_join_1): recursive join for Enumerators (and objects with #to_a). * array.c (rb_ary_join): performance tune. Tue Jun 30 18:19:07 2009 Yukihiro Matsumoto * hash.c (rb_hash_hash): documentation fix. a patch from Marc-Andre Lafortune. [ruby-core:23943] * object.c (rb_mod_cmp): ditto. * range.c (range_eq): ditto. * string.c (rb_str_partition, rb_str_rpartition): ditto. * struct.c (rb_struct_s_def): ditto. Tue Jun 30 17:44:24 2009 Yukihiro Matsumoto * re.c (reg_match_pos): adjust offset based on characters, not bytes. [ruby-dev:38722] * string.c (rb_str_offset): new function. * string.c (rb_str_index_m): no call to rb_reg_adjust_startpos(). Tue Jun 30 16:57:07 2009 Nobuyoshi Nakada * tool/rbinstall.rb: renamed to get rid of collision against instruction.rb on command line completion of shell. * tool/mkconfig.rb (RbConfig.expand): get rid of exceptions on frozen strings unless really changed. * tool/file2lastrev.rb: get rid of global variables. * tool/compile_prelude.rb: use US-ASCII name. Tue Jun 30 16:46:40 2009 Nobuyoshi Nakada * insns.def, tool/instruction.rb: fixed types. Tue Jun 30 11:08:49 2009 Nobuyoshi Nakada * include/ruby/oniguruma.h, include/ruby/re.h, re.c, regcomp.c, regenc.c, regerror.c, regexec.c, regint.h, regparse.c: use long. Tue Jun 30 11:05:59 2009 Nobuyoshi Nakada * dln.c (dln_find_1): fixed index overrun. Tue Jun 30 08:42:34 2009 Eric Hodel * tool/instruby.rb: summary is required in a .gemspec. Tue Jun 30 01:35:12 2009 Yuki Sonoda (Yugui) * tool/strip-rdocs.rb: supports QT style doxy-comments. Tue Jun 30 01:24:10 2009 Tadayoshi Funaba * lib/cmath.rb (log2, cbrt): added. [experimental] Tue Jun 30 01:19:53 2009 Tadayoshi Funaba * complex.c (nucomp_expt): do not use rb_fexpt. Mon Jun 29 22:50:10 2009 Yuki Sonoda (Yugui) * Doxyfile.in: removed. merged into template/Doxyfile.template * configure.in: new checking for dot and doxygen. * template/Doxyfile.template: merged with Doxyfile.in. configured some options. * common.mk (capi): use $(DOXYGEN) instead of "doxygen". (Doxyfile): removed a duplicate entry in the dependency. Mon Jun 29 21:01:31 2009 Tadayoshi Funaba * complex.c (nucomp_expt): checks exactness. Mon Jun 29 20:29:11 2009 Tadayoshi Funaba * rational.c (float_to_r): always returns rational. Mon Jun 29 18:55:55 2009 Nobuyoshi Nakada * dln.c (dln_find_1): fix for files with dots. [ruby-dev:38588] Mon Jun 29 17:14:31 2009 Nobuyoshi Nakada * file.c (file_expand_path): should copy original encoding. [ruby-dev:38612] Sun Jun 28 23:10:55 2009 Yuki Sonoda (Yugui) * gem_prelude.c (Gem.default_dir): follows the change on lib/rubygems/default.rb in r23879 Sun Jun 28 23:32:11 2009 Tadayoshi Funaba * complex.c (nucomp_div): raises ZeroDivisionError immediately when the given second argument is zero. * rational.c (nurat_fdiv): never raise even if the given second argument is zero. * rational.c (rb_raise_zerodiv): changed the message (zero to 0). Sun Jun 28 22:25:07 2009 Tadayoshi Funaba * complex.c (nucomp_expt): convert to a float when the given power is a bignum. * rational.c (nurat_expt): ditto. Sun Jun 28 21:16:48 2009 Tadayoshi Funaba * lib/cmath.rb (sqrt): fixed an issue [ruby-list:45852]. Sun Jun 28 19:48:29 2009 Tadayoshi Funaba * complex.c (nucomp_expt): some improvements. * rational.c (nurat_expt): ditto. Sun Jun 28 19:03:46 2009 Yuki Sonoda (Yugui) * tool/instruby.rb (:gem): registers the bundled version of minitest as a gem as rdoc or rake. c.f. [ruby-dev:38692]. Sun Jun 28 19:02:07 2009 Yuki Sonoda (Yugui) * lib/rubygems.rb (ConfigMap[:rubylibprefix]): new entry. * lib/rubygems/defaults.rb (Gem.default_dir): considers "--with-rubylibprefix" configure option. Sun Jun 28 09:21:00 2009 Tadayoshi Funaba * complex.c: renamed some static functions. * rational.c: ditto. Sat Jun 27 19:06:22 2009 Tadayoshi Funaba * complex.c (nucomp_addsub): new * complex.c (nucomp_{add,sub}): use nucomp_addsub. * complex.c (nucomp_divide): changed the algorithm. * complex.c (nucomp_abs): added shortcuts. Sat Jun 27 16:56:33 2009 Tadayoshi Funaba * rational.c (nurat_cmp): use rb_num_coerce_cmp. Sat Jun 27 16:45:10 2009 Tadayoshi Funaba * complex.c: revised rdoc. * rational.c: ditto. * numeric.c: ditto. Sat Jun 27 13:44:48 2009 Kouhei Sutou * NEWS, lib/rss/maker/base.rb, test/rss/test_maker_2.0.rb: add item.guid.permanent_link? and item.guid.permanent_link=. Sat Jun 27 13:41:00 2009 Kouhei Sutou * NEWS: rss: 0.2.5 -> 0.2.7. * lib/rss/rss.rb, test/rss/test_version.rb: 0.2.6 -> 0.2.7. Sat Jun 27 03:16:56 2009 Yukihiro Matsumoto * numeric.c (int_chr): use default_internal encoding as default destination encoding if set. [ruby-core:23997] Sat Jun 27 03:09:04 2009 Yukihiro Matsumoto * io.c (argf_rewind): need to rewind $. and ARGF.lineno. [ruby-core:24046] * io.c (struct argf): refactoring on $. and ARGF.lineno behavior. Fri Jun 26 21:48:30 2009 Tanaka Akira * ext/pty/pty.c (pty_getpty): check dup failure. Fri Jun 26 17:33:46 2009 Yukihiro Matsumoto * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_rubyopt): test suite add '.' to RUBYLIB. remove checks. * test/ruby/test_require.rb (TestRequire#test_tainted_loadpath): the default tempdir directory /tmp is world writable, so SecurityError would be raised. check removed. Fri Jun 26 16:32:59 2009 NAKAMURA Usaku * common.mk (COMPILE_PRELUDE): need -I. before -rrbconfig. [ruby-dev:38714] Thu Jun 25 18:41:51 2009 Ryan Davis * lib/minitest/*.rb: Imported minitest 1.4.2 r5269. * test/minitest/*.rb: ditto. Thu Jun 25 17:58:39 2009 Yukihiro Matsumoto * io.c (argf_binmode_m): should call rb_io_ascii8bit_binmode() to set its encoding to ASCII-8BIT. [ruby-core:24029] Thu Jun 25 13:04:58 2009 NAKAMURA Usaku * instruby.rb: '&' in sed s command's replacement is '\&' in ruby. [ruby-dev:38713] Thu Jun 25 06:50:23 2009 Yukihiro Matsumoto * io.c (rb_io_each_codepoint): uninitialized local variable enc. Thu Jun 25 06:25:49 2009 Yukihiro Matsumoto * enum.c (first_i): wrong condition for no argument #first. [ruby-core:24017] Wed Jun 24 20:19:11 2009 Tanaka Akira * time.c (time_s_now): new function. Time.now don't take arguments. Wed Jun 24 16:08:03 2009 NAKAMURA Usaku * win32/resource.rb: CONFIG["TEENY"] is not ruby's version but API's one. So need to use RUBY_VERSION instead. Wed Jun 24 16:07:04 2009 NAKAMURA Usaku * win32/mkexports.rb: rbconfig.rb exists at ".". Wed Jun 24 15:02:29 2009 Nobuyoshi Nakada * parse.y (parser_set_encode): show the erred file name instead of the file that requires it. [ruby-core:24006] Wed Jun 24 11:41:20 2009 Akinori MUSHA * misc/ruby-style.el: It is too late to set c-file-style in c-mode-hook (at least on Emacs 23). Call c-set-style instead. Tue Jun 23 21:28:16 2009 Nobuyoshi Nakada * file.c (rb_get_path_check): check with given safe level. * file.c (rb_find_file_ext_safe, rb_find_file_safe): ditto. * safe.c (rb_insecure_operation): function to raise security error. Tue Jun 23 20:32:43 2009 Yusuke Endoh * gc.c: remove the definition of GC_DEBUG (debugging macro). Tue Jun 23 16:16:12 2009 Nobuyoshi Nakada * configure.in (ruby_version): defaults revision to 0 when no revision.h exists. Tue Jun 23 16:04:59 2009 Nobuyoshi Nakada * file.c (rb_find_file_ext, rb_find_file): no needs to expand paths with tilde twice. * load.c (rb_f_load): load the given path directly if not found in load_path. * load.c (search_required): search file in specified safe level. * load.c (rb_require_safe): path to load is already searched in search_required(). Tue Jun 23 12:43:56 2009 Nobuyoshi Nakada * configure.in: remove PACKAGE_* macros generated by autotools. [ruby-core:20938] Tue Jun 23 01:17:38 2009 Tanaka Akira * ruby.c (process_options): don't specify .so for encdb here. "." is replaced by "_" in load_encoding. * encoding.c (load_encoding): add .so here. Mon Jun 22 23:24:22 2009 Yukihiro Matsumoto * variable.c (rb_generic_ivar_memsize): typo fixed. a patch from Kazuhiro NISHIYAMA. [ruby-dev:38700] * ext/objspace/objspace.c (memsize_of): ditto. Mon Jun 22 21:21:59 2009 Tanaka Akira * io.c: remove __CHECKER__ test. * dir.c: ditto. * dln.c: ditto. * file.c: ditto. * process.c: ditto. Mon Jun 22 17:15:38 2009 Yukihiro Matsumoto * ext/stringio/stringio.c (strio_each_codepoint): new method. [ruby-core:23949] * ext/stringio/stringio.c (strio_each_codepoint): ditto. Mon Jun 22 16:26:11 2009 Nobuyoshi Nakada * ruby.c (ruby_init_loadpath_safe): removed "." from load_path. Mon Jun 22 16:14:30 2009 Nobuyoshi Nakada * compile.c (iseq_set_arguments, iseq_compile_each): internal arrays must be hidden. [ruby-dev:38613] * vm.c (Init_top_self): ditto. Mon Jun 22 14:41:47 2009 Nobuyoshi Nakada * ruby.c (process_options), enc/prelude.rb: encdb and transdb are extension libraries. * ruby.c (process_options): set progname earlier. Mon Jun 22 13:50:23 2009 Nobuyoshi Nakada * io.c (rb_io_fdatasync): new method IO#fdatasync. Sun Jun 21 22:33:05 2009 Yusuke Endoh * load.c (Init_load): $: must be readonly. [ruby-dev:38690] * ruby.c (ruby_prog_init): $-W must be readonly. [ruby-dev:38691] Sun Jun 21 10:47:21 2009 Nobuyoshi Nakada * lib/fileutils.rb (FileUtils::Entry_#copy_file): open with default umask. [ruby-core:23952] Sun Jun 21 10:46:32 2009 Nobuyoshi Nakada * transcode.c (enc_arg): default internal encoding may not be set. [ruby-core:23932] Sat Jun 20 21:11:43 2009 Tadayoshi Funaba * numeric.c (num_div): don't use num_floor which is actually flo_floor. * numeric.c (num_modulo): don't call '%'. * numeric.c (num_divmod): use num_modulo. * numeric.c: defined '%'. * rational.c (nurat_idiv,nurat_mod,nurat_divmod,nurat_rem): removed. Sat Jun 20 20:28:44 2009 Tadayoshi Funaba * complex.c: edited rdoc. * numeric.c: ditto. Sat Jun 20 08:56:47 2009 Tadayoshi Funaba * complex.c: edited rdoc. * rational.c: ditto. * numeric.c: ditto. Sat Jun 20 07:17:52 2009 Yukihiro Matsumoto * lib/monitor.rb (MonitorMixin::extend_object): should use #__send__ instead of #send to avoid possible name conflict. [ruby-core:23907] Sat Jun 20 06:56:31 2009 Tadayoshi Funaba * complex.c: edited rdoc. * rational.c: ditto. Sat Jun 20 05:08:59 2009 Tadayoshi Funaba * complex.c: edited rdoc. * rational.c: ditto. Sat Jun 20 04:30:35 2009 Tadayoshi Funaba * rational.c (nurat_abs): removed. Sat Jun 20 03:34:16 2009 Tadayoshi Funaba * complex.c: added rdoc. Fri Jun 19 23:43:38 2009 Tadayoshi Funaba * numeric.c: edited rdoc. Fri Jun 19 22:58:16 2009 Tadayoshi Funaba * rational.c: edited rdoc. Fri Jun 19 22:21:17 2009 Tadayoshi Funaba * numeric.c: edited rdoc. Fri Jun 19 21:56:01 2009 Tadayoshi Funaba * rational.c (nurat_expt): delegates to complex when self is negative. because Float#** does not produce complex. Fri Jun 19 21:40:58 2009 Tadayoshi Funaba * numeric.c: edited rdoc. * rational.c: ditto. Fri Jun 19 20:53:54 2009 Yukihiro Matsumoto * encoding.c (rb_enc_name_list): update RDoc. [ruby-core:23926] Fri Jun 19 20:44:45 2009 Tadayoshi Funaba * complex.c: constant COMPLEX_NAME has been removed. * rational.c: constant RATIONAL_NAME has been removed. Fri Jun 19 20:39:46 2009 Tadayoshi Funaba * rational.c: added rdoc. a patch from Run Paint Run Run. Fri Jun 19 17:04:59 2009 Yukihiro Matsumoto * numeric.c (flo_cmp): should always return nil for NaN. * numeric.c (flo_cmp): handle infinite value specially using infinite? method internally. [ruby-dev:38681] Fri Jun 19 09:28:45 2009 Tadayoshi Funaba * numeric.c (*_numerator,*_denominator): moved to rational.c. * rational.c (*_numerator,*_denominator): moved from numeric.c. Fri Jun 19 08:14:07 2009 Nobuyoshi Nakada * bignum.c (big_lshift, big_rshift): return Bignum always without normalization. [ruby-dev:38679] Thu Jun 18 22:31:38 2009 Tadayoshi Funaba * rational.c (nurat_s_convert): calls to_r when the given argument is non-integer. * rational.c (nurat_s_convert): raises TypeError when the given argument is nil. * complex.c (nucomp_s_convert): ditto. Thu Jun 18 20:32:11 2009 Tadayoshi Funaba * numeric.c (num_numerator, num_denominator): use to_r [ruby-core:23910]. Thu Jun 18 16:21:05 2009 Ryan Davis * lib/minitest/*.rb: Imported minitest 1.4.0 r5083. * test/minitest/*.rb: ditto. Thu Jun 18 10:12:49 2009 Yukihiro Matsumoto * ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): went infinity too early. add BASE_FIG margin. [ruby-dev:38673] Thu Jun 18 01:35:51 2009 Yukihiro Matsumoto * numeric.c (flo_cmp): Infinity is greater than any bignum number. [ruby-dev:38672] * bignum.c (rb_big_cmp): ditto. Thu Jun 18 01:29:16 2009 Nobuyoshi Nakada * file.c (file_expand_path): drive letter is ascii only. [ruby-dev:38612] Thu Jun 18 01:09:27 2009 Nobuyoshi Nakada * configure.in (ridir, RI_BASE_NAME): fixed for path expansion. [ruby-core:23876] Wed Jun 17 23:46:08 2009 Tadayoshi Funaba * rational.c (nurat_coerce): accepts Complex when the imag is exact zero. Wed Jun 17 21:25:54 2009 Tadayoshi Funaba * bignum.c (rb_big_fdiv): checks whether the given second argument can be converted to float properly. * numeric.c (fix_fdiv): calls rb_big_fdiv when the given second argument is a bignum. * rational.c (nurat_fdiv): should calculate Float(x/y), not Float(x)/Float(y). Wed Jun 17 16:57:40 2009 Yukihiro Matsumoto * load.c (rb_f_require): RDoc updated. a patch from Run Paint Run Run in [ruby-core:23833]. * load.c (rb_mod_autoload): ditto. [ruby-core:23835] Wed Jun 17 14:37:18 2009 Nobuyoshi Nakada * sample/test.rb (valid_syntax?): skips BOM. [ruby-dev:38666] * test/ruby/test_system.rb (TestSystem#valid_syntax?): ditto. Wed Jun 17 13:54:18 2009 Yukihiro Matsumoto * ext/strscan/strscan.c (Init_strscan): remove obsolete matchedsize method, use matched_size instead. [ruby-dev:38591] Wed Jun 17 12:37:37 2009 Yukihiro Matsumoto * thread.c (ruby_thread_stack_overflow): call rb_exc_raise() on stack overflows in the signal handler, if sigaltstack is available. On stack overflow (and with sigaltstack), the signal handler is more likely to have room to create an exception object. [ruby-core:23813] Wed Jun 17 08:10:38 2009 Koichi Sasada * ext/objspace: added. objspace library extends some methods to ObjectSpace module. Wed Jun 17 08:14:01 2009 Tadayoshi Funaba * complex.c (nucomp_coerce): accepts Complex instances. * rational.c (nurat_coerce): accepts Rational instances. [ruby-core:23859] Wed Jun 17 07:36:22 2009 NARUSE, Yui * lib/webrick/httputils.rb (parse_form_data): escape boundary of multipart/form-data when embed in regexp. Wed Jun 17 07:24:26 2009 Koichi Sasada * array.c (rb_ary_memsize): added. * io.c (rb_io_memsize): added. * regcomp.c (onig_memsize): added. * string.c (rb_str_memsize): added. * transcode.c (rb_transcoding_memsize, rb_econv_memsize): added. * variable.c (rb_geneic_ivar_memsize): added. Wed Jun 17 07:04:33 2009 Koichi Sasada * iseq.c (iseq_memsize): added. Use RTypedData instead of RData for ISeq. * vm.c (env_memsize, vm_memsize, thread_memsize): added. Use RTypedData instead of RData for Env, VM, Thread. Wed Jun 17 06:48:28 2009 Koichi Sasada * st.c, include/ruby/st.h (st_memsize): added. This function returns the memory usage of st_table. Wed Jun 17 06:19:06 2009 Koichi Sasada * include/ruby/ruby.h: New structure RTypedData, added. This structure includes more explicit type information for T_DATA objects. If RData(obj)->dfree is immediate value `1' on T_DATA object obj, obj is needed to be accessed with RTYPEDDATA(obj) instead of RDATA(obj). A RTypedData structure points the structure rb_typed_data_t. rb_typed_data_t includes information such as the type name of this data, mark and free function what RData includes, and memsize function show how data consuming the memory size. Note that you do not need any change existing T_DATA objects. If you use RDataType instead of RData on T_DATA object, you can specify explicit type information. * gc.c (rb_data_typed_object_alloc, rb_objspace_data_type_memsize, rb_objspace_data_type_name): added. Wed Jun 17 06:14:23 2009 Koichi Sasada * gc.c: fix indent. Wed Jun 17 06:05:03 2009 Koichi Sasada * gc.c (rb_objspace_each_objects): New C API, added. Wed Jun 17 00:31:30 2009 Yukihiro Matsumoto * test/ruby/test_argf.rb (TestArgf#test_skip): updated test according to clarified behavior. Tue Jun 16 22:47:37 2009 Yukihiro Matsumoto * io.c (fptr_finalize): revert last change. [ruby-dev:38648] * io.c (fptr_finalize): skip close(2) for fd 0,1,2. Tue Jun 16 20:07:09 2009 NARUSE, Yui * transcode.c (transcode_restartable0): refix can't build with VC9. Tue Jun 16 16:09:59 2009 TAKANO Mitsuhiro (takano32) * parse.y (parser_read_escape, parser_tokadd_escape): replace scan_oct as ruby_scan_oct. Tue Jun 16 06:40:31 2009 Yukihiro Matsumoto * io.c (fptr_finalize): should close stdin/stdout/stderr when closed explicitly. [ruby-core:23853] * io.c (argf_skip): should close only when current_file is available. Tue Jun 16 01:50:02 2009 Tanaka Akira * vm_eval.c (rb_call0): refine exception message for hidden objects. Mon Jun 15 22:35:31 2009 Tadayoshi Funaba * bignum.c (rb_big2db): (-Float::MAX.to_i*2).to_f should return -HUGE_VAL (-Infinity). Mon Jun 15 18:48:41 2009 Yukihiro Matsumoto * io.c (argf_each_line): should return self. [ruby-core:23852] * io.c (argf_each_byte, argf_each_char): ditto. Mon Jun 15 17:48:42 2009 Yukihiro Matsumoto * gc.c (os_obj_of): invoke garbage collection before iteration, to avoid accessing half recycled object references. [ruby-dev:38613] Mon Jun 15 11:04:30 2009 Nobuyoshi Nakada * .gdbinit (rp, iseq): load dummy_gdb_enums on demand. [ruby-dev:38606] Sun Jun 14 14:57:57 2009 Koichi Sasada * thread.c, vm_eval.c: add Thread.backtrace. * test/ruby/test_thread.rb: add a test. Sun Jun 14 13:58:32 2009 Koichi Sasada * transcode.c (transcode_restartable0): revert last commit because this change cause SEGV at test-all. Sun Jun 14 10:49:18 2009 Nobuyoshi Nakada * file.c (rb_find_file_ext, rb_find_file): canonicalize absolute paths. [ruby-core:23845] * file.c (rb_file_size): added rdoc. a patch from Run Paint Run Run at [ruby-core:23839]. Sun Jun 14 07:53:26 2009 Tadayoshi Funaba * complex.c (nucomp_fdiv): use fdiv recursively. * complex.c (nucomp_expt): reduced code. Sun Jun 14 03:37:09 2009 NARUSE, Yui * enc/trans/utf8_mac.trans: remove wrong optimization. Sun Jun 14 01:53:00 2009 NARUSE, Yui * transcode.c (transcode_restartable0): can't build with VC9. Sun Jun 14 01:23:41 2009 Tadayoshi Funaba * rational.c (nurat_to_f): use fdiv. Sat Jun 13 15:03:41 2009 Nobuyoshi Nakada * load.c (load_lock): show backtrace at circular require. * load.c (rb_provide): assumes us-ascii only. * load.c (rb_require_safe): FilePathValue() implies rb_str_new4(). * load.c (rb_mod_autoload): try conversion to path like as require. [ruby-core:23834] Sat Jun 13 09:58:26 2009 Nobuyoshi Nakada * marshal.c (r_ivar): should not set internal encoding ivar as an ordinary ivar. [ruby-dev:38596] Sat Jun 13 07:08:40 2009 Nobuyoshi Nakada * vm_eval.c (rb_f_local_variables): now returns symbols. a patch from Run Paint Run Run at [ruby-core:23828]. Sat Jun 13 07:06:54 2009 Nobuyoshi Nakada * vm_eval.c (rb_f_catch): updated rdoc about generalized argument, and the case without arguments. [ruby-core:23827] Sat Jun 13 06:50:31 2009 Nobuyoshi Nakada * lib/net/protocol.rb (Net::BufferedIO#rbuf_fill): TimeoutError is obsolete, use Timeout::Error instead. [ruby-core:23821] Sat Jun 13 06:45:46 2009 Nobuyoshi Nakada * vm_eval.c (rb_f_throw): fixed rdoc about exception. [ruby-core:23824] Fri Jun 12 14:56:50 2009 Nobuyoshi Nakada * file.c (file_expand_path): associate the input encoding when copying an absolute path. [ruby-dev:38594] Fri Jun 12 02:41:21 2009 Nobuyoshi Nakada * string.c (str_replace_shared): shared target must be frozen. [ruby-core:23727] Thu Jun 11 21:05:09 2009 Tadayoshi Funaba * lib/cmath.rb (exp): omitted redundant function call. Thu Jun 11 17:49:33 2009 Nobuyoshi Nakada * ext/bigdecimal/bigdecimal.c (gfCheckVal): never used. * ext/bigdecimal/bigdecimal.c (VpInit): fixed format modifiers. * ext/bigdecimal/bigdecimal.c (VPrint): constified. Thu Jun 11 15:27:17 2009 Yukihiro Matsumoto * lib/prime.rb: documentation typo fixed. a patch from okkez. [ruby-dev:38586] Wed Jun 10 18:15:17 2009 NAKAMURA Usaku * dir.c (dir_s_getwd): directory path's encoding should be filesystem's one. * lib/tmpdir.rb: ditto (but not finished yet.) Wed Jun 10 06:28:15 2009 Eric Hodel * lib/rubygems*: Upgrade to RubyGems 1.3.4 r2223. Tue Jun 9 22:38:09 2009 Tadayoshi Funaba * lib/cmath.rb (log10): raised exception when the given number is a negative real. Tue Jun 9 15:13:14 2009 Nobuyoshi Nakada * dir.c (dir_s_glob): fixed rdoc. a patch from Joseph Pecoraro a [ruby-core:23767]. * dir.c (sys_warning): get rid of type-punning function cast. * dir.c (ruby_glob0): get rid of possible overflow. Tue Jun 9 10:58:48 2009 Nobuyoshi Nakada * Makefile.in, win32/Makefile.sub (RMALL): need for distclean-rdoc. Tue Jun 9 01:07:33 2009 Koichi Sasada * thread.c: rename functions which require a parameter "rb_thread_t *", the prefix to be rb_threadptr_ instead of rb_thread_. * thread.c (rb_thread_add_event_hook(), rb_thread_remove_event_hook): change the parameter type from rb_thread_t * to VALUE. * eval.c, eval_error.c, eval_intern.h, signal.c, vm_core.h, vm_eval.c: ditto. * include/ruby/intern.h: remove decl of rb_thread_signal_raise() and rb_thread_signal_exit(). Mon Jun 8 05:07:41 2009 Koichi Sasada * thread_pthread.c (rb_thread_create_timer_thread): print fatal error message to stderr instead of using rb_bug(). * KNOWNBUGS.rb, bootstraptest/test_fork.rb: move a fixed test. Sun Jun 7 22:44:20 2009 Tadayoshi Funaba * lib/cmath.rb (log): avoided redundant expression. Sat Jun 6 02:49:05 2009 Yukihiro Matsumoto * hash.c (rb_hash_reject_bang): always check frozen status. [ruby-core:23715] * hash.c (rb_hash_update): ditto. * hash.c (rb_hash_reject_bang): call rb_hash_foreach() directly. * hash.c (rb_hash_update_i): call st_insert() directly. * hash.c (rb_hash_update_block_i): ditto. Fri Jun 5 07:12:32 2009 Yukihiro Matsumoto * lib/mkmf.rb (#link_command): should dup CONFTEST_C which is frozen. ref [ruby-core:23675]. [ruby-core:23702] Thu Jun 4 02:25:51 2009 Yukihiro Matsumoto * lib/base64.rb: typo fixed. a patch from okkez. [ruby-dev:38564] Wed Jun 3 09:03:23 2009 Yukihiro Matsumoto * enum.c (enum_first): should check negative length. Tue Jun 2 17:32:40 2009 Yukihiro Matsumoto * enum.c (first_i): Enumerator#first should consume only what is needed. a patch from Marc-Andre Lafortune. [ruby-core:23661] * enum.c (enum_first): call to_int once for an argument. based on a patch from Marc-Andre Lafortune. Tue Jun 2 13:27:21 2009 Kazuhiro NISHIYAMA * test/ripper/test_filter.rb: add tests. see [ruby-dev:37856] Tue Jun 2 07:44:43 2009 Yukihiro Matsumoto * string.c (rb_str_gsub_bang): modify check at the beginning. [ruby-core:23662] ref [ruby-core:23657] * string.c (rb_str_rstrip_bang): ditto. [ruby-core:23657] * string.c (rb_str_chop_bang): ditto. * string.c (rb_str_chomp_bang): ditto. * string.c (rb_str_reverse_bang): modify check added. [ruby-core:23671] Mon Jun 1 11:21:29 2009 Nobuyoshi Nakada * cont.c (cont_capture, fiber_store): reraise transferred error. * cont.c (fiber_switch): transfers dead fiber error to the previous or root fiber if the current fiber is dead. [ruby-core:23651] Mon Jun 1 10:41:41 2009 Nobuyoshi Nakada * include/ruby/intern.h (rb_exc_new2): optimization for literal. Mon Jun 1 07:20:02 2009 Yukihiro Matsumoto * ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): returns Inf if exp is bigger than DBL_MANT_DIG. Sun May 31 23:28:00 2009 Nobuyoshi Nakada * lib/mkmf.rb (create_makefile): checks for duplication of source files. Sun May 31 23:26:36 2009 Nobuyoshi Nakada * file.c (istrailinggarbage): fixed typo. Fri May 29 17:10:08 2009 Nobuyoshi Nakada * struct.c (Init_Struct): made #to_s an alias to #inspect to reduce the result of recursive struct. a patch from ujihisa a [ruby-dev:38554]. Fri May 29 17:08:23 2009 Nobuyoshi Nakada * hash.c (Init_Hash): made #to_s an alias to #inspect to reduce the result of recursive hash. a patch from ujihisa a [ruby-core:23601]. [ruby-dev:38555] Fri May 29 09:30:00 2009 Nobuyoshi Nakada * enum.c (collect_all): checks interrupts. [ruby-core:23594] Thu May 28 07:39:22 2009 Nobuyoshi Nakada * configure.in (THREAD_MODEL): reject unknown value and checks pthread.h only when pthread. [ruby-core:23577] Thu May 28 03:47:46 2009 Yukihiro Matsumoto * sample/optparse/opttest.rb: typo fixed. [ruby-dev:38544] Thu May 28 03:43:10 2009 Yukihiro Matsumoto * time.c (time_strftime): update RDoc according to info from Marc-Andre Lafortune in [ruby-core:23575]. [ruby-core:23564] Thu May 28 02:40:54 2009 Tanaka Akira * lib/uri: don't set @parser if it is DEFAULT_PARSER for marshaling URI objects between Ruby 1.8 and Ruby 1.9. [ruby-dev:38377] Wed May 27 23:00:38 2009 Nobuyoshi Nakada * parse.y (struct parser_params): lex_gets_ptr should be long. Wed May 27 18:00:15 2009 Yukihiro Matsumoto * bignum.c (bigand_int): new function to calculate bignum and fixnum without allocating internal bignum. * bignum.c (bigor_int): ditto. * bignum.c (bigxor_int): ditto. * bignum.c (bigand_int): even less object allocation. Wed May 27 14:29:55 2009 Yukihiro Matsumoto * marshal.c (w_encoding): more compact encoding information for US-ASCII and UTF-8. [incompatible] [experimental] * marshal.c (r_ivar): restore :E encoding information. Wed May 27 14:08:39 2009 Yukihiro Matsumoto * st.c (st_insert2): new function with processing new key, e.g. copy. * hash.c (rb_hash_aset): use st_insert2() to reduce redundant st_lookup calls. Wed May 27 02:31:38 2009 NARUSE, Yui * ext/readline/readline.c (readline_getc): the function for rl_getc_function must be a byte function. so use getbyte method. [ruby-dev:38535] Tue May 26 14:24:17 2009 Nobuyoshi Nakada * gc.c: fixed types. * common.mk (bignum.o, numeric.o): depend on util.h. * bignum.c, marshal.c: fixed types. * numeric.c (infinite_value): use ruby_div0. * include/ruby/util.h (ruby_div0): moved from marshal.c. Tue May 26 11:01:41 2009 TAKANO Mitsuhiro (takano32) * lib/mkmf.rb: use map! to replace strings in $objs array. Tue May 26 10:12:08 2009 Yukihiro Matsumoto * bignum.c (bignew_1): inline memory allocation. * bignum.c (bigtrunc): call rb_big_resize() only when needed. * bignum.c (bigfixize): declare inline. Tue May 26 05:39:28 2009 Nobuyoshi Nakada * include/ruby/ruby.h (FilePathValue): prevent from GC. * include/ruby/ruby.h (NUM2LONG): added GCC specific optimization. Tue May 26 03:41:29 2009 Nobuyoshi Nakada * time.c (rb_gmtime, rb_localtime): gmtime and localtime return NULL on error. [ruby-core:23551] Tue May 26 03:38:37 2009 Nobuyoshi Nakada * string.c (rb_str_each_char, rb_str_each_codepoint): string length must be long. Mon May 25 13:27:32 2009 TAKANO Mitsuhiro (takano32) * lib/mkmf.rb: dont use gsub! method for frozen string. Mon May 25 11:47:06 2009 Nobuyoshi Nakada * tool/mkconfig.rb, tool/instruby.rb: removed redundant code. Mon May 25 09:34:09 2009 Yukihiro Matsumoto * string.c (rb_str_hash): avoid calling rb_enc_str_asciionly_p(). * string.c (rb_str_replace): avoid redundant calling rb_str_new4(). * string.c (str_replace): factor out replacement from rb_str_replace() without type check nor discarding the destination contents. Mon May 25 08:06:52 2009 Nobuyoshi Nakada * string.c (rb_str_partition): should use the converted result. a patch from Marc-Andre Lafortune at [ruby-core:23540]. * string.c (rb_str_rpartition): ditto. Mon May 25 06:25:38 2009 Yukihiro Matsumoto * test/ruby/test_hash.rb (TestHash::test_equal2): recursive hashes are handled properly now. ref: [ruby-core:23402] * test/ruby/test_m17n.rb (TestM17N#test_sprintf_p): test fixed Mon May 25 05:32:19 2009 Yukihiro Matsumoto * lib/cgi/core.rb (CGI::HTTP_STATUS): typo fixed. a patch from Nobuhiro IMAI. [ruby-dev:38538] Sun May 24 22:48:17 2009 Nobuyoshi Nakada * thread.c (rb_exec_recursive_paired): new function for proper handling of recursive arrays. [EXPERIMENTAL] [ruby-core:23402] * array.c (rb_ary_equal, rb_ary_eql, rb_ary_cmp): use above. * hash.c (hash_equal): ditto. Sun May 24 22:39:33 2009 Nobuyoshi Nakada * error.c (syserr_initialize): errno is int. Sun May 24 00:52:54 2009 Yuki Sonoda (Yugui) * configure.in ($ridir): new configuration. [ruby-core:23520]. c.f. [ruby-core:23519]. (--with-ridir): new configure option. * tool/instruby.rb (:doc, :rdoc): uses $ridir instead of a fixed path. * lib/rdoc/ri/paths.rb: follows $ridir. * Makefile.in: removes RIDATADIR which is no longer used. * bcc32/Makefile.sub: generates the 'ridir' entry for RbConfig. removes RIDATADIR which is no longer used. * win32/Makefile.sub: ditto. Sat May 23 23:52:33 2009 Yukihiro Matsumoto * string.c (rb_str_each_char): return original string. [ruby-core:23499] * string.c (rb_str_each_codepoint): protect string from modification. Sat May 23 21:48:58 2009 Nobuyoshi Nakada * ext/dl/handle.c (rb_dlhandle_s_sym): added a method to access using RTLD_NEXT. [ruby-dev:38152] * ext/dl/handle.c (Init_dlhandle): added constants DEFAULT and NEXT which correspond to RTLD_DEFAULT and RTLD_NEXT. Sat May 23 18:53:13 2009 Nobuyoshi Nakada * ext/dl/lib/dl/cparser.rb (DL::CParser#parse_struct_signature): splitting with regexp source string is obsolete. a patch from Minwoo Lee at [ruby-core:23494]. * ext/dl/cptr.c (rb_dlptr_cmp): return signed value, and restrict to Fixnum. [ruby-dev:38533] Fri May 22 23:22:53 2009 Yuki Sonoda (Yugui) * missing/vsnprintf.c (errno): [BUG] fixes a compilation error on SIZEOF_LONG > SIZEOF_INT. (BSD_vfprintf): ditto. Fri May 22 23:20:48 2009 Yuki Sonoda (Yugui) * spec/default.mspec: follows runruby.rb's move at r23542. Fri May 22 21:38:55 2009 Yusuke Endoh * NEWS: add Time#to_r. Fri May 22 20:29:01 2009 Yuki Sonoda (Yugui) * config.guess: moved into tool/. * config.sub: ditto. * install-sh: ditto * configure.in: follows the moves. * LEGAL: ditto. Fri May 22 20:10:18 2009 Yuki Sonoda (Yugui) * instruby.rb: moved into tool/. * mkconfig.rb: ditto. * rubytest.rb: ditto. * runruby.rb: ditto. * common.mk: follows the moves. * configure.in: ditto. * win32/Makefile.sub: ditto. Fri May 22 05:09:43 2009 Yukihiro Matsumoto * array.c (rb_ary_slice_bang): avoid call of rb_scan_args() unless it's really necessary. Thu May 21 22:17:52 2009 Nobuyoshi Nakada * template/id.h.tmpl, id.h (enum ruby_method_ids): added some IDs. * debug.c (dummy_gdb_enums): added enum ruby_method_ids. * .gdbinit (rp): improved output of Symbol. Thu May 21 21:07:22 2009 Nobuyoshi Nakada * missing/vsnprintf.c (BSD_vfprintf): support for 'z' modifier. Thu May 21 18:55:33 2009 Yuki Sonoda (Yugui) * gem_prelude.rb (Gem.default_dir and misc.): use rubylibprefix. follows the change in r23368. Thu May 21 12:07:43 2009 Nobuyoshi Nakada * include/ruby/ruby.h (RB_EVENT_HOOKS_HAVE_CALLBACK_DATA): new macro for compatibility check. Thu May 21 01:43:40 2009 Nobuyoshi Nakada * include/ruby/ruby.h (rb_long2int, RARRAY_LENINT): check long to cast to int. [ruby-dev:38508] * struct.c, vm_eval.c, vm_insnhelper.c: use RARRAY_LENINT. Wed May 20 21:00:27 2009 Yuki Sonoda (Yugui) * rb_enc_get_index: allows an arbitrary RData as the argument but not only what points a rb_encoding. Wed May 20 20:54:37 2009 Yuki Sonoda (Yugui) * spec/.gitignore: ignores rubyspec/ and mspec/. Wed May 20 19:41:44 2009 Nobuyoshi Nakada * struct.c (rb_struct_new): get rid of too large alloca. * struct.c (rb_struct_hash): use long. Wed May 20 18:58:27 2009 Nobuyoshi Nakada * vm_eval.c, vm_insnhelper.c: argument number is restricted to int, and fixed overflow. Wed May 20 18:34:30 2009 Nobuyoshi Nakada * enum.c (zip_ary): should use long. * enumerator.c (inspect_enumerator): should use long. Wed May 20 09:18:44 2009 Yukihiro Matsumoto * string.c (rb_str_count): optimized for 1byte string count by avoiding tr_setup_table(). Wed May 20 06:25:29 2009 Yukihiro Matsumoto * encoding.c (rb_enc_fast_mbclen): faster mbclen for strings known to be valid. * string.c (enc_strlen): coderange specified version of rb_enc_strlen(). use rb_enc_fast_mbclen() if coderange is 7bit or valid. * string.c (str_gsub): use rb_enc_fast_mbclen(). * string.c (rb_str_reverse, rb_str_split_m, rb_str_each_char, scan_once): ditto. Wed May 20 06:20:05 2009 Yukihiro Matsumoto * lib/tempfile.rb (Tempfile#unlink): close first for Windows. a patch from Florian Frank. [ruby-core:23505] Wed May 20 00:13:38 2009 Yukihiro Matsumoto * encoding.c (rb_enc_codepoint_len): combine rb_enc_codepoint() and rb_enc_codelen() in one function to reduce calls. * encoding.c (rb_enc_codepoint): compatibility function. * sprintf.c (rb_str_format): use rb_enc_codepoint_len(). * string.c (rb_str_inspect, rb_str_upcase_bang, rb_str_downcase_bang, rb_str_capitalize_bang, rb_str_swapcase_bang, trnext, tr_trans, rb_str_delete_bang, rb_str_squeeze_bang, rb_str_count, rb_str_split_m, rb_str_each_line, rb_str_each_codepoint, rb_str_lstrip_bang, sym_printable): ditto. * transcode.c (make_econv_exception): use rb_enc_mbc_to_codepoint() Wed May 20 00:05:52 2009 Yukihiro Matsumoto * vm_method.c (rb_attr): should preserve encoding info. [ruby-dev:38498] Tue May 19 22:54:35 2009 Yusuke Endoh * time.c (time_minus): always return a Float. [ruby-dev:38446] * time.c (time_to_r): new method. [ruby-dev:38461] Tue May 19 13:59:35 2009 Yukihiro Matsumoto * class.c (clone_method): add cast to remove warning from rb_gc_write_barrier(). Tue May 19 13:54:15 2009 Yukihiro Matsumoto * struct.c (struct_ivar_get): new function to avoid repeated rb_intern() calls. * struct.c (rb_struct_iv_get): use struct_ivar_get() * struct.c (num_members): ditto. * struct.c (rb_struct_s_members): ditto. * class.c (rb_singleton_class): cache symbol to reduce calls to rb_intern(). Tue May 19 07:52:05 2009 Tanaka Akira * test/test_time.rb: make tests timezone independent. reported by zunda. [ruby-dev:38492] Mon May 18 21:40:11 2009 Tanaka Akira * lib/pathname.rb (Pathname#sub): suppress a warning. [ruby-dev:38488] Sun May 17 23:23:14 2009 Nobuyoshi Nakada * lib/mkmf.rb (SRC_EXT): should be flat. http://twitter.com/_tad_/status/1825862632 Sun May 17 23:05:05 2009 Nobuyoshi Nakada * ruby.c (ruby_init_loadpath_safe): VARIABLE_LIBPATH is always defined, see its value instead. Sun May 17 18:59:45 2009 Nobuyoshi Nakada * node.h (nd_line): NODE_LMASK is not needed. * node.h (NOEX_SAFE): made int. Sun May 17 14:23:08 2009 Nobuyoshi Nakada * compile.c (rb_parse_in_eval): returns true in true eval, not in main. [ruby-dev:38382] * parse.y (program): inherits dvars in eval or main. Sun May 17 14:02:56 2009 Nobuyoshi Nakada * ruby.c (ruby_script): sets also VM toplevel program name. * ruby.c (process_options): no longer needs additional frame. * vm.c (rb_vm_get_sourceline): should not access out of bound. Sun May 17 09:47:48 2009 Nobuyoshi Nakada * ruby.c (cmdline_options_init): initialize encodings. * ruby.c (add_modules, require_libraries, process_sflag): * ruby.c (process_sflag): not process twice. * ruby.c (moreswitches): get rid of possible overflow. Sun May 17 09:31:05 2009 Masaki Suketa * ext/win32ole/win32ole.c (foletypelib_name): should return encoded name corresponding to WIN32OLE.codepage. Sun May 17 09:02:56 2009 Nobuyoshi Nakada * ruby.c (ruby_init_loadpath_safe): support for cygwin 1.7. see [ruby-core:23241]. gets rid of possible buffer overflow with realpath(). * ruby.c (set_arg0): get rids of overrun. Sat May 16 18:38:32 2009 Kouhei Sutou * lib/rss/parser.rb: add nil check. Sat May 16 18:36:01 2009 Kouhei Sutou * test/rss/test_maker_atom_feed.rb: suppress warnings. Sat May 16 18:33:15 2009 Kouhei Sutou * NEWS: add RSS::Maker.supported?(version). Sat May 16 18:26:42 2009 Kouhei Sutou * lib/rss/parser.rb, test/test_parser_1.0.rb: fix foaf:Image element causes parse error even if ignore_unknown_element mode. Sat May 16 18:14:19 2009 Kouhei Sutou * lib/rss/maker.rb, lib/rss/maker/0.9.rb, test/test_maker_*.rb: add RSS::Maker.supported? Sat May 16 18:12:39 2009 Kouhei Sutou * lib/rss/content/*, lib/rss/dublincore/*: fix circular require. * test/test_maker_atom_feed.rb, test/test_maker_atom_entry.rb: suppress warnings. Sat May 16 18:07:17 2009 Kouhei Sutou * lib/rss/maker/feed.rb, test/test_maker_atom_feed.rb: remove needless codes. Sat May 16 18:05:07 2009 Kouhei Sutou * lib/rss/maker/entry.rb: fix a typo. Sat May 16 18:02:57 2009 Kouhei Sutou * lib/rss/maker/feed.rb, test/test_maker_atom_entry.rb, test/test_maker_atom_feed.rb: fix duplicated dc:date. Reported by Kazuhiro NISHIYAMA. Thanks!!! [ruby-list:46014] Sat May 16 18:02:16 2009 Kouhei Sutou * lib/rss/maker/base.rb, lib/rss/maker/1.0.rb, lib/rss/maker/feed.rb, test/rss/test_maker_1.0.rb, test/rss/test_maker_atom_feed.rb: RSS 1.0 and Atom feed maker treat maker.channel.language as maker.channel.dc_language. Sat May 16 17:57:39 2009 Nobuyoshi Nakada * ext/dl/lib/dl/callback.rb (DL#remove_callback_internal): ignore unbound function. [ruby-dev:38474] Sat May 16 17:51:11 2009 Kouhei Sutou * sample/rss/rss_recent.rb, sample/rss/list_description.rb: use UTF-8. Sat May 16 17:47:55 2009 Kouhei Sutou * lib/rss/rss.rb, test/rss/test_version.rb (RSS::VERSION): 0.2.5 -> 0.2.6. Sat May 16 17:26:04 2009 Narihiro Nakamura * iseq.c (rb_iseq_clone): use longlife object and insert write barrier. * vm_insnhelper.c (vm_cref_push): ditto. * vm_insnhelper.h (COPY_CREF): insert write barrier. Sat May 16 13:49:24 2009 Nobuyoshi Nakada * variable.c (rb_autoload_load): gets rid of false warning. [ruby-core:23466] Sat May 16 10:59:54 2009 Yukihiro Matsumoto * sample/drb/dhasenc.rb: add magic comment for encoding. * sample/mine.rb: ditto. * ext/tk/sample/tcltklib/sample1.rb: ditto. Sat May 16 09:49:05 2009 Nobuyoshi Nakada * parse.y (magic_comment_encoding): ignores unused emacs-style encoding comment, as like Vim styles. [ruby-core:23470] Sat May 16 09:30:14 2009 Nobuyoshi Nakada * defs/keywords (reserved_word): made inline function static. [ruby-core:23210] * parse.y (rb_reserved_word): ordinary function for ripper. Sat May 16 09:19:16 2009 Nobuyoshi Nakada * parse.y (magic_comment_encoding): use rb_compile_warning() to show the currently parsing file name. [ruby-core:23469] Sat May 16 09:03:29 2009 Nobuyoshi Nakada * configure.in (ruby_version): now version.h includes include/ruby/version.h, so need to tell to cpp to see $(srcdir)/include. [ruby-core:23468] Fri May 15 17:35:33 2009 Nobuyoshi Nakada * array.c (rb_ary_shift, rb_ary_shift_m): clears unused elements. [ruby-dev:38448] Fri May 15 15:15:12 2009 Nobuyoshi Nakada * variable.c (rb_autoload_load): checks if iv_tbl is valid. [ruby-dev:38456] Fri May 15 11:17:48 2009 NAKAMURA Usaku * win32/setup.mak (-version-): now version.h includes include/ruby/version.h, so need to tell to cpp to check $(srcdir)/include. reported by KIMURA Koichi at http://www.kt.rim.or.jp/%7ekbk/zakkicho/09/zakkicho0905b.html#D20090514-6 Thu May 14 16:13:32 2009 Nobuyoshi Nakada * ext/etc/etc.c (etc_getpwuid): use rb_uid_t. [ruby-dev:38443] * ext/stringio/stringio.c (strio_ungetbyte): encoding should no be effective. Thu May 14 10:17:45 2009 Nobuyoshi Nakada * sample/test.rb (valid_syntax?): defaults to us-ascii. Wed May 13 22:34:31 2009 Narihiro Nakamura * gc.c: add longlife garbage collection. [ruby-dev:38423] (NORMAL_HEAPS_USED): new macro. (LONGLIFE_ALLOCATE_HEAPS_MIN): ditto. (add_longlife_heaps_slot): new function. (rb_newobj_from_longlife_heap): ditto. (rb_newobj_longlife): ditto. (rb_node_newnode_longlife): ditto. (rb_gc_write_barrier): ditto. (remembered_set_recycle): ditto. (rb_gc_mark_remembered_set): ditto. (clear_mark_longlife_heaps): ditto. (gc_sweep_for_longlife): ditto. (assign_heap_slot): new argument to longlife heaps slot. (add_freelist): ditto. (gc_sweep): avoid longlife heap slot. set longlife_collection flag at add heap. (rb_gc_force_recycle): avoid mark object and remembered_set object. (garbage_collect): add longlife collection. (rb_gc_start): invoke longlife collection. (gc_profile_record_get): for longlife collection profile. (gc_profile_result): ditto. * include/ruby/intern.h (rb_gc_write_barrier): declared. * include/ruby/ruby.h (FL_REMEMBERED_SET): renamed from FL_RESERVED. * debug.c (FL_REMEMBERED_SET): ditto. * insns.def (setinlinecache): insert write barrier. * vm_insnhelper.c (vm_method_search): ditto. * set_relation (set_relation): use longlife object. * vm.c (vm_define_method): ditto. * vm_core.h (NEW_INLINE_CACHE_ENTRY): ditto. * vm_method.c (rb_add_method): ditto. * class.c (rb_add_method): ditto. * node.h (NEW_NODE_LONGLIFE): new macro. (rb_node_newnode_longlife): declared. Wed May 13 15:23:18 2009 Nobuyoshi Nakada * include/ruby/version.h: extracted the extensions interface and the never-changeable info. Wed May 13 03:20:47 2009 Tanaka Akira * time.c (time_init_1): unused variable removed. Tue May 12 21:03:02 2009 Tanaka Akira * time.c: support fixed UTC offset. [ruby-dev:38326] (leap_year_v_p): new macro. (TIME_FIXOFF_P): new macro. (TIME_SET_FIXOFF): new macro. (time_init_0): renamed from time_init. (time_set_utc_offset): new function. (vtm_add_offset): new function. (utc_offset_arg): new function. (time_init_1): new function. (time_init): call time_init_0 or time_init_1 according argc. (validate_utc_offset): new function. (time_localtime_m): new function. (time_fixoff): new function. (time_getlocaltime): take optional UTC offset argument. (time_get_tm): support fixed UTC offset time. (Init_Time): make Time#{initialize,localtime,getlocal} varargs. * strftime.c (rb_strftime): vtm->zone can be NULL now. Tue May 12 18:23:40 2009 NAKAMURA Usaku * yarvtest: removed because it's outdated. Mon May 11 21:46:20 2009 Yukihiro Matsumoto * parse.y: add semicolons to some grammar rules not terminated with them. a patch from Dave B in [ruby-core:23422]. Mon May 11 20:08:33 2009 Kazuhiro NISHIYAMA * io.c (Init_IO): add constant File::NOATIME. [ruby-core:23194] Mon May 11 13:08:30 2009 Nobuyoshi Nakada * mkconfig.rb (rubylibdir): use rubylibprefix. [ruby-dev:38426] Mon May 11 08:37:04 2009 Yukihiro Matsumoto * ext/bigdecimal/bigdecimal.c (BigDecimal_coerce): support coercing into Rational. [ruby-core:23415] Mon May 11 04:39:45 2009 Yukihiro Matsumoto * lib/net/smtp.rb (Net::SMTP#check_auth_args): should not change number of methods for the sake of compatibility. Sun May 10 11:36:11 2009 Nobuyoshi Nakada * ext/dl/cfunc.c (rb_dlcfunc_instance_p): new function to check if the argument is an instance of DL::CFunc. * ext/dl/cptr.c (rb_dlptr_initialize, rb_dlptr_s_malloc): checks if DL::CFunc. [ruby-dev:38403]. * ext/dl/lib/dl/cparser.rb (DL::CParser#parse_signature): strips spaces. based on a patch from Takashi Tamura in [ruby-dev:38398]. * ext/dl/lib/dl/value.rb (DL::ValueUtil#wrap_arg): block must be given if arg is not bound. [ruby-dev:38404] * ext/dl/cfunc.c (rb_dlcfunc_instance_p): new function to check if the argument is an instance of DL::CFunc. Sat May 9 19:57:00 2009 Kazuhiro NISHIYAMA * test/ruby/test_float.rb (TestFloat#test_sleep_with_Float): add a test. see [ruby-core:23282] Sat May 9 19:23:46 2009 Tadayoshi Funaba * lib/date.rb: use subsec instead of nsec. Sat May 9 12:19:49 2009 Nobuyoshi Nakada * hash.c: 3rd argument of rb_hash_foreach() is VALUE. * hash.c (rb_any_hash, recursive_hash): use VALUE for hash. Sat May 9 11:14:50 2009 Nobuyoshi Nakada * vm_eval.c (rb_f_catch): gets rid of issue with gcc 4.4. a patch from Alexey Froloff in [ruby-core:23398]. [ruby-core:22924] Fri May 8 19:38:54 2009 Nobuyoshi Nakada * lib/mkmf.rb (try_link0): removes waste dSYM directories left when debug and universal-binary are enabled. * lib/mkmf.rb (check_sizeof): fixed wrong recurring result for intrinsic types. Fri May 8 10:14:08 2009 Nobuyoshi Nakada * Makefile.in, configure.in, win32/Makefile.sub (RUBY_BASE_NAME): program base name. [ruby-dev:38241] * configure.in (--with-soname): base name of shared library. [ruby-dev:38290] Fri May 8 10:07:02 2009 Nobuyoshi Nakada * array.c (rb_ary_flatten_bang): clears temporary array. Fri May 8 02:30:14 2009 Akinori MUSHA * lib/set.rb (SortedSet#add): Do not require each newly added element to be Comparable but to respond to <=>. [ruby-dev:38371] Thu May 7 21:42:51 2009 Yusuke Endoh * test/ruby/test_rubyoptions.rb (test_indentation_check): add a test for indentation check. [ruby-dev:38382] Thu May 7 16:40:09 2009 Nobuyoshi Nakada * array.c (rb_ary_flatten_bang): returns nil if nothing changed. a patch from Marc-Andre Lafortune in [ruby-core:23382]. Thu May 7 14:26:14 2009 Nobuyoshi Nakada * array.c (rb_ary_sample): negative sample number is invalid. [ruby-core:23374] Thu May 7 14:16:24 2009 Nobuyoshi Nakada * string.c, include/ruby/encoding.h: fixed types. * include/ruby/encoding.h (rb_enc_nth): long is used for index. Thu May 7 14:01:55 2009 Nobuyoshi Nakada * range.c (r_le): fixed types. * range.c (range_eql): fixed rdoc. Thu May 7 13:10:25 2009 Nobuyoshi Nakada * io.c (pipe_open): should be rb_pid_t. Wed May 6 16:50:20 2009 Tanaka Akira * math.c (math_gamma): use a table for positive small integers. Wed May 6 09:27:04 2009 Nobuyoshi Nakada * README.ja: code for THINK_C does not exist already. [Bug #1435] Wed May 6 05:33:59 2009 Nobuyoshi Nakada * configure.in (CFLAGS, CXXFLAGS): strips extra spaces. Tue May 5 11:29:07 2009 NARUSE, Yui * tool/ifchange: Fix: arguments which begin with minus sign may parsed as options. Because of older systems, don't use -- but use parentheses. Tue May 5 10:42:28 2009 NARUSE, Yui * ext/json: Update to JSON 1.1.4. Tue May 5 07:22:37 2009 NARUSE, Yui * transcode.c: NOMAP is now multibyte direct map. * transcode.c: remove ASIS. * transcode_data.h: ditto. * tool/transcode-tb (ActionMap#generate_info): remove :asis. * tool/transcode-tb (ActionMap#generate_info): add :nomap0. * enc/trans/utf8_mac.trans: replace :asis by :nomap0. Sat May 2 22:53:02 2009 Akinori MUSHA * lib/set.rb (SortedSet): Fix document. [Bug #1429] Sat May 2 10:34:29 2009 NARUSE, Yui * enc/trans/utf8_mac-tbl.rb: don't use Unicode escape. * enc/trans/utf8_mac.trans: follow above. Sat May 2 09:19:40 2009 Nobuyoshi Nakada * array.c (Init_Array): made #to_s an alias to #inspect to reduce the result of recursive array. a patch from ujihisa at [ruby-dev:38362] Fri May 1 16:50:05 2009 Akinori MUSHA * lib/set.rb (Set#merge): Only directly use the passed objects @hash instance variable when self and the passed object are instances of the same class. [Bug #118] Fri May 1 16:44:11 2009 Akinori MUSHA * lib/set.rb (SortedSet#add): Do not let an incomparable object in. [Bug #118] Fri May 1 13:18:01 2009 Nobuyoshi Nakada * eval_intern.h (_longjmp): never return. see [ruby-core:23241] Fri May 1 01:31:19 2009 Tanaka Akira * ext/extmk.rb: use RbConfig instead of Config. * instruby.rb: ditto. * lib/rubygems.rb: ditto. * test/rubygems/test_config.rb: ditto. Thu Apr 30 21:23:30 2009 Tanaka Akira * runruby.rb: use RbConfig::CONFIG instead of Config::CONFIG. * spec/default.mspec: ditto. * yarvtest/yarvtest.rb: ditto. * instruby.rb: ditto. * benchmark/report.rb: ditto. * benchmark/runc.rb: ditto. * tool/eval.rb: ditto. * test/rubygems/test_gem.rb: ditto. * test/rubygems/test_config.rb: ditto. * test/rubygems/test_gem_platform.rb: ditto. Thu Apr 30 18:18:13 2009 Yukihiro Matsumoto * lib/net/http.rb: documentation typo fixed. [ruby-core:23335] Thu Apr 30 15:27:49 2009 Nobuyoshi Nakada * enc/trans/utf8_mac.trans: get rid of a 1.9 feature for cross compile. Thu Apr 30 11:35:30 2009 NARUSE, Yui * encoding.c (rb_filesystem_encoding): Change filesystem_encoding of Mac OS X to UTF-8. Wed Apr 29 21:23:40 2009 NARUSE, Yui * enc/iso_2022_jp.h: add CP50221. * enc/trans/iso2022.trans: add converter for CP50221. Wed Apr 29 15:22:26 2009 Nobuyoshi Nakada * file.c (rb_file_join): recursive array has no meaning as path name. [ruby-core:23329] Tue Apr 28 19:09:45 2009 Kazuhiro NISHIYAMA * test/test_timeout.rb (TestTimeout#test_timeout): add a test. Tue Apr 28 07:13:48 2009 Nobuyoshi Nakada * lib/pp.rb (Struct#pretty_print): coerce to a string since anonymous class has name no longer. [ruby-dev:38349] Mon Apr 27 16:47:12 2009 Nobuyoshi Nakada * configure.in (ruby_version): uses sed instead of grep if the result is need, to get rid of GREP_OPTIONS. [ruby-dev:38336] Mon Apr 27 01:25:11 2009 Nobuyoshi Nakada * ext/readline/readline.c (readline_getc): use rl_getc_function if possible, to get rid of hang up at EOF without a newline. Sun Apr 26 23:19:32 2009 NARUSE, Yui * enc/trans/utf8_mac.trans: Add converter for UTF8-MAC. * enc/trans/utf8_mac-tbl.rb: ditto. * test/ruby/test_econv.rb: tests for above. Sun Apr 26 22:17:02 2009 NARUSE, Yui * tool/transcode-tb (ActionMap#each_firstbyte): if :asis collides other mappings, use another. * tool/transcode-tb (ActionMap#generate_info): add :asis for ASIS. Sun Apr 26 21:59:43 2009 NARUSE, Yui * transcode.c (ASIS): added for multi byte direct map. * transcode.c (transcode_restartable0): ditto. Sun Apr 26 20:33:12 2009 NARUSE, Yui * tool/transcode-tb (ActionMap#generate_node): Use ActionMap#gennode instead of generate_node because of initialization. Sun Apr 26 20:21:39 2009 NARUSE, Yui * .gitignore: added. Sun Apr 26 20:17:24 2009 Tanaka Akira * lib/rake.rb: use RbConfig::CONFIG instead of Config::CONFIG. * lib/rbconfig/datadir.rb: ditto. Sun Apr 26 19:30:29 2009 Tanaka Akira * time.c (time_arg): unused variable removed. Sun Apr 26 18:35:32 2009 Nobuyoshi Nakada * io.c (io_reopen): keeps pathv for prep_stdio. [ruby-dev:38131] Sun Apr 26 15:13:09 2009 Nobuyoshi Nakada * lib/optparse.rb (OptionParser#parse_in_order): do not make an option from non-option argument. [ruby-dev:38333] Sat Apr 25 19:11:13 2009 Nobuyoshi Nakada * configure.in (ac_cv_func_daemon): use daemon(3) only on *BSD. * process.c (proc_daemon): double fork to ensure not having ctty. [ruby-core:23305] Sat Apr 25 16:19:48 2009 Tanaka Akira * time.c (month_arg): extracted from time_arg. (validate_vtm): ditto. Sat Apr 25 16:03:21 2009 Tanaka Akira * time.c (TIME_COPY_GMT): new macro. (time_s_at): use TIME_COPY_GMT. (time_succ): ditto. Sat Apr 25 15:54:04 2009 Tanaka Akira * time.c (time_mload): use TIME_SET_UTC. Sat Apr 25 15:47:54 2009 Tanaka Akira * time.c (time_get_tm): take time_object instead of gmt. Sat Apr 25 15:39:44 2009 Tanaka Akira * time.c (time_succ): refactored to avoid gmt variable. (strftimev): use TIME_UTC_P. (time_strftime): ditto. Sat Apr 25 15:21:33 2009 Tanaka Akira * time.c (TIME_UTC_P): new macro. (TIME_SET_UTC): ditto. (TIME_LOCALTIME_P): ditto. (TIME_SET_LOCALTIME): ditto. (time_utc_p): use the above macro. (time_localtime): ditto. (time_localtime): ditto. (time_gmtime): ditto. (time_to_s): ditto. (time_add): ditto. (time_sec): ditto. (time_min): ditto. (time_hour): ditto. (time_mday): ditto. (time_mon): ditto. (time_year): ditto. (time_wday): ditto. (wday_p): ditto. (time_yday): ditto. (time_isdst): ditto. (time_zone): ditto. (time_utc_offset): ditto. (time_to_a): ditto. (strftimev): ditto. (time_strftime): ditto. (time_mdump): ditto. Thu Apr 23 01:30:37 2009 Akinori MUSHA * ext/zlib/zlib.c (Zlib::GzipFile#path): New method. Wed Apr 22 20:25:24 2009 Nobuyoshi Nakada * time.c (time_timespec): check out-of-range. [ruby-core:23282] [Bug #1396] Wed Apr 22 19:33:13 2009 Tanaka Akira * lib/time.rb (Time.parse): use year completion in Date._parse. Wed Apr 22 11:12:15 2009 NAKAMURA Usaku * time.c (GMTIME, LOCALTIME): should set result if not have *_r(). * time.c (localtime_with_gmtoff): now always needed tmbuf. Wed Apr 22 10:38:47 2009 NAKAMURA Usaku * dir.c (glob_helper): C99(gcc)-ism. * time.c (find_time_t): GUESS macro needs the variable named ``result'' always. Wed Apr 22 09:27:31 2009 Nobuyoshi Nakada * time.c (localtime_with_gmtoff): fixed cross function jump. Wed Apr 22 03:06:56 2009 Tanaka Akira * lib/time.rb (Time#rfc2822): pad leading zeros for year. (Time#httpdate): ditto. (Time#xmlschema): ditto. Wed Apr 22 02:10:48 2009 Tanaka Akira * lib/time.rb (Time#xmlschema): use subsec instead of nsec. Wed Apr 22 01:27:38 2009 Tanaka Akira * time.c (time_arg): use the year argument as-is. [ruby-dev:38194] * lib/time.rb (Time.parse): interpret small year 0..99 as 1950..2049. Wed Apr 22 00:32:16 2009 Nobuyoshi Nakada * time.c (find_time_t): constified. Wed Apr 22 00:11:19 2009 Tanaka Akira * time.c (leap_year_v_p): removed. Tue Apr 21 23:52:45 2009 Tanaka Akira * time.c: remove time_t restriction from Time class. * timev.h: new file to define struct vtm. * strftime.c: format struct vtm instead of struct tm. * ext/syck/rubyext.c (mktime_do): don't use time_t; [ruby-dev:38191] Tue Apr 21 09:25:41 2009 Nobuyoshi Nakada * dir.c (dir_path, dir_each, glob_helper): use readdir_r() if available. Tue Apr 21 09:20:21 2009 Nobuyoshi Nakada * lib/mkmf.rb (init_mkmf): needs default library path even if cross compiling. Tue Apr 21 07:07:45 2009 Yukihiro Matsumoto * array.c (rb_ary_push): bypass rb_ary_store(). Tue Apr 21 01:25:16 2009 Yukihiro Matsumoto * bignum.c (bigsub_int): subtraction without making internal bignum values. * bignum.c (bigadd_int): ditto for addition. * bignum.c (bigtrunc): declare inline. * bignum.c (rb_quad_pack): fix condition. Tue Apr 21 01:13:42 2009 Alexander Zavorine * symbian/setup (config.h): added TIMET2NUM and NUM2TIMET to match the change in time.c Mon Apr 20 20:29:04 2009 Yukihiro Matsumoto * string.c (rb_str_split_m): faster processing on 7bit strings. * string.c (ascii_isspace): faster isspace() for 7bit strings. Sun Apr 19 14:43:18 2009 Nobuyoshi Nakada * eval.c (ruby_cleanup): the order of local variables on stack is undefined. should use outermost VALUE for ruby_init_stack. * gc.c (ruby_get_stack_grow_direction, Init_stack): allows volatile pointer. * thread_*.c (ruby_init_stack): ditto. Sun Apr 19 13:17:25 2009 Nobuyoshi Nakada * gem_prelude.rb (Gem::QuickLoader#push_gem_version_on_load_path): check for requirement if the gem is installed. a patch from Kyosuke MOROHASHI at [ruby-dev:38020]. Sun Apr 19 01:39:17 2009 Tanaka Akira * process.c (proc_seteuid_m): defined to use rb_f_notimplement if not implemented. (proc_setegid_m): ditto. Sun Apr 19 01:03:56 2009 Tanaka Akira * process.c (proc_setuid): use rb_f_notimplement if not implemented. (proc_setgid): ditto. Sat Apr 18 23:07:18 2009 Tanaka Akira * ext/readline/readline.c: use rb_f_notimplement for methods not implemented. * ext/openssl/ossl_engine.c: ditto. * ext/openssl/ossl_config.c: ditto. * ext/openssl/ossl_cipher.c: ditto. * ext/openssl/ossl_pkcs5.c: ditto. * ext/openssl/ossl_x509ext.c: ditto. * ext/socket/socket.c: ditto. * ext/socket/basicsocket.c: ditto. * ext/socket/ancdata.c: ditto. * ext/socket/unixsocket.c: ditto. * ext/iconv/iconv.c: ditto. Sat Apr 18 21:07:34 2009 Tanaka Akira * ext/curses/curses.c: use rb_f_notimplement for methods not implemented. Fri Apr 17 01:51:17 2009 Tanaka Akira * node.h (rb_notimplement_body_p): declared. * vm_method.c (Init_eval_method): suppress a warning. * io.c (rb_io_fsync): use rb_f_notimplement if not implemented. (rb_io_close_on_exec_p): ditto. (rb_io_set_close_on_exec): ditto. (rb_io_fcntl): ditto. (rb_f_syscall): ditto. * dir.c (dir_tell): ditto. (dir_seek): ditto. (dir_s_chroot): ditto. * process.c (proc_getpgrp): ditto. (proc_setpgrp): ditto. (proc_getpgid): ditto. (proc_setpgid): ditto. (proc_setsid): ditto. (proc_getpriority): ditto. (proc_setpriority): ditto. (proc_getrlimit): ditto. (proc_setrlimit): ditto. (p_sys_setuid): ditto. (p_sys_setruid): ditto. (p_sys_seteuid): ditto. (p_sys_setreuid): ditto. (p_sys_setresuid): ditto. (p_sys_setgid): ditto. (p_sys_setrgid): ditto. (p_sys_setegid): ditto. (p_sys_setregid): ditto. (p_sys_setreuid): ditto. (p_sys_setresgid): ditto. (p_sys_issetugid): ditto. (proc_getgroups): ditto. (proc_setgroups): ditto. (proc_initgroups): ditto. (proc_daemon): ditto. (rb_proc_times): ditto. * file.c (rb_file_s_lchown): ditto. (rb_file_s_link): ditto. (rb_file_s_symlink): ditto. (rb_file_s_readlink): ditto. (rb_file_s_truncate): ditto. (rb_file_truncate): ditto. Fri Apr 17 00:53:47 2009 Yusuke Endoh * lib/cgi/core.rb (read_multipart): When path is not defined, define local_path as a method always returning nil instead of aliasing. This is because StringIO#path no longer exists. Fri Apr 17 00:45:09 2009 Yusuke Endoh * dir.c (bracket): fix escape handling for range character in bracket of fnmatch pattern. e.g., '[a\-c]' should not match 'b'. Thu Apr 16 23:09:03 2009 Tanaka Akira * class.c (rb_define_method_id): use rb_define_notimplement_method_id if rb_f_notimplement is given. (rb_define_protected_method): ditto. (rb_define_private_method): ditto. (rb_define_method): use rb_define_method_id. * include/ruby/intern.h (rb_f_notimplement): declared. (rb_define_notimplement_method_id): declared. * proc.c (method_inspect): show not-implemented. * vm_method.c (notimplement_body): new variable. (rb_notimplement_body_p): new function. (rb_method_boundp): return false if not implemented. (rb_f_notimplement): new function. (rb_define_notimplement_method_id): new function. * process.c (rb_f_fork): use rb_f_notimplement if not implemented. * file.c (rb_file_s_lchmod): use rb_f_notimplement if not implemented. Wed Apr 15 20:24:49 2009 Yusuke Endoh * array.c (rb_ary_flatten): flatten(0) works as Array#dup. [ruby-core:23168] * test/ruby/test_array.rb: add a test for above. Wed Apr 15 11:53:35 2009 NARUSE, Yui * dir.c (fnmatch_helper): use rb_enc_precise_mbclen and fail if bytes are invalid. [ruby-dev:38307] Tue Apr 14 18:11:26 2009 Nobuyoshi Nakada * dir.c (bracket): if same in bytes, path is matching. [ruby-dev:38305] Mon Apr 13 17:21:40 2009 Nobuyoshi Nakada * sprintf.c (rb_str_format): scan coderange incrementally. Mon Apr 13 11:35:55 2009 NARUSE, Yui * sprintf.c (rb_str_format): optimize previous commit. [ruby-list:45954] Mon Apr 13 10:58:54 2009 NARUSE, Yui * sprintf.c (rb_str_format): check encoding compatibility only on real parts. Sun Apr 12 19:54:56 2009 Nobuyoshi Nakada * dir.c (bracket, fnmatch_helper): compare bytewise first, to get rid of invalid byte sequence. [ruby-dev:38303] Sat Apr 11 08:45:57 2009 Nobuyoshi Nakada * configure.in (Makefile): phony ruby target needs empty command. Fri Apr 10 11:32:14 2009 Nobuyoshi Nakada * common.mk (up): updates timestamp file. Fri Apr 10 04:54:01 2009 Nobuyoshi Nakada * configure.in (Makefile): info-program needs common.mk. Fri Apr 10 03:46:44 2009 Nobuyoshi Nakada * configure.in (RUBY_INSTALL_NAME): use --program-transform-name. * instruby.rb, mkconfig.rb: deal with --program-transform-name better. now supports s, y commands and single addressing. Thu Apr 9 23:59:11 2009 Tanaka Akira * configure.in: don't override the rule for ruby. Wed Apr 8 21:58:12 2009 Yusuke Endoh * string.c (rb_str_dump): buffer length plus one byte for null terminator. [ruby-dev:38294] * test/ruby/test_m17n.rb (test_str_dump): add a test for above. Wed Apr 8 20:08:16 2009 Nobuyoshi Nakada * string.c (rb_str_rstrip_bang): should not sign-expand non-ascii. [ruby-core:23158] Wed Apr 8 17:29:29 2009 NARUSE, Yui * string.c (rb_str_chop_bang): reset coderange. [ruby-core:23155] Wed Apr 8 14:00:04 2009 Nobuyoshi Nakada * lib/mkmf.rb (what_type?): fixed typo, and refined for member of aggregation types. * lib/mkmf.rb (Logging.postpone): copy postponed output always. Wed Apr 8 09:45:58 2009 Nobuyoshi Nakada * configure.in (LIBRUBY_SO): removed redundant additional version numbers. Tue Apr 7 13:35:22 2009 Nobuyoshi Nakada * common.mk (info): shows configured names. * configure.in (Makefile): works even if RUBY_INSTALL_NAME contains macro. * configure.in (LIBRUBY_DLDFLAGS): compatibility version is ruby_version. * configure.in (RUBY_REPLACE_TYPE): defines type modifier prefix for printf. Tue Apr 7 02:27:49 2009 Nobuyoshi Nakada * configure.in (RUBY_DEFINT): should pass includes to AC_CHECK_SIZEOF and RUBY_CHECK_SIZEOF. * configure.in (CFLAGS, CXXFLAGS): need ARCH_FLAG for universal binary. Tue Apr 7 01:08:21 2009 Nobuyoshi Nakada * numeric.c (flo_to_s): reduce fragments if no precision lost. c.f. [ruby-core:23075] Mon Apr 6 23:16:08 2009 Nobuyoshi Nakada * configure.in (CFLAGS, CXXFLAGS): override with $cflags and $cxxflags if not given. [ruby-core:23130] Mon Apr 6 19:26:18 2009 Nobuyoshi Nakada * file.c (utime_failed): refined the error message for EINVAL on DOSISH platforms, where it may fail depending on filesystems. see [ruby-dev:38277]. Mon Apr 6 16:38:50 2009 Nobuyoshi Nakada * file.c (sys_fail2, rb_file_s_readlink, BUFCHECK, rmext), (rb_file_s_basename): get rid of overflow. Mon Apr 6 15:11:56 2009 Nobuyoshi Nakada * numeric.c (int_chr): checks overflow. Mon Apr 6 10:49:47 2009 Nobuyoshi Nakada * test/stringio/test_stringio.rb (test_path): StringIO#path is no longer defined. [ruby-dev:38254] Mon Apr 6 10:47:13 2009 Nobuyoshi Nakada * ext/stringio/stringio.c (strio_path): removed. [ruby-dev:38254] Sun Apr 5 18:02:54 2009 Nobuyoshi Nakada * include/ruby/intern.h (rb_fd_resize): does nothing on Win32. Sat Apr 4 17:05:15 2009 Nobuyoshi Nakada * include/ruby/intern.h (RB_NUM_COERCE_FUNCS_NEED_OPID): macro to check compatibility. [ruby-dev:38162] Sat Apr 4 07:38:52 2009 Nobuyoshi Nakada * mkconfig.rb (sitearch): default to arch. Fri Apr 3 14:02:42 2009 Akinori MUSHA * lib/irb/completion.rb (IRB::InputCompletor::Operators): Add overloadable negative operators. * lib/irb/ruby-lex.rb (RubyLex#lex_init): Support overloadable negative operators. * lib/irb/ruby-lex.rb (RubyLex#identify_identifier): Minus signs need to be escaped in regexp character class. * misc/ruby-mode.el (ruby-font-lock-keywords, ruby-parse-partial): Support overloadable negative operators. Fri Apr 3 12:45:55 2009 Nobuyoshi Nakada * ext/extmk.rb: quotes arguments with spaces always. Thu Apr 2 14:50:06 2009 Yukihiro Matsumoto * lib/getoptlong.rb: remove unused rdoc/usage from example. [ruby-core:23098] Thu Apr 2 07:42:27 2009 Nobuyoshi Nakada * win32/Makefile.sub (config.h): updated. Wed Apr 1 20:37:49 2009 Tanaka Akira * configure.in (rb_cv_fork_with_pthread): fail if the child process fail. Wed Apr 1 19:46:46 2009 Nobuyoshi Nakada * lib/mkmf.rb (create_makefile): support for parallel make. a patch from Takuto Matsuu at [ruby-dev:38220]. Wed Apr 1 19:39:25 2009 Nobuyoshi Nakada * configure.in (LIBRUBY_LDSHARED): use $(CC) instead of cc. a patch from Wataru Kimura at [ruby-dev:38225]. Wed Apr 1 18:53:51 2009 Nobuyoshi Nakada * vm_dump.c (rb_vm_bugreport): should not #include inside a function, since headers may have declarations. c.f. [ruby-core:23095] Wed Apr 1 18:44:53 2009 Nobuyoshi Nakada * mkconfig.rb: ignores version numbers in config.status. replaces all $$s in program_transform_name. Wed Apr 1 15:12:21 2009 Nobuyoshi Nakada * Makefile.in (.c.i): use CPP instead of CC, since gcc -E can' work with multiple -arch options. Wed Apr 1 13:46:20 2009 Yukihiro Matsumoto * thread.c (rb_thread_fd_select): new function to call select using rb_fdset_t. * io.c (select_internal): use rb_thread_fd_select instead of rb_thread_select. based on the patch from Kengo Matsuyama. [ruby-dev:38221] Wed Apr 1 13:16:19 2009 Yukihiro Matsumoto * process.c (rb_f_sleep): RDoc disambiguation. [ruby-talk:332632] Tue Mar 31 15:17:37 2009 Nobuyoshi Nakada * configure.in: fixed the help strings for the header and library dir switches, and updated to use AS_HELP_STRING. patches from Richard Brown, c.f. [ruby-core:23067]. Mon Mar 31 08:18:57 2009 James Edward Gray II * test/csv/test_interface.rb, test/csv/test_serialization.rb: Trying more fixes some failing tests on Windows. Mon Mar 30 19:04:25 2009 Tanaka Akira * .gdbinit (rp): show negative fixnum correctly. Mon Mar 30 12:12:46 2009 Nobuyoshi Nakada * vm_eval.c (eval_string_with_cref): replaces the message if frozen. [ruby-dev:38208] Mon Mar 30 01:00:20 2009 James Edward Gray II * test/csv/test_interface.rb: Trying a fix for some failing tests on Windows. Sun Mar 29 08:59:26 2009 Nobuyoshi Nakada * lib/pathname.rb (Pathname#relative_path_from): compares path components according to system default case-sensitiveness. [ruby-core:22829] Sat Mar 28 11:10:32 2009 Nobuyoshi Nakada * common.mk (ruby.imp): all symbols in static library need to be exported, so that encoding-extensions can be loaded. based on a patch from Yutaka Kanemoto in [ruby-talk:332282]. Sat Mar 28 08:49:47 2009 Nobuyoshi Nakada * sprintf.c (rb_str_format): checks if named argument given twice. * sprintf.c (GETNAMEARG): remembers named arg is used, to get rid of too many arguments warning. Sat Mar 28 03:16:59 2009 Nobuyoshi Nakada * lib/mkmf.rb (link_command, cc_command, cpp_command): should no override extout defined in extmk.rb. Fri Mar 27 12:56:44 2009 Nobuyoshi Nakada * lib/mkmf.rb (what_type?): checks more restrictively, and supports universal binary. Fri Mar 27 01:33:37 2009 Tanaka Akira * time.c (time_cmp): negate the result of reverse comparison. Fri Mar 27 01:19:50 2009 Tanaka Akira * bignum.c (rb_cmpint): FIX2INT may fail on LP64 platforms. Thu Mar 26 12:22:06 2009 Nobuyoshi Nakada * lib/yaml/rubytypes.rb (String#is_binary_data?): TAB would be usually considered to be included in text data. * lib/rdoc/parser.rb (RDoc::Parser.binary?): blksize may be nil and is irrelevant to whether a file is binary. copied from above since TAB and newlines would be usually considered to be included in text data. Thu Mar 26 11:33:13 2009 Nobuyoshi Nakada * lib/rdoc/ri/paths.rb (RDoc::RI::Paths): considers --program-prefix and --program-suffix. reapplied r19923. Wed Mar 25 07:45:12 2009 Nobuyoshi Nakada * configure.in (target_alias): replaces cpu with universal too. * configure.in (target): replaces cpu with arch by --with-arch. * mkconfig.rb (TOPDIR): chops arch in config instead of RUBY_PLATFORM which varies on universal_binary. * mkconfig.rb (MAJOR, MINOR, TEENY): reads from version.h always. Tue Mar 24 19:23:44 2009 Nobuyoshi Nakada * configure.in (RUBY_CHECK_SIZEOF): need to include $4. Tue Mar 24 17:08:52 2009 Akinori MUSHA * io.c (rb_io_inspect): Cannot access fptr->fd if fptr is NULL. This fixes a coredump caused by: ruby -e "class X < IO; def initialize; end; end; p X.new.inspect" Mon Mar 23 22:01:00 2009 Tanaka Akira * time.c (time_timespec): use NUM2TIMET. (time_s_at): ditto. Mon Mar 23 21:52:26 2009 Akinori MUSHA * process.c (Init_process): Better patch for eliminating an "unused variable". Mon Mar 23 21:41:14 2009 Akinori MUSHA * ext/dbm/dbm.c (fdbm_initialize): Make the file variable volatile, because FilePathValue() currently does not protect the given variable from GC. (Probably it should) * ext/sdbm/init.c (fsdbm_initialize): Ditto. Mon Mar 23 19:22:14 2009 Akinori MUSHA * file.c (rb_file_s_lstat): Back out. Mon Mar 23 18:54:57 2009 Akinori MUSHA * file.c (rb_file_s_stat, rb_file_s_lstat): Remove repeated type checks. Mon Mar 23 14:57:48 2009 Narihiro Nakamura * gc.c (init_heap): set default to heap slots length if HEAP_OBJ_LIMIT is larger than HEAP_MIN_SLOTS. [Bug #1310] (set_heaps_increment): increment next_heaps_length if next_heaps_length and heaps_used are same. Mon Mar 23 14:32:23 2009 Nobuyoshi Nakada * win32/win32.c (rb_w32_spawn): use original command if not found. Mon Mar 23 06:51:16 2009 Nobuyoshi Nakada * enc/depend (link_so): replaces $(TARGET) with basename of the target. [ruby-talk:330286] Sun Mar 22 14:51:55 2009 Nobuyoshi Nakada * win32/win32.c (rb_w32_spawn, rb_w32_aspawn): use NULL as application name for batch files. Sat Mar 21 15:54:41 2009 Tanaka Akira * ext/openssl/ossl_ssl.c (write_would_block): defined. (read_would_block): defined. (ossl_start_ssl): add nonblock argument. (ossl_ssl_connect): follow ossl_start_ssl change. (ossl_ssl_connect_nonblock): new method. (ossl_ssl_accept): follow ossl_start_ssl change. (ossl_ssl_accept_nonblock): new method. (ossl_ssl_read_internal): use write_would_block and read_would_block. (ossl_ssl_write_internal): ditto. Sat Mar 21 08:19:52 2009 Nobuyoshi Nakada * process.c (rb_exec): prints error message only on platforms neither close-on-exec nor spawnv is supported. Sat Mar 21 08:17:41 2009 Nobuyoshi Nakada * win32/win32.c (rb_w32_spawn, rb_w32_aspawn): omit program name if actual program path is found. [ruby-core:22960] Sat Mar 21 07:25:56 2009 Nobuyoshi Nakada * io.c (pipe_open): should pass program name even if multiple arguments are given. fix for TestProcess::test_argv0. Sat Mar 21 02:37:07 2009 Tanaka Akira * ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#write_nonblock): new method. * ext/openssl/ossl_ssl.c (ossl_ssl_write_nonblock): new method. (ossl_ssl_write_internal): defined. (ossl_ssl_write): use ossl_ssl_write_internal. Fri Mar 20 18:25:25 2009 Nobuyoshi Nakada * win32/win32.c (errmap): added ERROR_MOD_NOT_FOUND. Fri Mar 20 09:22:59 2009 Nobuyoshi Nakada * configure.in (libprefix): must not append "lib" after $(libdir), when load_relative is not used on darwin. a patch from Kenta Murata at [ruby-dev:38182]. Thu Mar 19 20:29:40 2009 Tanaka Akira * io.c (rb_mWaitReadable): defined. (rb_mWaitWritable): defined. (io_getpartial): extend IO::WaitReadable on EWOULDBLOCK and EAGAIN. (rb_io_write_nonblock): extend IO::WaitWritable on EWOULDBLOCK and EAGAIN. * error.c (make_errno_exc): extracted from rb_sys_fail. (rb_mod_sys_fail): new function. * include/ruby/ruby.h (rb_mod_sys_fail): declared. (rb_mWaitReadable): declared. (rb_mWaitWritable): declared. * ext/socket/init.c (rsock_s_recvfrom_nonblock): extend IO::WaitReadable on EWOULDBLOCK and EAGAIN. (rsock_s_accept_nonblock): extend IO::WaitReadable on EWOULDBLOCK, EAGAIN, ECONNABORTED and EPROTO. * ext/socket/socket.c (sock_connect_nonblock): extend IO::WaitWritable on EINPROGRESS. * ext/socket/ancdata.c (bsock_sendmsg_internal): extend IO::WaitWritable on EWOULDBLOCK and EAGAIN. (bsock_recvmsg_internal): extend IO::WaitReadable on EWOULDBLOCK and EAGAIN. * ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): raise SSLError extended by IO::WaitReadable/IO::WaitWritable on SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE. * ext/openssl/ossl.c (ossl_make_error): extracted from ossl_raise. (ossl_exc_new): new function. * ext/openssl/ossl.h (ossl_exc_new): declared. * lib/net/protocol.rb (rbuf_fill): rescue IO::WaitReadable and IO::WaitWritable. [ruby-core:22539], [ruby-dev:38140] Thu Mar 19 18:49:49 2009 Nobuyoshi Nakada * configure.in (RUBY_CHECK_SIZEOF): allows qualified name. * configure.in (RUBY_REPLACE_TYPE): checks more strictly. * configure.in (struct stat.st_size, struct stat.st_blocks), (struct stat.st_ino): check for size. * lib/mkmf.rb (check_sizeof): allows qualified name. * file.c (rb_stat_ino, rb_stat_blocks): check by size. Wed Mar 18 16:59:48 2009 Kazuhiro NISHIYAMA * test/test_syslog.rb (TestSyslog#test_open): check param after block again. because detect not to call block. Wed Mar 18 16:54:04 2009 TAKANO Mitsuhiro (takano32) * ext/socket/ancdata.c: not use pktinfo.ipi_spec_dst if not defined * ext/socket/extconf.rb: define HAVE_IPI_SPEC_DST Wed Mar 18 16:38:11 2009 Kazuhiro NISHIYAMA * test/test_syslog.rb (TestSyslog#test_open): check block parameter in block. [ruby-dev:38180] Wed Mar 18 12:48:01 2009 Nobuyoshi Nakada * error.c (report_bug): rb_bug can be caused by extension libraries. Wed Mar 18 02:41:33 2009 Masatoshi SEKI * lib/drb/drb.rb (open_server_inaddr_any): fixed multiple network families problem. a patch from Charl Matthee at [ruby-core:21033]. Tue Mar 17 21:42:54 2009 Nobuyoshi Nakada * tool/make-snapshot (package): creates .revision.time and passes CHDIR to create prerequisite files. Tue Mar 17 18:00:55 2009 Akinori MUSHA * enumerator.c (Enumerator#{each_,}{with_index,with_object}): Fix a bug where any parameter but the first one is dropped even if multiple values are yielded with. [Bug #1198] Tue Mar 17 14:25:16 2009 Tanaka Akira * lib/pathname.rb (Pathname#sub): set $~ in block.binding. [ruby-dev:38173] Tue Mar 17 13:48:08 2009 Nobuyoshi Nakada * win32/Makefile.sub (config.h): added RUBY_COREDLL. * ext/dl/handle.c (rb_dlhandle_initialize): returns msvcrt if libc or RUBY_COREDLL is given. [ruby-core:22828] Tue Mar 17 10:29:22 2009 Nobuyoshi Nakada * dir.c, dln.c, parse.y, re.c, ruby.c, sprintf.c, strftime.c, string.c, util.c, variable.c: use strlcpy, memcpy and snprintf instead of strcpy, strncpy and sprintf. Mon Mar 16 17:15:16 2009 Nobuyoshi Nakada * test/dl/test_win32.rb (Win32API): enclosed by DL::TestWin32. [ruby-core:22827] Mon Mar 16 16:37:22 2009 Nobuyoshi Nakada * ext/tk/tcltklib.c (eventloop_sleep, lib_eventloop_core), (lib_watchdog_core): tv_usec is not time_t. Mon Mar 16 12:30:07 2009 Nobuyoshi Nakada * common.mk (REVISION_H): keeps timestamp of revision.h. [ruby-core:22900] * tool/ifchange, win32/ifchange.bat: extended --timestamp option. Mon Mar 16 09:28:58 2009 Nobuyoshi Nakada * Makefile.in, common.mk, win32/Makefile.sub: added preprocessing rules. Sun Mar 15 12:34:17 2009 Nobuyoshi Nakada * test/minitest/test_mini_test.rb: fixed tests depending on the detail of floating point representation. Sun Mar 15 12:01:36 2009 Nobuyoshi Nakada * lib/rubygems/installer.rb (Gem::Installer#shebang): fix for env shebang. Sun Mar 15 11:15:18 2009 Nobuyoshi Nakada * include/ruby/ruby.h ({RSTRING,RBIGNUM}_EMBED_LEN_MAX): made int. * include/ruby/ruby.h (OBJ_{TAINTED,UNTRUSTED,FROZEN}): return int. * include/ruby/encoding.h (ENC_CODERANGE): ditto. Sun Mar 15 11:11:44 2009 Nobuyoshi Nakada * string.c (rb_hash_uint, rb_hash_start, rb_hash_end): use VALUE rather than unsigned int. Sun Mar 15 11:00:14 2009 Nobuyoshi Nakada * ruby.c (load_file_internal): stop the timer thread before exec. Sun Mar 15 09:17:26 2009 Nobuyoshi Nakada * common.mk (.y.c): use SRC_FILE which contains slashes instead of backslashes. [ruby-core:22891] Sun Mar 15 08:26:16 2009 Nobuyoshi Nakada * common.mk (srcs-ext): creates ext/dl/callback/callback.c also. Sun Mar 15 03:29:51 2009 Nobuyoshi Nakada * process.c (SAVED_GROUP_ID, p_gid_switch): should be rb_gid_t. Sun Mar 15 02:53:13 2009 Tanaka Akira * string.c (rb_str_subpat): accept capture name. (rb_str_aref): follow above change. (rb_str_aref_m): pass the 2nd argument to rb_str_subpat. (rb_str_subpat_set): accept capture name. (rb_str_aset): follow above change. (rb_str_partition): ditto. (rb_str_aset_m): pass the 2nd argument to rb_str_subpat_set. * include/ruby/intern.h (rb_reg_backref_number): declared. * re.c (rb_reg_backref_number): defined. [ruby-core:21057] Sun Mar 15 02:09:31 2009 Nobuyoshi Nakada * proc.c (bmcall): should not uninitialized variable. a patch from pegacorn at [ruby-dev:38169]. Sat Mar 14 18:25:18 2009 Nobuyoshi Nakada * util.c (ruby_scan_oct, ruby_scan_hex): use size_t. Sat Mar 14 18:18:08 2009 Nobuyoshi Nakada * proc.c (rb_proc_call, rb_node_arity, bmcall, curry): checks overflow. * proc.c (rb_proc_parameters): unnamed_parameters() expects in not VALUE. Sat Mar 14 17:54:19 2009 Nobuyoshi Nakada * util.c (ruby_each_words): assume no string exceeds INT_MAX. Sat Mar 14 15:59:04 2009 Tanaka Akira * process.c (rb_spawn_internal): use int variable for status. Sat Mar 14 14:45:51 2009 Tanaka Akira * process.c (rb_f_system): use rb_pid_t for pid. (rb_spawn_internal): local variable renamed. Sat Mar 14 14:16:02 2009 Nobuyoshi Nakada * util.c (ruby_strdup, Balloc, rv_alloc): use size_t. Sat Mar 14 13:53:11 2009 Nobuyoshi Nakada * util.c (ruby_qsort): the result of cmp must be signed, so ge rid of reuse of a variable. Sat Mar 14 10:56:13 2009 Nobuyoshi Nakada * dln.c (init_funcname_len, dln_find_exe_r, dln_find_file_r): use size_t. * file.c (rb_stat_inspect, file_expand_path): ditto. * util.c (ruby_qsort): ditto. Sat Mar 14 10:39:13 2009 Nobuyoshi Nakada * lib/mkmf.rb (CXX_EXT): checks for case-sensitive filesystem with FNM_SYSCASE rather than build_os. Fri Mar 13 23:03:40 2009 Tanaka Akira * ext/socket/init.c (wait_connectable0): remove unreachable code. Fri Mar 13 23:00:02 2009 Tanaka Akira * configure.in (RUBY_CHECK_SIZEOF): pass [include] to AC_CHECK_SIZEOF. Fri Mar 13 20:58:11 2009 Tanaka Akira * dln.c (dln_find_1): compare fspace in size_t world. Fri Mar 13 18:58:04 2009 Nobuyoshi Nakada * configure.in (CFLAGS, CXXFLAGS): moved after warnflags. Fri Mar 13 18:10:06 2009 Nobuyoshi Nakada * vm_eval.c (rb_throw_obj): inverted call flow. [ruby-core:22872] Fri Mar 13 17:04:09 2009 Nobuyoshi Nakada * include/ruby/ruby.h (bool): not define to get rid of conflict against curses. Fri Mar 13 16:45:33 2009 Nobuyoshi Nakada * ext/openssl/openssl_missing.h (i2d_of_void): cast for callbacks. [ruby-core:22860] * ext/openssl/ossl_engine.c (ossl_engine_s_by_id): suppress a warning. * ext/openssl/ossl_ssl.c (ossl_sslctx_flush_sessions): time_t may be larger than long. * ext/openssl/ossl_ssl_session.c (ossl_ssl_session_get_time), (ossl_ssl_session_get_timeout): use TIMET2NUM() to convert time_t. Fri Mar 13 15:10:43 2009 Nobuyoshi Nakada * ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): should use OPENSSL_free instead of free. a patch from Charlie Savage at [ruby-core:22858]. Fri Mar 13 21:11:51 2009 Yukihiro Matsumoto * ext/sdbm/_sdbm.c: should include "ruby/defines.h" as well for prototypes of compatibility functions on Win32 platform. [ruby-core:22870] Fri Mar 13 10:42:19 2009 Nobuyoshi Nakada * configure.in (AC_HEADER_STDBOOL): added. * include/ruby/ruby.h (NUM2INT, rb_special_const_p): returns true and false instead of Qtrue and Qfalse for platforms where VALUE is bigger than int. * gc.c (gc_stress_set), ext/openssl/ossl_asn1.c (decode_bool): go rid of variables named `bool'. Fri Mar 13 10:16:36 2009 Nobuyoshi Nakada * configure.in (struct stat.st_size): may be huge. Fri Mar 13 09:30:12 2009 Nobuyoshi Nakada * bignum.c (bigfixize): zero length Bignum is 0. Fri Mar 13 09:17:12 2009 Yukihiro Matsumoto * lib/fileutils.rb (FileUtils#fu_get_gid): stringify group argument before making regexp match. [ruby-dev:38155] Fri Mar 13 08:06:48 2009 Nobuyoshi Nakada * util.c (rv_strdup): macro to duplicate nul-terminated string. [ruby-core:22852] Thu Mar 12 22:41:41 2009 Tanaka Akira * ext/openssl: suppress warnings. * ext/openssl/ossl.h (OSSL_Debug): don't use gcc extension for variadic macro. Thu Mar 12 22:29:36 2009 NAKAMURA Usaku * win32/Makefile.sub (WARNFLAGS): warning 4996 is only in VC++8 or later. Thu Mar 12 22:14:01 2009 Tanaka Akira * ext/openssl/ossl_ssl.c (ossl_ssl_def_const): use INT2NUM because OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG doesn't fit into Fixnum. Thu Mar 12 18:16:12 2009 Nobuyoshi Nakada * array.c, bignum.c, dln.c, error.c, gc.c, io.c, marshal.c, numeric.c, pack.c, strftime.c, string.c, thread.c, transcode.c, transcode_data.h, util.c, variable.c, vm_dump.c, include/ruby/encoding.h, missing/crypt.c, missing/vsnprintf.c: suppress VC type warnings. [ruby-core:22726] * marshal.c (div0), numeric.c (infinite_value): new functions to get rid of VC division by 0 warnings. * st.c: use st_index_t for indexes instead of int. * vm.c (rb_vm_get_sourceline), vm_insnhelper.c (vm_throw): use rb_num_t. Thu Mar 12 09:30:54 2009 Nobuyoshi Nakada * configure.in (RUBY_CHECK_SIZEOF): if same size type is found, no more calculation is needed. * configure.in (RUBY_DEFINT): falls back to RUBY_CHECK_SIZEOF if size is not immediate. Thu Mar 12 09:24:24 2009 Tanaka Akira * transcode_data.h: suppress warnings of overflow. Thu Mar 12 09:15:14 2009 Tanaka Akira * include/ruby/encoding.h: suppress warnings of overflow. Thu Mar 12 05:49:05 2009 Nobuyoshi Nakada * configure.in (warnflags): added some default flags, pointer-arith, write-strings and shorten-64-to-32, but suppress unused-parameter and missing-field-initializers, if possible. * configure.in (RUBY_CHECK_HUGE): checks whether a value range is larger than long. * file.c (rb_stat_blocks): struct stat.st_blocks may be larger than long. * io.c (copy_stream_fallback_body): off_t may be larger than long. * iseq.c (rb_iseq_disasm): RSTRING_LEN() returns long. * process.c (rb_f_sleep): time() needs time_t. * random.c (fill_random_seed): enclosed conditionally used variables. * thread_pthread.c (ruby_init_stack): range of rlim_cur may be larger than int. * missing/vsnprintf.c (BSD_vfprintf): commented out code which has no effect at all. Thu Mar 12 02:10:57 2009 Tanaka Akira * configure.in: strip spaces from ruby_version. Sun C 5.9 SunOS_i386 Build47_dlight 2007/05/22 generates `ruby_version= 1 "." 9 "." 1'. Thu Mar 12 01:18:09 2009 Nobuyoshi Nakada * dir.c (dir_seek): use long for seekdir(). Thu Mar 12 01:08:27 2009 Nobuyoshi Nakada * tool/ytab.sed: replaces backslashes with slash for nmake. Wed Mar 11 21:23:06 2009 Tanaka Akira * time.c (time_mload): don't clear tm_mday. Wed Mar 11 20:13:38 2009 Nobuyoshi Nakada * ext/dl/handle.c (rb_dlhandle_sym): RTLD_NEXT is not for symbol name. [ruby-dev:38150] Wed Mar 11 17:26:38 2009 NAKAMURA Usaku * ext/dl/win32/lib/Win32API.rb: call by :stdcall as default. [ruby-core:22826] Wed Mar 11 13:27:14 2009 Nobuyoshi Nakada * parse.y (stack_type): uses VALUE which is able to be stored parser stack. Wed Mar 11 13:22:41 2009 Nobuyoshi Nakada * win32/win32.c (init_env): set TMPDIR if none of TMPDIR, TMP, TEMP is set. * win32/win32.c (rb_w32_telldir, rb_w32_seekdir): should use long, as defined by SUSv3. Wed Mar 11 13:03:12 2009 Nobuyoshi Nakada * ext/dl/handle.c (rb_dlhandle_sym): fixed heap corruption. [ruby-core:22822] Wed Mar 11 06:12:47 2009 Nobuyoshi Nakada * ruby.c (ruby_init_loadpath_safe): expands libpath and removes last /lib. Wed Mar 11 04:47:47 2009 Nobuyoshi Nakada * time.c (time_to_i, time_hash): time_t may be bigger than long and int. * time.c (time_timeval, rb_time_timeval, obj2nsec, time_strftime), (time_mdump, time_mload): suppress warnings. * win32/Makefile.sub (config.h): added TIMET2NUM and NUM2TIMET. Wed Mar 11 04:29:52 2009 Nobuyoshi Nakada * win32/win32.c: suppress warnings. based on a patch from Charlie Savage at [ruby-core:22804]. Wed Mar 11 04:22:12 2009 Nobuyoshi Nakada * signal.c (sig_trap): suppress warnings. Tue Mar 10 20:07:45 2009 Nobuyoshi Nakada * win32/Makefile.sub (WARNFLAGS): uses -wd4996 instead of CRTDEFFLAGS. cf. [ruby-core:22725] Tue Mar 10 19:58:52 2009 Nobuyoshi Nakada * include/ruby/win32.h (strcasecmp, strncasecmp): use _ prefixed versions to suppress warnings. * ext/dl/callback/mkcallback.rb (DLTYPE[FLOAT]): cast to suppress warnings. [ruby-core:22792] * array.c, bignum.c, gc.c, numeric.c, string.c, util.c, insns.def, missing/crypt.c, missing/vsnprintf.c, : suppress warnings. [ruby-core:22792] Tue Mar 10 13:45:54 2009 Nobuyoshi Nakada * win32/Makefile.sub (LDFLAGS): moved -link to TRY_LINK, LINK_SO and so on. based on a patch by Charlie Savage at [ruby-core:22794] * win32/Makefile.sub (config.h): passes LDFLAGS to rbconfig.rb so that extconf.rb could refer it. [ruby-core:22725] Tue Mar 10 11:36:32 2009 Nobuyoshi Nakada * iseq.c (prepare_iseq_build): too few arguments to function rb_ary_tmp_new(). Tue Mar 10 10:53:59 2009 Nobuyoshi Nakada * iseq.c (rb_iseq_compile_with_option): argument may be converted. Tue Mar 10 04:56:44 2009 Nobuyoshi Nakada * configure.in (MINIRUBY): keep macro into Makefile. * configure.in (RUBY_CHECK_SIZEOF): fix for fallback. * configure.in (MANGLED_PATH): defines for RUBYLIB_PREFIX. * ruby.c (ruby_init_loadpath_safe): uses string as buffer. * symbian/setup (config_h): defines MANGLED_PATH. Tue Mar 10 03:48:27 2009 Nobuyoshi Nakada * ext/dl/callback/depend: fix for parallel build. * ext/dl/callback/extconf.rb: callback.h is no longer created. * ext/dl/callback/mkcallback.rb: creates main source first. * ext/dl/callback/extconf.rb ($distcleanfiles): added callback.c. Tue Mar 10 00:06:21 2009 Nobuyoshi Nakada * configure.in (load_relative): new option to enable load path relative to libruby_so. * ruby.c (ruby_init_loadpath_safe): added the case using dladdr(). Mon Mar 9 16:49:13 2009 Nobuyoshi Nakada * lib/rake: updated to rake code to rake-0.8.4 source code base. Mon Mar 9 16:03:37 2009 Nobuyoshi Nakada * lib/rubygems/installer.rb (Gem::Installer#initialize): env may not be under /usr/bin. * lib/rubygems/installer.rb (Gem::Installer#shebang): uses /bin/sh if shebang has any options, since env shebang trick does no work with options. Mon Mar 9 15:19:55 2009 Nobuyoshi Nakada * instruby.rb (manpages): use basename to compare and for Tempfile. Mon Mar 9 14:55:27 2009 Nobuyoshi Nakada * instruby.rb (default gems): installs default gemspecs. Mon Mar 9 14:48:08 2009 NAKAMURA Usaku * win32/Makefile.sub (OPTFLAGS): simplified. see [ruby-core:22725] Mon Mar 9 14:33:57 2009 Nobuyoshi Nakada * instruby.rb: prints names of the directories where files are installed to. Mon Mar 9 02:25:54 2009 Yusuke Endoh * test/ruby/test_proc.rb: add some tests. Mon Mar 9 01:38:00 2009 Yusuke Endoh * test/ruby/test_enum.rb: add some tests. Mon Mar 9 01:12:37 2009 Yusuke Endoh * test/ruby/test_object.rb: add a test for Object#method_missing. Mon Mar 9 01:11:17 2009 Yusuke Endoh * test/ruby/test_file_exhaustive.rb: add tests for File#size and File.absolute_path. Sun Mar 8 23:02:50 2009 Nobuyoshi Nakada * win32/Makefile.sub (LDFLAGS): always prepends -link. Sun Mar 8 11:39:57 2009 Nobuyoshi Nakada * configure.in (RUBY_CHECK_SIZEOF): dirty hack to compute multiple sizeof, for apple's universal binary. Sat Mar 7 22:06:03 2009 Nobuyoshi Nakada * configure.in (universal_binary): checks if sizes are same on all architectures. Sat Mar 7 18:45:56 2009 Nobuyoshi Nakada * configure.in: checks if cd really succeeded. Sat Mar 7 14:24:47 2009 Tanaka Akira * configure.in: don't use CONFIG_SHELL for testing shell feature in Makefile. Sat Mar 7 14:07:31 2009 Tanaka Akira * configure.in: fix the location of cdcmd. Sat Mar 7 13:52:01 2009 Tanaka Akira * configure.in: the shell which runs configure may be different from the shell for make. configure likes bash but Makefile specifies SHELL=/bin/sh. Sat Mar 7 12:31:30 2009 Nobuyoshi Nakada * test/erb/test_erb.rb: reverted space sensitive test results. * test/rdoc/test_rdoc_parser_c.rb: ditto. * test/rdoc/test_rdoc_ri_default_display.rb: ditto. Fri Mar 6 23:35:59 2009 Tanaka Akira * lib/securerandom.rb (SecureRandom.urlsafe_base64): add optional argument to add padding. Fri Mar 6 19:25:40 2009 Nobuyoshi Nakada * configure.in (RUBY_LIB_VERSION_STYLE): sets full or minor style not to show RUBY_VERSION_MAJOR and so on. * version.h (RUBY_LIB_VERSION): makes from RUBY_LIB_VERSION_STYLE. * configure.in, Makefile.in, win32/Makefile.sub (CHDIR): cd using physical directory. * Makefile.in (update-mspec): split from update-rubyspec. * win32/Makefile.sub (update-{rubyspec,mspec}): added. Fri Mar 6 14:28:36 2009 Nobuyoshi Nakada * Makefile.in, win32/Makefile.sub (INSNS): moved variable definition before rule. Fri Mar 6 13:47:10 2009 Nobuyoshi Nakada * lib/rake/loaders/makefile.rb (Rake::MakefileLoader#load): deals with escaped spaces. incorporated from rake 0.8.4. * lib/rake/testtask.rb (Rake::TestTask#define): passes each libs as each arguments with expanded. incorporated from rake 0.8.4. Thu Mar 5 18:36:38 2009 Nobuyoshi Nakada * numeric.c (flo_to_s): keeps enough precision for round trip. [ruby-core:22325] Thu Mar 5 17:42:06 2009 Yukihiro Matsumoto * array.c (rb_ary_fill): doc for Array#fill misses indication about negative value for the start argument. [ruby-core:22497] Thu Mar 5 16:56:14 2009 Nobuyoshi Nakada * lib/tmpdir.rb (Dir.tmpdir): not use USERPROFILE, and ignores non-existent directory. Thu Mar 5 14:52:46 2009 Nobuyoshi Nakada * win32/win32.c (rb_w32_sysinit): initializes version info first. * win32/win32.c (rb_w32_osid): always define for binary compatibility. Thu Mar 5 11:52:16 2009 Nobuyoshi Nakada * win32/Makefile.sub (make_insns_rules): rule to make rules for insns. Thu Mar 5 11:27:16 2009 Nobuyoshi Nakada * win32/Makefile.sub (miniruby.exe): workaround for a failure of mt.exe on Windows 7 beta. [ruby-talk:330284] Thu Mar 5 10:32:17 2009 NARUSE, Yui * test/dl/test_base.rb: Add dragonfly to libc and libm switch. Thu Mar 5 10:29:10 2009 Nobuyoshi Nakada * string.c (str_eql): extracted from rb_str_equal and rb_str_eql. * string.c (rb_str_chomp_bang): keeps 7bit coderange. Thu Mar 5 10:10:40 2009 Nobuyoshi Nakada * include/ruby/encoding.h (enc_initialized_p): ENC_UNINITIALIZED is not defined already. * include/ruby/encoding.h (ENC_FROM_ENCINDEX): removed because depending on a static variable. Thu Mar 5 04:42:52 2009 Yusuke Endoh * test/ruby/test_array.rb: fix wrong test, and add a test for sort_by!. Thu Mar 5 04:32:38 2009 Yusuke Endoh * test/ruby/test_array.rb: add some tests for coverage. Thu Mar 5 00:06:37 2009 Nobuyoshi Nakada * win32/README.win32 (Requirement): added unicows.lib and dll. Wed Mar 4 23:29:56 2009 Nobuyoshi Nakada * configure.in, win32/configure.bat (--enable-win95): new option to enable/disable win95 support. Wed Mar 4 21:21:51 2009 Yusuke Endoh * lib/thread.rb (SizedQueue#push): fix limit condition. [ruby-dev:38135] Wed Mar 4 20:27:10 2009 Nobuyoshi Nakada * configure.in (mingw): checks if unicows.lib is available. * include/ruby/win32.h (WIN95): moved to config.h * win32/Makefile.sub (LIBS): links unicows.lib if available. * win32/Makefile.sub (config.h): defines WIN95 only if unicows.lib is available. * win32/setup.mak (-unicows-): checks if unicows.lib is available. Tue Mar 3 17:10:09 2009 Nobuyoshi Nakada * ext/extmk.rb (extmake): removes object files no longer used and files to be removed by old distclean. Tue Mar 3 16:51:51 2009 NAKAMURA Usaku * ext/dl/win32/lib/win32/resolv.rb: get rid of warning. * ext/dl/lib/dl/func.rb: ditto. Tue Mar 3 16:25:43 2009 Nobuyoshi Nakada * ext/extmk.rb (extmake), lib/mkmf.rb (create_makefile): $objs and $srcs are always Array or nil now. Tue Mar 3 15:54:11 2009 NAKAMURA Usaku * ext/dl/win32/lib/win32/{registry,resolv}.rb: use dl/import instead of Win32API. Tue Mar 3 15:53:20 2009 NAKAMURA Usaku * ext/dl/lib/dl/func.rb (DL::Function.name): delegate to @cfunc. Tue Mar 3 15:40:38 2009 Nobuyoshi Nakada * ext/dl/dl.c (rb_dl_init_callbacks): autoloads callbacks. * ext/dl/callback: split from dl. * ext/dl/lib/dl/cparser.rb (DL::CParser::parse_signature): fixed variable name. * ext/dl/lib/dl/pack.rb (DL::PackInfo): reduced redundant initialization. * ext/dl/lib/dl/stack.rb (DL::Stack): ditto. * ext/dl/lib/dl/value.rb (DL::ValueUtil#wrap_arg): NULL for nil. * test/dl: moved from ext/dl/test. Tue Mar 3 14:57:28 2009 Nobuyoshi Nakada * common.mk (main): passes $(MAKE) to mkmain_cmd * ext/extmk.rb (command_output): uses arguments to invoke make. Tue Mar 3 01:56:03 2009 Tanaka Akira * lib/securerandom.rb (SecureRandom.urlsafe_base64): delete padding. Mon Mar 2 21:39:08 2009 Tanaka Akira * ext/socket/sockport.h (SS_LEN): defined unconditionally. Mon Mar 2 21:26:42 2009 Tanaka Akira * ext/socket/ancdata.c (anc_inspect_socket_creds): suppress warnings. Mon Mar 2 21:13:42 2009 Tanaka Akira * ext/socket/ancdata.c (rsock_discard_cmsg_resource): defined unconditionally. Mon Mar 2 21:06:40 2009 Tanaka Akira * ext/socket/raddrinfo.c (addrinfo_mload): don't use "sun" variable for Solaris. Mon Mar 2 21:01:36 2009 Tanaka Akira * file.c: include fcntl.h for O_RDONLY on Solaris. Mon Mar 2 19:43:02 2009 Nobuyoshi Nakada * lib/uri/common.rb (URI::Parser#escape): escaped string is ascii only. * lib/uri/common.rb (URI::Parser#unescape): converts bytewise. [ruby-dev:38005], [ruby-dev:38110] Mon Mar 2 16:40:11 2009 Nobuyoshi Nakada * README.EXT, README.EXT.ja (Macros): added HAVE_RUBY_*_H. Mon Mar 2 12:22:12 2009 Nobuyoshi Nakada * win32/win32.c (init_env): keeps wide chars as wide chars. Mon Mar 2 11:01:45 2009 Nobuyoshi Nakada * ext/dl/dl.h (dlerror): fixed on Windows. * ext/dl/handle.c (rb_dlhandle_initialize): returns handle to libruby if nil is given on Windows as dlopen. * ext/dl/handle.c (rb_dlhandle_sym): get rid of buffer overrun, and try ASCII WINAPI versions too. Mon Mar 2 10:29:17 2009 Nobuyoshi Nakada * eval.c (rb_longjmp), include/ruby/intern.h (ruby_cleanup): fixed prototypes. Mon Mar 2 00:56:45 2009 Masatoshi SEKI * lib/drb/observer.rb: The module observable uses now a hash to store listeners. merged a patch from Alessandro Di Maria in [ruby-core:22560]. Sun Mar 1 22:59:41 2009 Tanaka Akira * ext/socket/raddrinfo.c: suppress warnings. * ext/socket/socket.c: ditto. * ext/socket/unixsocket.c: ditto. Sun Mar 1 20:57:41 2009 Tanaka Akira * ext/socket/ (rsock_getfamily): renamed from rb_sock_getfamily. Sun Mar 1 19:52:46 2009 Nobuyoshi Nakada * ext/dl/win32/lib/Win32API.rb (initialize): passes res arguments to DL. Sun Mar 1 19:38:59 2009 Nobuyoshi Nakada * ext/zlib/zlib.c (zstream_run): suppress a warning. a patch from Charlie Savage at [ruby-core:22607]. Sun Mar 1 19:36:18 2009 Nobuyoshi Nakada * util.c (ruby_dtoa): allocates one more byte to get rid of buffer overrun. a patch from Charlie Savage at [ruby-core:22604]. Sun Mar 1 19:10:59 2009 Nobuyoshi Nakada * common.mk (.y.c): removed extra backslash. [ruby-core:22602] Sun Mar 1 19:02:03 2009 Nobuyoshi Nakada * ext/dl/cfunc.c (rb_dlcfunc_call): fix for stdcall and missing argument numbers. [ruby-core:22601] * ext/dl/dl.h (DLSTACK_PROTO0_): added. * ext/dl/mkcallback.rb (gencallback, gen_callback_file), (rb_dl_init_callbacks): omit stdcall functions unless supported. * lib/rubygems/config_file.rb (SHGetFolderPath): stdcall. Sun Mar 1 17:27:14 2009 Nobuyoshi Nakada * ext/bigdecimal/bigdecimal.c (gfDebug): uncommented out. [ruby-core:22600] Sun Mar 1 16:15:31 2009 Nobuyoshi Nakada * process.c (rb_waitpid): use wait_each() on no waitpid platforms. [ruby-dev:38054] Sun Mar 1 16:01:01 2009 Nobuyoshi Nakada * process.c (proc_daemon): stops and restarts timer thread because daemon(3) implies fork(2). [ruby-dev:38055] Sun Mar 1 15:45:49 2009 Tanaka Akira * ext/socket/ (rsock_make_hostent): renamed from sock_make_hostent. (rsock_addrinfo): renamed from sock_addrinfo. (rsock_getaddrinfo): renamed from sock_getaddrinfo. (rsock_socket): renamed from ruby_socket. (rsock_sock_s_socketpair): renamed from sock_s_socketpair. (rsock_connect): renamed from ruby_connect. * ext/socket/socket.c (sock_listen): make it static. Sun Mar 1 15:29:31 2009 Tanaka Akira * ext/socket: add rsock_ prefix. Sat Feb 28 21:52:37 2009 Tanaka Akira * vm_eval.c (rb_iterate): use volatile to suppress warnings. * eval.c (ruby_cleanup): ditto. Sat Feb 28 20:09:40 2009 Tanaka Akira * eval_error.c (error_print): use volatile to suppress warnings. * vm_eval.c (eval_string_with_cref): ditto. * thread.c (rb_exec_recursive): ditto. * eval_jump.c (rb_exec_end_proc): ditto. * eval.c (ruby_exec_node): ditto. (rb_longjmp): ditto. Sat Feb 28 18:28:58 2009 Tanaka Akira * ext/socket/ancdata.c (ancillary_unix_rights): check message type. Sat Feb 28 16:18:39 2009 Tanaka Akira * lib/net/http.rb: suppress warnings of non-existing instance variable access for SSL. Sat Feb 28 14:50:47 2009 Tanaka Akira * ext/socket/lib/socket.rb (BasicSocket#connect_address): returns ::1 if the address is IPv4-mapped IPv6 address for 0.0.0.0 for MacOS X. Sat Feb 28 00:18:40 2009 Tanaka Akira * ext/socket/raddrinfo.c: suppress strict-aliasing warning with gcc version 4.4.0 20090219 (Red Hat 4.4.0-0.21) on Fedora 11 Alpha. * ext/socket/socket.c: ditto. * ext/socket/unixsocket.c: ditto. * ext/socket/sockport.h (SS_LEN): defined. (SET_SS_LEN): ditto. Fri Feb 27 22:30:18 2009 Tanaka Akira * ext/socket/ancdata.c (bsock_recvmsg_internal): close FDs passed by SCM_RIGHTS unless :scm_rights=>true is given. (discard_cmsg): extracted from rsock_discard_cmsg_resource. Fri Feb 27 22:14:22 2009 Tanaka Akira * ext/openssl/lib/openssl/buffering.rb: define Buffering module under OpenSSL. [ruby-dev:37906] Fri Feb 27 22:09:24 2009 Tanaka Akira * lib/test/unit/assertions.rb: don't define assert_not_* if already overridden. Fri Feb 27 22:02:34 2009 Tanaka Akira * util.c: fix SEGV by test_time.rb with gcc version 4.4.0 20090219 (Red Hat 4.4.0-0.21) on Fedora 11 Alpha. Fri Feb 27 18:30:51 2009 Nobuyoshi Nakada * compile.c (cdhash_type, iseq_set_sequence): should not call methods of the argument of case, to keep the semantics of case/when. [ruby-dev:38079] Fri Feb 27 18:01:20 2009 Nobuyoshi Nakada * gc.c (ruby_get_stack_grow_direction): no needs to use thread here, and not initialized yet. [ruby-core:22439] Fri Feb 27 17:45:25 2009 Nobuyoshi Nakada * file.c (file_load_ok): checks if regular file, except for the platform disallows to open directories, e.g. dosish. [ruby-dev:38097], [Bug #1221] Fri Feb 27 14:39:40 2009 NAKAMURA Usaku * numeric.c (flo_eq, flo_gt, flo_ge, flo_lt, flo_le, flo_eql): revert isnan() checks for VC++6. * insns.def (opt_lt, opt_gt): ditto. Fri Feb 27 14:23:09 2009 Nobuyoshi Nakada * lib/ostruct.rb (modifiable): check if really frozen. [ruby-core:22559] Thu Feb 26 23:14:46 2009 Tanaka Akira * ext/socket/lib/socket.rb (BasicSocket#connect_address): new method. Thu Feb 26 19:29:10 2009 Nobuyoshi Nakada * hash.c (hash_foreach_iter): fix for prototype. Thu Feb 26 18:36:09 2009 Nobuyoshi Nakada * common.mk (INSNS, newline.c, miniprelude.c, prelude.c), (node_name.inc, known_errors.inc): unified from Makefile.in and win32/Makefile.sub. Thu Feb 26 13:30:34 2009 NAKAMURA Usaku * util.c (valid_filename): use our own implementation of open(), close() and unlink(). Thu Feb 26 13:23:20 2009 Nobuyoshi Nakada * iseq.c (cdhash_each): resurrects internal literals. Thu Feb 26 10:56:48 2009 NAKAMURA Usaku * include/ruby/win32.h (rb_w32_wopen): prototype forgotten. * io.c (rb_sysopen_internal): shouldn't replace undefined chars in this case. Thu Feb 26 01:34:38 2009 Tanaka Akira * ext/socket/mkconstants.rb: more MSG_* constants. Thu Feb 26 00:21:21 2009 Tanaka Akira * ext/socket/option.c (sockopt_level): extracted from sockopt_level_m. (sockopt_optname): extracted from sockopt_optname_m. (sockopt_data): apply StringValue. (sockopt_s_linger): new method. (sockopt_linger): new method. (inspect_linger): show onoff value if it is neither 0 nor 1. Wed Feb 25 23:23:03 2009 Tanaka Akira * ext/socket/ancdata.c (ancillary_unix_rights): raise NotImplementedError if no fd passing feature. (ancillary_timestamp): raise NotImplementedError if no timestamp feature. Wed Feb 25 23:18:53 2009 Tanaka Akira * ext/socket/ancdata.c (ancillary_s_unix_rights): new method. Wed Feb 25 23:01:26 2009 Tanaka Akira * ext/socket/unixsocket.c (unix_recv_io): prevent FD leak when 2 fd is sent on LP64 platform. * ext/socket/rubysocket.h (rsock_discard_cmsg_resource): declared. * ext/socket/ancdata.c (rsock_discard_cmsg_resource): renamed from discard_cmsg_resource. export it. Wed Feb 25 17:31:32 2009 NAKAMURA Usaku * io.c (sysopen_func, rb_sysopen_internal, rb_sysopen): open file by UTF-16'ed filename on Windows. * io.c (rb_file_open_generic, rb_io_s_sysopen, rb_io_reopen, argf_next_argv): follow above change. * io.c (rb_scan_open_args): no longer need to convert filepath here on Windows. * win32/wio32.c (rb_w32_wopen): new function to open file by UTF-16'ed filename. * win32/win32.c (rb_w32_open): call rb_w32_open(). Wed Feb 25 15:05:35 2009 NAKAMURA Usaku * win32/Makefile.sub (config.status): use un.rb as cp instead of cmd.exe's copy command. * lib/mkmf.rb (create_makefile): no longer need to convert path separator when copying file. Wed Feb 25 12:27:59 2009 Nobuyoshi Nakada * string.c (rb_str_force_encoding): should clear coderange at changing encoding. [ruby-core:22437] Wed Feb 25 12:06:09 2009 * io.c (rb_io_getline_1): enables limit even if rs is given. [ruby-core:22434] Wed Feb 25 02:28:51 2009 Nobuyoshi Nakada * string.c (rb_str_chomp_bang): coderange may change. [ruby-core:22414] Wed Feb 25 02:17:30 2009 Nobuyoshi Nakada * string.c (rb_str_delete_bang): should recalculate coderange. [ruby-talk:329267] Wed Feb 25 00:41:21 2009 Akinori MUSHA * class.c (rb_scan_args): Allow specifying the number of trailing mandatory arguments right after the number of optional arguments only if the number of leading mandatory arguments is not omitted. * ext/socket/tcpserver.c (tcp_svr_init): Make use of it. Wed Feb 25 00:28:25 2009 Yukihiro Matsumoto * file.c (rb_file_size): new method added. [ruby-core:22088] Wed Feb 25 00:15:15 2009 Yukihiro Matsumoto * ext/curses/curses.c (curses_colors): new method added. a patch from Alexander Beisig in [ruby-core:22331]. * ext/curses/curses.c (curses_color_pairs): ditto. Wed Feb 25 00:05:13 2009 Akinori MUSHA * class.c (rb_scan_args): Revamp rb_scan_args() to compute the number of required and optional arguments precisely to prepare for a more informative error message. Tue Feb 24 23:58:52 2009 Akinori MUSHA * array.c (rb_ary_index, rb_ary_rindex): Emit a warning that a given block is unused when an argument is specified. Tue Feb 24 22:00:37 2009 Tanaka Akira * ext/socket/socket.c (sockaddr_obj): convert fe80:1::1 to fe80::1%1. Tue Feb 24 19:56:11 2009 Tanaka Akira * ext/socket/ancdata.c (ancillary_timestamp): support SCM_BINTIME. Tue Feb 24 19:45:15 2009 Tanaka Akira * ext/socket/ancdata.c (ancillary_timestamp): new method. Tue Feb 24 19:01:05 2009 Nobuyoshi Nakada * common.mk (main): split from exts and makes main program after building exts with miniruby, to get rid of overwriting running program. [ruby-core:22339] * Makefile.in, win32/Makefile.sub (RUNCMD, MKMAIN_CMD): macros to run script file. * ext/extmk.rb (parse_args): added --command-output option which creates script file to make main program. Tue Feb 24 17:58:07 2009 Nobuyoshi Nakada * common.mk (ripper.c): exec can't work on Windows. * ext/ripper/depend (.SUFFIXES): nmake doesn't have .y by default. * Makefile.in (id.h): overwrites unconditionally. Tue Feb 24 13:13:49 2009 Nobuyoshi Nakada * missing/vsnprintf.c (BSD_vfprintf): ptrdiff_t may be larger than long. Tue Feb 24 11:21:50 2009 Nobuyoshi Nakada * signal.c (rb_disable_interrupt, rb_enable_interrupt): see USE_TRAP_MASK. Tue Feb 24 10:49:37 2009 Nobuyoshi Nakada * process.c (rb_waitpid): last argument was missing. * process.c (waitall_each): fixed typo. a patch from shinichiro.h at [ruby-dev:38054]. Tue Feb 24 01:53:40 2009 Yukihiro Matsumoto * numeric.c (flo_eq): remove unnecessary NaN check using isnan(). comparison regarding NaN is false anyway. * numeric.c (flo_gt, flo_ge, flo_lt, flo_le, flo_eql): ditto. Tue Feb 24 01:22:19 2009 Yusuke Endoh * bootstraptest/test_thread.rb: fix for environment where fork is not available. Tue Feb 24 01:19:38 2009 Yusuke Endoh * thread.c (thread_cleanup_func): unlock all locked mutexes even when forking. [ruby-core:22269] Tue Feb 24 00:54:16 2009 Yukihiro Matsumoto * insns.def (opt_minus): inline float operation. * insns.def (opt_lt, opt_gt): ditto. Tue Feb 24 00:24:13 2009 Yukihiro Matsumoto * range.c (range_each): check #succ only when it is really needed. small performance improvement. * math.c (Need_Float): call rb_to_float() only when it is really needed. small performance improvement. Tue Feb 24 00:19:33 2009 Yukihiro Matsumoto * lib/pathname.rb (Pathname#foreachline): removed wrongly resurrected method. [ruby-dev:38065] Mon Feb 23 20:39:21 2009 Tanaka Akira * ext/socket/ancdata.c (inspect_timespec_as_abstime): new function to show struct timespec. (ancillary_inspect): use it for SCM_TIMESTAMPNS on GNU/Linux. Mon Feb 23 20:30:06 2009 Tanaka Akira * ext/socket/ancdata.c (inspect_bintime_as_abstime): new function to show struct bintime. (ancillary_inspect): use it for SCM_BINTIME on FreeBSD. * ext/socket/mkconstants.rb: define SCM_BINTIME. Mon Feb 23 20:18:49 2009 Tanaka Akira * ext/socket/ancdata.c (inspect_timeval_as_abstime): use time_t variable to avoid a warning on environments which use long as tv_sec as NetBSD. Mon Feb 23 15:53:30 2009 Akinori MUSHA * array.c (rb_ary_index, rb_ary_rindex): We know that argc is not zero when we reach here. * array.c (rb_ary_initialize, rb_ary_index): Shrink a double space. (NFC) Mon Feb 23 14:47:04 2009 Nobuyoshi Nakada * lib/fileutils.rb (mv): added description for the case of different partitions. [ruby-talk:329072] Mon Feb 23 10:19:41 2009 Nobuyoshi Nakada * include/ruby/ruby.h (USE_SYMBOL_AS_METHOD_NAME): Module#methods, #singleton_methods and so on return Symbols. [ruby-talk:328775] Mon Feb 23 10:15:35 2009 Nobuyoshi Nakada * README.EXT, README.EXT.ja: added macros for the Compatibilities. Mon Feb 23 03:19:37 2009 Tanaka Akira * ext/socket/mkconstants.rb: define SO_TIMESTAMPNS and SCM_TIMESTAMPNS if available. Mon Feb 23 02:54:31 2009 Tanaka Akira * ext/socket/ancdata.c (ancillary_inspect): use SCM_TIMESTAMP instead of SO_TIMESTAMP. SCM_TIMESTAMP != SO_TIMESTAMP on MacOS X. Mon Feb 23 02:44:42 2009 Tanaka Akira * ext/socket/ancdata.c (inspect_timeval_as_abstime): new function. (ancillary_inspect): use it for SO_TIMESTAMP. Mon Feb 23 02:26:44 2009 Tanaka Akira * ext/socket/option.c (inspect_timeval_as_interval): renamed from inspect_timeval. Mon Feb 23 02:10:09 2009 Tanaka Akira * ext/socket/option.c (inspect_timeval): fix the size test. Sun Feb 22 22:42:20 2009 Nobuyoshi Nakada * string.c (tr_trans): should recalculate coderange. [ruby-core:22326] (reopened at [ruby-core:22328]) Sun Feb 22 20:09:29 2009 Tanaka Akira * ext/socket/option.c (inspect_linger): message refined. Sun Feb 22 19:28:08 2009 Tanaka Akira * ext/socket/init.c (s_recvfrom): use rb_io_wait_readable after recvfrom. Sun Feb 22 18:40:04 2009 Tanaka Akira * ext/socket/option.c (inspect_errno): new function. (sockopt_inspect): use inspect_errno for SO_ERROR. Sun Feb 22 15:11:51 2009 Tanaka Akira * re.c (Init_Regexp): define Regexp::FIXEDENCODING. [ruby-dev:38066] Sun Feb 22 14:33:06 2009 Nobuyoshi Nakada * string.c (tr_trans): should not be affected by the encoding of replacement unless actually modified. [ruby-talk:328967] [ruby-core:22326] Sun Feb 22 13:38:44 2009 Nobuyoshi Nakada * ext/socket/init.c (s_recvfrom_nonblock): handles EAGAIN too. * ext/socket/init.c (s_accept_nonblock): ditto, and EPROTO depends on platforms. Sun Feb 22 13:03:12 2009 Yuki Sonoda (Yugui) * eval.c (ruby_options): the evaluator now expects iseq instead of tree. * ruby.c (ruby_process_options): ditto. Sun Feb 22 13:03:14 2009 Nobuyoshi Nakada * Makefile.in (configure): unset PWD to use symlink to building directory. * Makefile.in (up): cd doesn't need LC_TIME, VCS needs. Sun Feb 22 10:43:57 2009 Nobuyoshi Nakada * vm_eval.c (method_missing): should not pop cfp if missing method is method_missing. [ruby-core:22298] * vm_eval.c (rb_raise_method_missing): new function to directly raise NoMethodError. * vm_insnhelper.c (vm_call_method): fixed the case method_missing is missing. Sun Feb 22 02:15:40 2009 Tanaka Akira * ext/socket/ancdata.c (bsock_recvmsg_internal): handle EMSGSIZE as well. Sun Feb 22 02:03:46 2009 Tanaka Akira * ext/socket/ancdata.c (bsock_recvmsg_internal): check max length overflow. Sun Feb 22 01:52:30 2009 Tanaka Akira * ext/socket/ancdata.c (bsock_recvmsg_internal): don't call discard_cmsg_resource when EMFILE. Sun Feb 22 01:48:51 2009 Tanaka Akira * ext/socket/ancdata.c (bsock_recvmsg_internal): gc when SCM_RIGHTS hit the file descriptor limit. Sun Feb 22 00:51:58 2009 Tanaka Akira * io.c (io_getpartial): error message describes what should be waited after nonblocking error. (rb_io_write_nonblock): ditto. * ext/socket/init.c (s_recvfrom_nonblock): ditto. (s_accept_nonblock): ditto. * ext/socket/socket.c (sock_connect_nonblock): ditto. * ext/socket/ancdata.c (bsock_sendmsg_internal): ditto. (bsock_recvmsg_internal): ditto. Sun Feb 22 00:31:42 2009 Tanaka Akira * ext/socket/ancdata.c (bsock_recvmsg_internal): check recvmsg error earlier. Fri Feb 20 23:28:11 2009 NAKAMURA Usaku * util.c (rv_alloc, freedtoa): use our normal xmalloc()/xfree() because couldn't free the returned pointer from ruby_dtoa(). * missing/vsnprintf.c (cvt): receive buffer and use/return it instead of returning the pointer returned from BSD__dtoa(). * missing/vsnprintf.c (BSD_vfprintf): pass buf to cvt() as the buffer. [ruby-core:22184] Thu Feb 19 22:59:09 2009 Tanaka Akira * ext/socket/ancdata.c (make_io_for_unix_rights): cmsg_len may be bigger than msg_controllen on 4.4BSD at least. freeze unix_rights array. Thu Feb 19 22:17:38 2009 Tanaka Akira * ext/socket/ancdata.c (bsock_recvmsg_internal): fix exception. Thu Feb 19 21:13:03 2009 Tanaka Akira * ext/socket/ancdata.c (ancillary_unix_rights): method renamed. Thu Feb 19 15:47:11 2009 Nobuyoshi Nakada * template/fake.rb.in: extracted from Makefile.in. * configure.in (fake.rb): prefixed with $(arch)-. Thu Feb 19 15:39:50 2009 Nobuyoshi Nakada * ext/openssl/ossl_ocsp.c (ossl_ocspbres_verify): OCSP_basic_verify returns positive value on success, not non-zero. [ruby-core:21762] Thu Feb 19 15:17:00 2009 Nobuyoshi Nakada * lib/tmpdir.rb (@@systmpdir): File.expand_path also joins paths. Thu Feb 19 15:14:25 2009 Nobuyoshi Nakada * ext/etc/etc.c (etc_each_group): defines only when Etc::Group is available. Thu Feb 19 15:11:40 2009 Nobuyoshi Nakada * eval_intern.h (translit_char): moved from ruby.c. * load.c (load_ext): transliterates file separators and back if needed. * symbian/setup (DLN_NEEDS_ALT_SEPARATOR): defined. Thu Feb 19 14:48:12 2009 Nobuyoshi Nakada * configure.in, */Makefile.sub (LOAD_RELATIVE): moved from ruby.c Thu Feb 19 14:39:53 2009 Nobuyoshi Nakada * configure.in (darwin): uses -unexported_symbol option of ld instead of objcopy * configure.in (darwin): makes dylib instead of so. Thu Feb 19 14:22:02 2009 Nobuyoshi Nakada * lib/mkmf.rb (create_makefile): added phony targets. * lib/mkmf.rb (create_makefile): creates target directories before copying. [ruby-core:21958] * lib/mkmf.rb (create_makefile): removes directories in the depth order. Thu Feb 19 13:56:00 2009 Nobuyoshi Nakada * file.c (rb_home_dir): checks if HAVE_PWD_H. [ruby-dev:38049] Thu Feb 19 08:45:48 2009 TAKANO Mitsuhiro (takano32) * ext/socket/rubysocket.h: add "#include " Thu Feb 19 03:42:48 2009 Tanaka Akira * ext/socket/ancdata.c (ancillary_rights): new method. (make_io_for_rights): new function to allocate IOs for FDs in SCM_RIGHTS message. (bsock_recvmsg_internal): use make_io_for_rights. So the FDs can be closed by GC. Thu Feb 19 03:28:59 2009 Akinori MUSHA * README.EXT, README.EXT.ja: Improve the document about rb_scan_args() even more. Thu Feb 19 03:12:51 2009 Yusuke Endoh * test/ruby/test_file_exhaustive.rb: skip some tests if euid == 0. a patch from Lucas Nussbaum in [ruby-core:22209]. Thu Feb 19 03:00:49 2009 Akinori MUSHA * README.EXT, README.EXT.ja: Improve the document about rb_scan_args(). Wed Feb 18 22:47:01 2009 Tanaka Akira * ext/socket/ancdata.c (discard_cmsg_resource): new function to close file descriptors in control message. (bsock_recvmsg_internal): call discard_cmsg_resource before retrying recvmsg. Wed Feb 18 21:47:37 2009 Tanaka Akira * ext/socket/ancdata.c (bsock_recvmsg_internal): prevent misalignment. Wed Feb 18 21:34:30 2009 Tanaka Akira * ext/socket/ancdata.c (bsock_sendmsg_internal): prevent misalignment. Wed Feb 18 21:09:43 2009 Tanaka Akira * ext/socket/ancdata.c (bsock_recvmsg_internal): reduce code on environments which have no control message. Wed Feb 18 20:27:16 2009 Nobuyoshi Nakada * configure.in (OBJCOPY): set ac_cv_prog_ac_ct_OBJCOPY to do nothing on cygwin and mingw because symbols are exported by def file. Wed Feb 18 15:35:36 2009 Nobuyoshi Nakada * file.c (rb_file_chown): use chown unless HAVE_FCHOWN. * io.c (pipe_open): sarg is always used unless HAVE_FORK. Wed Feb 18 15:23:34 2009 Akinori MUSHA * bootstraptest/runner.rb: Use RUBY_DESCRIPTION if defined. Wed Feb 18 14:33:35 2009 Nobuyoshi Nakada * array.c (rb_ary_resurrect), string.c (rb_str_resurrect): new functions based on [ruby-dev:37983] * insns.def (putstring, duparray): use rb_{ary,str}_resurrect(). * iseq.c (iseq_data_to_ary): needs to result TS_VALUE. Wed Feb 18 12:35:31 2009 Nobuyoshi Nakada * file.c (rb_file_s_extname): fix for spaces before extension. [ruby-dev:38044] Wed Feb 18 12:00:58 2009 Nobuyoshi Nakada * file.c (file_expand_path): suppress a warning. named magic numbers. Wed Feb 18 10:29:12 2009 Nobuyoshi Nakada * thread.c (thread_start_func_2): do not delete main thread from living_threads. [ruby-core:19385], [ruby-core:22158] Wed Feb 18 01:05:05 2009 Tanaka Akira * ext/openssl: avoid cyclic require. * ext/openssl/lib/openssl/ssl-internal.rb: renamed from ssl.rb * ext/openssl/lib/openssl/x509-internal.rb: renamed from x509.rb. * lib/net/imap.rb: require openssl, instead of openssl/ssl. * lib/net/pop.rb: require openssl, instead of openssl/ssl. [ruby-dev:38018] Wed Feb 18 00:55:47 2009 Nobuyoshi Nakada * ext/etc/etc.c (Etc::Passwd.each, Etc::Group.each): new methods. [ruby-dev:37999] Tue Feb 17 23:25:01 2009 Tanaka Akira * ext/socket/ancdata.c (bsock_sendmsg_internal): make the padding removing only on NetBSD. Tue Feb 17 19:39:04 2009 Tanaka Akira * ext/socket/ancdata.c (bsock_sendmsg_internal): should not remove the last padding of control messages, basically. Tue Feb 17 12:50:57 2009 Nobuyoshi Nakada * string.c (rb_str_shared_replace): no need for str_make_independent. Tue Feb 17 05:41:08 2009 Koichi Sasada * compile.c: fix to add "ensure" codes across "while" clause before "return" expression. [ruby-dev:37967] * bootstraptest/test_flow.rb: add a test. Tue Feb 17 01:53:35 2009 Tanaka Akira * ext/socket/mkconstants.rb: generate rb_define_const directly for rdoc. * ext/.document: add socket/constdefs.c. * ext/socket/constants.c (sock_define_const): removed. (sock_define_uconst): ditto. (rb_mSockConst): new static variable. Mon Feb 16 23:14:51 2009 Tanaka Akira * ext/socket/ancdata.c (bsock_sendmsg_internal) [OpenBSD]: don't remove the last padding to prevent sendmsg failure in test_udp_server in test/socket/test_socket.rb on OpenBSD 4.4. Mon Feb 16 21:59:32 2009 Alexander Zavorine * symbian/setup: Update Symbian config to match recent changes in missing/alloca.c Mon Feb 16 17:04:14 2009 Akinori MUSHA * class.c (rb_scan_args), README.EXT, README.EXT.ja: Add support for specifying the number of the trailing mandatory arguments. Update the documents accordingly. [ruby-dev:37995] Mon Feb 16 16:46:14 2009 Nobuyoshi Nakada * debug.c (set_debug_option): added rtc_error option. * win32/Makefile.sub (CRTDEFFLAGS): separated from DEFS. * win32/win32.c (rtc_error_handler): ignores RTC errors unless rtc_error debug option is given. * win32/win32.c (rb_w32_sysinit): suppress useless CRT assertions. [ruby-core:22116] Sun Feb 15 21:43:44 2009 Nobuyoshi Nakada * lib/ostruct.rb (OpenStruct#new_ostruct_member): checks if frozen. [ruby-talk:328195], [ruby-core:22142] Sun Feb 15 21:22:48 2009 Nobuyoshi Nakada * lib/test/unit/assertions.rb (Test::Unit::Assertions): aliases assert_not_ methods. Sun Feb 15 16:57:35 2009 Tanaka Akira * lib/securerandom.rb (SecureRandom.urlsafe_base64): new method. Sun Feb 15 14:58:07 2009 Tanaka Akira * hash.c (hash_i): use Murmurhash. Sun Feb 15 11:45:29 2009 Nobuyoshi Nakada * variable.c (rb_define_hooked_variable): suppress false assertion with VC9. [ruby-core:22115] Sun Feb 15 08:35:33 2009 Tanaka Akira * test/test_pp.rb: extract from lib/pp.rb. * test/test_prettyprint.rb: extract from lib/prettyprint.rb. * test/test_tsort.rb: extract from lib/tsort.rb. Sun Feb 15 06:34:22 2009 Tanaka Akira * lib/time.rb (Time.parse): raise ArgumentError if Date._parse don't extract date information. [ruby-core:20912] Sun Feb 15 04:48:08 2009 Yusuke Endoh * string.c (rb_hash_uint32, rb_hash_uint, rb_hash_start, rb_hash_end), include/ruby/intern.h: add Murmurhash API. [ruby-dev:37784] * complex.c (nucomp_hash), array.c (rb_ary_hash), time.c (time_hash), string.c (rb_str_hash), object.c (rb_obj_hash), range.c (range_hash), struct.c (rb_struct_hash), hash.c (rb_any_hash), rational.c (nurat_hash): use Murmurhash. [ruby-dev:37784] Sun Feb 15 03:50:21 2009 Yusuke Endoh * hash.c (rb_hash): always return a fixnum value because a return value of rb_hash may be used as a hash value itself and bignums have no unique VALUE. * test/ruby/test_hash.rb: add a test for above. Sun Feb 15 00:45:41 2009 Nobuyoshi Nakada * array.c (rb_ary_uniq_bang, rb_ary_uniq): unique by the result of given block. [ruby-dev:37998] Sun Feb 15 00:39:44 2009 Nobuyoshi Nakada * array.c (ary_resize_capa): should not overwrite outside embedded array. Sat Feb 14 20:18:19 2009 Tanaka Akira * test/test_time.rb: extracted from lib/time.rb. Sat Feb 14 19:20:15 2009 Tanaka Akira * lib/pathname.rb: obsolete methods removed. [ruby-core:21564] Sat Feb 14 15:46:01 2009 Yukihiro Matsumoto * lib/pathname.rb (Pathname#binread): added. [ruby-dev:37952] Sat Feb 14 13:14:18 2009 TAKANO Mitsuhiro (takano32) * iseq.c: remove nil parameter from Proc#parameters after rest appeared. Sat Feb 14 07:23:52 2009 NARUSE, Yui * string.c (rb_external_str_new_with_enc): change evaluation order for speed. Sat Feb 14 02:20:04 2009 Tanaka Akira * ext/socket/sockport.h (SET_SA_LEN): cast to void for suppressing a warning. Fri Feb 13 23:37:10 2009 Nobuyoshi Nakada * ext/dl/win32/lib/Win32API.rb (Win32API#initialize): DL.dlopen raises DLError. Fri Feb 13 21:13:19 2009 Tanaka Akira * ext/socket/socket.c (Init_socket): define TCPServer#listen and UNIXServer#listen here for rdoc. Fri Feb 13 20:59:48 2009 Tanaka Akira * ext/socket/ancdata.c (extract_ipv6_pktinfo): set sa_len for 4.4BSD. Fri Feb 13 15:34:18 2009 Nobuyoshi Nakada * iseq.c (simple_default_value): removed. default values of optional parameters are not available still now. [ruby-dev:37980] Fri Feb 13 15:11:11 2009 Koichi Sasada * vm_eval.c (eval_string_with_cref): use rb_vm_get_ruby_level_next_cfp() instead of vm_get_ruby_level_caller_cfp(). checking a upper frame is not enough. [ruby-dev:37984] * proc.c, vm_core.h: declare rb_vm_get_ruby_level_next_cfp() on vm_core.h. Fri Feb 13 15:01:40 2009 Koichi Sasada * cont.c (rb_fiber_alive_p): fix to return true instead of 0. [ruby-dev:37991] * test/ruby/test_fiber.rb: add a test for Fiber#alive? Fri Feb 13 09:43:19 2009 Nobuyoshi Nakada * configure.in (ac_cv_func_flock): using flock defined in win32/win32.c on mingw. Fri Feb 13 01:45:17 2009 Nobuyoshi Nakada * compile.c (iseq_set_sequence, compile_dstr_fragments), (iseq_compile_each): hides other internal objects. * compile.c (iseq_compile_each): just freeze xstr. Fri Feb 13 00:48:42 2009 Nobuyoshi Nakada * insns.def (defineclass): try to autoload const to be overridden. Thu Feb 12 23:22:29 2009 Tanaka Akira * test/socket/test_socket.rb (test_udp_server): filter out unreachable addresses. [ruby-dev:37970] Thu Feb 12 22:51:18 2009 Nobuyoshi Nakada * compile.c (hide_obj): OBJ_FREEZE() is not an expression. a patch from nagachika at [ruby-dev:37977]. * compile.c (insn_set_sc_state): fixed typo. Thu Feb 12 12:36:35 2009 Tanaka Akira * ext/socket/basicsocket.c (bsock_getpeereid): implemented for Solaris using getpeerucred. * ext/socket/extconf.rb: check ucred.h and getpeerucred. * ext/socket/rubysocket.h: include ucred.h if available. Thu Feb 12 19:42:33 2009 Nobuyoshi Nakada * compile.c (compile_array_, defined_expr, iseq_compile_each): hide and freeze internal literal objects, to prevent from modifying. [ruby-dev:37959] * iseq.c (insn_operand_intern): copy internal literal objects. * insns.def (putstring, duparray): ditto. * string.c (rb_str_replace): exported. Thu Feb 12 17:17:51 2009 Nobuyoshi Nakada * ext/stringio/stringio.c (strio_ungetc): calculates new position before reallocation. [Bug#1099] Thu Feb 12 16:50:27 2009 Nobuyoshi Nakada * configure.in: a patch to build on GNU/kOpenSolaris from Rober Millan at [ruby-core:21888]. Thu Feb 12 15:28:04 2009 Yukihiro Matsumoto * iseq.c (simple_default_value): allow plain strings as default values. Wed Feb 11 18:09:41 2009 NAKAMURA Usaku * gc.c (define_final, undefine_final): shouldn't add/remove finalizer of frozen objects. * gc.c (undefine_final): should remove FL_FINALIZE flag. [ruby-dev:37964] (also see [ruby-dev:37959]) Wed Feb 11 17:37:41 2009 Tanaka Akira * ext/socket/lib/socket.rb (Socket.udp_server_sockets): call the block if given. close the sockets when the block exits. (Socket.udp_server_loop): use udp_server_sockets in block form. Wed Feb 11 17:34:16 2009 Tanaka Akira * ext/socket/lib/socket.rb (Socket.tcp_server_sockets): call the block if given. close the sockets when the block exits. (Socket.tcp_server_loop): use tcp_server_sockets in block form. Wed Feb 11 17:01:52 2009 Tanaka Akira * ext/socket/lib/socket.rb (Socket.unix_server_loop): use unix_server_socket with a block. Wed Feb 11 16:54:26 2009 Tanaka Akira * ext/socket/lib/socket.rb (Socket.unix_server_socket): close the socket when the block exits. Wed Feb 11 16:50:59 2009 Tanaka Akira * ext/socket/lib/socket.rb (Socket.unix_server_socket): call the block if given. remove the socket file when the block exits. Wed Feb 11 16:44:20 2009 Tanaka Akira * ext/socket/ancdata.c (ancillary_s_ip_pktinfo): make 3rd argument optional. Wed Feb 11 15:47:10 2009 Nobuyoshi Nakada * array.c (ary_make_shared): returns shared root array itself, and frozen array can be shared. Wed Feb 11 14:46:16 2009 Nobuyoshi Nakada * insns.def (setspecial, putstring): fixed typos in rdoc. * insns.def (toregexp): uses rb_ary_tmp_new(), and clears it after used. Wed Feb 11 14:08:23 2009 Tanaka Akira * ext/socket/ancdata.c (anc_inspect_socket_rights): return 1 on success. 0 on failure. (anc_inspect_passcred_credentials): ditto. (anc_inspect_socket_creds): ditto. (anc_inspect_socket_creds): ditto. (anc_inspect_socket_creds): ditto. (anc_inspect_ip_recvdstaddr): ditto. (anc_inspect_ip_pktinfo): ditto. (anc_inspect_ipv6_pktinfo): ditto. (ancillary_inspect): check family. Wed Feb 11 12:55:07 2009 Tanaka Akira * ext/socket/ancdata.c (anc_inspect_ip_pktinfo): make result bit succinct. (Init_ancdata): fix number of arguments. Wed Feb 11 11:47:41 2009 Tanaka Akira * ext/socket/ipsocket.c (Init_ipsocket): undef getpeereid at IPSocket. Wed Feb 11 10:16:34 2009 Tanaka Akira * ext/socket/extconf.rb: check getpeereid. * ext/socket/basicsocket.c (bsock_getpeereid): new method. Wed Feb 11 09:58:59 2009 Tanaka Akira * ext/socket/lib/socket.rb (Socket::UDPSource#inspect): fix variable name. Wed Feb 11 00:38:16 2009 Tanaka Akira * ext/socket/socket.c (sock_gethostname): use HOST_NAME_MAX. * ext/socket/raddrinfo.c (make_ipaddr): local variable renamed. Tue Feb 10 23:44:53 2009 Tanaka Akira * ext/socket/init.c (struct recvfrom_arg): use struct sockaddr_storage. (recvfrom_blocking): follow struct recvfrom_arg change. (s_recvfrom): ditto. (s_recvfrom_nonblock): use struct sockaddr_storage. * ext/socket/socket.c (sock_accept): use struct sockaddr_storage. (sock_accept_nonblock): ditto. (sock_sysaccept): ditto. * ext/socket/ancdata.c (bsock_recvmsg_internal): use struct sockaddr_storage. Tue Feb 10 23:30:32 2009 Tanaka Akira * ext/socket/basicsocket.c (bsock_getpeername): use struct sockaddr_storage. (bsock_local_address): ditto. (bsock_remote_address): ditto. Tue Feb 10 21:26:33 2009 Tanaka Akira * ext/socket/lib/socket.rb (Socket.udp_server_sockets): new method. (Socket.udp_server_loop_on): new method. (Socket.udp_server_loop): new method (Socket.ip_sockets_port0): extracted from tcp_server_sockets_port0. (Socket::UDPSource): new class. Tue Feb 10 21:14:43 2009 Tanaka Akira * ext/socket/socket.c (sockaddr_obj): fill pfamily. Tue Feb 10 21:09:23 2009 Tanaka Akira * ext/socket/option.c (sockopt_s_bool): new method. (sockopt_bool): new method. Tue Feb 10 20:58:47 2009 Tanaka Akira * ext/socket/option.c (sockopt_family_m): renamed from sockopt_family. (sockopt_level_m): renamed from sockopt_level. (sockopt_optname_m): renamed from sockopt_optname. (inspect_local_peercred): follow the renaming. (Init_sockopt): ditto. Tue Feb 10 20:56:07 2009 Tanaka Akira * ext/socket/ancdata.c (anc_inspect_socket_creds): refactored to avoid a rb_str_cat2 call. Tue Feb 10 04:34:38 2009 Nobuyoshi Nakada * configure.in (when): makes parentheses balanced. Tue Feb 10 01:28:49 2009 Tanaka Akira * ext/socket/ancdata.c (ip_cmsg_type_to_sym): renamed from cmsg_type_to_sym. Tue Feb 10 01:22:56 2009 Tanaka Akira * ext/socket/option.c (sockopt_inspect): refactored. Tue Feb 10 01:02:16 2009 Tanaka Akira * ext/socket/mkconstants.rb: generate intern_family_noprefix. * ext/socket/option.c (sockopt_inspect): use intern_family_noprefix not to show AF_ prefix. * ext/socket/ancdata.c (ancillary_inspect): ditto. Mon Feb 9 23:21:29 2009 Tanaka Akira * ext/socket/constants.c (level_arg): use unknown_level_to_int for non internet protocol. (optname_arg): use only so_optname_to_int for non internet protocol. (cmsg_type_arg): use only scm_optname_to_int for non internet protocol. * ext/socket/mkconstants.rb: generate unknown_level_to_int. rename iplevel_to_int to ip_level_to_int. Mon Feb 9 23:04:27 2009 Tanaka Akira * ext/socket/mkconstants.rb: rename level_to_int to iplevel_to_int. rename intern_level to intern_iplevel. * ext/socket/constants.c: follow the renaming. * ext/socket/option.c: ditto. * ext/socket/ancdata.c: ditto. Mon Feb 9 22:52:13 2009 Tanaka Akira * ext/socket/rubysocket.h (level_arg): add family argument. (optname_arg): ditto. (cmsg_type_arg): ditto. (rb_sock_getfamily): declared. * ext/socket/constants.c (level_arg): add family argument. (optname_arg): ditto. (cmsg_type_arg): ditto. * ext/socket/init.c (rb_sock_getfamily): defined. * ext/socket/option.c (sockopt_initialize): give family for level_arg and optname_arg. (sockopt_s_int): ditto. * ext/socket/basicsocket.c (bsock_setsockopt): ditto. (bsock_getsockopt): ditto. * ext/socket/ancdata.c (ancillary_initialize): ditto. (ancillary_s_int): ditto. (ancillary_cmsg_is_p): ditto. (bsock_sendmsg_internal): ditto. (bsock_recvmsg_internal): use rb_sock_getfamily. Mon Feb 9 21:48:59 2009 Tanaka Akira * ext/socket/ancdata.c (ancillary_inspect): show address family. Mon Feb 9 20:19:36 2009 Tanaka Akira * ext/socket/basicsocket.c (bsock_getsockname): use sockaddr_storage. Mon Feb 9 20:11:55 2009 Nobuyoshi Nakada * ext/win32ole/win32ole.c (load_conv_function51932): fixed for the case IMultiLanguage is not available. [ruby-dev:37950] Mon Feb 9 20:04:35 2009 Tanaka Akira * ext/socket/option.c (inspect_int): return 1/0 on success/failure. (inspect_uint): ditto. (inspect_linger): ditto. (inspect_socktype): ditto. (inspect_timeval): ditto. (inspect_peercred): ditto. (inspect_local_peercred): ditto. (sockopt_inspect): refactored. Mon Feb 9 20:00:26 2009 Tanaka Akira * ext/socket/mkconstants.rb: more constants for Solaris. Mon Feb 9 19:59:18 2009 Tanaka Akira * ext/socket/basicsocket.c (bsock_getsockopt): refine address family examination. Mon Feb 9 19:52:32 2009 Tanaka Akira * ext/socket/option.c (sockopt_initialize): argument conversion reordered. Mon Feb 9 19:46:22 2009 Tanaka Akira * ext/socket/ancdata.c (ancillary_initialize): add family argument. (ancdata_new): ditto. (ancillary_s_int): ditto. (ancillary_family): new function. (ancillary_family_m): new method. (ancillary_s_ip_pktinfo): follow ancdata_new change. (ancillary_s_ipv6_pktinfo): ditto. (bsock_recvmsg_internal): examine the socket address family. Mon Feb 9 11:31:09 2009 NARUSE, Yui * io.c (io_encoding_set): ignore second argument when external and internal are same. [ruby-dev:37939] Mon Feb 9 09:05:12 2009 Tanaka Akira * ext/socket/option.c (inspect_local_peercred): check version. (sockopt_inspect): suppress warning. Mon Feb 9 02:04:03 2009 Tanaka Akira * ext/socket/option.c (inspect_peercred): struct ucred contains effective uid/gid. Mon Feb 9 00:44:45 2009 Tanaka Akira * ext/socket/option.c (sockopt_inspect): add ifdef guard for LOCAL_PEERCRED. Mon Feb 9 00:37:06 2009 Tanaka Akira * ext/socket/option.c (inspect_local_peercred): cr_uid is a effective uid, not a real uid. Mon Feb 9 00:30:56 2009 Tanaka Akira * ext/socket/extconf.rb: check sys/param.h and sys/ucred.h. * ext/socket/rubysocket.h: include sys/param.h and sys/ucred.h. * ext/socket/option.c (inspect_local_peercred): new function to show LOCAL_PEERCRED socket option on FreeBSD. (sockopt_inspect): show as LOCAL_* socket option if AF_UNIX and level is 0. Mon Feb 9 00:01:47 2009 Tanaka Akira * ext/socket/rubysocket.h (sockopt_new): add family argument. * ext/socket/option.c (sockopt_initialize): add vfamily argument. (sockopt_new): add family argument and record it in the object. (sockopt_family): new method. (sockopt_s_int): add vfamily argument. (sockopt_inspect): show family. * ext/socket/basicsocket.c (bsock_getsockopt): check address family using getsockname. Sun Feb 8 23:37:17 2009 Yusuke Endoh * enumerator.c (enumerator_with_index): receives one argument which represents a start offset. [ruby-dev:37921] Sun Feb 8 23:28:05 2009 Yusuke Endoh * include/ruby/st.h, st.c: order entries by a linked list instead of a loop to fix iteration miss when hash is modified during iteration. [ruby-dev:37910] Sun Feb 8 23:22:35 2009 Tanaka Akira * ext/socket/option.c (inspect_peercred): new function to show SO_PEERCRED socket option on GNU/Linux. Sun Feb 8 22:44:20 2009 Nobuyoshi Nakada * include/ruby/backward/rubysig.h (rb_thread_blocking_region_begin), (rb_thread_blocking_region_end): marked as deprecated. * include/ruby/backward/rubysig.h (TRAP_BEG): fix for C++. a patch from Aman Gupta at [ruby-core:21934] Sun Feb 8 21:47:50 2009 Tanaka Akira * ext/socket/extconf.rb: check struct cmsgcred. * ext/socket/ancdata.c (anc_inspect_passcred_credentials): add "(ucred)". (anc_inspect_socket_creds): show struct cmsgcred too, for FreeBSD. Sun Feb 8 21:05:35 2009 Tanaka Akira * lib/drb/extservm.rb (DRb::ExtServManager#invoke_service_command): detach spawned process. [ruby-dev:37936] Sun Feb 8 20:30:29 2009 Tanaka Akira * ext/socket/extconf.rb: check struct sockcred. * ext/socket/ancdata.c (anc_inspect_socket_creds): new function to show SCM_CREDS on NetBSD. Sun Feb 8 19:05:24 2009 Nobuyoshi Nakada * include/ruby/backward/rubysig.h: extern "C" was missing. [ruby-core:21929] Sun Feb 8 18:46:15 2009 Tanaka Akira * ext/socket/ancdata.c (anc_inspect_passcred_credentials): new function to show SCM_CREDENTIALS on GNU/Linux. Sun Feb 8 18:34:43 2009 Nobuyoshi Nakada * io.c (rb_io_s_binread): ensures file path. [ruby-dev:37940] Sun Feb 8 13:52:02 2009 Tanaka Akira * ext/socket/raddrinfo.c (init_unix_addrinfo): add socktype argument. (addrinfo_initialize): follow init_unix_addrinfo change. (addrinfo_s_unix): add optional argument: socktype Sun Feb 8 13:09:32 2009 Nobuyoshi Nakada * configure.in (RUBY_APPEND_OPTION, RUBY_APPEND_OPTIONS), (RUBY_PREPEND_OPTION, RUBY_PREPEND_OPTIONS): add option(s) without duplication. * configure.in (RUBY_DEFINE_IF): changed parameter order, now condition comes first. * configure.in (universal_binary): checks architecture macros, and improved thin load paths. Sun Feb 8 09:41:47 2009 Nobuyoshi Nakada * runruby.rb: gets extout and arch from rbconfig.rb. Sat Feb 7 21:26:15 2009 Tanaka Akira * test/socket/test_addrinfo.rb (test_family_addrinfo): don't use www.ruby-lang.org. http://d.hatena.ne.jp/nagachika/20090204/working_for_0f0e Sat Feb 7 18:02:48 2009 Nobuyoshi Nakada * configure.in (--with-arch): added new option to support universal binary. replaced --enable-fat-binary option which didn't work actually. * configure.in (RUBY_FUNC_ATTRIBUTE): added conditional test. * configure.in (ac_cv_type_getgroups): declared because getgroups() fills rest of the buffer with garbage on Rosetta. * configure.in (alloca): defines only for powerpc, but always create empty object to suppress ld warning. * configure.in (LIBRUBY_DLDFLAGS): set compatibility version with TEENY. * configure.in (CFLAGS, LDFLAGS): separates ARCH_FLAG. * configure.in (arch): renamed to "universal" from "fat". * Makefile.in (ARCH_FLAG): added. * include/ruby/defines.h (WORDS_BIGENDIAN): uses AC_APPLE_UNIVERSAL_BUILD. * missing/alloca.c (alloca): defines only if C_ALLOCA is defined. Sat Feb 7 12:31:03 2009 Nobuyoshi Nakada * runruby.rb: added --precommand and --show options. * runruby.rb: added --cpu option. * runruby.rb: skips version check in rbconfig.rb. Sat Feb 7 11:44:06 2009 Nobuyoshi Nakada * lib/mkmf.rb (have_header): needs dependent headers if trying to compile. * ext/socket/extconf.rb: net/if.h depends on other headers. Sat Feb 7 04:02:37 2009 Tanaka Akira * dir.c (dir_read): don't disable rdoc. Fri Feb 6 23:28:33 2009 Tanaka Akira * io.c (io_fread): use rb_io_wait_readable for retry avoid Errno::EINTR on ruby -e 'trap(:CHLD) {}; spawn("sleep 1"); STDIN.read' Fri Feb 6 22:36:11 2009 Alexander Zavorine * thread_pthread.c (native_thread_create) [__SYMBIAN32__]: reduced pthread stack size. * thread_pthread.c (thread_timer) [__SYMBIAN32__]: compiled out unsupported yet signal-related functionality. * io.c (pipe_open) [__SYMBIAN32__]: fixed compile time error. Fri Feb 6 22:11:46 2009 Alexander Zavorine * include/ruby/defines.h [__SYMBIAN32__]: included for fd_set definition Fri Feb 6 21:58:24 2009 Alexander Zavorine * symbian/missing-pips.c: added a stub for missing PIPS function execl. * process.c (rb_proc_exec) [__SYMBIAN32__]: removed conditional around execl function call. Fri Feb 6 20:37:42 2009 Tanaka Akira * signal.c (register_sigaltstack): ignore sigaltstack error. It fails on OpenBSD 4.4 when pthread library is linked. Fri Feb 6 18:18:07 2009 NAKAMURA Usaku * win32/win32.c (rb_w32_readdir_with_enc): fallback to OS's conversion when ASCII-8BIT is passed. Fri Feb 6 17:19:23 2009 NAKAMURA Usaku * win32/{dir.h, win32.c} (rb_w32_readdir_with_enc): new function to read entry with specified enc. * win32/win32.c (readdir_internal): extract from rb_w32_opendir(). * win32/win32.c (opendir_internal): extract from rb_w32_readdir(). * dir.c (dir_read, dir_each): use new READDIR macro instead of readdir() to pass enc for special version of readdir, such as above. Fri Feb 6 12:11:24 2009 NAKAMURA Usaku * ruby.c (process_options): set initial default_external before -r. Fri Feb 6 12:03:47 2009 NAKAMURA Usaku * ruby.c (process_options): -K and -E in shebang should be reflect to default_external. [ruby-dev:37920] Fri Feb 6 07:52:57 2009 Tanaka Akira * ext/pty/pty.c (chfunc): type fixed. Fri Feb 6 02:51:59 2009 Yukihiro Matsumoto * string.c (rb_str_each_codepoint): update RDoc for String#codepoints. a patch from Radoslaw Bulat in [ruby-core:21835] Fri Feb 6 01:09:13 2009 Yusuke Endoh * cont.c (cont_mark, cont_capture, cont_restore_1): use #else instead of #elif. a patch from NISHIMATSU Takeshi in [ruby-list:45856]. Thu Feb 5 20:28:27 2009 Tanaka Akira * include/ruby/intern.h (rb_run_exec_options_err): renamed from rb_run_exec_options. (rb_exec_err): renamed from rb_exec. (rb_fork_err): renamed from rb_fork. (rb_spawn_err): renamed from rb_spawn. (rb_run_exec_options): declared with 1.9.1 compatible signature. (rb_exec): ditto. (rb_fork): ditto. (rb_spawn): ditto. * process.c (rb_run_exec_options_err): renamed from rb_run_exec_options. (rb_exec_err): renamed from rb_exec. (rb_fork_err): renamed from rb_fork. (rb_spawn_err): renamed from rb_spawn. (rb_run_exec_options): defined. (rb_exec): ditto. (rb_fork): ditto. (rb_spawn): ditto. * io.c: follow above change. * ext/pty/pty.c: follow above change. [ruby-dev:37893] Thu Feb 5 19:58:40 2009 Tanaka Akira * ext/socket: AddrInfo is renamed to Addrinfo. [ruby-dev:37876] Thu Feb 5 16:18:13 2009 Nobuyoshi Nakada * configure.in (RUBY_SITE_LIB_PATH, RUBY_VENDOR_LIB_PATH): fix for NetBSD. Thu Feb 5 16:04:29 2009 NAKAMURA Usaku * win32/Makefile.sub (config.h): follow recent changes about paths. Thu Feb 5 14:26:16 2009 Nobuyoshi Nakada * configure.in (MAJOR, MINOR, TEENY): uses RUBY_VERSION_*. * mkconfig.rb (prefix): uses ruby_version in config.status. Thu Feb 5 12:24:18 2009 Nobuyoshi Nakada * array.c (rb_ary_uniq): gets rid of copying. Thu Feb 5 12:01:53 2009 Nobuyoshi Nakada * array.c (ary_add_hash): split from ary_make_hash(). * array.c (ary_make_hash): hide a Hash used internally. * array.c (ary_recycle_hash): clears internally used hash. this name came from [ruby-dev:37908]. * array.c (rb_ary_diff, rb_ary_and, rb_ary_or, rb_ary_uniq_bang): recycle hashes. Thu Feb 5 11:21:35 2009 Nobuyoshi Nakada * configure.in (RUBY_LIB_VERSION): added for library version, to split from core version. [ruby-dev:37748] * configure.in (RUBY_LIB_PATH, etc): moved actual version dependent stuff to version.c. * ruby.c (ruby_init_loadpath_safe): ditto. * version.c (ruby_initial_load_paths): moved initial load path version depending on version from ruby.c. * version.h (RUBY_VERSION_{MAJOR,MINOR,TEENY}): now mean library and API version, and reverted to 1.9.1. [ruby-dev:37889] Thu Feb 5 07:39:33 2009 Kazuhiro NISHIYAMA * ext/readline/readline.c (Init_readline): remove_history(0) may be NULL. [ruby-dev:37891] Thu Feb 5 03:55:22 2009 Yukihiro Matsumoto * time.c (LOCALTIME): should call tzset() before localtime_r(). [ruby-dev:37896] Thu Feb 5 02:12:35 2009 Alexander Zavorine * symbian/configure.bat: Updated Symbian configuration procedure to avoid creating files outside build directory * symbian/pre-build: ditto * symbian/setup: ditto * symbian/rubyu.def: removed Thu Feb 5 01:44:02 2009 Tanaka Akira * transcode.c (make_econv_exception): refine error message for undefined conversion. [ruby-core:21828] Thu Feb 5 01:18:25 2009 Tanaka Akira * ext/socket/socket.c (sock_s_socketpair): make 3rd argument optional. * ext/socket/unixsocket.c (unix_s_socketpair): follow the above change. * ext/socket/rubysocket.h (sock_s_socketpair): ditto. Thu Feb 5 00:09:39 2009 Tanaka Akira * ext/socket/raddrinfo.c (addrinfo_ipv6_to_ipv4): new method. Wed Feb 4 21:59:31 2009 Tanaka Akira * transcode.c (make_econv_exception): show U+XXXX form for undefined conversion error from UTF-8. Wed Feb 4 21:57:37 2009 Tanaka Akira * string.c (rb_str_dump): use MBCLEN_CHARFOUND_P properly. Wed Feb 4 21:55:38 2009 Tanaka Akira * bootstraptest/runner.rb: refine success message. Wed Feb 4 19:10:42 2009 Nobuyoshi Nakada * Makefile.in (id.h): updates from parse.h. Wed Feb 4 11:45:06 2009 NAKAMURA Usaku * win32/mkexports.rb: shouldn't export DllMain. reported at http://pc11.2ch.net/test/read.cgi/tech/1233686068/21 Wed Feb 4 10:12:05 2009 Yukihiro Matsumoto * missing/vsnprintf.c (BSD_vfprintf): should support 't' format modifier to handle PRIdPTRDIFF. thanks for the info from Kazuhiro NISHIYAMA. [ruby-core:21807] Wed Feb 4 01:28:46 2009 Tanaka Akira * ext/socket/extconf.rb: fix struct in_pktinfo and struct in6_pktinfo detection. Wed Feb 4 00:32:59 2009 Yusuke Endoh * test/etc/test_etc.rb(test_getpwnam, test_getgrgid, test_getgrnam): support an environment that has duplicative entries. a patch from Tomoyuki Chikanaga in [ruby-dev:37882]. Wed Feb 4 00:17:52 2009 Tanaka Akira * ext/socket/lib/socket.rb (Socket.tcp_server_sockets_port0): skip socket creation error. Tue Feb 3 23:37:08 2009 Nobuyoshi Nakada * ruby.c (load_file_internal): resets EOF flag after parse. Tue Feb 3 23:13:34 2009 Nobuyoshi Nakada * vm.c (vm_backtrace): always returns non-nil array if lev is negative. [ruby-core:21795] Tue Feb 3 21:19:06 2009 TAKAO Kouji * ext/readline/extconf.rb: checked rl_set_screen_size and rl_get_screen_size. * ext/readline/readline.c (readline_s_set_screen_size): added Readline.set_screen_size. * ext/readline/readline.c (readline_s_get_screen_size): added Readline.get_screen_size. Tue Feb 3 21:07:19 2009 TAKAO Kouji * ext/readline/readline.c (readline_s_set_completion_proc): set default if proc is nil. fix #1095 Tue Feb 3 16:36:06 2009 Kazuhiro NISHIYAMA * array.c (rb_ary_sort_by_bang): RDoc update. * NEWS: add Array#sort_by!. Tue Feb 3 16:23:16 2009 Tanaka Akira * ext/socket/lib/socket.rb (Socket.tcp_server_sockets_port0): new private function for allocating same port both IPv4 and IPv6. (Socket.tcp_server_sockets): use tcp_server_sockets_port0 for port 0. Tue Feb 3 14:12:10 2009 Shugo Maeda * lib/net/imap.rb: validate data before sending to a server. [ruby-core:20320] Tue Feb 3 12:35:41 2009 Yukihiro Matsumoto * re.c (match_array): replace match_check(). * re.c (match_values_at): ditto. Tue Feb 3 12:09:08 2009 Shugo Maeda * lib/net/imap.rb (hmac_md5): should use String#ord to get ascii code from the one-character string. Tue Feb 3 11:25:41 2009 Nobuyoshi Nakada * load.c (load_lock): warn for circular require. [ruby-core:20794], [ruby-core:20797] Tue Feb 3 08:35:12 2009 Tanaka Akira * ext/socket/lib/socket.rb (Socket.tcp_server_sockets): extracted from Socket.tcp_server_loop. (Socket.accept_loop): ditto. (Socket.unix_server_socket): extracted from Socket.unix_server_loop. (Socket.unix_server_loop): use Socket.accept_loop. Tue Feb 3 08:21:05 2009 Nobuyoshi Nakada * test/ruby/test_readpartial.rb (make_pipe): readpartial does not work in text mode. Tue Feb 3 08:18:26 2009 Nobuyoshi Nakada * cygwin/GNUmakefile.in (RUBYDEF): uses mkexports.rb on cygwin too. * win32/mkexports.rb (Exports::Cygwin): added. Tue Feb 3 08:10:23 2009 Nobuyoshi Nakada * common.mk (Doxyfile): moved from Makefile.in. * template/Doxyfile.tmpl: split from Doxyfile.in. Tue Feb 3 08:01:38 2009 Nobuyoshi Nakada * win32/win32.c (rb_w32_write): use of cast expressions as lvalues is deprecated. Tue Feb 3 07:57:58 2009 Nobuyoshi Nakada * ext/socket/extconf.rb (in_pktinfo, in6_pktinfo), ext/socket/ancdata.c: defined in w32api/ws2tcpip.h on cygwin but cannot compile for some reason. Tue Feb 3 07:02:11 2009 Nobuyoshi Nakada * missing/langinfo.c (nl_langinfo_codeset): accepts iso-8859 fragment. [ruby-core:21757] Tue Feb 3 07:01:21 2009 Nobuyoshi Nakada * mkconfig.rb (patchlevel): config.status may not contain PATCHLEVEL even if other version numbers exist. Mon Feb 2 23:43:00 2009 Tanaka Akira * ext/socket/raddrinfo.c (Init_addrinfo): add AddrInfo#to_s as an alias of AddrInfo#to_sockaddr. * ext/socket/option.c (Init_sockopt): add Socket::Option#to_s as an alias of Socket::Option#data. [ruby-dev:37873] Mon Feb 2 21:04:13 2009 Yukihiro Matsumoto * array.c (rb_ary_sort_by_bang): RDoc update. [ruby-core:21742] Mon Feb 2 20:49:24 2009 Akinori MUSHA * enumerator.c: Introduce id_each to save rb_intern() and SYM2ID() calls. Mon Feb 2 19:55:51 2009 Tanaka Akira * test/socket/test_addrinfo.rb: use AddrInfo.getaddrinfo to generate IPv6 address. AddrInfo.ip generates IPv4 address for IPv4 mapped IPv6 address if --with-lookup-order-hack=INET. [ruby-dev:37868] Mon Feb 2 19:17:16 2009 Yukihiro Matsumoto * doc/NEWS-1.9.1: typo fixed: collect_all -> collect. [ruby-core:21706] Mon Feb 2 17:23:14 2009 Nobuyoshi Nakada * cygwin/GNUmakefile.in (dir.o, win32.o): depend on win32/dir.h. Mon Feb 2 17:13:46 2009 NAKAMURA Usaku * mkconfig.rb: patchlevel is sometimes minus. * win32/resource.rb: ditto. Mon Feb 2 17:11:23 2009 Tanaka Akira * ext/socket/ancdata.c (cmsg_type_to_sym): add #ifdef for no IPv6 environment. Mon Feb 2 17:05:55 2009 Nobuyoshi Nakada * file.c (rb_find_file_ext): should not be infected from other load paths. Mon Feb 2 16:33:06 2009 Nobuyoshi Nakada * dir.c (dir_s_home): new method. [ruby-core:21454] Mon Feb 2 16:06:10 2009 Tanaka Akira * version.h: bump up to 1.9.2 patchlevel -1. yugui recommend "-1" strongly. * lib/rubygems/version.rb: accept negative patchlevel. Mon Feb 2 14:53:35 2009 Tanaka Akira * ext/socket/socket.c (sock_initialize): make 3rd argument, protocol, optional. Mon Feb 2 14:47:53 2009 Yukihiro Matsumoto * array.c (rb_ary_sort_by_bang): new method. requested in [ruby-core:21709] Mon Feb 2 14:22:56 2009 NAKAMURA Usaku * ext/socket/constants.c (cmsg_type_arg): INET6 check. Mon Feb 2 14:18:20 2009 Tanaka Akira * ext/socket/option.c: use INET6 instead of IPV6. Mon Feb 2 12:47:47 2009 NAKAMURA Usaku * ext/socket/{options,raddrinfo}.c: use INET6 instead of AF_INET6 for VC++6. Mon Feb 2 12:41:52 2009 Shugo Maeda * complex.c (f_signbit): regard NaN as a positive value. [ruby-dev:37861]. Mon Feb 2 12:39:00 2009 Nobuyoshi Nakada * sample/test.rb (valid_syntax?), test/ruby/test_system.rb (TestSystem::valid_syntax?): use catch and throw instead of return inside BEGIN block. Mon Feb 2 11:45:10 2009 Tanaka Akira * ext/socket/rubysocket.h (cmsg_type_arg): declared. (Init_ancdata): ditto. * ext/socket/init.c (Init_socket_init): call Init_ancdata. * ext/socket/constants.c (cmsg_type_arg): defined. * ext/socket/depend: add dependency for ancdata.o. * ext/socket/mkconstants.rb: generate scm_optname_to_int. more constants. * ext/socket/extconf.rb: add ancdata.o. * ext/socket/ancdata.c: new file. new method BasicSocket#{sendmsg,sendmsg_nonblock,recvmsg,recvmsg_nonblock} Mon Feb 2 10:57:27 2009 NAKAMURA Usaku * win32/win32.c, win32/dir.h (open_dir_handle, rb_w32_opendir, move_to_next_entry, rb_w32_readdir, check_valid_dir): change backend API from A to W. Mon Feb 2 10:48:38 2009 Tanaka Akira * ext/socket/basicsocket.c (bsock_setsockopt): accept Socket::Option object. (bsock_getsockopt): return Socket::Option object. * ext/socket/option.c: new file. * ext/socket/rubysocket.h (rb_cSockOpt): declared. (sockopt_new): ditto. (Init_sockopt): ditto. * ext/socket/init.c (Init_socket_init): call Init_sockopt. * ext/socket/depend: add dependency for option.o * ext/socket/mkconstants.rb: generate intern_level, intern_so_optname, intern_ip_optname, intern_ipv6_optname, intern_tcp_optname, intern_udp_optname and intern_scm_optname. * ext/socket/extconf.rb: add option.o. Mon Feb 2 09:49:39 2009 Nobuyoshi Nakada * vm.c (vm_backtrace_each): progname is not available at initializing phase. Mon Feb 2 08:12:50 2009 Nobuyoshi Nakada * lib/xmlrpc/server.rb (Server#serve): gets rid of hardcoded platform names. * lib/resolv.rb (Resolv::Hosts::DefaultFileName), (Resolv::DNS::Config.default_config_hash): tries win32/resolv on mswin64 too. * lib/rubygems/specification.rb (Gem::Specification#ruby_code): added mswin64. * lib/drb/extservm.rb (DRb::ExtServManager#invoke_service_command): spawn is better to start a process in background. * ext/extmk.rb: uses FNM_SYSCASE. * instruby.rb: installs win32.h on mswin64 platform. [ruby-core:21722] Mon Feb 2 07:36:13 2009 Nobuyoshi Nakada * vm.c (vm_backtrace_each): now takes an iterator function. * vm_core.h (rb_make_backtrace, rb_backtrace_each): added prototypes. * vm_dump.c (rb_vm_bugreport), vm_eval.c (rb_backtrace): gets rid of allocating objects. [ruby-core:21619] * vm_eval.c (rb_backtrace_each): new function which iterates over each backtrace info. Mon Feb 2 06:51:36 2009 NAKAMURA Usaku * encoding.c (rb_filesystem_encoding): Windows' filesystem encoding is sometimes ANSI code page and sometimes OEM code page. we should check whether code page is used. Sun Feb 1 21:27:55 2009 Tanaka Akira * ext/socket/raddrinfo.c (addrinfo_ipv4_private_p): new method. (addrinfo_ipv4_loopback_p): ditto. (addrinfo_ipv4_multicast_p): ditto. Sun Feb 1 16:10:06 2009 Nobuyoshi Nakada * lib/optparse.rb (Switch#summarize): strips an equal sign from short option, and fills right sides in shorter lines. [ruby-talk:326414] Sun Feb 1 05:19:43 2009 Nobuyoshi Nakada * variable.c (rb_const_get_0), vm_insnhelper.c (vm_get_ev_const): avoids infinite self recursion autoload. [ruby-core:21696] Sat Jan 31 22:50:38 2009 Tanaka Akira * lib/test/unit/assertions.rb (assert_equal): show class in failure message if meaningful. Sat Jan 31 22:38:46 2009 Tanaka Akira * lib/resolv.rb (Resolv::DNS#each_address): don't query IPv6 address if the host has no global IPv6 address. Sat Jan 31 22:29:05 2009 Tanaka Akira * include/ruby/ruby.h (STR2CSTR): removed. (rb_str2cstr): removed. * object.c (rb_str2cstr): removed. Sat Jan 31 20:07:59 2009 Tanaka Akira * ext/socket/raddrinfo.c (addrinfo_ipv6_unspecified_p): new method. (addrinfo_ipv6_loopback_p): ditto. (addrinfo_ipv6_multicast_p): ditto. (addrinfo_ipv6_linklocal_p): ditto. (addrinfo_ipv6_sitelocal_p): ditto. (addrinfo_ipv6_v4mapped_p): ditto. (addrinfo_ipv6_v4compat_p): ditto. (addrinfo_ipv6_mc_nodelocal_p): ditto. (addrinfo_ipv6_mc_linklocal_p): ditto. (addrinfo_ipv6_mc_sitelocal_p): ditto. (addrinfo_ipv6_mc_orglocal_p): ditto. (addrinfo_ipv6_mc_global_p): ditto. Sat Jan 31 19:09:30 2009 Nobuyoshi Nakada * load.c (rb_require_safe): raises when the path to be loaded is tainted. [ruby-dev:37843] Sat Jan 31 18:08:59 2009 Nobuyoshi Nakada * configure.in (optflags): defaulted to -O3 to get rid of slug of gcc 4.3. Sat Jan 31 18:03:41 2009 Nobuyoshi Nakada * lib/optparse.rb (List#accept, parse_in_order): n option is no longer needed. Sat Jan 31 14:12:43 2009 Tanaka Akira * lib/pathname.rb (Pathname#each_child): new method. Sat Jan 31 00:07:49 2009 Tanaka Akira * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert_nothing_raised): suppress warning. [ruby-core:21312] Fri Jan 30 21:49:32 2009 Tanaka Akira * lib/pathname.rb (Pathname#realdirpath): new method based on the patch in [ruby-dev:36560] by Akinori MUSHA. [ruby-dev:36290] Fri Jan 30 18:04:23 2009 NAKAMURA Usaku * win32/win32.c (rb_w32_write): limit write size to 32KB if the file seems to be console. [ruby-core:21613] Fri Jan 30 16:12:32 2009 TAKAO Kouji * ext/curses/curses.c (Init_curses): Curses#crmode and Curses#nocrmode changes to the module function. fix #916 Fri Jan 30 14:31:14 2009 NAKAMURA Usaku * tool/make-snapshot (prereq): remove enc.mk from tarball because BSD make checks $(srcdir)/enc.mk and try to run $(builddir)/enc.mk. Fri Jan 30 14:11:48 2009 NAKAMURA Usaku * enc/depend: extract compile rules to each target for nmake. Fri Jan 30 12:59:49 2009 Nobuyoshi Nakada * cygwin/GNUmakefile.in (RUBYDEF): depends on makefiles. * cygwin/GNUmakefile.in (RUBYDEF): adds DATA to non-function symbols which is not marked as T. Fri Jan 30 11:03:31 2009 Nobuyoshi Nakada * lib/test/unit/assertions.rb (assert_respond_to): gets rid of overcounting. [ruby-dev:37703] Fri Jan 30 02:55:56 2009 Tanaka Akira * transcode.c (rb_econv_init_by_convpath_i): make it static. Thu Jan 29 16:22:41 2009 Shugo Maeda * load.c (rb_feature_provided): should not calculate len by pointer subtraction because feature may be a expanded path. [ruby-core:21267] Thu Jan 29 14:12:15 2009 Nobuyoshi Nakada * configure.in (BASERUBY): erases RUBYOPT at the test. * configure.in (OBJCOPY): not used on Windows. Thu Jan 29 13:16:11 2009 Nobuyoshi Nakada * lib/securerandom.rb (SecureRandom.uuid): uses unpacked array instead of string, because String#[] returns one length string. Thu Jan 29 12:29:51 2009 Nobuyoshi Nakada * lib/rake.rb (FileUtils#rake_system): no longer needs workaround on Windows. [ruby-core:21339] * lib/rake/win32.rb (Rake::Win32#rake_system): ditto. * lib/rake/win32.rb (Rake::Win32#win32_system_dir): no longer needs environment variables other than APPDATA now. * lib/rake.rb (Rake::Application#standard_system_dir): uses platform specific definition on Windows system. Thu Jan 29 12:18:54 2009 Technorama Ltd. * lib/securerandom.rb: new method SecureRandom#uuid Thu Jan 29 11:22:19 2009 NAKAMURA Usaku * ext/socket/raddrinfo.c (inspect_sockaddr): if defined AF_INET6, perhaps can inspect IPv6 addresses if not defined INET6. * ext/socket/socket.c (socket_s_ip_address_list): support Windows XP or later. (Win2k or earlier is still not supported) Thu Jan 29 00:24:48 2009 NAKAMURA Usaku * ext/zlib/zlib.c (zstream_run): previous change didn't resolve the problem. Wed Jan 28 22:51:12 2009 NAKAMURA Usaku * ext/zlib/zlib.c (zstream_run): desperately guard the variable. [ruby-core:20576] Wed Jan 28 15:24:11 2009 TAKANO Mitsuhiro (takano32) * math.c: SEGV is caused by implicit rb_to_float declaration test_complexrational.rb: [BUG] in IA-64 architecture Tue Jan 27 20:02:07 2009 Tanaka Akira * ext/socket/init.c (socks_connect_blocking): moved from sockssocket.c. [ruby-dev:37834] * sockssocket.c (socks_init): don't omit "int" type. Tue Jan 27 14:41:33 2009 Nobuyoshi Nakada * cygwin/GNUmakefile.in (RUBYDEF): needs DATA marks to export non-function symbols. [ruby-core:21582] * win32/mkexports.rb (Exports::Mingw#each_export): ditto. Tue Jan 27 12:59:55 2009 NARUSE, Yui * ext/ripper/depend: use VPATH. If a platform doesn't support VPATH, Ruby doesn't support it: for example MSYS. [ruby-core:21570] Tue Jan 27 12:21:17 2009 NARUSE, Yui * ext/ripper/depend: lex.c's correct path is ../../lex.c. Tue Jan 27 11:09:45 2009 Nobuyoshi Nakada * lib/mkmf.rb (try_header): checks the header depending on platform. * lib/mkmf.rb (have_header, find_header): use try_header. * win32/Makefile.sub (try_header): uses try_compile to get rid of slow -E option of VC. Tue Jan 27 11:03:52 2009 Nobuyoshi Nakada * common.mk (distclean-enc, realclean-enc): do not call clean of enc.mk twice or more. * enc/depend (cleanobjs): added deffile. * lib/mkmf.rb (create_makefile): removes deffile at clean instead of distclean. * win32/Makefile.sub (miniruby, LIBRUBY_SO): removes lib and exp files. * win32/Makefile.sub (clean, distclean): have moved to common.mk. * win32/rmdirs.bat: omits `not empty' message. Tue Jan 27 10:15:33 2009 Nobuyoshi Nakada * transcode.c (struct rb_transcoding): added ary member for debug. Tue Jan 27 10:10:14 2009 Nobuyoshi Nakada * Doxyfile.in (FILE_VERSION_FILTER, INPUT_FILTER): should not use ./miniruby directly for cross compiling. Tue Jan 27 04:02:53 2009 Yukihiro Matsumoto * ext/ripper/depend: fixed dependency path to lex.c. [ruby-core:21570] Tue Jan 27 03:43:34 2009 Yukihiro Matsumoto * hash.c (rb_any_hash): fixed performance issues with nil, true, false as hash keys. a patch from Matthias Waechter. [ruby-core:21568] Tue Jan 27 03:23:43 2009 Yukihiro Matsumoto * lib/mkmf.rb (create_makefile): should point correct path to ruby.h and defines.h. [ruby-core:21569] Mon Jan 26 16:00:40 2009 Nobuyoshi Nakada * array.c (rb_ary_aset): fixed arguments evaluation order. Mon Jan 26 15:49:42 2009 Nobuyoshi Nakada * lib/pathname.rb (chop_basename, prepend_prefix): use o option. Sun Jan 25 16:35:44 2009 Tanaka Akira * ext/socket/socket.c (socket_s_ip_address_list): renamed from socket_s_list_ip_address. [ruby-dev:37806] Sun Jan 25 12:17:21 2009 Nobuyoshi Nakada * cygwin/GNUmakefile.in (RUBYDEF): needs read-only section too. Sun Jan 25 12:02:56 2009 Nobuyoshi Nakada * win32/Makefile.sub (clean-ext): condition of EXTS was inverted. Sun Jan 25 11:50:20 2009 Nobuyoshi Nakada * lib/mkmf.rb (create_makefile): fixed the variables order because converter proc refers the separator. Sun Jan 25 11:25:10 2009 Nobuyoshi Nakada * Makefile.in, win32/Makefile.sub (RMDIRS): remove directory and parents. * Makefile.in, win32/Makefile.sub (distclean-rdoc): added to remove temporary rdoc. * Makefile.in, win32/Makefile.sub (clean-ext): skips non-existent directories. * common.mk (clean, distclean): cleans rdoc. * common.mk (clean-extout): removes extout directory. * configure.in (RMDIRS, RMALL): added to clean extout. * lib/fileutils.rb (FileUtils#rmdir): added :parents option. * lib/mkmf.rb (create_makefile): cleans installed files at clean instead of distclean. * lib/mkmf.rb (create_makefile): added clean-so and clean-rb. * lib/mkmf.rb (def init_mkmf): added DISTCLEANDIRS. * lib/un.rb (rmdir): added -p option. * tool/rmdirs, win32/rmdirs.bat: removes directory and the parents. * win32/rm.bat: added -r option. Sun Jan 25 09:09:29 2009 Nobuyoshi Nakada * dir.c (join_path): use strlcat() to force link. * dir.c (glob_helper): no strcpy() is needed since len is known. Sun Jan 25 06:44:58 2009 Technorama Ltd. * ext/openssl/ossl_ssl.c: Server Name Indication support. new methods SSLContext#server_name_cb=, SSLSocket#hostname=. * test/openssl/test_ssl.rb: Tests for above. Sat Jan 24 08:22:35 2009 Nobuyoshi Nakada * lib/mkmf.rb (configuration): tools under the top source directory are not installed, so unusable outside extmk.rb. Fri Jan 23 17:24:31 2009 WATANABE Hirofumi * golf_prelude.rb (Enumerator#inspect): avoid warning. Fri Jan 23 15:12:52 2009 Nobuyoshi Nakada * lib/mkmf.rb (mkintpath): new function which converts native path to format acceptable in Makefile. * lib/mkmf.rb (configuration): leaves PATH_SEPARATOR unchanged. * lib/mkmf.rb (configuration): converts srcdir, topdir and hdrdir. a patch by Alexey Borzenkov at [ruby-core:21448]. * lib/mkmf.rb (try_func): got rid of c-mode confusion. Fri Jan 23 13:26:45 2009 Nobuyoshi Nakada * signal.c (trap_handler): also accepts symbols. [ruby-dev:37823] Thu Jan 22 18:14:04 2009 Nobuyoshi Nakada * lib/mkmf.rb (create_makefile): removes installed files under extout at distclean. Thu Jan 22 17:12:37 2009 Takeyuki FUJIOKA * lib/cgi/core.rb (CGI.parse): generate only key on params hash if request have only key uri parameters. (ex. index.cgi?aaa&bbb=1 # params=>{:aaa=>[],:bbb=>["1"]}) * test/cgi/test_cgi_core.rb: fix test for key only params. Thu Jan 22 16:29:50 2009 Nobuyoshi Nakada * lib/rubygems/installer.rb (Gem::Installer#initialize): fixed typos. * test/rubygems/test_gem.rb (test_self_dir): removed false assertions. * test/rubygems/test_gem.rb (test_self_set_paths): checks if paths are included. * test/rubygems/test_gem_commands_install_command.rb (test_execute_remote): checks diagnostic message too. * test/rubygems/test_gem_installer.rb (load): uses Gem.ruby. * test/rubygems/gemutilities.rb (Gem.ruby): initializes from the environment variable to run without installation. * test/rubygems/gemutilities.rb (RubyGemTestCase#util_build_gem): creates cache directory. Thu Jan 22 16:12:51 2009 NAKAMURA Usaku * revert previous revision. it's already out-of-date. Thu Jan 22 15:54:02 2009 NAKAMURA Usaku * include/ruby/win32.h, win32/win32.c (rb_w32_is_valid_fd): new function to validate fd. * io.c (rb_io_initialize): check fd with above function. Thu Jan 22 14:53:29 2009 Nobuyoshi Nakada * test/ruby/test_process.rb (MANDATORY_ENVS): needs RUBYLIB to run tests without install. Thu Jan 22 12:19:29 2009 Nobuyoshi Nakada * gc.c (define_final): cannot define finalizer for immediate values. [ruby-core:21500] * gc.c (define_final): freezes or hides internal values. Thu Jan 22 11:33:08 2009 Nobuyoshi Nakada * thread.c (rb_time_timeval): made a real prototype. a patch from Marcus Rueckert at [ruby-core:21492]. Wed Jan 21 21:43:50 2009 Nobuyoshi Nakada * io.c (rb_io_ungetbyte, rb_io_ungetc): allows nil to reset EOF flag with ungetting nothing. * ruby.c (load_file_internal): rests EOF flag to make possible to load from stdin after reading data. Wed Jan 21 17:17:18 2009 Yukihiro Matsumoto * array.c (ary_double_capa): a new function to expand array more aggressively. [ruby-core:21460] * array.c (rb_ary_store): use ary_double_capa(). * array.c (rb_ary_unshift_m): ditto. * array.c (rb_ary_splice): ditto. Wed Jan 21 15:32:15 2009 Nobuyoshi Nakada * io.c (rb_io_ungetbyte, rb_io_ungetc): clears EOF flag. Wed Jan 21 14:41:48 2009 NAKAMURA Usaku * array.c (take_items): to_ary() raises ArgumentError if cannot to convert to Array. [ruby-dev:37797] Wed Jan 21 14:32:02 2009 Nobuyoshi Nakada * parse.y (debug_lines): calls rb_intern() once. Wed Jan 21 13:58:17 2009 Nobuyoshi Nakada * include/ruby/io.h (FMODE_EOF): EOF flag on TTY. * io.c (io_set_eof): sets EOF flag for TTY. * io.c (io_seek): clears EOF flag. * io.c (io_fillbuf): returns EOF if already met EOF. [ruby-dev:37798] * io.c (io_fillbuf, io_fread, io_getpartial): sets EOF. Wed Jan 21 08:22:04 2009 Ryan Davis * lib/minitest/*.rb: Imported minitest 1.3.1 r4532. * test/minitest/*.rb: ditto. Tue Jan 20 20:16:21 2009 Tanaka Akira * ext/socket/socket.c (socket_s_list_ip_address): new method. (sockaddr_obj): new function. * ext/socket/rubysocket.h: include ifaddrs.h, sys/ioctl.h, sys/sockio.h, net/if.h if available. (addrinfo_new): declared. * ext/socket/raddrinfo.c (addrinfo_new): exported. * ext/socket/extconf.rb: check ifaddrs.h, sys/ioctl.h, sys/sockio.h, net/if.h and getifaddrs. Tue Jan 20 20:05:21 2009 Tanaka Akira * ext/socket/rubysocket.h (pseudo_AF_FTIP): moved from mkconstants.rb. * ext/socket/mkconstants.rb: prepend header if -H is not given. Tue Jan 20 17:50:00 2009 NARUSE, Yui * ext/nkf/nkf-utf8/nkf.c (nkf_buf): use nkf_char. Tue Jan 20 16:17:12 2009 Nobuyoshi Nakada * cont.c (ruby_Init_{Continuation_body,Fiber_as_Coroutine}): prefixed with ruby_ to export. * ext/continuation/continuation.c, ext/fiber/fiber.c: ditto. Tue Jan 20 15:32:29 2009 Nobuyoshi Nakada * Makefile.in (miniruby): renames and then removes, to get rid of EPERM on cygwin and mingw. * Makefile.in ($(LIBRUBY_SO)): use wildcard option of objcopy. * configure.in (DLDFLAGS): do not export all symbols. * cygwin/GNUmakefile.in (RUBYDEF): rejects symbols prefixed with Init_. * win32/mkexports.rb (Exports::Mingw): includes all symbols as well as mswin32, except for prefixed with Init_. Tue Jan 20 13:03:50 2009 Nobuyoshi Nakada * string.c (hash): fixed the tail bytes handling in the aligned access case. Tue Jan 20 09:26:05 2009 NAKAMURA Usaku * ext/nkf/nkf-utf8/nkf.c (nkf_buf_push): maybe a bug. * ext/nkf/nkf-utf8/nkf.c (options): no need to support help option. Tue Jan 20 06:48:56 2009 Nobuyoshi Nakada * array.c (take_items), enum.c (enum_zip): tries to convert to array first. [ruby-core:21442] Tue Jan 20 03:50:37 2009 NARUSE, Yui * ext/nkf/nkf-utf8/nkf.c: Update nkf to 2.0.9. revert -s meaning as Shift_JIS, etc. Tue Jan 20 03:42:32 2009 Nobuyoshi Nakada * string.c (hash): fixed typo. [ruby-dev:37791] Tue Jan 20 01:15:27 2009 Tanaka Akira * ext/socket/mkconstants.rb (SOMAXCONN): defined. Mon Jan 19 22:31:35 2009 Tanaka Akira * ext/socket/mkconstants.rb: use erb for generating code. Mon Jan 19 17:33:47 2009 Nobuyoshi Nakada