Sun Apr 6 08:52:50 2014 Bugra Barin * dln.c (dln_load): use wchar version to load a library in non-ascii path on Windows. based on the patch by Bugra Barin in [ruby-core:61845]. [Bug #9699] Sat Apr 5 19:36:33 2014 Tadayoshi Funaba * ext/date/date_core.c (d_lite_cmp): should compare with #<. Sat Apr 5 00:31:21 2014 Nobuyoshi Nakada * ext/readline/extconf.rb (rl_hook_func_t): check pointer type. [ruby-dev:48089] [Bug #9702] Fri Apr 4 07:13:44 2014 Nobuyoshi Nakada * configure.in (ac_cv_func___builtin_setjmp): should not skip flags restoration in RUBY_WERROR_FLAG by `break`. [ruby-dev:48086] [Bug #9698] Wed Apr 2 21:50:06 2014 Nobuyoshi Nakada * configure.in (ac_cv_func___builtin_setjmp): __builtin_longjmp() in clang 5.1 uses `void**`, not `jmp_buf`. [Bug #9692] Wed Apr 2 20:57:15 2014 Koichi Sasada * gc.c, gc.h (rb_objspace_each_objects_without_setup): Add a new (hidden) C-API to iterate objspace snapshot. This API is not safe to call any C-APIs in a given callback function. Be careful to use this C-API. Wed Apr 2 17:43:17 2014 Nobuyoshi Nakada * configure.in (ac_cv_func___builtin_setjmp): gcc 4.9 disallows a variable as the second argument of __builtin_longjmp(). [ruby-core:61800] [Bug #9692] Wed Apr 2 15:12:18 2014 SHIBATA Hiroshi * common.mk: Use redmine-2.x url for DeveloperHowto wiki. [ruby-core:60657] [Bug #9511] Wed Apr 2 11:46:29 2014 Kazuhiro NISHIYAMA * ext/pathname/lib/pathname.rb (Pathname#join): Fix error with empty args. Reported by ko1 via IRC. * test/pathname/test_pathname.rb (TestPathname#test_join): Add the test for above case. Tue Apr 1 11:39:57 2014 James Edward Gray II * lib/csv.rb: Symbol HeaderConverter: strip leading/trailing space. Reported by Skye Shaw [Fixes GH-575] Tue Apr 1 11:34:04 2014 James Edward Gray II * lib/csv.rb: Don't attempt to convert nil headers. Reported by Skye Shaw Tue Apr 1 17:29:35 2014 Nobuyoshi Nakada * tool/config_files.rb (ConfigFiles.download): show failed URI. [ruby-core:61792] [Bug #9690] Tue Apr 1 12:06:49 2014 NARUSE, Yui * addr2line.c (rb_dump_backtrace_with_lines): don't depend hard coded symbol '_start'. * addr2line.c (fill_lines): instead of above, get a dynamic symbol in the main executable and use it to know the base address. * addr2line.c (follow_debuglink0): use obj_info_t instead of line_info_t to handle object related data. * addr2line.c (main_exe_path): defined for Linux. Tue Apr 1 08:58:39 2014 Kazuki Tsujimoto * parse.y (rb_str_dynamic_intern): set mark bit if dynamic symbol is before sweeping. Tue Apr 1 07:37:00 2014 NARUSE, Yui * addr2line.c (fill_lines): use dynsym, which is used for dynamic linking and always exists, if there's no symtab. Tue Apr 1 07:27:15 2014 NARUSE, Yui * vm_dump.c (rb_print_backtrace): current implementation uses dladdr to get the path of objects. Mon Mar 31 23:57:45 2014 Nobuyoshi Nakada * ext/readline/extconf.rb: fix typo, `$defs` not `$DEFS`. [ruby-core:61756] [Bug #9578] Mon Mar 31 17:23:50 2014 NAKAMURA Usaku * test/ruby/memory_status.rb: require envutil before accessing EnvUtil module. reported by ko1 via twitter. Mon Mar 31 10:28:01 2014 Eric Wong * st.c (st_init_table_with_size): update comment [Feature #9425] Sun Mar 30 23:39:26 2014 NAKAMURA Usaku * win32/win32.c (rb_w32_accept, open_ifs_socket, socketpair_internal): reset inherit flag of socket to avoid unintentional inheritance of socket. note that the return value of SetHandleInformation() is not verified intentionally because old Windows may return an error. [Bug #9688] [ruby-core:61754] Sat Mar 29 13:04:22 2014 Koichi Sasada * gc.c (gc_before_sweep): cap `malloc_limit' to gc_params.malloc_limit_max. It can grow and grow with such case: `loop{"a" * (1024 ** 2)}' [Bug #9687] This issue is pointed by Tim Robertson. http://www.omniref.com/blog/blog/2014/03/27/ruby-garbage-collection-still-not-ready-for-production/ Fri Mar 28 19:32:13 2014 Nobuyoshi Nakada * struct.c (not_a_member): extract name error and use same error messages. based on the patch by Marcus Stollsteimer at [ruby-core:61721]. [Bug #9684] Fri Mar 28 09:21:54 2014 SHIBATA Hiroshi * ext/psych/psych.gemspec: update gemspec for psych-2.0.5 Fri Mar 28 09:11:06 2014 SHIBATA Hiroshi * ext/psych/lib/psych.rb: Merge psych-2.0.5. bump version to libyaml-0.1.6 for CVE-2014-2525. * ext/psych/yaml/config.h: ditto. * ext/psych/yaml/scanner.c: ditto. * ext/psych/yaml/yaml_private.h: ditto. Thu Mar 27 18:58:10 2014 Nobuyoshi Nakada * re.c (match_regexp): set regexp for MatchData from string. * re.c (rb_backref_set_string): create MatchData from string and set backref. * string.c (rb_pat_search, rb_str_sub, rb_str_sub_bang, str_gsub), (scan_once, rb_str_scan, rb_str_partition): use rb_str_index instead of rb_reg_search() when pattern is a String. based on the patch by Sam Rawlins [Fixes GH-579] Thu Mar 27 11:58:55 2014 NARUSE, Yui * addr2line.c (fill_lines): check shdr[i].sh_type because even if .symtab section exists, the section's type can be SHT_NOBITS and actual data doesn't exist in the file. revert r45441. Wed Mar 26 14:57:35 2014 NAKAMURA Usaku * parse.y: inline must be static (for mswin). fixed build error introduced at r45426. Wed Mar 26 14:33:00 2014 Narihiro Nakamura * internal.h (USE_SYMBOL_GC): enable Symbol GC by default (USE_SYMBOL_GC == 1). Tue Mar 25 22:57:11 2014 Narihiro Nakamura * parse.y: support Symbol GC. [ruby-trunk Feature #9634] See this ticket about Symbol GC. * include/ruby/ruby.h: Declare few functions. * rb_sym2id: almost same as old SYM2ID but support dynamic symbols. * rb_id2sym: almost same as old ID2SYM but support dynamic symbols. * rb_sym2str: almost same as `rb_id2str(SYM2ID(sym))` but not pin down a dynamic symbol. Declare a new struct. * struct RSymbol: represents a dynamic symbol as object in Ruby's heaps. Add few macros. * STATIC_SYM_P: check a static symbol. * DYNAMIC_SYM_P: check a dynamic symbol. * RSYMBOL: cast to RSymbol * gc.c: declare RSymbol. support T_SYMBOL. * internal.h: Declare few functions. * rb_gc_free_dsymbol: free up a dynamic symbol. GC call this function at a sweep phase. * rb_str_dynamic_intern: convert a string to a dynamic symbol. * rb_check_id_without_pindown: not pinning function. * rb_sym2id_without_pindown: ditto. * rb_check_id_cstr_without_pindown: ditto. * string.c (Init_String): String#intern and String#to_sym use rb_str_dynamic_intern. * template/id.h.tmpl: use LSB of ID as a flag for determining a static symbol, so we shift left other ruby_id_types. * string.c: use rb_sym2str instead `rb_id2str(SYM2ID(sym))` to avoid pinning. * load.c: use xx_without_pindown function at creating temporary ID to avoid pinning. * object.c: ditto. * sprintf.c: ditto. * struct.c: ditto. * thread.c: ditto. * variable.c: ditto. * vm_method.c: ditto. Wed Mar 26 13:25:54 2014 NARUSE, Yui * addr2line.c (fill_lines): loop reverse order not to overwrite the basis of base addresses comparison. * addr2line.c: use uintptr_t instead of intptr_t for pointers. * addr2line.c (rb_dump_backtrace_with_lines): don't use syms. * vm_dump.c (rb_print_backtrace): ditto. * addr2line.h: ditto. Wed Mar 26 11:20:50 2014 Nobuyoshi Nakada * marshal.c (w_object): internal objects are not dumpable. [ruby-core:61677] [Bug #9674] * ext/thread/thread.c (undumpable): ConditionVariable and Queue are not dumpable. [ruby-core:61677] [Bug #9674] Wed Mar 26 10:36:39 2014 NARUSE, Yui * addr2line.c (follow_debuglink): show message if it closes opened (and maybe used) elf binary. Wed Mar 26 10:34:25 2014 NARUSE, Yui * addr2line.c (fill_line): pass and use offset instead of curobj_baseaddr. Wed Mar 26 09:07:48 2014 Yutaka Kanemoto * configure.in: add --disable-pie. [Feature #9673] Wed Mar 26 08:47:04 2014 NARUSE, Yui * addr2line.c (fill_lines): don't run fill_lines multiple times. Wed Mar 26 08:45:00 2014 Sam Rawlins * internal.h: add prototype for rb_reg_search0 * re.c: rename rb_reg_search to rb_reg_search0, add set_backref_str argument to allow callers to indicate that they don't require the backref string to be allocated. * string.c: don't allocate backref str if replacement string is provided [GH-578] [Bug #9676] [ruby-core:61682] Wed Mar 26 08:29:43 2014 mo khan * lib/rubygems.rb: fix spelling of Jim Weirich. [Fixes GH-577] Wed Mar 26 01:55:45 2014 NARUSE, Yui * addr2line.c (rb_dump_backtrace_with_lines): a function to get must be a function in the main executable, whose absolute path is not available by dladdr, and ruby get it by /proc/self/exe on Linux. Wed Mar 26 01:34:50 2014 NARUSE, Yui * addr2line.c (fill_lines): skip if path is NULL. Tue Mar 25 23:57:17 2014 Nobuyoshi Nakada * parse.y (parser_yylex): only a newline after label should be significant. [ruby-core:61658] [Bug #9669] Tue Mar 25 23:32:25 2014 Kazuhiro NISHIYAMA * ext/pathname/lib/pathname.rb (Pathname#join): remove unnecessary unshift. * test/pathname/test_pathname.rb (TestPathname#test_join): add tests. Tue Mar 25 16:47:36 2014 Nobuyoshi Nakada * parse.y (lex_state_e, parser_params, f_arglist, parser_yylex): separate EXPR_LABELARG from EXPR_BEG and let newline significant, so that required keyword argument can place at the end of argument list without parentheses. [ruby-core:61658] [Bug #9669] Mon Mar 24 22:19:56 2014 Nobuyoshi Nakada * parse.y (ripper_initialize): filename can not be modified. Mon Mar 24 15:19:47 2014 NARUSE, Yui * addr2line.c (rb_dump_backtrace_with_lines): fetch path of the executable from /proc/self/exe on Linux. Mon Mar 24 14:14:37 2014 SHIBATA Hiroshi * gc.c: Fix up default GC params by @csfrancis [fix GH-556] Mon Mar 24 13:13:36 2014 NARUSE, Yui * addr2line.c (parse_debug_line_cu): explicitly specify signed char because DWARF's line_Base is signed char and char maybe unsigned. patched by Rei Odaira. [ruby-dev:48068] [Bug #9654] Sun Mar 23 11:03:50 2014 Kohei Suzuki * vm_method.c (rb_method_entry_get_without_cache): me->klass is 0 for a method aliased in a module. [ruby-core:61636] [Bug #9663] Sun Mar 23 08:12:27 2014 Eric Wong * st.c (hash_pos): use bitwise AND to avoid slow modulo op (new_size): power-of-two sizes for hash_pos change (st_numhash): adjust for common keys due to lack of prime modulo [Feature #9425] * hash.c (rb_any_hash): right shift for symbols * benchmark/bm_hash_aref_miss.rb: added to show improvement * benchmark/bm_hash_aref_sym_long.rb: ditto * benchmark/bm_hash_aref_str.rb: ditto * benchmark/bm_hash_aref_sym.rb: ditto * benchmark/bm_hash_ident_num.rb: added to prevent regression * benchmark/bm_hash_ident_obj.rb: ditto * benchmark/bm_hash_ident_str.rb: ditto * benchmark/bm_hash_ident_sym.rb: ditto Sat Mar 22 22:56:45 2014 NARUSE, Yui * addr2line.c (fill_lines): compare the file names of object in which symbols exist. [Bug #9654] [ruby-dev:48058] Sat Mar 22 06:46:16 2014 Nobuyoshi Nakada * lib/cgi/util.rb (escape_html, unescape_html): make synonyms aliases instead of wrapper methods. * lib/cgi/util.rb (escape_element, unescape_element): ditto. [Fixes GH-573] Fri Mar 21 21:57:34 2014 Akinori MUSHA * configure.in: Fix a build problem with clang and --with-opt-dir. If ruby is configured with --with-opt-dir=dir when using clang as compiler, a warning `clang: warning: argument unused during compilation: '-I dir'` is emitted almost every time clang compiles a file. Unfortunately, RUBY_CHECK_PRINTF_PREFIX takes any output from the compiler as fatal error, and the check thus fails due to the warning. This is an attempt to fix the problem by adding a flag -Qunused-arguments to CFLAGS locally in the function to suppress the warning. [ruby-dev:48062] [Bug #9658] [Fixes GH-571] https://github.com/ruby/ruby/pull/571 Fri Mar 21 16:31:56 2014 Zachary Scott * gc.c: [DOC] Fix call-seq for GC.start by @jasonrclark [Fixes GH-572] https://github.com/ruby/ruby/pull/572 Thu Mar 20 11:37:28 2014 James Edward Gray II * lib/csv.rb: Fixed a broken regular expression that was causing CSV to miss escaping some special meaning characters when used in parsing. Reported by David Unric [ruby-core:54986] [Bug #8405] Thu Mar 20 16:53:07 2014 Koichi Sasada * gc.c (objspace_malloc_increase): should not invoke garbage_collect_with_gvl() here on non-ruby threads. Should just ignore the malloc_increase. This issue is pointed by Eric Wong [ruby-core:61519]. Thu Mar 20 13:05:16 2014 Koichi Sasada * struct.c (rb_struct_alloc): use RARRAY_CONST_PTR() instead of RARRAY_PTR(). Thu Mar 20 12:59:39 2014 Koichi Sasada * include/ruby/intern.h (rb_obj_call_init, rb_class_new_instance): constify a parameter (VALUE *). I believe this incompatibility doesn't break any code. However, if you have trouble, please tell us. * eval.c, object.c: ditto. Thu Mar 20 12:31:26 2014 Nobuyoshi Nakada * vm_method.c (rb_method_entry_get_without_cache): get rid of infinite recursion at aliases in a subclass and a superclass. return actually defined class for other than singleton class. [ruby-core:60431] [Bug #9475] Wed Mar 19 17:13:06 2014 Eric Wong * time.c (time_mload): freeze and preserve marshal-loaded time zone * test/ruby/test_time.rb: add test for GC on loaded object [Bug #9652] Tue Mar 18 23:20:12 2014 Shota Fukumori * vm_eval.c (eval_string_with_cref): Unify to use NIL_P. Tue Mar 18 22:03:41 2014 Shota Fukumori * vm_eval.c (eval_string_with_cref): Use file path even if scope is given. Related to [ruby-core:56099] [Bug #8662] and r42103. Mon Mar 17 13:17:47 2014 Koichi Sasada * enumerator.c (enumerator_block_call): use RARRAY_CONST_PTR() instead of RARRAY_PTR(). * io.c (rb_io_s_popen): ditto. * numeric.c (num_step_size): ditto. * vm_eval.c (rb_apply): ditto. * vm_eval.c (rb_eval_cmd): ditto. Mon Mar 17 10:11:59 2014 Eric Wong * variable.c (rb_const_set): delete existing entry on redefinition [Bug #9645] * test/ruby/test_const.rb (test_redefinition): test for leak Sun Mar 16 21:33:01 2014 Zachary Scott * lib/time.rb: [DOC] Fix timezone in example of Time.parse [Bug #9521] Based on patch by @stomar Sun Mar 16 13:21:40 2014 Nobuyoshi Nakada * configure.in (DLDFLAGS): insert a space between option and its argument for non-GCC compilers. [ruby-core:61429] [Bug #9624] Sun Mar 16 08:05:06 2014 Eric Wong * gc.c (objspace_xcalloc): fix GC accounting Sun Mar 16 06:33:35 2014 NARUSE, Yui * addr2line.c (fill_lines): return address is just after calling address. Therefore noreturn function with tail call's return address may be in another function. Sun Mar 16 05:51:55 2014 Zachary Scott * lib/gserver.rb: [DOC] Fixed typo in example by @stomar [Bug #9543] Sat Mar 15 18:54:03 2014 Kazuki Tsujimoto * ext/.document: remove refinement from documentable directories. Sat Mar 15 11:02:58 2014 Nobuyoshi Nakada * configure.in (DLDFLAGS): check for each options to control symbol resolution. [ruby-core:61429] [Bug #9624] Sat Mar 15 07:02:35 2014 Eric Wong * st.c (st_update): remove unnecessary assignment Fri Mar 14 14:58:38 2014 NARUSE, Yui * addr2line.c (fill_lines): fetch symbol names from ELF binary's symbol table if it is built with cc -g and not stripped. Now ruby can show static symbols on Linux though glibc's backtrace_symbols(3) don't show them. * addr2line.c (rb_dump_backtrace_with_lines): use dladdr(3) to detect what object file declares the symbol because dl_iterate_phdr can't detect the main executable file and codes on the stack. NOTE: signal trampolines sometimes on the user stack. (FreeBSD) * addr2line.c (rb_dump_backtrace_with_lines): stop showing backtrace if the function's name is main. NOTE: FreeBSD's backtrace (libexecinfo) shows _start and an additional address. Why it doesn't remove them on dladdr phase is, dladdr may fail to detect the main function but detect as _start function. Therefore it must be after scanning the symbol table and getting correct name. Fri Mar 14 12:07:46 2014 Zachary Scott * doc/syntax/literals.rdoc: [DOC] Single quote strings allows escape of backslash as well, patch by @idupree [Fixes GH-553] https://github.com/ruby/ruby/pull/553 Fri Mar 14 01:18:24 2014 Nobuyoshi Nakada * vm.c (invoke_block_from_c): add splattable argument. * vm.c (vm_invoke_proc): disallow to splat when directly invoked. * vm_insnhelper.c (vm_callee_setup_arg_complex, vm_callee_setup_arg): relax arity check of yielded lambda. [ruby-core:61340] [Bug #9605] * test/ruby/test_yield.rb (TestRubyYieldGen#emu_bind_params): no longer raise ArgumentError when splatting to lambda. Thu Mar 13 23:51:02 2014 NAKAMURA Usaku * ext/-test-/win32/dln/libdlntest.c (dlntest_ordinal): no need to specify export in the source file because .def file do it. get rid of warning on linking. Wed Mar 12 11:19:03 2014 Nobuyoshi Nakada * vm_insnhelper.c (vm_callee_setup_arg): disable fastpath if splat argument, since argc may differ for each calls. [ruby-core:61422] [Bug #9622] * vm_insnhelper.c (vm_callee_setup_arg): turn a macro into an inline function. Wed Mar 12 07:26:05 2014 Eric Wong * insns.def (opt_regexpmatch2): respect redefined match op Thanks to Sam Rawlins for the fix. * test/ruby/test_string.rb: test based on Tsuyoshi Sawada's report [Bug #9581] Tue Mar 11 22:31:25 2014 Kazuki Tsujimoto * ext/.document: add objspace/objspace_dump.c to document file. Tue Mar 11 22:22:38 2014 Kazuki Tsujimoto * test/objspace/test_objspace.rb (TestObjSpace#test_dump_uninitialized_file): remove dependency on json library. Tue Mar 11 10:55:10 2014 Nobuyoshi Nakada * README.EXT{,.ja} (Appendix B): update contents of `ruby_options` and replace `ruby_run` with `ruby_run_node`. based on the patch by Kaneko Yuichiro at [ruby-dev:48030] [Bug #9619]. Tue Mar 11 06:54:00 2014 Scott Francis * ext/objspace/objspace_dump.c: Check fptr before trying to dump RFILE object fd. [GH-562] * test/objspace/test_objspace.rb: add test Tue Mar 11 02:04:36 2014 NARUSE, Yui * vm_dump.c (rb_vm_bugreport): show vm maps on FreeBSD. * vm_dump.c (procstat_vm): copied from FreeBSD. http://svnweb.freebsd.org/base/head/usr.bin/procstat/procstat_vm.c?revision=261780 Mon Mar 10 12:14:26 2014 NARUSE, Yui * configure.in: always check dladdr(1). * addr2line.c (fill_lines): show the line number in C backtrace if ruby is built without --enable-shared (PIE) on Linux. patch is originally by Shinichiro Hamaji https://twitter.com/shinh/status/441957774264504321 NOTE: ld doesn't insert __executable_start for PIE. dladdr(3)'s argument must be a function pointer. Mon Mar 10 10:51:17 2014 ksss * test/ruby/test_enumerator.rb (test_iterators): fix test for hash iterators. [Fixes GH-558] Sun Mar 9 14:14:49 2014 Eric Wong * class.c (rb_class_subclass_add): use xmalloc * class.c (rb_module_add_to_subclasses_list): ditto * class.c (rb_class_remove_from_super_subclasses): use xfree * class.c (rb_class_remove_from_module_subclasses): ditto [Bug #9616] Sun Mar 9 13:51:16 2014 Nobuyoshi Nakada * ext/fiddle/function.c (function_call): fix memory leak when an exception occurs at argument conversion or the function call. Sun Mar 9 06:42:40 2014 Eric Wong * variable.c (struct global_variable): shrink by 8 bytes on 64-bit Sat Mar 8 17:42:51 2014 Eric Wong * vm.c (add_opt_method): cleanup to use rb_method_entry_at Sat Mar 8 13:46:40 2014 Nobuyoshi Nakada * ext/dl/cptr.c (dlptr_free), ext/dl/handle.c (dlhandle_free), ext/fiddle/handle.c (fiddle_handle_free), ext/fiddle/pointer.c (fiddle_ptr_free): fix memory leak. based on the patch Heesob Park at [ruby-dev:48021] [Bug #9599]. Sat Mar 8 13:30:39 2014 Nobuyoshi Nakada * process.c (obj2uid, obj2gid): now getpwnam_r() and getgrnam_r() may need larger buffers than sysconf values, so retry with expanding the buffer when ERANGE is returned. [ruby-core:61325] [Bug #9600] Fri Mar 7 19:29:13 2014 Eric Wong * vm_eval.c (vm_call0_body): use RARRAY_CONST_PTR (check_funcall_exec): ditto [ruby-core:61360] Fri Mar 7 19:14:11 2014 Eric Wong * vm_eval.c (vm_call0_body): fix RB_GC_GUARD location (check_funcall_exec): ditto [Bug #9609] Fri Mar 7 14:48:17 2014 Narihiro Nakamura * parse.y (ENC_SINGLE): Unused macro removed. Fri Mar 7 12:06:19 2014 Martin Bosslet * test/openssl/test_ssl.rb: Reuse TLS default options from OpenSSL::SSL::SSLContext::DEFAULT_PARAMS. Thu Mar 6 15:15:24 2014 Zachary Scott * doc/syntax/assignment.rdoc: [DOC] Fix assignment directions By @idupree [Fixes GH-555] https://github.com/ruby/ruby/pull/555 Thu Mar 6 15:07:18 2014 Zachary Scott * doc/syntax/methods.rdoc: [DOC] Fix example for block arguments By @idupree [Fixes GH-554] https://github.com/ruby/ruby/pull/554 Thu Mar 6 10:33:31 2014 Martin Bosslet * lib/openssl/ssl.rb: Explicitly whitelist the default SSL/TLS ciphers. Forbid SSLv2 and SSLv3, disable compression by default. Reported by Jeff Hodges. [ruby-core:59829] [Bug #9424] Wed Mar 5 15:56:18 2014 Nobuyoshi Nakada * parse.y (f_arg_asgn): define optional arguments as argument variables in the rhs default expressions. [ruby-core:61299] [Bug #9593] Wed Mar 5 11:58:30 2014 Nobuyoshi Nakada * ext/openssl/ossl.c (ossl_make_error): check NULL for unknown error reasons with old OpenSSL, and insert a colon iff formatted message is not empty. Wed Mar 5 00:42:00 2014 Kazuki Tsujimoto * ext/pathname/lib/pathname.rb (Pathname#find): add "ignore_error" keyword argument defaulted to true as well as Find#find. Tue Mar 4 23:00:18 2014 NAKAMURA Usaku * test/ruby/test_eval.rb (TestEval#make_test_binding): renamed. it's not test method. Tue Mar 4 20:50:59 2014 Masaya Tarui * st.c (st_foreach): fix type of hash. not st_data_t but st_index_t. Tue Mar 4 19:41:40 2014 Tanaka Akira * Makefile.in: ".DEFAULT" target removed because it is not for specifying default target. Tue Mar 4 00:25:35 2014 Kazuki Tsujimoto * lib/find.rb (Find#find): should pass ignore_error option to enumerators. Mon Mar 3 13:27:35 2014 NAKAMURA Usaku * test/test_find.rb (TestFind#test_unsearchable_dir): ruby cannot make directory unreachable by owner on Windows. Mon Mar 3 08:10:04 2014 Eric Wong * vm_method.c (rb_method_entry_get_without_cache): disable GMC writing if GMC is disabled. [ruby-core:61218] Mon Mar 3 07:47:17 2014 Eric Wong * README.EXT: wrap GetDBM with do/while(0) * README.EXT.ja: ditto * ext/dbm/dbm.c: ditto, likewise for GetDBM2 * ext/gdbm/gdbm.c: ditto * ext/sdbm/init.c: ditto [ruby-core:61217] Mon Mar 3 07:17:31 2014 Zachary Scott * NEWS: [DOC] Update doc regarding filesystem load when flushing IO Mon Mar 3 04:37:50 2014 NAKAMURA Usaku * io.c (rb_io_fsync): need to fsync even if on Windows. fixed mistake of r45254 and r45256. Mon Mar 3 04:21:34 2014 NAKAMURA Usaku * test/win32ole: get rid of warnings (unused variable). Mon Mar 3 02:53:53 2014 NAKAMURA Usaku * io.c (rb_io_flush_raw): [EXPERIMENTAL] remove force syncing for Win32 to speed up IO. this may break some tests, and they'll be fixed later. [ruby-core:58570] [Bug #9153] Mon Mar 3 00:17:43 2014 NAKAMURA Usaku * test/ruby/test_backtrace.rb: get rid of warnings. unused variable, shadowing. Sun Mar 2 11:15:10 2014 Nobuyoshi Nakada * lib/find.rb (Find#find): add "ignore_error" keyword argument defaulted to true. [ruby-core:51025] [Feature #7596] Sun Mar 2 11:13:30 2014 Nobuyoshi Nakada * ext/readline/extconf.rb (rl_hook_func_t): define as Function for very old readline versions. [ruby-core:61209] [Bug #9578] Sun Mar 2 10:47:58 2014 Eric Wong * load.c (ruby_init_ext): make idempotent to suppress warnings Sat Mar 1 19:51:42 2014 Tanaka Akira * lib/open3.rb (Open3.capture3): Ignore Errno::EPIPE for writing stdin_data. (Open3.capture2): Ditto. (Open3.capture2e): Ditto. Sat Mar 1 19:06:47 2014 Eric Wong * gc.c (ruby_gc_set_params): simplify condition Sat Mar 1 16:18:40 2014 Tanaka Akira * ext/readline/readline.c (Init_readline): Use rl_hook_func_t instead of Function to support readline-6.3. (rl_hook_func_t is available since readline-4.2.) Reported by Dmitry Medvinsky. [ruby-core:61141] [Bug #9578] Sat Mar 1 16:05:58 2014 Eric Wong * gc.c (ruby_gc_set_params): fix building without RGenGC Sat Mar 1 11:08:00 2014 Aaron Patterson * ext/psych/lib/psych/visitors/yaml_tree.rb: support dumping Encoding objects. * ext/psych/lib/psych/visitors/to_ruby.rb: support loading Encoding objects. * test/psych/test_encoding.rb: add test * ext/psych/lib/psych.rb: add version Sat Mar 1 10:52:34 2014 Zachary Scott * README.EXT.ja: [DOC] Fix typo "macro macro" @utenmiki [Fixes GH-551] https://github.com/ruby/ruby/pull/551 Fri Feb 28 11:16:55 2014 Marc-Andre Lafortune * numeric.c: Fix Numeric#step with 0 unit [Bug #9575] Thu Feb 27 17:59:01 2014 Zachary Scott * lib/optparse.rb: [DOC] Add example of generating help with optparse. Patch by @joelmccracken documenting-ruby/ruby#19 https://github.com/documenting-ruby/ruby/pull/19 Thu Feb 27 12:10:09 2014 Nobuyoshi Nakada * numeric.c (ruby_num_interval_step_size): check signs and get rid of implementation dependent behavior of negative division. [ruby-core:61106] [Bug #9570] Thu Feb 27 03:55:45 2014 Zachary Scott * thread.c: [DOC] Typo in comment for _FORTIFY_SOURCE [Fixes GH-548] Patch by @qnet-herwin https://github.com/ruby/ruby/pull/548 Wed Feb 26 18:43:43 2014 Koichi Sasada * gc.c (heap_pages_free_unused_pages): check tomb page availability at first. And return immediately if we don't touch sorted list any more. Wed Feb 26 14:10:44 2014 Nobuyoshi Nakada * eval.c (setup_exception): preserve exception class name encoding in debug mode messages. * eval.c (setup_exception): preserve errinfo across calling #to_s method on the exception. [ruby-core:61091] [Bug #9568] Wed Feb 26 01:29:27 2014 NARUSE, Yui * string.c (sym_find): Add Symbol.find(str), which returns whether given string is defined as symbol or not. [Feature #7854] Tue Feb 25 22:52:02 2014 Kazuhiro NISHIYAMA * ext/dl/dl.c (rb_dl_realloc): use NUM2SIZET instead of NUM2INT. * ext/fiddle/fiddle.c (rb_fiddle_realloc): ditto. Tue Feb 25 22:49:30 2014 Kazuhiro NISHIYAMA * ext/dl/dl.c (rb_dl_malloc): use NUM2SIZET instead of NUM2INT. Coverity Scan found this bug. * ext/fiddle/fiddle.c (rb_fiddle_malloc): ditto. Tue Feb 25 12:06:13 2014 NARUSE, Yui * win32/Makefile.sub: define PACKED_STRUCT. Mon Feb 24 21:41:56 2014 NAKAMURA Usaku * README.md, README.ja.md: removed (wrong) mode setting for emacs. Mon Feb 24 20:05:41 2014 Eric Wong * configure.in: define PACKED_STRUCT_UNALIGNED for x86* * timev.h (struct vtm): use PACKED_STRUCT_UNALIGNED * time.c (struct time_object): ditto [Bug #9558] non-x86 cannot safely access unaligned addresses Mon Feb 24 18:10:02 2014 SHIBATA Hiroshi * test/fiddle/test_function.rb: remove unused variables. * test/fileutils/test_fileutils.rb: ditto. * test/io/console/test_io_console.rb: ditto. Mon Feb 24 12:37:51 2014 Eric Wong * configure.in: use -Wno-packed-bitfield-compat for GCC 4.4+ use __attribute__((packed)) if available * timev.h: shrink and pack struct vtm * time.c: pack struct time_object and adjust/introduce helpers [ruby-core:60794] Sun Feb 23 17:55:50 2014 Kouhei Sutou * lib/rexml/xmltokens.rb: Add missing non ASCII valid characters to element name characters. Now, REXML name tokens exactly match "[5] Name" in the XML spec and "[4] NCName" in the Namespaces in XML spec. See comment about the details. [Bug #9539] [ruby-core:60901] Reported by Mario Barcala. Thanks!!! * test/rexml/xpath/test_node.rb: Add tests for the above case. Sun Feb 23 12:18:54 2014 Nobuyoshi Nakada * ext/socket/raddrinfo.c (inet_pton): use rb_w32_inet_pton, instead of inet_pton directly, which is unavailable on older version Windows. * include/ruby/win32.h, win32/win32.c (rb_w32_inet_pton): add a wrapper function for inet_pton minimum supported client is Vista, as well as inet_ntop. Sun Feb 23 11:33:25 2014 SHIBATA Hiroshi * test/net/imap/test_imap.rb: remove unused variables. * test/net/imap/test_imap_response_parser.rb: ditto. * test/net/pop/test_pop.rb: ditto. Sun Feb 23 02:19:51 2014 Tanaka Akira * lib/resolv.rb (bind_random_port): Rescue EPERM for FreeBSD which security.mac.portacl.port_high is changed. See mac_portacl(4) for details. Reported by Jakub Szafranski. [ruby-core:60917] [Bug #9544] Sat Feb 22 23:17:01 2014 Kouhei Sutou * lib/rexml/xpath_parser.rb: Fix indent. Sat Feb 22 23:15:35 2014 Kouhei Sutou * test/rexml/xpath/test_attribute.rb: Simplify. Sat Feb 22 20:28:47 2014 NAKAMURA Usaku * tool/redmine-backporter.rb: more friendly. Sat Feb 22 20:24:43 2014 Kouhei Sutou * test/rexml/test_xpath*.rb: Move to ... * test/rexml/xpath/*.rb: ... here. Sat Feb 22 20:04:41 2014 Kouhei Sutou * test/rexml/listener.rb: Untabify. Sat Feb 22 19:07:31 2014 NAKAMURA Usaku * ext/io/console/console.c (console_dev): need read access for conout$ because some functions need it. [Bug#9554] Sat Feb 22 18:40:58 2014 Eric Wong * .gitignore: ignore benchmark files Sat Feb 22 01:22:24 2014 Yusuke Endoh * bignum.c (bary_mul_precheck): fix a copy-paste error. Coverity Scan found this bug. Sat Feb 22 00:58:51 2014 Kazuhiro NISHIYAMA * ext/socket/raddrinfo.c (rb_getaddrinfo): second argument of MEMZERO is type. Coverity Scan found this bug. Fri Feb 21 23:47:24 2014 Shugo Maeda * ext/socket/init.c (wait_connectable): break if the socket is writable to avoid infinite loops on FreeBSD and other platforms which conforms to SUSv3. This problem cannot be reproduced with loopback interfaces, so it's hard to write test code. rsock_connect() and wait_connectable() are overly complicated, so they should be refactored, but I commit this fix as a workaround for the release of Ruby 1.9.3 scheduled on Feb 24. [ruby-core:60940] [Bug #9547] Fri Feb 21 23:03:39 2014 NARUSE, Yui * tool/redmine-backporter.rb: added to handle redmine tickets. Fri Feb 21 20:42:01 2014 Nobuyoshi Nakada * class.c (rb_mod_init_copy): do nothing if copying self. [ruby-dev:47989] [Bug #9535] * hash.c (rb_hash_initialize_copy): ditto. Fri Feb 21 16:45:54 2014 Nobuyoshi Nakada * lib/logger.rb (next_rotate_time, previous_period_end): consider DST change. * lib/logger.rb (Logger::LogDevice#check_shift_log): compare the current time with the time for the next rotation to fix rotation miss when date changed between the comparison and log writing. based on the patch by megayu . [Fixes GH-539] Fri Feb 21 10:39:33 2014 SHIBATA Hiroshi * test/monitor/test_monitor.rb: remove unused variables. * test/resolv/test_dns.rb: ditto. * test/rexml/test_functions.rb: ditto. * test/rss/test_setup_maker_itunes.rb: ditto. Fri Feb 21 09:48:56 2014 Eric Wong * ext/socket/ancdata.c (bsock_sendmsg_internal): only retry on error (bsock_recvmsg_internal): ditto * test/socket/test_unix.rb: test above for infinite loop Fri Feb 21 08:27:19 2014 Eric Wong * include/ruby/ruby.h (RB_GC_GUARD): use rb_gc_guarded_ptr_val on non-GCC/MSC * gc.c (rb_gc_guarded_ptr_val): rename and adjust argument. RB_GC_GUARD should be robust enough for any compiler. [ruby-core:60816] [Bug #7805] Thu Feb 20 22:21:26 2014 Tanaka Akira * ext/socket/raddrinfo.c (numeric_getaddrinfo): Use xcalloc. Suggested by Eric Wong. https://bugs.ruby-lang.org/issues/9525#note-14 Thu Feb 20 11:21:13 2014 Masaki Matsushita * hash.c (rb_hash_flatten): fix behavior of flatten(-1). [ruby-dev:47988] [Bug #9533] * test/ruby/test_array.rb: test for above. Wed Feb 19 18:57:02 2014 Tanaka Akira * ext/socket: Bypass getaddrinfo() if node and serv are numeric. Reporeted by Naotoshi Seo. [ruby-core:60801] [Bug #9525] * ext/socket/extconf.rb: Detect struct sockaddr_in6.sin6_len. * ext/socket/sockport.h (SET_SIN6_LEN): New macro. (INIT_SOCKADDR_IN6): Ditto. * ext/socket/rubysocket.h (struct rb_addrinfo): Add allocated_by_malloc field. * ext/socket/raddrinfo.c (numeric_getaddrinfo): New function. (rb_getaddrinfo): Call numeric_getaddrinfo at first. (rb_freeaddrinfo): Free struct addrinfo properly when it is allocated by numeric_getaddrinfo. Wed Feb 19 18:31:48 2014 Tanaka Akira * ext/socket: Wrap struct addrinfo by struct rb_addrinfo. Wed Feb 19 17:47:01 2014 Tanaka Akira * ext/socket/ipsocket.c (ip_s_getaddress): Don't access freed memory. Wed Feb 19 11:39:41 2014 NARUSE, Yui * configure.in: it must see rb_cv_broken_memmem not rb_cv_func_memmem. Tue Feb 18 23:18:41 2014 SHIBATA Hiroshi * test/socket/test_socket.rb: unix socket is required by test case. Tue Feb 18 20:48:38 2014 SHIBATA Hiroshi * test/socket/test_addrinfo.rb: remove unused variables. * test/socket/test_nonblock.rb: ditto. * test/socket/test_socket.rb: ditto. * test/socket/test_unix.rb: ditto. * test/testunit/test_parallel.rb: ditto. * test/webrick/test_filehandler.rb: ditto. * test/xmlrpc/test_features.rb: ditto. * test/zlib/test_zlib.rb: ditto. Tue Feb 18 14:27:18 2014 Shota Fukumori * lib/test/unit.rb: Requires minitest < 5.0.0 if Gem is available. Tue Feb 18 14:24:07 2014 Shota Fukumori * lib/test/unit/test-unit.gemspec: Add minitest < 5.0.0 dependency * tool/rbinstall.rb: Add empty implementations for `add_dependency`, `add_runtime_dependency`, `add_development_dependency` for Gem::Specification. Tue Feb 18 12:06:39 2014 Tanaka Akira * configure.in (FILE_COUNT): Removed. (win32.c defines it in itself.) (FILE_READPTR): Ditto. Tue Feb 18 09:35:44 2014 SHIBATA Hiroshi * test/test/psych/test_string.rb: remove unused variables. * test/test/psych/test_yaml.rb: ditto. Mon Feb 17 21:31:31 2014 Koichi Sasada * test/ruby/test_gc.rb: ignore warning messages for running with -w option such as chkbuild. Mon Feb 17 20:00:27 2014 Tanaka Akira * internal.h: Move BDIGIT and related definitions from include/ruby/defines.h. Mon Feb 17 17:41:55 2014 Nobuyoshi Nakada * marshal.c (marshal_dump, marshal_load): do not recycle wrapper objects, to prevent from segfault with continuation. [ruby-dev:47970] [Bug #9523] Mon Feb 17 15:43:59 2014 Zachary Scott * doc/keywords.rdoc: [DOC] Add keywords doc by documenting-ruby/ruby#29 https://github.com/documenting-ruby/ruby/pull/29 Mon Feb 17 12:31:31 2014 Koichi Sasada * gc.c (get_envparam_double): fix a warning message. Mon Feb 17 12:09:52 2014 Koichi Sasada * gc.c: introduce new environment variable "RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR" to control major/minor GC frequency. Do full GC when the number of old objects is more than R * N where R is this factor and N is the number of old objects just after last full GC. * test/ruby/test_gc.rb: add a test. Mon Feb 17 11:28:40 2014 SHIBATA Hiroshi * test/test_pty.rb: ignore warnings to unused variables. Mon Feb 17 11:27:36 2014 SHIBATA Hiroshi * test/test_find.rb: remove unused variables. Sun Feb 17 02:12:00 2014 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigDecimal_initialize): Insert GC guard. * ext/bigdecimal/bigdecimal.c (BigDecimal_global_new): ditto. Sun Feb 16 15:53:36 2014 SHIBATA Hiroshi * test/test_securerandom.rb: File.exists? is deprecated. use File.exist? Sun Feb 16 15:05:00 2014 SHIBATA Hiroshi * test/pathname/test_pathname.rb: File.exists? is deprecated. use File.exist? Sun Feb 16 15:00:28 2014 SHIBATA Hiroshi * test/net/ftp/test_ftp.rb: remove unused variables. * test/logger/test_logger.rb: ditto. Sun Feb 16 14:52:46 2014 Eric Wong * dir.c (dir_s_glob): RB_GC_GUARD instead of volatile Sun Feb 16 14:33:52 2014 Tanaka Akira * include/ruby/ruby.h (RBIGNUM_SIGN): Defined for compatibility. (RBIGNUM_POSITIVE_P): Ditto. (RBIGNUM_NEGATIVE_P): Ditto. Sun Feb 16 12:46:47 2014 Eric Wong * io.c (rb_f_backquote): trade volatile for manual recycle rb_gc_force_recycle ensures object is visible until recycle Sun Feb 16 11:55:14 2014 Eric Wong * marshal.c (marshal_dump): use rb_gc_force_recycle for GC-safety (marshal_load): ditto [ruby-core:60730] [Bug #7805] Sun Feb 16 08:11:23 2014 Zachary Scott * README.EXT.ja: [DOC] Fix typo by @utenmiki [Fixes GH-534] https://github.com/ruby/ruby/pull/534 Sun Feb 16 07:48:20 2014 Tanaka Akira * ext/bigdecimal/bigdecimal.c (BIGNUM_ZERO_P): Unused macro removed. Sun Feb 16 06:12:23 2014 Tanaka Akira * internal.h: Rename macro names: RBIGNUM_FOO to BIGNUM_FOO. (BIGNUM_EMBED_LEN_NUMBITS): Renamed from RBIGNUM_EMBED_LEN_NUMBITS. (BIGNUM_EMBED_LEN_MAX): Renamed from RBIGNUM_EMBED_LEN_MAX. (BIGNUM_SIGN_BIT): Renamed from RBIGNUM_SIGN_BIT. (BIGNUM_SIGN): Renamed from RBIGNUM_SIGN. (BIGNUM_SET_SIGN): Renamed from RBIGNUM_SET_SIGN. (BIGNUM_POSITIVE_P): Renamed from RBIGNUM_POSITIVE_P. (BIGNUM_NEGATIVE_P): Renamed from RBIGNUM_NEGATIVE_P. (BIGNUM_EMBED_FLAG): Renamed from RBIGNUM_EMBED_FLAG. (BIGNUM_EMBED_LEN_MASK): Renamed from RBIGNUM_EMBED_LEN_MASK. (BIGNUM_EMBED_LEN_SHIFT): Renamed from RBIGNUM_EMBED_LEN_SHIFT. (BIGNUM_LEN): Renamed from RBIGNUM_LEN. (RBIGNUM_DIGITS): Renamed from RBIGNUM_DIGITS. (BIGNUM_LENINT): Renamed from RBIGNUM_LENINT. * bignum.c: Follow the above change. * gc.c: Ditto. * marshal.c: Ditto. * math.c: Ditto. * numeric.c: Ditto. * random.c: Ditto. * rational.c: Ditto. * sprintf.c: Ditto. * ext/-test-/bignum/bigzero.c: Ditto. * ext/-test-/bignum/intpack.c: Ditto. * ext/bigdecimal/bigdecimal.c: Ditto. Sat Feb 15 20:48:49 2014 Tanaka Akira * configure.in (FILE_READEND): Don't detect it because it is not used. Sat Feb 15 13:22:28 2014 Eric Wong * probes_helper.h (RUBY_DTRACE_HOOK): correct type for _id Sat Feb 15 11:47:47 2014 Tanaka Akira * bignum.c (rb_big_cmp): Avoid bignum allocation for comparison between bignum and fixnum. Sat Feb 15 10:55:12 2014 Hiroshi Shirosaki * ext/-test-/win32/fd_setsize/depend: fix wrong dependencies. [ruby-dev:47253] Sat Feb 15 00:38:54 2014 Tanaka Akira * enum.c: Enumerable#{min,min_by,max,max_by} extended to take an optional argument. (nmin_cmp): New function. (nmin_block_cmp): Ditto (nmin_filter): Ditto. (nmin_i): Ditto. (nmin_run): Ditto. (enum_min): Call nmin_run if the optional argument is given. (nmin_max): Ditto. (nmin_min_by): Ditto. (nmin_max_by): Ditto. * range.c: Range#{min,max} extended to take an optional argument. (range_min): Call range_first if the optional argument is given. (range_max): Call rb_call_super if the optional argument is given. [ruby-core:57111] [Feature #8887] Sat Feb 15 00:27:46 2014 Tanaka Akira * include/ruby/ruby.h, internal.h, ext/-test-/bignum/bigzero.c: Hide a Bignum definition. [ruby-core:42891] [Feature #6083] Sat Feb 15 00:13:14 2014 Tanaka Akira * include/ruby/intern.h, include/ruby/io.h, include/ruby/ruby.h, include/ruby/win32.h, include/ruby/backward/rubysig.h, bignum.c, gc.c, io.c, process.c, safe.c, struct.c, thread.c, ext/socket/rubysocket.h, ext/-test-/old_thread_select: Remove deprecated definitions [ruby-core:60581] [Feature #9502] Fri Feb 14 18:38:46 2014 Eric Wong * string.c (rb_str_format_m): trade volatile for RB_GC_GUARD RB_GC_GUARD meaning is clear and has better code generation. [ruby-core:60688] Thu Feb 13 23:30:30 2014 Shugo Maeda * vm_insnhelper.c (vm_call_method): should check ci->me->flag of a refining method in case the method is private. [ruby-core:60111] [Bug #9452] * vm_method.c (make_method_entry_refined): set me->flag of a refined method entry to NOEX_PUBLIC in case the original method is private and it is refined as a public method. The original flag is stored in me->def->body.orig_me, so it's OK to make a refined method entry public. [ruby-core:60111] [Bug #9452] * test/ruby/test_refinement.rb: related tests. Thu Feb 13 18:38:15 2014 Eric Wong * re.c (rb_reg_raise): remove volatile Unnecessary since r41597 Thu Feb 13 18:28:51 2014 Eric Wong * re.c (rb_reg_regcomp): remove volatile Unnecessary since r13261 Thu Feb 13 16:54:32 2014 Zachary Scott * test/ruby/test_array.rb: Ensure flatten! is used for test_flatten Patch by @ksss [Fixes GH-530] https://github.com/ruby/ruby/pull/530 Thu Feb 13 15:43:16 2014 Nobuyoshi Nakada * parse.y (IDSET_ATTRSET_FOR_INTERN): fix off-by-one bug. * parse.y (rb_enc_symname_type): junk ID succeeded by '=' is also attrset ID. [ruby-core:60668] [Bug #8756] Thu Feb 13 11:06:32 2014 Nobuyoshi Nakada * configure.in: check if pthread_setname_np is available. * thread_pthread.c: pthread_setname_np is not available on old Darwins. [ruby-core:60524] [Bug #9492] Thu Feb 13 00:56:59 2014 Masaki Matsushita * configure.in: revert r44922. I should have used AC_CHECK_FUNCS() to just define a symbol if the function is available. Thu Feb 13 00:20:58 2014 Masaki Matsushita * configure.in: use AC_CHECK_FUNC instead of AC_CHECK_FUNCS if available. Thu Feb 13 00:15:10 2014 Masaki Matsushita * configure.in: fix to undefine HAVE_MEMMEM correctly if it is broken. Tue Feb 11 23:54:40 2014 Tanaka Akira * bignum.c (rb_big_cmp): Specialize a comparison to zero. * ext/bigdecimal/bigdecimal.c (is_negative): Use rb_big_cmp instead of RBIGNUM_NEGATIVE_P. (BigMath_s_log): Ditto. Tue Feb 11 22:59:10 2014 Tanaka Akira * ext/openssl/ossl_bn.c (ossl_bn_initialize): Use rb_integer_pack. Fix SEGV by OpenSSL::BN.new(1 << (2**34)). Tue Feb 11 17:00:38 2014 Zachary Scott * ext/tk/README.tcltklib: [DOC] Fix typo by @xta [Fixes GH-532] Sun Feb 9 13:59:29 2014 Tanaka Akira * configure.in: Fix compilation error. https://bugs.ruby-lang.org/issues/8358#note-16 Sun Feb 9 05:20:24 2014 NARUSE, Yui * configure.in (rb_cv_gnu_qsort_r): use compile error "conflicting types for 'qsort_r'" instead of AC_RUN_IFELSE. Sun Feb 9 04:07:34 2014 Zachary Scott * lib/yaml.rb: [DOC] Add links to syck and psych on github [Bug #9501] Based on a patch by Giorgos Tsiftsis Sun Feb 9 02:13:53 2014 Nobuyoshi Nakada * include/ruby/ruby.h (OBJ_TAINTABLE, OBJ_TAINT, OBJ_INFECT), marshal.c (r_entry0): all Numerics never be tainted now. [ruby-core:57346] [Bug #8945] Sat Feb 8 23:40:35 2014 Vit Ondruch * configure.in: add quoting brackets and append wildcard for the rest after target_cpu, to properly detect platform for SSE2 instructions. [ruby-core:60576] [Bug #8358] Sat Feb 8 21:44:07 2014 Masaki Matsushita * configure.in: check qsort_r(3) and whether it is GNU version. BSD version has different prototype. * util.h: use qsort_r() as ruby_qsort() if it is GNU version. * util.c: define ruby_qsort() if needed. Sat Feb 8 16:34:36 2014 Tanaka Akira * lib/resolv.rb (Resolv::DNS::Message::MessageDecoder#get_labels): Make it iterative. Sat Feb 8 15:54:12 2014 Koichi Sasada * gc.c, gc.h (rb_objspace_marked_object_p): added. This function *ONLY* works just after marking phase, before any sweeping. This function is highly depending current GC implementation and can be removed future version. Sat Feb 8 15:41:37 2014 Tanaka Akira * lib/resolv.rb: Don't set CLOEXEC flag explicitly. (Ruby set it by default.) Sat Feb 8 15:27:02 2014 Tanaka Akira * lib/resolv.rb (Resolv::DNS::Message::MessageDecoder): Raise DecodeError if no data before the limit. Reported by Will Bryant. [ruby-core:60557] [Bug #9498] Sat Feb 8 15:11:21 2014 Tanaka Akira * io.c (SMALLBUF): Unused macro removed. Fri Feb 7 23:37:49 2014 Tanaka Akira * lib/resolv.rb: Ignore name servers which cause EAFNOSUPPORT on socket creation. Reported by Bjoern Rennhak. [ruby-core:60442] [Bug #9477] Fri Feb 7 21:58:48 2014 Zachary Scott * lib/open-uri.rb: [DOC] use lower case version of core classes, same as commit r44878, based on patch by Jonathan Jackson [Bug #9483] Fri Feb 7 21:54:53 2014 Zachary Scott * ext/ripper/lib/ripper/lexer.rb: [DOC] use lower case version of core classes when referring to return value, since we aren't directly talking about the class. Patch by Jonathan Jackson [Bug #9483] Fri Feb 7 05:28:38 2014 Eric Wong * constant.h: reduce rb_const_entry_t size on 64-bit Patch by Adam Avilla [ruby-core:60542] [Feature #9496] Thu Feb 6 15:27:46 2014 Koichi Sasada * gc.c (get_envparam_int): correct warning messages. * gc.c (get_envparam_double): ditto. Thu Feb 6 15:17:30 2014 Koichi Sasada * gc.c (get_envparam_int): don't accept a value equals to lowerbound (changed by last commit) because "" or "foo" (not a number) strings are parsed as 0. They should be rejected. * gc.c (get_envparam_double): ditto. Thu Feb 6 09:00:35 2014 Koichi Sasada * gc.c (ruby_gc_set_params): if RUBY_GC_OLDMALLOC_LIMIT is provided, then set objspace->rgengc.oldmalloc_increase_limit. Without this fix, the env variable RUBY_GC_OLDMALLOC_LIMIT does not work. * gc.c (get_envparam_int): accept a value equals to lowerbound. * gc.c (get_envparam_double): ditto. Thu Feb 6 08:23:28 2014 Eric Wong * ext/thread/thread.c (rb_szqueue_max_set): use correct queue and limit wakeups. [Bug #9343][ruby-core:60517] * test/thread/test_queue.rb (test_sized_queue_assign_max): test for bug Thu Feb 6 07:18:01 2014 Eric Hodel * lib/rubygems: Update to RubyGems 2.2.2. Complete history at: http://rubygems.rubyforge.org/rubygems-update/History_txt.html#label-2.2.2+%2F+2014-02-05 * test/rubygems: ditto. Wed Feb 5 20:56:32 2014 Nobuyoshi Nakada * marshal.c (to_be_skipped_id): ignore anonymous attributes. * pack.c (Init_pack): use anonymous ID so that associated objects do not appear in the packed result. * parse.y (rb_make_internal_id): return an anonymous ID for internal use. Wed Feb 5 14:41:56 2014 Koichi Sasada * vsnprintf.c: remove duplicated def of `UNINITIALIZED_VAR()'. Wed Feb 5 14:40:16 2014 Koichi Sasada * ext/objspace/objspace_dump.c (dump_object): use STR_SHARED_P() instead of removed STR_NOCAPA_P() macro. Wed Feb 5 13:51:33 2014 Koichi Sasada * internal.h, vm_core.h: move LIKELY/UNLIKELY/UNINITIALIZED_VAR() macros from vm_core.h to internal.h. * string.c: remove dependency to "vm_core.h". * common.mk: ditto. Wed Feb 5 13:29:01 2014 Koichi Sasada * string.c (rb_str_free): use FL_TEST(str, STR_SHARED) directly because str is not embed. * string.c (str_replace): remove `FL_SET(str, STR_SHARED)' line because STR_SET_SHARED() set STR_SHARED. Wed Feb 5 13:18:08 2014 Koichi Sasada * internal.h: remove macros STR_NOCAPA and STR_NOCAPA_P(). * string.c (rb_str_resize): remove `STR_SET_NOEMBED(str)' because str_make_independent_expand() set NOEMBED flag. * string.c (rb_str_resize): remove `STR_NOCAPA_P(str)' check because `str' is independent (not shared). Wed Feb 5 12:54:25 2014 Koichi Sasada * string.c: refactoring, especially about string flags. * string.c (STR_UNSET_NOCAPA): removed. Use FL_UNSET() with STR_SHARED. * string.c (rb_str_capacity): check STR_SHARED directly because it is not a embed string. * string.c (rb_str_modify_expand): ditto. * string.c (rb_str_shared_replace): use STR_SET_SHARED(). * string.c (str_make_independent_expand): remove STR_UNSET_NOCAPA() because `str' is not shared string. Wed Feb 5 12:11:04 2014 Koichi Sasada * string.c (RESIZE_CAPA): should not resize shared string. Wed Feb 5 11:46:42 2014 Koichi Sasada * gc.c (gc_mark_children): STR_ASSOC is no longer available. Reported by @nagachika. http://d.hatena.ne.jp/nagachika/20140204 Wed Feb 5 11:27:22 2014 Koichi Sasada * string.c (rb_str_new_frozen): refactoring code. * Move code from str_new_frozen_with_klass() (and remove it) * `aux.shared' should not be 0 for STR_SHARED strings. Wed Feb 5 04:23:41 2014 Aaron Patterson * ext/psych/lib/psych.rb: New release of psych. * ext/psych/psych.gemspec: ditto Wed Feb 5 04:16:41 2014 Aaron Patterson * ext/psych/yaml/emitter.c: merge libyaml 0.1.5 * ext/psych/yaml/loader.c: ditto * ext/psych/yaml/parser.c: ditto * ext/psych/yaml/reader.c: ditto * ext/psych/yaml/scanner.c: ditto * ext/psych/yaml/writer.c: ditto * ext/psych/yaml/yaml_private.h: ditto Tue Feb 4 19:10:29 2014 Koichi Sasada * string.c: use long allocator names instead of numbered allocator names. * rb_str_new2 -> rb_str_new_cstr * rb_str_new4 -> rb_str_new_frozen * rb_str_new5 -> rb_str_new_with_class * str_new3 -> str_new_shared * str_new4 -> str_new_frozen_with_klass Tue Feb 4 17:20:03 2014 Nobuyoshi Nakada * dir.c (glob_helper): return the filename with actual cases on the filesystem if it is case-insensitive. [ruby-core:42469] [Feature #5994] Tue Feb 4 16:16:58 2014 Koichi Sasada * string.c: use STR_SHARED instead of ELTS_SHARED. (same value, but more clear meaning) Tue Feb 4 16:09:14 2014 Koichi Sasada * string.c: remove STR_ASSOC related code. By r44804, string objects can not have STR_ASSOC flag. * internal.h: ditto. * ext/objspace/objspace_dump.c (dump_object): ditto. Tue Feb 4 14:07:20 2014 Nobuyoshi Nakada * pack.c (str_associate, str_associated): keep associated objects in an instance variables, instead of in the internal structure. * string.c (rb_str_associate, rb_str_associated): deprecate. Tue Feb 4 12:55:31 2014 Nobuyoshi Nakada * string.c (rb_str_modify_expand): enable capacity and disable association with packed objects when setting capa, so that pack("p") string fails to unpack properly after modified. Tue Feb 4 12:45:15 2014 Nobuyoshi Nakada * dir.c (glob_make_pattern): all alphabets are magic characters on case-insensitive filesystems. [ruby-core:42469] [Feature #5994] Tue Feb 4 09:47:57 2014 Eric Hodel * lib/rubygems: Update to RubyGems 2.2.2 prerelease to check fixes to CI. * test/rubygems: ditto. Mon Feb 3 12:04:47 2014 Kazuhiro NISHIYAMA * error.c: [DOC] Exception#cause may return nil. [ci skip] Sun Feb 2 05:48:42 2014 Eric Wong * io.c (rb_io_syswrite): add RB_GC_GUARD [Bug #9472][ruby-core:60407] Sat Feb 1 15:09:16 2014 Masaki Suketa * ext/win32ole/win32ole.c (ole_typedesc2val): add VT_RECORD case. Sat Feb 1 06:38:51 2014 Zachary Scott * lib/drb/drb.rb: [DOC] Add note about start_service for each process Based on a patch by @rosenfeld [Fixes GH-514] [ci skip] https://github.com/ruby/ruby/pull/514 Sat Feb 1 06:30:20 2014 Zachary Scott * error.c: [DOC] Document Exception#cause by @jasonrclark [ci skip] [Fixes GH-519] https://github.com/ruby/ruby/pull/519 Sat Feb 1 06:10:49 2014 Zachary Scott * lib/securerandom.rb: [DOC] Add note on require for examples Based on a patch by @schneems [Fixes GH-518] [ci skip] https://github.com/ruby/ruby/pull/518 Sat Feb 1 06:04:56 2014 Zachary Scott * numeric.c: [DOC] Fix typo in example for #step [ci skip] Patch by @ksss [Fixes GH-522] https://github.com/ruby/ruby/pull/522 Fri Jan 31 17:01:47 2014 Eric Wong * ext/socket/init.c (rsock_socket0): split out SOCK_CLOEXEC version * ext/socket/socket.c (rsock_socketpair0): ditto [ruby-core:60377] Fri Jan 31 03:48:40 2014 Eric Wong * benchmark/driver: avoid large alloc in driver process [ruby-core:59869] [Bug #9430] Thu Jan 30 14:45:49 2014 Shugo Maeda * configure.in: use $@ instead of $(.TARGET) because .TARGET is not supported by GNU make. Thu Jan 30 08:26:21 2014 Yusuke Endoh * ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value. [ruby-core:57599] [Bug #8978]. Wed Jan 29 20:08:15 2014 Nobuyoshi Nakada * io.c (nogvl_copy_stream_sendfile): check socket on other than linux, as sendfile(2) on non-socket fd works only on linux. [Feature #9427] Wed Jan 29 18:09:48 2014 Eric Wong * io.c (nogvl_copy_stream_sendfile): remove socket check [ruby-core:59856][Feature #9427] Wed Jan 29 04:29:54 2014 Aaron Patterson * ext/openssl/ossl_ssl.c: pass read_nonblock options to underlying IO when SSL session has not been started. * test/openssl/test_ssl.rb: test for change. Wed Jan 29 03:49:36 2014 Aaron Patterson * ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value. [ruby-core:57599] [Bug #8978]. Thanks mame! Wed Jan 29 03:36:42 2014 Eric Wong * doc/contributing.rdoc: allow/encourage other git hosts [ruby-core:59807][misc #9421] Tue Jan 28 23:36:01 2014 Tanaka Akira * ext/socket: Avoid redundant fcntl/fstat syscalls for cloexec sockets. Patch by Eric Wong. [ruby-core:59429] [Feature #9330] Tue Jan 28 20:51:07 2014 Tanaka Akira * process.c (READ_FROM_CHILD): Apply the last hunk of 0001-process.c-avoid-EINTR-from-Process.spawn.patch written by Eric Wong in [Bug #8770]. Tue Jan 28 16:31:13 2014 Nobuyoshi Nakada * thread_pthread.c (ruby_init_stack, ruby_stack_overflowed_p): place get_stack above others to get stack boundary information. [ruby-core:60113] [Bug #9454] Tue Jan 28 15:27:36 2014 NARUSE, Yui * thread_pthread.c: rlimit is only available on Linux. At least r44712 breaks FreeBSD. [ruby-core:60113] [Bug #9454] Tue Jan 28 15:17:59 2014 Zachary Scott * lib/set.rb: [DOC] Add examples for Set#intersect? and Set#disjoint? Patch by xavier nayrac [Bug #9331] [ci skip] Tue Jan 28 15:12:22 2014 Zachary Scott * ext/zlib/zlib.c (rb_zlib_adler32): [DOC] Add example for adler32 Patch by Vajrasky Kok [Bug #9307] [ci skip] Tue Jan 28 08:56:00 2014 Charlie Somerville * compile.c (iseq_build_from_ary_body): Use :blockptr instead of :block as hash key when loading serialized instruction sequences from arrays. [Bug #9455] [ruby-core:60146] Mon Jan 27 21:52:55 2014 Nobuyoshi Nakada * thread_pthread.c: get current main thread stack size, which may be expanded than allocated size at initialization, by rlimit(). [ruby-core:60113] [Bug #9454] Sat Jan 25 22:17:02 2014 Kazuhiro NISHIYAMA * README.ja.md, README.md: update the controller address of mailing lists. Sat Jan 25 14:50:42 2014 Eric Wong * process.c (send_child_error): retry write on EINTR to fix occasional Errno::EINTR from Process.spawn. * process.c (recv_child_error): retry read on EINTR to fix occasional Errno::EINTR from Process.spawn. Sat Jan 25 14:21:06 2014 Nobuyoshi Nakada * compile.c (iseq_compile_each): result of assignment should be its rhs instead of returned value from a method. [ruby-core:60071] [Bug #9448] Sat Jan 25 11:16:19 2014 Nobuyoshi Nakada * class.c (rb_extract_keywords): treat nil keyword_hash same as 0, for the case rb_scan_args returns nil if no keyword hash. Fri Jan 24 15:13:20 2014 Zachary Scott * lib/racc/rdoc/grammar.en.rdoc: [DOC] Correct grammar and typos Patch by Giorgos Tsiftsis [Bug #9429] [ci skip] Thu Jan 23 20:20:17 2014 Koichi Sasada * test/ruby/envutil.rb: try to wait a bit (0.1sec) when ruby process exits by signals because some SEGV tests fail because of not enough error output. Thu Jan 23 20:06:27 2014 Koichi Sasada * test/ruby/test_settracefunc.rb: check the target thread. Thu Jan 23 19:59:16 2014 Koichi Sasada * test/ruby/test_settracefunc.rb: check the target thread. Thu Jan 23 14:26:44 2014 Zachary Scott * lib/fileutils.rb: [DOC] Fix typo in options_of() example [Bug #9392] Patch by Giorgos Tsiftsis Thu Jan 23 13:56:16 2014 Zachary Scott * README -> README.md: [DOC] Format README with Markdown [Bug #9255] * README.ja -> README.ja.md: ditto Wed Jan 22 15:59:39 2014 Nobuyoshi Nakada * ext/thread/thread.c (Init_thread): ConditionVariable and Queue are not able to copy. [ruby-core:59961] [Bug #9440] Tue Jan 21 20:14:55 2014 Nobuyoshi Nakada * thread_pthread.c (rb_thread_create_timer_thread): fix for platforms where PTHREAD_STACK_MIN is a dynamic value and not a compile-time constant. [ruby-dev:47911] [Bug #9436] Tue Jan 21 17:55:09 2014 Zachary Scott * lib/uri/common.rb: [DOC] Use static w3.org uri [ci skip] Patch by @ykzts [Fix GH-484] https://github.com/ruby/ruby/pull/484 Tue Jan 21 16:43:22 2014 Zachary Scott * enum.c: [DOC] Add simple example of Enumerable#zip [ci skip] Patch by @nruth on documenting-ruby/ruby#22 https://github.com/documenting-ruby/ruby/pull/22 Tue Jan 21 16:26:44 2014 Nobuyoshi Nakada * thread_pthread.c (rb_thread_create_timer_thread): expand timer thread stack size to get rid of segfault on FreeBSD/powerpc64. based on the patch by Steve Wills at [ruby-core:59923]. [ruby-core:56590] [Bug #8783] Tue Jan 21 04:31:23 2014 Tanaka Akira * ext/socket/option.c: Use "int" for IP_MULTICAST_LOOP and IP_MULTICAST_TTL on Mac OS X and Windows. Tue Jan 21 00:39:15 2014 Tanaka Akira * ext/socket/option.c: Use "byte" as default argument for IP_MULTICAST_LOOP and IP_MULTICAST_TTL socket option to follow the original multicast implementation. Mon Jan 20 20:20:27 2014 Tanaka Akira * ext/socket/option.c: Use preprocessor macros to avoid repeated conditionals. Mon Jan 20 13:55:03 2014 Zachary Scott * lib/rubygems/version.rb: [DOC] Use gender-neutral pronouns [ci skip] * lib/rubygems/security.rb: ditto Sun Jan 19 06:38:48 2014 Benoit Daloze * compar.c (cmp_equal): warn for this release and still rescue standard exceptions for a nicer transition. See #7688. Partly reverts r44502. * test/ruby/test_comparable.rb: adapt assertion to match new behavior. Sun Jan 19 06:27:18 2014 Benoit Daloze * test/ruby/test_comparable.rb: specify behavior for the different kind of exceptions rescued (or not) by Comparable#==. Sat Jan 18 23:12:19 2014 Tanaka Akira * ext/socket: Avoid unnecessary ppoll/select on Linux. Patch by Eric Wong. [ruby-core:57950] [Bug #9039] Sat Jan 18 22:57:44 2014 Tanaka Akira * lib/resolv.rb (Resolv::DNS::Resource::TXT#data): Return concatenated string. Patch by Ryan Brunner. [ruby-core:58220] [Bug #9093] Sat Jan 18 22:35:15 2014 Tanaka Akira * io.c (rb_update_max_fd): Return immediately if the given fd is small enough. Sat Jan 18 22:25:53 2014 Tanaka Akira * io.c: Test O_CLOEXEC only once. Patch by Eric Wong. [ruby-core:59419] [Feature #9328] Sat Jan 18 21:24:49 2014 Tanaka Akira * ext/socket/option.c: IP_MULTICAST_LOOP and IP_MULTICAST_TTL socket option takes a byte on OpenBSD. Fixed by Jeremy Evans. [ruby-core:59496] [Bug #9350] Sat Jan 18 21:19:04 2014 Tanaka Akira * lib/open-uri.rb: Make proxy disabling working again. Fixed by Christophe Philemotte. [ruby-core:59650] [Bug #9385] Fri Jan 17 20:05:02 2014 Nobuyoshi Nakada * lib/delegate.rb (Delegator): keep source information methods which start and end with '__'. [ruby-core:59718] [Bug #9403] Fri Jan 17 17:58:04 2014 Nobuyoshi Nakada * eval.c (rb_mod_s_constants): return its own constants for other than Module itself. [ruby-core:59763] [Bug #9413] Tue Jan 16 00:17:00 2014 Kenta Murata * ext/bigdecimal/bigdecimal.gemspec: bigdecimal version 1.2.5. Wed Jan 15 20:30:31 2014 Masaki Matsushita * io.c (io_binwrite): use writev(2) to avoid double write if available. * configure.in: check writev(2) Wed Jan 15 14:04:33 2014 Nobuyoshi Nakada * string.c (get_encoding): respect BOM on pseudo encodings. [ruby-dev:47895] [Bug #9415] Wed Jan 15 14:03:47 2014 Nobuyoshi Nakada * string.c (get_actual_encoding): get actual encoding according to the BOM if exists. * string.c (rb_str_inspect): use according encoding, instead of pseudo encodings, UTF-{16,32}. [ruby-core:59757] [Bug #8940] Tue Jan 14 21:07:22 2014 Masaki Matsushita * ext/thread/thread.c (rb_szqueue_clear): notify SZQUEUE_WAITERS on SizedQueue#clear. [ruby-core:59462] [Bug #9342] * test/thread/test_queue.rb: add test. the patch is from Justin Collins. Tue Jan 14 15:58:43 2014 Nobuyoshi Nakada * ext/bigdecimal/bigdecimal.c (CLASS_NAME): macro to wrap depending on PRIsVALUE for 1.9. [Backport #9406] * ext/bigdecimal/bigdecimal.c (DECIMAL_SIZE_OF_BITS): fallback definition for 2.1 or older. [ruby-core:59750] [Backport #9406] Tue Jan 14 11:28:44 2014 Yuki Yugui Sonoda * vm_exec.c (cfp): Fixes a SEGV issue in r44554. r11 can be broken by subroutine and sometimes causes SEGV at runtime. Use r13 instead. Tue Jan 14 02:20:00 2014 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigDecimal_divide): Add an additional digit for the quotient to be compatible with bigdecimal 1.2.1 and the former. [ruby-core:59365] [#9316] [#9305] * test/bigdecimal/test_bigdecimal.rb: tests for the above change. * ext/bigdecimal/bigdecimal.gemspec: bigdecimal version 1.2.4. Mon Jan 13 14:55:31 2014 Zachary Scott * lib/xmlrpc/client.rb: [DOC] Remove note about SSL package on RAA Since RAA has been deprecated, and the SSL package has been replaced with net/https this statement is entirely false and should be deleted. [Bug #9152] Mon Jan 13 14:47:07 2014 Zachary Scott * lib/net/smtp.rb: [DOC] Remove dead link to RAA by Giorgos Tsiftsis Fixes the following bugs: [Bug #9152] [Bug #9268] [Bug #9394] * lib/open-uri.rb: ditto Mon Jan 13 14:25:55 2014 Zachary Scott * ext/openssl/ossl_pkey_dh.c: Fixed typo by Sandor Szuecs [Bug #9243] Mon Jan 13 12:03:00 2014 Charlie Somerville * ext/thread/thread.c (rb_szqueue_push): check GET_SZQUEUE_WAITERS instead of GET_QUEUE_WAITERS to prevent deadlock. Patch by Eric Wong. [Bug #9302] [ruby-core:59324] * test/thread/test_queue.rb: add test Sun Jan 12 16:41:10 2014 Nobuyoshi Nakada * iseq.c (iseq_load): keep type_map to get rid of memory leak. based on a patch by Eric Wong at [ruby-core:59699]. [Bug #9399] Sun Jan 12 09:21:35 2014 Nobuyoshi Nakada * include/ruby/util.h (DECIMAL_SIZE_OF_BITS): a preprocessor constant macro to approximate decimal representation size of n-bits integer. * iseq.c (register_label): use DECIMAL_SIZE_OF_BITS for better approximation. * ext/bigdecimal/bigdecimal.c (BigMath_s_log): ditto. * common.mk (iseq.o), ext/bigdecimal/depend (bigdecimal.o): add dependency to ruby/util.h for DECIMAL_SIZE_OF_BITS. Fri Jan 10 16:27:20 2014 Yuki Yugui Sonoda * vm_exec.c (cfp): Avoid generating invalid binary for NativeClient. r15 on x86_64 is reserved by NativeClient. So r15 to cfp used to generate invalid binary under some combinations of compiler optimization flags. Fri Jan 10 18:01:41 2014 Nobuyoshi Nakada * vm_insnhelper.c (vm_search_super_method): allow bound method from a module, yet another method transplanting. Fri Jan 10 13:34:04 2014 Aman Gupta * insns.def (opt_aref_with): new instruction to optimize Hash#[], removing any allocation overhead when used with a string literal key. Patch by normalperson (Eric Wong). [ruby-core:59640] [Bug #9382] * insns.def (opt_aset_with): new instruction to optimize Hash#[]= * compile.c (iseq_compile_each): compiler shortcuts for new instructions * hash.c (static VALUE rb_hash_compare_by_id_p): fix documentation for Hash#compare_by_identity to reflect frozen string sharing * test/ruby/test_hash.rb (class TestHash): test for new behavior Fri Jan 10 06:23:21 2014 Benoit Daloze * range.c (Range#size): [DOC] improve description and add examples. Patch by @skade. [Fixes GH-501] Fri Jan 10 00:47:52 2014 Josef Stribny * ext/tk/extconf.rb: fix to pass arrays instead of strings to libpathflag. patch at [ruby-core:59665]. [Bug #9386] Thu Jan 9 20:49:22 2014 Nobuyoshi Nakada * configure.in: -mstackrealign is necessary for -msse2 working. [ruby-core:54716] [Bug #8349] * configure.in: use SSE2 instructions to drop unexpected precisions on other than mingw. [ruby-core:59472] [Bug #8358] Thu Jan 9 20:31:10 2014 NAKAMURA Usaku * hash.c (rb_objid_hash): should return `long'. brushup r44534. * object.c (rb_obj_hash): follow above change. Thu Jan 9 19:12:37 2014 Koichi Sasada * vm.c (rb_vm_pop_cfunc_frame): added. It cares c_return event. The patch base by drkaes (Stefan Kaes). [Bug #9321] * variable.c (rb_mod_const_missing): use rb_vm_pop_cfunc_frame() instead of rb_frame_pop(). * vm_eval.c (raise_method_missing): ditto. * vm_eval.c (rb_iterate): ditto. * internal.h (rb_vm_pop_cfunc_frame): add decl. * test/ruby/test_settracefunc.rb: add tests. provided by drkaes (Stefan Kaes). * vm.c, eval.c, include/ruby/intern.h (rb_frame_pop): move definition of rb_frame_pop() and deprecate it. It doesn't care about `return' events. Thu Jan 9 17:40:28 2014 NAKAMURA Usaku * hash.c (rb_any_hash): should treat the return value of rb_objid_hash() as `long', because ruby assumes the hash value of the object id of an object is `long'. this fixes test failures on mswin64 introduced at r44525. Thu Jan 9 09:55:20 2014 Aaron Patterson * ext/psych/lib/psych/visitors/yaml_tree.rb: dumping strings with quotes should not have changed. [ruby-core:59316] [Bug #9300] * ext/psych/lib/psych.rb: fixed missing require. * test/psych/test_string.rb: test Thu Jan 9 09:51:00 2014 Aaron Patterson * ext/psych/lib/psych/visitors/to_ruby.rb: anonymous structs should be able to roundtrip. Thanks @splattael! * test/psych/test_object_references.rb: test for change Wed Jan 8 22:53:16 2014 Nobuyoshi Nakada * vm_insnhelper.c (vm_search_super_method): when super called in a bound UnboundMethod generated from a module, no superclass is found since the current defined class is the module, then call method_missing in that case. [ruby-core:59619] [Bug #9377] Wed Jan 8 15:55:21 2014 Nobuyoshi Nakada * hash.c (rb_objid_hash): return hash value from object ID with a salt, extract from rb_any_hash(). * object.c (rb_obj_hash): return same value as rb_any_hash(). fix r44125. [ruby-core:59638] [Bug #9381] Wed Jan 8 13:12:41 2014 Nobuyoshi Nakada * lib/timeout.rb (Timeout::ExitException.catch): pass arguments for new instance. * lib/timeout.rb (Timeout::ExitException#exception): fallback to Timeout::Error if couldn't throw. [ruby-dev:47872] [Bug #9380] * lib/timeout.rb (Timeout#timeout): initialize ExitException with message for the fallback case. Tue Jan 7 12:43:06 2014 Nobuyoshi Nakada * lib/timeout.rb (Timeout#timeout): should not rescue ordinarily raised ExitException, which should not be thrown. * lib/timeout.rb (Timeout::ExitException.catch): set @thread only if it ought to be caught. * lib/timeout.rb (Timeout#timeout): when a custom exception is given, no instance is needed to be caught, so defer creating new instance until it is raised. [ruby-core:59511] [Bug #9354] Tue Jan 7 10:16:02 2014 Eric Hodel * lib/rubygems: Update to RubyGems master 21e409d / RubyGems 2.2.1. See http://rubygems.rubyforge.org/rubygems-update/History_txt.html for a list of bug fixes. * test/rubygems: ditto. Tue Jan 7 10:10:46 2014 Eric Wong * ext/json/generator/depend: add build dependencies for json extension [Bug #9374] [ruby-core:59609] * ext/json/parser/depend: ditto Tue Jan 7 04:35:46 2014 Aman Gupta * array.c (ary_add_hash): Fix consistency issue between Array#uniq and Array#uniq! [Bug #9340] [ruby-core:59457] * test/ruby/test_array.rb (class TestArray): regression test for above. Mon Jan 6 21:28:48 2014 Kazuhiro NISHIYAMA * .gitignore: ignore *-fake.rb generated even when CROSS_COMPILING = no since r42862. Sun Jan 5 20:14:14 2014 Benoit Daloze * compar.c (cmp_equal): remove error hiding in Comparable#==. Comparable#== no longer rescues exceptions silently. This was the cause of quite a couple bugs. See #7688. [EXPERIMENTAL] * test/ruby/test_comparable.rb: adapt assertion to match new behavior. * lib/rdoc/method_attr.rb: fix bugs discovered by this change. * test/rdoc/test_rdoc_normal_class.rb: fix bugs in tests. Sat Jan 4 22:44:00 2014 Charlie Somerville * struct.c (rb_struct_set): return assigned value from setter method rather than struct object. [Bug #9353] [ruby-core:59509] * test/ruby/test_struct.rb (test_setter_method_returns_value): add test Sat Jan 4 21:44:31 2014 Kazuhiro NISHIYAMA * test/ruby/test_gc.rb (TestGc#test_latest_gc_info): use GC.stat(:key) instead of GC.stat. Sat Jan 4 19:15:29 2014 Nobuyoshi Nakada * ext/socket/socket.c (rsock_syserr_fail_host_port): use format flags, '+' to inspect, ' ' to quote unprintables. * ext/socket/socket.c (rsock_syserr_fail_path): ditto. * ext/socket/socket.c (rsock_syserr_fail_raddrinfo): ditto. * ext/socket/socket.c (rsock_syserr_fail_host_port): add errno argument version and use rb_syserr_fail_str() instead of rb_sys_fail_str() with restoring errno. * ext/socket/socket.c (rsock_syserr_fail_path): ditto, and rb_syserr_fail(). * ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto, use rsock_syserr_fail_raddrinfo(). * ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto. * ext/socket/socket.c (setup_domain_and_type): ditto. Sat Jan 4 17:18:58 2014 Kazuki Tsujimoto * vm.c (RubyVM::OPTS): get rid of a garbage character. Sat Jan 4 10:17:54 2014 Eric Hodel * lib/rinda/ring.rb (Rinda::RingFinger#make_socket): Use ipv4_multicast_ttl option for portability. Sat Jan 4 10:15:47 2014 Eric Hodel * lib/rinda/ring.rb (Rinda::RingFinger#make_socket): Use ipv4_multicast_loop option for portability. Patch by Jeremy Evans. [ruby-trunk - Bug #9351] Fri Jan 3 19:09:00 2014 Eric Wong * ext/socket/socket.c (rsock_sys_fail_host_port): save and restore errno before calling rb_sys_fail_str to prevent [BUG] errno == 0. Patch by Eric Wong. [ruby-core:59498] [Bug #9352] * ext/socket/socket.c (rsock_sys_fail_path): ditto * ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto * ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto * ext/socket/socket.c (rsock_sys_fail_raddrinfo_or_sockaddr): ditto Fri Jan 3 10:43:57 2014 Aman Gupta * test/net/imap/cacert.pem: generate new CA cert, since the last one expired. [Bug #9341] [ruby-core:59459] * test/net/imap/server.crt: new server cert signed with updated CA. * test/net/imap/Makefile: add `make regen_certs` to automate this process. Fri Jan 3 00:09:54 2014 Benoit Daloze * ext/bigdecimal: update class method call style from :: to . in documentation and usage. * ext/bigdecimal/lib/bigdecimal/math.rb: [DOC] fix examples values. Computations were made using ruby 2.0.0p247 to ensure no effect of the recent BigDecimal bug. * ext/bigdecimal/sample/nlsolve.rb: fix indent. Thu Jan 2 16:07:21 2014 Masaki Matsushita * io.c (io_fwrite): freeze converted str. Thu Jan 2 04:15:13 2014 Nobuyoshi Nakada * eval.c (rb_longjmp): remove an extra modifier from the forward declaration to match the actual definition. [ruby-core:59451] [Bug #9338] Thu Jan 2 01:23:30 2014 Masaki Matsushita * vm_eval.c (method_missing): use ALLOCV_N() instead of ALLOCA_N() and rb_ary_tmp_new(). Thu Jan 2 00:53:16 2014 Masaki Matsushita * array.c (rb_ary_zip): use ALLOCV_N() instead of ALLOCA_N(). Thu Jan 2 00:04:29 2014 Masaki Matsushita * hash.c (rb_hash_keys): make rb_hash_keys() static. it is no longer used from array.c since r43969. the patch is from normalperson (Eric Wong). [ruby-core:59449] [Feature #9336] * internal.h: remove definition of rb_hash_keys(). Wed Jan 1 18:19:35 2014 Nobuyoshi Nakada * configure.in: reset LDFLAGS and DLDFLAGS for opt-dir again after LIBPATHFLAG and RPATHFLAG are set. [ruby-dev:47868] [Bug #9317] Wed Jan 1 11:12:29 2014 Nobuyoshi Nakada * configure.in: use SSE2 instructions for drop unexpected precisions. [ruby-core:54738] [Bug #8358] Tue Dec 31 23:49:07 2013 Nobuyoshi Nakada * eval.c (rb_f_raise): add cause: optional keyword argument. [ruby-core:58610] [Feature #8257] [EXPERIMENTAL] Tue Dec 31 21:44:17 2013 Akio Tajima * win32/Makefile.sub: remove HAVE_FSEEKO because fseeko removed from win32/win32.c Fixed [Bug #9333]. Tue Dec 31 21:02:27 2013 Masaki Matsushita * io.c (io_fwrite): allocate frozen str only when str is not converted. Tue Dec 31 15:44:48 2013 Nobuyoshi Nakada * lib/mkmf.rb (RbConfig): expand RUBY_SO_NAME for extensions backward compatibility. [ruby-core:59426] [Bug #9329] Mon Dec 30 23:33:07 2013 Ayumu AIZAWA * variable.c: [DOC] adding extra example in docs. patched by Steve Klabnik. [Bug #9210] Mon Dec 30 18:34:18 2013 Nobuyoshi Nakada * encoding.c (must_encindex, rb_enc_from_index, rb_obj_encoding): mask encoding index and ignore dummy flags. [ruby-core:59354] [Bug #9314] Mon Dec 30 16:11:52 2013 WATANABE Hirofumi * tool/make-snapshot: needs CXXFLAGS. [ruby-core:59393][Bug #9320] Sun Dec 29 18:36:54 2013 Shota Fukumori * lib/mkmf.rb (configuration): Make CXXFLAGS customizable. Patch by Kohei Suzuki (eagletmt). [Fixes GH-492] Sun Dec 29 12:11:11 2013 Nobuyoshi Nakada * proc.c (mnew_from_me): keep iclass as-is, to make inheritance chain consistent. [ruby-core:59358] [Bug #9315] * proc.c (method_owner): return the original defined_class from prepended iclass, instead. Sun Dec 29 08:47:24 2013 Lucas Allan Amorim * test/ruby/test_sprintf.rb (test_hash): Added tests for sprintf with a hash as parameter. [Fixes GH-491] Sun Dec 29 07:27:51 2013 Benoit Daloze * compar.c (cmp_eq_recursive): Fix the return value, the value for failed #<=> should be nil. It was raising a NoMethodError for the test case TestComparable#test_no_cmp (undefined method `>' for false:FalseClass). Yet one more reason for #7688. Sat Dec 28 22:21:59 2013 Benoit Daloze * object.c (Kernel#<=>) surround Comparable operators with tags. The #== method was hidden in ri/rdoc's output and was highlighting the line instead. Sat Dec 28 17:24:00 2013 DV Suresh * benchmark/bm_so_meteor_contest.rb: [DOC] Fix a few typos * ext/fiddle/lib/fiddle/import.rb: ditto * ext/psych/lib/psych.rb: ditto * ext/psych/lib/psych/nodes/sequence.rb: ditto * ext/tk/lib/multi-tk.rb: ditto * ext/tk/lib/tcltk.rb: ditto Sat Dec 28 00:42:37 2013 Nobuyoshi Nakada * parse.y (local_push_gen, local_pop_gen): save cmdarg_stack to isolate command argument state from outer scope. [ruby-core:59342] [Bug #9308] Fri Dec 27 13:25:03 2013 NAKAMURA Usaku * win32/{setup.mak,Makefile.sub}: update fake.rb like template/fake.rb.in. Thu Dec 26 16:10:41 2013 NAKAMURA Usaku * win32/Makefile.sub (fake.rb): should depend on version.h because if RUBY_VERSION is updated, fake.rb need to say the new version to avoid install error in rbconfig.rb. Thu Dec 26 14:25:03 2013 Nobuyoshi Nakada * hash.c (HASH_REJECT_COPY_EXTRA_STATES): turn off the old behavior, copying extra states by accident. Thu Dec 26 10:49:14 2013 Yukihiro Matsumoto * version.h (RUBY_VERSION): 2.2.0 development has started. Thu Dec 26 10:27:53 2013 NAKAMURA Usaku * tool/merger.rb (tag): support 2.1.1 semi-automatic tagging and 2.2.0 explicit tagging. Thu Dec 26 06:35:25 2013 Marc-Andre Lafortune * proc.c: Having any mandatory keyword argument increases min arity [#9299] Thu Dec 26 06:27:08 2013 Marc-Andre Lafortune * proc.c: Having optional keyword arguments makes maximum arity +1, not unlimited [#8072] Thu Dec 26 01:09:57 2013 NAKAMURA Usaku * tool/release.sh: make symbolic links. Thu Dec 26 00:45:33 2013 NAKAMURA Usaku * tool/make-snapshot: support new version scheme. Wed Dec 25 22:44:14 2013 Nobuyoshi Nakada * compile.c (iseq_set_arguments): set arg_keyword_check from nd_cflag, which is set by parser. internal ID is used for unnamed keyword rest argument, which should be separated from no keyword check. * iseq.c (rb_iseq_parameters): if no keyword check, keyword rest is present. * parse.y (new_args_tail_gen): set keywords check to nd_cflag, which equals to that keyword rest is not present. Wed Dec 25 22:32:19 2013 Zachary Scott * lib/abbrev.rb: [DOC] rdoc format patch by Giorgos Tsiftsis [Bug #9146] Wed Dec 25 20:30:10 2013 Nobuyoshi Nakada * iseq.c (rb_iseq_parameters): push argument type symbol only for unnamed rest keywords argument. Wed Dec 25 20:28:48 2013 Nobuyoshi Nakada * proc.c (rb_iseq_min_max_arity): maximum argument is unlimited if having rest keywords argument. [ruby-core:53298] [Bug #8072] Wed Dec 25 18:29:22 2013 Koichi Sasada * vm_insnhelper.c (argument_error): insert dummy frame to make a backtrace object intead of modify backtrace string array. [Bug #9295] * test/ruby/test_backtrace.rb: add a test for this patch. fix test to compare a result of Exception#backtrace with a result of Exception#backtrace_locations. Wed Dec 25 13:00:54 2013 Nobuyoshi Nakada * configure.in: let mingw do something black-magic, and check if _gmtime64_s() is available actually. * win32/win32.c (gmtime_s, localtime_s): use _gmtime64_s() and _localtime64_s() if available, not depending on very confusing mingw variants macros. based on the patch by phasis68 (Heesob Park) at [ruby-core:58764]. [ruby-core:58391] [Bug #9119] Wed Dec 25 12:33:41 2013 Yusuke Endoh * sample/trick2013/: added the award-winning entries of TRICK 2013. See https://github.com/tric/trick2013 for the contest outline. (Matz has approved the attachment.) Wed Dec 25 10:42:02 2013 Yamashita Yuu * ext/openssl/ossl_ssl.c (Init_ossl_ssl): Declare a constant `OP_MSIE_SSLV2_RSA_PADDING` only if the macro is defined. The `SSL_OP_MSIE_SSLV2_RSA_PADDING` has been removed from latest snapshot of OpenSSL 1.0.1. [Fixes GH-488] Wed Dec 25 01:03:00 2013 Nobuyoshi Nakada * proc.c (bind_local_variables): allowing binding to list its local variables. patch by Jack Danger Canty at [ruby-core:56543]. [Feature #8773] Tue Dec 24 23:20:38 2013 Nobuyoshi Nakada * test/fileutils/fileasserts.rb (assert_ownership_user): new assertion for user ownership. * test/fileutils/test_fileutils.rb (test_chown_error), (test_chown_without_permission, test_chown_with_root): based on the patch by vajrasky (Vajrasky Kok) at [ruby-core:59298]. [Feature #9292] Tue Dec 24 16:28:05 2013 Nobuyoshi Nakada * proc.c (rb_mod_define_method): consider visibility only if self in the caller is same as the receiver, otherwise make public as well as old behavior. [ruby-core:57747] [Bug #9005] [ruby-core:58497] [Bug #9141] * vm.c (rb_vm_cref_in_context): return ruby level cref if self is same. Tue Dec 24 14:13:14 2013 Koichi Sasada * README.EXT: add a refer to URL. Tue Dec 24 13:48:45 2013 Koichi Sasada * README.EXT: add a document about RGenGC. Reviewed by havenwood. [misc #8962] * README.EXT.ja: ditto. Tue Dec 24 12:11:43 2013 Koichi Sasada * include/ruby/ruby.h (RARRAY_ASET): try to avoid compiler warning. [Bug #9287] Tue Dec 24 05:04:56 2013 NAKAMURA Usaku * test/fileutils/test_fileutils.rb (setup): should not call Process.groups for Windows. get rid of many errors introduced by r44364. Mon Dec 23 18:37:16 2013 Nobuyoshi Nakada * test/fileutils/fileasserts.rb (assert_ownership_group): new assertion for group ownership. * test/fileutils/test_fileutils.rb (test_chown{,_verbose,_noop}): based on the patch by vajrasky (Vajrasky Kok) at [ruby-core:59281]. [Feature #9286] Mon Dec 23 15:53:45 2013 Nobuyoshi Nakada * hash.c (HAS_EXTRA_STATES): warn extra states only when something differ. [ruby-core:59254] [Bug #9275] Mon Dec 23 12:42:13 2013 Marc-Andre Lafortune * array.c: Have to_h raise on elements that are not key-value pairs [#9239] * enum.c: ditto Mon Dec 23 05:01:55 2013 Zachary Scott * doc/syntax/methods.rdoc: [DOC] Added example for underscore conventions in method names. Also added doc to clarify encoding character set support for Ruby programs and elaborated on defining predicate and bang methods. Based on a patch by @gaurish [Fixes GH-477] https://github.com/ruby/ruby/pull/477 Mon Dec 23 03:18:09 2013 Zachary Scott * doc/ChangeLog-1.9.3: [DOC] Fix typos by @dvsuresh [Fixes GH-485] https://github.com/ruby/ruby/pull/485 * ext/openssl/ossl_config.c: ditto * lib/rss/utils.rb, lib/time.rb: ditto * test/ruby/envutil.rb: ditto Sun Dec 22 23:56:56 2013 Zachary Scott * lib/{rake,rdoc,rss}/*, test/rexml/test_listener.rb: [DOC] Fix typos by @dvsuresh [Fixes GH-486] https://github.com/ruby/ruby/pull/486 Sun Dec 22 11:08:47 2013 Eric Hodel * test/rubygems/test_gem_ext_builder.rb: Fix warning due to ambiguous expression. Sun Dec 22 11:05:53 2013 Eric Hodel * lib/rubygems/commands/install_command.rb: Restore gem install --ignore-dependencies for remote gems * test/rubygems/test_gem_commands_install_command.rb: Test for the above. Sun Dec 22 10:23:40 2013 Eric Hodel * lib/rdoc.rb: Set RDoc to release version. Sun Dec 22 10:19:07 2013 Eric Hodel * lib/rubygems.rb: Set RubyGems to release version. Sun Dec 22 10:16:08 2013 Eric Hodel * lib/rubygems.rb (module Gem): Fix comment for Gem::load_path_insert_index. Sun Dec 22 04:07:55 2013 Koichi Sasada * gc.c (ruby_gc_set_params): don't show obsolete warnings for RUBY_FREE_MIN/RUBY_HEAP_MIN_SLOTS if RUBY_GC_HEAP_FREE_SLOTS/RUBY_GC_HEAP_INIT_SLOTS are given. [Bug #9276] Sat Dec 21 13:00:20 2013 Nobuyoshi Nakada * file.c: remove unnecessary the source path from EEXIST error messages and show the destination path only. [ruby-core:59202] [Feature #9263] Sat Dec 21 12:37:19 2013 Nobuyoshi Nakada * lib/resolv.rb (Resolv::Hosts#lazy_initialize): should not consider encodings in hosts file. [ruby-core:59239] [Bug #9273] * lib/resolv.rb (Resolv::Config.parse_resolv_conf): ditto. Sat Dec 21 05:43:27 2013 NAKAMURA Usaku * tool/make-snapshot: replace RUBY_PATCHLEVEL_STR in version.h to show users that this ruby is a preview/rc version. Sat Dec 21 05:03:49 2013 NAKAMURA Usaku * win32/Makefile.sub (fake.rb): fixed wrong RUBY_PLATFORM, to correctly install win32.h. [ruby-core:58801][Bug #9199] reported by arton. For the changes before 2.1.0, see doc/ChangeLog-2.1.0 For the changes before 2.0.0, see doc/ChangeLog-2.0.0 For the changes before 1.9.3, see doc/ChangeLog-1.9.3 For the changes before 1.8.0, see doc/ChangeLog-1.8.0 Local variables: coding: us-ascii add-log-time-format: (lambda () (let* ((time (current-time)) (system-time-locale "C") (diff (+ (cadr time) 32400)) (lo (% diff 65536)) (hi (+ (car time) (/ diff 65536)))) (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t))) indent-tabs-mode: t tab-width: 8 change-log-indent-text: 2 end: vim: tabstop=8 shiftwidth=2