From 6f179cc5672ee8627a55f51b255a60282769d8d9 Mon Sep 17 00:00:00 2001 From: naruse Date: Tue, 8 Nov 2016 09:31:52 +0000 Subject: Moved deleted ChangeLog into doc/ChangeLog-2.4.0 And Add doc/ChangeLog-2016 as an anchor. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- doc/ChangeLog-2.4.0 | 9492 +++++++++++++++++++++++++++++++++++++++++++++++++++ doc/ChangeLog-2015 | 791 ----- doc/ChangeLog-2016 | 5 + 3 files changed, 9497 insertions(+), 791 deletions(-) create mode 100644 doc/ChangeLog-2.4.0 delete mode 100644 doc/ChangeLog-2015 create mode 100644 doc/ChangeLog-2016 (limited to 'doc') diff --git a/doc/ChangeLog-2.4.0 b/doc/ChangeLog-2.4.0 new file mode 100644 index 0000000000..1714b7caec --- /dev/null +++ b/doc/ChangeLog-2.4.0 @@ -0,0 +1,9492 @@ +Mon Nov 7 00:32:45 2016 NAKAMURA Usaku + + * test/ruby/test_optimization.rb (test_tailcall_interrupted_by_sigint): + ignore on Windows because we cannot handle signaled status of child + ruby process on this platform. + +Sun Nov 6 23:36:07 2016 Shugo Maeda + + * test/ruby/test_optimization.rb (test_tailcall_interrupted_by_sigint): + send SIGKILL if the child process doesn't die within 1 second. + +Sun Nov 6 21:54:28 2016 NARUSE, Yui + + * tool/vcs.rb (export_changelog): generate ChangeLog file from + vcs's log. [Feature #12283] + + * tool/make-snapshot (package): overwrite ChangeLog by generated + ChangeLog. + +Sun Nov 6 21:36:33 2016 SHIBATA Hiroshi + + * NEWS: Added entry for RDoc 5. + +Sun Nov 6 21:35:37 2016 SHIBATA Hiroshi + + * NEWS: ordered entries and adjust styles. + +Sun Nov 6 18:23:31 2016 SHIBATA Hiroshi + + * NEWS: Added entry for [Feature #12160][ruby-core:74239] + +Sun Nov 6 18:18:25 2016 SHIBATA Hiroshi + + * NEWS: Added entry for r56624. + +Sun Nov 6 15:53:03 2016 Shugo Maeda + + * configure.in (-Wno-maybe-uninitialized): gcc 6 also shows the same + warnings as described in r49410. + +Sun Nov 6 14:42:50 2016 takkanm + + * eval.c (rb_mod_include, rb_mod_prepend): check if arguments are + given, as well as Kernel#extend. [ruby-dev:49854] [Bug #12887] + [Fix GH-1470] + +Sun Nov 6 11:59:05 2016 Shugo Maeda + + * test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast, + test_make_socket_ipv6_multicast_hops): skip if IPv6 multicast + address is not available. + +Sun Nov 6 11:53:23 2016 Nobuyoshi Nakada + + * lib/irb.rb (Binding#irb): new method like Binding#pry. + +Sun Nov 6 11:48:55 2016 Shugo Maeda + + * test/net/smtp/test_smtp.rb (test_tls_connect, test_tls_connect): + use Socket.tcp_server_sockets in case localhost is resolved to ::1. + +Sun Nov 6 11:49:47 2016 Nobuyoshi Nakada + + * lib/irb.rb (IRB::Irb#run): split from IRB.start. + +Sun Nov 6 11:45:11 2016 Nobuyoshi Nakada + + * lib/e2mmap.rb (E2MM.def_exception): remove old definition if + exists so that works multiple times. + +Sun Nov 6 10:03:00 2016 Shugo Maeda + + * test/ruby/test_optimization.rb (test_tailcall_interrupted_by_sigint): + don't use sleep to run faster. + +Sun Nov 6 09:58:47 2016 Nobuyoshi Nakada + + * process.c (rb_exec_fillarg): honor the given path environment + variable. [ruby-core:53103] [Bug #8004] + +Sun Nov 6 01:52:31 2016 Akira Matsuda + + * lib/erb.rb: Alias regist_scanner to register_scanner + +Sun Nov 6 01:39:36 2016 Shugo Maeda + + * compile.c (tailcallable_p): disable tail call optimization for + toplevel, eval, and load to avoid SEGV when interrupted by SIGINT. + [ruby-core:76327] [Bug #12576] + +Sun Nov 6 01:28:41 2016 Koichi Sasada + + * vm_insnhelper.h: rename REG_(CFP|PC|SP|EP) to VM_REG_.... + [Bug #12527] + + * vm_exec.c: ditto. + +Sun Nov 6 00:25:11 2016 Sho Hashimoto + + * enumerator.c (InitVM_Enumerator): Enumerator::Lazy#chunk_while + defined. [Fix GH-1186] + https://github.com/ruby/ruby/pull/1186 + +Sun Nov 6 00:22:51 2016 Kazuki Tsujimoto + + * vm_eval.c (vm_call0_cfunc_with_frame): pass method id to + dtrace hook. follow up r56592. + +Sun Nov 6 00:06:38 2016 Tanaka Akira + + * lib/resolv.rb (Resolv::LOC::Coord.create): fixed. + [ruby-core:72567] [Bug #11912] fixed by Eric Wong and Kazuhiro + NISHIYAMA. + +Sun Nov 6 00:03:09 2016 NARUSE, Yui + + * configure.in (-Wimplicit-fallthrough): gcc7 introduces case + fall through warnings but it is too noisy. + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=7652 + +Sat Nov 5 23:58:32 2016 Shugo Maeda + + * numeric.c (rb_int_round): cast to SIGNED_VALUE to suppress + warnings by -Wsign-compare. + +Sat Nov 5 23:48:27 2016 NARUSE, Yui + + * file.c (rb_home_dir_of): convert given username into filesystem + encoding. [ruby-core:76682] [Bug #12652] + patched by Davis Mosans + +Sat Nov 5 23:46:03 2016 Tanaka Akira + + * time.c (vtm_add_offset): Fix yday on last day of year. + [ruby-core:72878] [Bug #11994] Fixed by Andrew White. + +Sat Nov 5 23:30:41 2016 Shugo Maeda + + * lib/net/http.rb (Net::HTTP.post): new convenience method to send + a POST request. [ruby-core:75484] [Feature #12375] + +Sat Nov 5 23:03:54 2016 NARUSE, Yui + + * lib/net/http.rb (transport_request): other than HTTPContinue + in 1xx (HTTPInformation) also needs to continue. [Bug #12890] + +Sat Nov 5 22:51:06 2016 Tanaka Akira + + * lib/time.rb (make_time): "now" argument as nil works again. + This is broken since Ruby 2.2. + Mathieu Jobin pointed a problem. + https://github.com/ruby/ruby/commit/e4b05d91eb0d48fd172abf015c493bb42d755d07#commitcomment-17421387 + +Sat Nov 5 22:50:13 2016 Akinori MUSHA + + * lib/ipaddr.rb (IPAddr#==): If coercion fails, return false + instead of passing through the exception. [ruby-core:77451] + [Bug #12799] + + * lib/ipaddr.rb (IPAddr#<=>): If coercion fails, return nil + instead of passing through the exception. [ruby-core:77451] + [Bug #12799] + +Sat Nov 5 22:11:33 2016 Kazuki Tsujimoto + + * vm_trace.c (tracepoint_attr_callee_id, rb_tracearg_callee_id): + add TracePoint#callee_id. [ruby-core:77241] [Feature #12747] + + * cont.c, eval.c, gc.c, include/ruby/intern.h, insns.def, thread.c, + vm.c, vm_backtrace.c, vm_core.h, vm_eval.c, vm_insnhelper.c, vm_trace.c: ditto. + + * test/ruby/test_settracefunc.rb: tests for above. + +Sat Nov 5 22:09:48 2016 Kazuki Tsujimoto + + * eval.c, method.h, proc.c, vm.c, vm_eval.c, vm_insnhelper.c, vm_method.c: + TracePoint#method_id should return method_id, not callee_id. + [ruby-core:77241] [Feature #12747] + + * test/ruby/test_settracefunc.rb: change accordingly. + +Sat Nov 5 18:49:37 2016 Nobuyoshi Nakada + + * numeric.c (flo_round, int_round): support round-to-nearest-even + semantics of IEEE 754 to match sprintf behavior, and add `half:` + optional keyword argument for the old behavior. + [ruby-core:76273] [Bug #12548] + +Sat Nov 5 18:17:54 2016 Akinori MUSHA + + * lib/set.rb (Set#compare_by_identity, Set#compare_by_identity?): + New methods. [Feature #12210] + +Sat Nov 5 18:17:08 2016 SHIBATA Hiroshi + + * lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0 + Release note: https://github.com/rdoc/rdoc/blob/b825775647f62c5b525e9780a28ff2fbb1d5bf6f/History.rdoc#500--2016-11-05 + +Sat Nov 5 17:29:06 2016 Tanaka Akira + + * lib/resolv.rb (Resolv::DNS#extract_resources): Use each_resource + instead of each_answer. + [ruby-core:75461] [Bug #12372] reported by Rafael Fernandez Lopez. + +Sat Nov 5 17:18:24 2016 NARUSE, Yui + + * ext/-test-/file/fs.c (get_atime_p): Updating of file access times + is enabled or not. + +Sat Nov 5 16:28:07 2016 Nobuyoshi Nakada + + * io.c (extract_getline_opts): extract chomp option. + [Feature #12553] + +Sat Nov 5 15:58:24 2016 Sho Hashimoto + + * tool/mkconfig.rb: [DOC] add rbconfig documentation. + +Sat Nov 5 15:42:52 2016 Shugo Maeda + + * lib/net/smtp.rb (tlsconnect): support timeout for TLS handshake. + [ruby-core:76893] [Bug #12678] + + * lib/net/protocol.rb (ssl_socket_connect): new method to implement + timeout for TLS handshake. + + * lib/net/http.rb (connect): use Net::Protocol#ssl_socket_connect. + +Sat Nov 5 14:17:20 2016 Nobuyoshi Nakada + + * parse.y (brace_body, do_body): since cmdarg_stack is saved in + VALUE val, should restore from the same member. on big-endian + platforms where VALUE is larger than int, it restored 0 in the + upper word. [ruby-core:77920] [Bug #12900] + +Sat Nov 5 13:52:52 2016 Akinori MUSHA + + * lib/shellwords.rb (Shellwords#shellsplit): Fix the handling of + the backslash in double quotes to conform to the standard. + [ruby-core:63807] [Bug #10055] + +Sat Nov 5 12:14:31 2016 Tanaka Akira + + * ext/pathname/pathname.c (Pathname#empty?): New method. + [ruby-core:76404] [Feature #12596] Proposed by John Backus. + +Sat Nov 5 11:53:02 2016 Shugo Maeda + + * test/ruby/test_refinement.rb (test_refine_alias_in_subclass): + add a test to check that alias in subclasses can be refined. + [ruby-core:69374] [Bug #11186] + +Sat Nov 5 11:20:57 2016 Shugo Maeda + + * cont.c (cont_new): disable optimization if clang's version is + 3.8.0. [ruby-core:77894] [Bug #12893] + +Sat Nov 5 10:07:18 2016 Nobuyoshi Nakada + + * test/ruby/test_file.rb (TestFile#test_stat): fix noatime case. + [ruby-core:77943] [Bug #12903] + +Fri Nov 4 17:52:44 2016 Koichi Sasada + + * gc.c (heap_page_resurrect): do not return tomb_pages when + page->freelist == NULL. + [Bug #12670] + +Fri Nov 4 16:31:45 2016 Nobuyoshi Nakada + + * util.c (ruby_dtoa): round to even, instead of rounding to + nearest. [ruby-core:77864] [Bug #12889] + +Fri Nov 4 15:31:00 2016 NARUSE, Yui + + * configure.in: Add compiler version message into rbconfig + as RbConfig::CONFIG['CC_VERSION_MESSAGE']. [Feature #12896] + +Fri Nov 4 13:03:00 2016 Kenta Murata + + * numeric.c (rb_int_digits): Fix exception message + [ruby-core:77502] [Bug #12815] + +Fri Nov 4 10:51:16 2016 Nobuyoshi Nakada + + * ext/pathname/pathname.c (path_hash): fix unnormalized Fixnum + value bug on mingw/mswin. + +Fri Nov 4 10:35:47 2016 Nobuyoshi Nakada + + * lib/fileutils.rb (FileUtils::Entry_#copy): ensure that the + source entry exists first, to fix error for non-existent entry. + [ruby-core:77885] [Bug #12892] + +Thu Nov 3 21:45:00 2016 Kenta Murata + + * ext/bigdecimal/bigdecimal.c: Import changes from ruby/bigdecimal + repository. + +Thu Nov 3 15:01:29 2016 Nobuyoshi Nakada + + * file.c: include sys/sysmacros.h for ArchLinux which deprecated + use of major() and minor() in sys/types.h. + +Wed Nov 2 08:45:49 2016 Dmitry Gritsay + + * doc/extension.rdoc: set ANYARGS as arguments for func1 and func2. + + * doc/extension.rdoc: mention the exception object which is passed + to func2 as the second argument. [Fix GH-1471] + +Wed Nov 2 07:34:27 2016 Nobuyoshi Nakada + + * numeric.c (rb_num_coerce_bit): enable bit operations with + coercing by non-integer object. [ruby-core:77783] [Bug #12875] + +Tue Nov 1 01:31:09 2016 Nobuyoshi Nakada + + * configure.in (ac_cv_func_round): round(3) in x86_64-w64-mingw32 + is not accurate in an edge case. [ruby-core:77794] [Bug #12878] + +Mon Oct 31 17:36:04 2016 Code Ahss + + * test/test_forwardable.rb (TestForwardable#test_on_private_method): + add test for [Bug #12782] [Bug #12840] + +Mon Oct 31 11:08:51 2016 Samuel Williams + + * lib/uri/generic.rb (URI::Generic#merge): merge merge0. + [GH-1469] + +Sun Oct 30 15:32:43 2016 SHIBATA Hiroshi + + * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update + rubygems to 2.6.8. + Release note of 2.6.8: https://github.com/rubygems/rubygems/commit/9fb8880976f5ab998912898b091d88aa10eb1d4a + +Sun Oct 30 06:39:37 2016 Martin Duerst + + * enc/windows_1254.c: Fix typo. Reported by k-takata at + https://github.com/k-takata/Onigmo/commit/ceb59cc. Thanks! + +Sat Oct 29 19:59:37 2016 Nobuyoshi Nakada + + * parse.y (cond0): !-operator is a method call, no warning for + literal in condition. [ruby-core:77801] [Bug #12881] + +Sat Oct 29 10:09:38 2016 Nobuyoshi Nakada + + * compile.c (iseq_compile_each): turn flip-flop in a not-operator + into a boolean value. fix up r56315 + +Sat Oct 29 09:39:14 2016 Nobuyoshi Nakada + + * vm_eval.c (vm_call0_body): follow the original class, not to + loop the prepended module. [ruby-core:77784] [Bug #12876] + +Sat Oct 29 00:14:30 2016 Nobuyoshi Nakada + + * enc/trans/windows-1255-tbl.rb: update mapping from 0xCA to + U+05BA. [Feature #12877] + +Fri Oct 28 23:22:32 2016 Nobuyoshi Nakada + + * enc/depend: extract transcode_tblgen method calls for libraries + loaded by dynamically generated names, in single_byte.trans. + +Fri Oct 28 16:05:03 2016 Nobuyoshi Nakada + + * insns.def (opt_case_dispatch): extract float value only if the + Float method is not redefined. + +Fri Oct 28 15:58:16 2016 Nobuyoshi Nakada + + * internal.h (RB_OBJ_BUILTIN_TYPE): special-const safe + BUILTIN_TYPE. + +Fri Oct 28 15:20:18 2016 Nobuyoshi Nakada + + * complex.c (id_finite_p, id_infinite_p, id_rationalize, id_PI): + initialize static IDs. + + * complex.c (FINITE_TYPE_P): extract predicate. + + * complex.c (rb_complex_finite_p, rb_complex_infinite_p): use + dedicated predicates instead of switch by TYPE. + +Thu Oct 27 23:28:12 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (rb_integer_type_p): turn into macro to help + clang based on old gcc to eliminate CSE. + +Thu Oct 27 16:33:47 2016 NAKAMURA Usaku + + * tool/redmine-backporter.rb (rel): check the exception and show right + message. + +Thu Oct 27 14:57:33 2016 Kazuki Yamaguchi + + * ext/socket/lib/socket.rb (UDPSocket#recvfrom_nonblock): [DOC] Remove + a false statement "If _maxlen_ is omitted, its default value is + 65536." maxlen, the first parameter, cannot be omitted as the method + signature indicates. This hasn't changed ever since it was first + implemented. + +Thu Oct 27 09:42:09 2016 Nobuyoshi Nakada + + * object.c (rb_convert_to_integer): convert a fixable float to a + fixnum directly without the conversion method, as well as bignum + case. + + * object.c (rb_convert_to_integer): should not drop the converted + string. + +Wed Oct 26 17:09:59 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (rb_intern): use prefixed version macro + RUBY_CONST_ID_CACHE. + +Wed Oct 26 11:28:25 2016 URABE Shyouhei + + * NEWS: added several entries which (if I remember correctly) are + added in a year. + +Tue Oct 25 12:54:07 2016 Nobuyoshi Nakada + + * proc.c (mnew_internal): follow the original class, not to loop + the prepended module. [ruby-core:77591] [Bug #12832] + +Mon Oct 24 10:52:17 2016 Nobuyoshi Nakada + + * test/lib/test/unit.rb (Test::Unit::Parallel#deal): update the + job status after a task finished, to show idling workers. + +Mon Oct 24 10:51:09 2016 Nobuyoshi Nakada + + * complex.c (Init_Complex): undefine methods inherited from + Comparable, because Complex does not have <=> method. + [Bug #12866] + + * class.c (rb_undef_methods_from): undefine methods defined in + super from klass. + +Mon Oct 24 10:19:44 2016 Nobuyoshi Nakada + + * complex.c (Init_Complex): undefine Complex#clamp, which does not + work like other Comparable methods, because Complex does not + have <=> method. patched by Tim Peters + in [ruby-core:77720]. [Bug #12866] + +Sun Oct 23 11:41:41 2016 Nobuyoshi Nakada + + * include/ruby/encoding.h: include "ruby/ruby.h" explicitly for + enum ruby_fl_type and VALUE. + +Sat Oct 22 23:33:55 2016 Nobuyoshi Nakada + + * parse.y (reg_compile_gen): always append error message to the + error buffer. + +Sat Oct 22 22:33:32 2016 Nobuyoshi Nakada + + * numeric.c (num_funcall1): check recursion by inverse pair, to + fix fake infinite recursion. [ruby-core:77713] [Bug #12864] + +Sat Oct 22 18:52:32 2016 Nobuyoshi Nakada + + * hash.c (rb_hash_compact_bang): should return nil if no elements + is deleted. [ruby-core:77709] [Bug #12863] + +Sat Oct 22 10:28:28 2016 Nobuyoshi Nakada + + * configure.in (DLDFLAGS): fallback to LDFLAGS. + [ruby-core:72444] [Bug #11863] + + * configure.in (LIBRUBY_DLDFLAGS): fallback to DLDFLAGS. + + * configure.in (RUBY_APPEND_OPTION, RUBY_PREPEND_OPTION): expand + the option to be appended/prepended when matching, as well as + RUBY_APPEND_OPTIONS and RUBY_PREPEND_OPTIONS. + +Sat Oct 22 09:52:57 2016 Nobuyoshi Nakada + + * compile.c (setup_args): duplicate splatting array if more + arguments present to obey left-to-right execution order. + [ruby-core:77701] [Bug# 12860] + +Fri Oct 21 16:44:44 2016 Nobuyoshi Nakada + + * dir.c (do_opendir): retry after GC when the limit for open file + descriptors reached. + +Fri Oct 21 16:06:25 2016 Nobuyoshi Nakada + + * ruby.c (open_load_file): retry after GC when the limit for open + file descriptors reached. + +Fri Oct 21 11:34:17 2016 Pascal Schmid + + * string.c (rb_str_sub, rb_str_gsub): [DOC] 'backlash' should read + 'backslash'. [Fix GH-1461] + +Thu Oct 20 17:02:56 2016 SHIBATA Hiroshi + + * lib/uri/common.rb: added documentation for deprecated method. + [Misc #11960][ruby-core:72733][ci skip] + +Thu Oct 20 16:57:23 2016 SHIBATA Hiroshi + + * ext/digest/digest.c: Add documentation for Digest. + [Feature #10452][ruby-core:66001][ci skip] + * remove HMAC from list of digest algorithms, + * add MD5 in list of digest algorithms, + * add information about writing a C digest implementation using Digest::Base, + * add documentation for Digest::Base public methods. + * ext/digest/md5/md5init.c: add examples for MD5. + * ext/digest/rmd160/rmd160init.c: add examples for Digest::RMD160. + * ext/digest/sha1/sha1init.c: add examples for Digest::SHA1. + +Thu Oct 20 16:19:51 2016 SHIBATA Hiroshi + + * lib/open-uri.rb: Improved documentation grammar for + open-uri#open option. [Misc #11329][ruby-core:69868][ci skip] + +Wed Oct 19 21:48:40 2016 Kazuhiro NISHIYAMA + + * NEWS: mention refinements with Kernel#send and + BasicObject#__send__. [Feature #11476] + +Wed Oct 19 17:02:15 2016 Nobuyoshi Nakada + + * vm_insnhelper.c (vm_call_opt_send): enable refinements with + Kernel#send and BasicObject#__send__. [Feature #11476] + +Wed Oct 19 14:22:49 2016 Nobuyoshi Nakada + + * basictest/runner.rb: do not clobber the option by --run-opt with + RUBYOPT. reported by Allen Hewes . + +Wed Oct 19 00:09:06 2016 Nobuyoshi Nakada + + * addr2line.c (parse_debug_line_cu): boundary checks for + compressed debug sections. [ruby-dev:49840] [Bug #12850] + +Tue Oct 18 16:36:40 2016 Nobuyoshi Nakada + + * configure.in (DLDFLAGS): append --compress-debug-sections=zlib + if available, which reduces the size of LIBRUBY_SO by half or + more. + +Mon Oct 17 16:20:37 2016 Nobuyoshi Nakada + + * win32/configure.bat: add option to enable/disable to install + static ruby library. defaulted to "no". [Feature #12845] + + * configure.in (install-static-library): add option to enable/ + disable to install static ruby library. defaulted to "no" if + enable-shared. [Feature #12845] + + * tool/rbinstall.rb (local-arch-lib): respect the option. + +Sun Oct 16 15:09:06 2016 Martin Duerst + + * enc/windows_1254.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for Windows-1254. + +Sat Oct 15 14:17:05 2016 Nobuyoshi Nakada + + * vm_args.c (refine_sym_proc_call): search and call method with + refinements. + + * vm_args.c (vm_caller_setup_arg_block): enable refinements when + enabled in the caller. [Feature #9451] + +Sat Oct 15 00:54:01 2016 Nobuyoshi Nakada + + * process.c (proc_exec_cmd): use UTF-8 version aspawn. + [ruby-dev:49838] [Bug #12841] + +Fri Oct 14 22:26:10 2016 Nobuyoshi Nakada + + * lib/optparse/kwargs.rb (OptionParser#define_by_keywords): + [EXPERIMENTAL] extract command line option definitions from the + information of keyword arguments. + +Fri Oct 14 18:27:18 2016 SHIBATA Hiroshi + + * object.c: Improve documentation for Float conversion. + [ruby-core:71661][Bug #11736][ci skip] + +Fri Oct 14 18:00:20 2016 SHIBATA Hiroshi + + * lib/logger.rb: Improve Logger.new option documentation. + [Feature #12803][ruby-core:77467] + +Fri Oct 14 17:20:24 2016 Nobuyoshi Nakada + + * lib/optparse.rb (make_switch, parse_in_order): unify underscores + to hyphens. + +Fri Oct 14 10:48:37 2016 Eric Wong + + * lib/webrick/utils.rb (TimeoutHandler): use monotonic clock + (watch): ditto + +Thu Oct 13 19:41:32 2016 Nobuyoshi Nakada + + * io.c (copy_stream_body): use IO to write to copy to duplex IO. + http://twitter.com/knu/status/786505317974585344 + +Thu Oct 13 17:05:57 2016 Dwain Faithfull + + * hash.c (rb_hash_compact, rb_hash_compact_bang): Removes nil + values from the original hash, to port Active Support behavior. + [Feature #11818] + +Thu Oct 13 11:35:33 2016 Nobuyoshi Nakada + + * array.c (rb_ary_sort_bang, rb_ary_sort, rb_ary_sort_by_bang): + [DOC] describe that sort may not be stable. + + * enum.c (enum_sort, enum_sort_by): ditto. + +Thu Oct 13 11:31:40 2016 Nobuyoshi Nakada + + * test/rexml/xpath/test_text.rb (test_ancestors): Array#sort may + not be stable. [ruby-core:76088] [Bug #12509] + + * test/rss/test_maker_{0.9,1.0,2.0}.rb (test_items): ditto. + +Thu Oct 13 10:37:31 2016 Eric Wong + + * doc/extension.rdoc: wording fix + +Thu Oct 13 00:39:08 2016 Nobuyoshi Nakada + + * test/ruby/test_array.rb (test_sort_bang_with_freeze): make a + clone to copy a <=> singleton method, instead of dup. which + element will be called is not predictable. + [ruby-core:76088] [Bug #12509] + +Thu Oct 13 00:21:27 2016 Simon Soriano + + * doc/extension.rdoc: Replace "You can defined hooked variables" + with "You can define hooked variables". [Fix GH-1460] + +Wed Oct 12 21:05:50 2016 NAKAMURA Usaku + + * ruby.c (open_load_file): revert r56385. it introduced incompatibility + about `DATA.binmode?`. + +Wed Oct 12 15:24:53 2016 SHIBATA Hiroshi + + * tool/downloader.rb: Removed verification of gem certification. + Because signed gem is not working on rubygems ecosystem. + * tool/gem-unpack.rb: ditto. + +Tue Oct 11 22:08:24 2016 Nobuyoshi Nakada + + * io.c (prep_io): fix typo of struct member name. + [ruby-core:77550] [Bug #12829] + +Tue Oct 11 16:45:24 2016 Tanaka Akira + + * lib/uri/generic.rb (URI.find_proxy): Add an optional argument, env. + +Tue Oct 11 16:38:32 2016 Tanaka Akira + + * lib/pp.rb (String#pretty_print): Defined to print a string as + multiple lines. + [ruby-core:76800] [Feature#12664] proposed by Petr Chalupa. + +Mon Oct 10 15:22:27 2016 Nobuyoshi Nakada + + * ruby.c (open_load_file): bind the open fd to an IO instance + before waiting FIFO, not to leak the fd if interrupted. + +Mon Oct 10 12:40:54 2016 Nobuyoshi Nakada + + * ruby.c (open_load_file): compare with EXEEXT instead of hard + coded name, and do not match with mere EXEEXT. + + * ruby.c (open_load_file): open in binary mode if available, as + parser deals with EOLs. + + * io.c (prep_io): reduce isatty call (and its system call) on + Cygwin. + +Sun Oct 9 23:05:53 2016 Prathamesh Sonpatki + + * array.c, class.c: Fixed documentation where Fixnum was referred + directly to use Integer, as Fixnum and Bignum are now unified + into Integer and direct usage is deprecated. [Fix GH-1459] + +Sun Oct 9 11:37:19 2016 Nobuyoshi Nakada + + * vm_core.h (VM_ASSERT): stringify expr here before expansion in + RUBY_ASSERT_WHEN. + +Sat Oct 8 10:54:22 2016 Nobuyoshi Nakada + + * ext/-test-/memory_status/memory_status.c (read_status): use + Win32 GetProcessMemoryInfo API. + + * ext/-test-/memory_status/memory_status.c: get memory sizes by + mach task_info system call. + +Sat Oct 8 09:06:55 2016 Aurelien Jacobs + + * lib/logger.rb (Logger::Period#next_rotate_time): fix monthly log + rotate when DST is applied during a month of 31 days. + [Fix GH-1458] + +Fri Oct 7 20:21:39 2016 Nobuyoshi Nakada + + * gc.c (gc_prof_setup_new_record): fix the condition to get + rusage. + + * gc.c (gc_profile_dump_major_reason): remove undefined flags. + +Fri Oct 7 19:18:33 2016 Masaki Suketa + + * ext/win32ole/*.c, ext/win32ole/win32ole.h: use RB_INT2FIX instead of + INT2FIX, and so on. + +Fri Oct 7 14:18:40 2016 SHIBATA Hiroshi + + * basictest/test.rb: Adjust spaces in class declarations + with inheritance. [fix GH-1227] Patch by @adrfer + * lib/irb/*: ditto. + * lib/prime.rb: ditto. + * lib/shell/builtin-command.rb: ditto. + * object.c: ditto. + * sample/*.rb: ditto. + * test/-ext-/method/test_arity.rb: ditto. + +Thu Oct 6 17:29:44 2016 Nobuyoshi Nakada + + * load.c (rb_require_safe): SyntaxError created by the parser just + has the message and needs to set up the backtrace. + [ruby-core:77491] [Bug #12811] + + * load.c (rb_load_internal0): load/require is not the main + script. + +Thu Oct 6 13:35:15 2016 Marc-Andre Lafortune + + * enum.c: [DOC] Improve doc [ci-skip] + +Thu Oct 6 11:38:14 2016 Chris Jones + + * ext/readline/extconf.rb: Update error message with correct words. + [fix GH-1453][ci skip] Patch by @magikid + +Thu Oct 6 11:01:49 2016 Tieg Zaharia + + * lib/uri/common.rb (WEB_ENCODINGS_): Update URI::WEB_ENCODINGS_ + hash, and fix documented command to grab it. [Fix GH-1430] + +Thu Oct 6 10:37:13 2016 SHIBATA Hiroshi + + * enum.c: Add reduce/inject alias note. + [fix GH-1400][ci skip] Patch by @getaaron + +Thu Oct 6 10:30:27 2016 Nobuyoshi Nakada + + * thread.c (update_coverage): check coverage values, and ignore + non-fixnum values. + +Thu Oct 6 09:19:21 2016 Nobuyoshi Nakada + + * io.c (fptr_finalize): use dedicated macro RB_INTEGER_TYPE_P. + +Wed Oct 5 18:02:44 2016 SHIBATA Hiroshi + + * lib/net/http/response.rb: Improve document readability. + [fix GH-1411][ci skip] Patch by @stz-seongheon + +Wed Oct 5 15:43:32 2016 Nobuyoshi Nakada + + * node.c (dump_node): flatten statements in NODE_BLOCK. + +Wed Oct 5 14:27:36 2016 Byron Bowerman + + * range.c: Add docs for max/min behavior with exclusive range. + [fix GH-1433][ci skip] Patch by @BM5k + +Wed Oct 5 12:57:21 2016 Richard Schneeman + + * ext/socket/*.c: Add proper require for example to work. + [fix GH-1378][ci skip] Patch by @schneems + +Wed Oct 5 11:47:19 2016 SHIBATA Hiroshi + + * io.c: Fixed equivalent ruby code with core implemention. + [fix GH-1429][ci skip] Patch by @sos4nt + +Wed Oct 5 11:36:21 2016 SHIBATA Hiroshi + + * lib/delegate.rb: Added missing spaces and Removed needless spaces. + [fix GH-1454][ci skip] Patch by @bogdanvlviv + +Wed Oct 5 03:24:55 2016 Marc-Andre Lafortune + + * enum.c: Make Enumerable#chunk with no block return + an Enumerator [#2172] + +Wed Oct 5 01:19:45 2016 NAKAMURA Usaku + + * internal.h (ST2FIX): new macro to convert st_index_t to Fixnum. + a hash value of Object might be Bignum, but it causes many troubles + especially the Object is used as a key of a hash. so I've gave up + to do so. + + * array.c (rb_ary_hash): use above macro. + + * bignum.c (rb_big_hash): ditto. + + * hash.c (rb_obj_hash, rb_hash_hash): ditto. + + * numeric.c (rb_dbl_hash): ditto. + + * proc.c (proc_hash): ditto. + + * re.c (rb_reg_hash, match_hash): ditto. + + * string.c (rb_str_hash_m): ditto. + +Tue Oct 4 12:59:44 2016 Koichi ITO + + * array.c (rb_ary_dig): [DOC] update an example of error message + by Array#dig, because of Integer Unification. [Fix GH-1455] + +Tue Oct 4 09:55:12 2016 Nobuyoshi Nakada + + * ext/bigdecimal/bigdecimal.c (BigDecimal_div2): need more room + for precision to round. [ruby-core:77475] [Bug #12805] + +Tue Oct 4 06:05:46 2016 NARUSE, Yui + + * regcomp.c (onig_print_compiled_byte_code): make the shown address + look relative. + +Tue Oct 4 05:53:11 2016 NARUSE, Yui + + * regexec.c (OPCODE_EXEC_HOOK): op is p-1 because p is already + incremented. + + * regexec.c (OPCODE_EXEC_HOOK): use the exact end address. + + * regexec.c (match_at): don't call OPCODE_EXEC_HOOK in CASE() + when it comes from goto fail. + +Mon Oct 3 21:24:41 2016 Kazuhiro NISHIYAMA + + * NEWS: mention Readline.quoting_detection_proc{,=}. + +Mon Oct 3 21:19:46 2016 Kazuhiro NISHIYAMA + + * lib/logger.rb: [DOC] Fix default value of shift_age. + +Mon Oct 3 17:20:05 2016 George Brocklehurst + + * ext/readline/readline.c (readline_s_set_quoting_detection_proc): + support rl_char_is_quoted_p. [Feature #12659] + + * ext/readline/readline.c (readline_s_get_quoting_detection_proc): + ditto. + +Sun Oct 2 08:22:28 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (RB_INT2FIX, RB_LONG2FIX): prefix RB to + global symbols to get rid of name conflicts with other headers. + +Sun Oct 2 07:51:20 2016 Nobuyoshi Nakada + + * string.c (rb_str_hash_m): hash values may be negative. + +Sun Oct 2 02:04:12 2016 NAKAMURA Usaku + + * string.c (rb_str_hash_m): st_index_t is not guaranteed as the same + size with int, and of course also not guaranteed the value can be + Fixnum. + +Sun Oct 2 02:03:06 2016 NAKAMURA Usaku + + * numeric.c (rb_fix2str): detect unnormalized Fixnum value. + +Sat Oct 1 23:08:47 2016 NAKAMURA Usaku + + * ext/date/date_parse.c (date_zone_to_diff): it's nonsence and really + harm that to use unary minus operator with unsigned value. + get rid of test failures introduced at r56312. + +Sat Oct 1 22:17:49 2016 Nobuyoshi Nakada + + * compile.c (iseq_compile_each): move numeric literal range + optimization from fixup_nodes() in parse.y. + +Sat Oct 1 19:19:34 2016 Nobuyoshi Nakada + + * compile.c (compile_flip_flop): simplify generated code. + + * compile.c (compile_branch_condition): flip-flop can appear only + in conditional expressions. + +Sat Oct 1 02:02:02 2016 NAKAMURA Usaku + + * win32/win32.c (poll_child_status): rb_w32_wait_events_blocking() sets + errno internally, then should not set it here. + +Fri Sep 30 19:06:21 2016 Anton Davydov + + * lib/uri/http.rb: Documentation and code style improvements. + * test/uri/test_http.rb: Added test for coverage. + [fix GH-1427][ruby-core:77255][Misc #12756] + +Fri Sep 30 18:43:20 2016 Jason Yeo + + * doc/syntax/control_expressions.rdoc: Add missing 'as' + [ci skip][fix GH-1448] Patch by @jsyeo + +Thu Sep 29 23:38:04 2016 Kazuhiro NISHIYAMA + + * lib/yaml/store.rb (YAML::Store#dump): use table argument instead + of @table directly. + +Thu Sep 29 22:22:22 2016 Kazuhiro NISHIYAMA + + * lib/yaml/store.rb (YAML::Store#initialize): Fix arguments. + [ruby-dev:49821] [Bug #12800] + + * test/yaml/test_store.rb: Add tests from test/test_pstore.rb. + + * test/yaml/test_store.rb (YAMLStoreTest#test_with_options): Add options test. + + * lib/yaml/store.rb (YAML::Store#dump): Revert to to_yaml. + + * lib/yaml/store.rb (YAML::Store#empty_marshal_data): Use to_yaml with options. + + * lib/yaml/store.rb (YAML::Store#empty_marshal_checksum): Use CHECKSUM_ALGO. + +Thu Sep 29 19:34:23 2016 Pete Higgins + + * thread_sync.c (rb_queue_pop, rb_szqueue_push, rb_szqueue_pop): + Document exception types, ThreadError, raised by Queue and + SizedQueue. [Fix GH-1451] + +Thu Sep 29 19:21:02 2016 Pete Higgins + + * thread_sync.c (Init_thread_sync): Remove confusing doc comments, + which are picked up by rdoc unexpectedly, from Queue and + SizedQueue. [Fix GH-1450] + +Wed Sep 28 23:14:19 2016 Nobuyoshi Nakada + + * lib/pstore.rb (PStore::CHECKSUM_ALGO): find available hashing + algorithm for checksum. MD5 is not available in FIPS mode. + [Feature #6943] + +Wed Sep 28 13:00:25 2016 ksss + + * signal.c (sig_signame): [DOC] Add documentation in the case of + return nil. [Fix GH-1449] + +Wed Sep 28 10:43:27 2016 URABE Shyouhei + + * .travis.yml: delete comments. They were outdated. + +Wed Sep 28 09:57:48 2016 Nobuyoshi Nakada + + * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update + rubygems to 2.6.7. + Release note of 2.6.7: https://github.com/rubygems/rubygems/commit/60f35bd1d2359fc30301d2d4cd72bc6833e8d12a + +Wed Sep 28 00:21:00 2016 Nobuyoshi Nakada + + * error.c (rb_warning_s_warn): the argument must be an + ASCII-compatible string. [ruby-core:77430] [Bug #12793] + +Tue Sep 27 23:22:31 2016 Nobuyoshi Nakada + + * parse.y (symbol, dsym, parser_set_number_literal): set state to + ENDARG, so that `do` after a literal should be `do_block` and + bound to the outer method. [ruby-core:72482] [Bug #11873] + + * parse.y (parse_ident): revert r56198. + + * parse.y (warn_balanced): the state of symbol and numeric + literals is now EXPR_ENDARG, do not exclude it. + +Tue Sep 27 22:59:42 2016 URABE Shyouhei + + * NEWS: news about Warning.warn. + +Tue Sep 27 18:10:18 2016 Jeremy Evans + + * error.c: This makes all warnings raised call Warning.warn, which + by default does the same thing it does currently + (rb_write_error_str). You can override Warning.warn to change + the behavior. [ruby-core:75016] [Feature #12299] + +Tue Sep 27 17:35:28 2016 Nobuyoshi Nakada + + * iseq.c (iseqw_s_compile_file): deal with syntax error as well as + compile, and should not abort when rescued. + +Tue Sep 27 12:07:17 2016 NARUSE, Yui + + * lib/cgi/cookie.rb (parse): don't allow , as a separator. [Bug #12791] + + * lib/webrick/cookie.rb (parse): ditto. + +Mon Sep 26 21:37:21 2016 Akinori MUSHA + + * man/erb.1, man/irb.1, man/ri.1, man/ruby.1: Remove Ns before + punctuation. + +Mon Sep 26 16:23:49 2016 Kazuki Yamaguchi + + * ext/stringio/stringio.c (strio_seek): Avoid signed integer overflow. + It's not harmful in practice here, but is still undefined behavior. + + * ext/stringio/stringio.c (strio_extend): Check that the new length does + not exceed LONG_MAX. This fixes the invalid write on the overflow. + + * test/stringio/test_stringio.rb (test_write_integer_overflow): Add a + test case for the above fix in strio_extend(). + +Mon Sep 26 15:43:34 2016 Kazuki Yamaguchi + + * eval_intern.h (TH_PUSH_TAG): Initialize struct rb_vm_tag::tag with + Qundef rather than 0 which is equal to Qfalse. Since Kernel#throw(obj) + searches a tag with rb_vm_tag::tag == obj, throw(false) can + accidentally find an unrelated tag which is not created by + Kernel#catch. [ruby-core:77229] [Bug #12743] + + * test/ruby/test_exception.rb (test_throw_false): Add a test case for + this. + +Mon Sep 26 14:36:12 2016 Naotoshi Seo + + * lib/tempfile.rb: provide default basename parameter for + Tempfile.create. [Feature #11965] Patch by Yuki Kurihara + * test/test_tempfile.rb: ditto. + +Mon Sep 26 14:10:54 2016 Ary Borenszweig + + * string.c (lstrip_offset): add a fast path in the case of single + byte optimizable strings, as well as rstrip_offset. + [ruby-core:77392] [Feature #12788] + +Mon Sep 26 12:00:12 2016 Nobuyoshi Nakada + + * gems/bundled_gems: update to minitest-5.9.1. + +Mon Sep 26 11:50:03 2016 Kazuki Yamaguchi + + * tool/rbinstall.rb (gem): Don't install gemspec if no files will be + installed for the gem. This happens when the extension library is not + compiled. + +Mon Sep 26 11:06:47 2016 Kazuki Yamaguchi + + * string.c (enc_strlen, rb_enc_strlen_cr): Avoid signed integer + overflow. The result type of a pointer subtraction may have the same + size as long. This fixes String#size returning an negative value on + i686-linux environment: + + str = "\x00" * ((1<<31)-2)) + str.slice!(-3, 3) + str.force_encoding("UTF-32BE") + str << 1234 + p str.size + +Sun Sep 25 22:48:06 2016 namusyaka + + * lib/erb.rb (ERB::Compiler::TrimScanner#stag): The :stag accessor + has already been available because it is defined in parent + Scanner class. [Fix GH-1445] + +Sun Sep 25 19:21:26 2016 Kazuki Tsujimoto + + * node.c (dump_array): remove duplicate header of NODE_ARRAY/ + NODE_VALUES. + +Sat Sep 24 22:26:20 2016 Nobuyoshi Nakada + + * ext/extmk.rb (extract_makefile, extmake, configuration): store + extra libraries to be installed. + + * tool/rbinstall.rb (ext-arch): install extra libraries. + + * ext/zlib/extconf.rb: install zlib if built. + +Sat Sep 24 14:24:55 2016 Kazuhiro NISHIYAMA + + * spec/README: update URL. + +Sat Sep 24 11:28:22 2016 Koichi ITO + + * fix typos, "a" before "Integer" to "an". [Fix GH-1438] + +Sat Sep 24 10:19:41 2016 Nobuyoshi Nakada + + * test/misc/test_ruby_mode.rb (assert_indent): since write-region + in Emacs 25.1 no longer displays the "Wrote file" message, shows + the explicit message to check if successfully finished. + [ruby-core:77355] [Bug #12785] + + * test/misc/test_ruby_mode.rb (EXPR_SAVE): use a numeric prefix + argument of 0, not to make the previous version into a backup + file, instead of backup-inhibited. + + * test/misc/test_ruby_mode.rb (run_emacs): always save the buffer + if modified. + +Fri Sep 23 23:57:40 2016 Shugo Maeda + + * vm_method.c (make_method_entry_refined): fix wrong use of ||. + +Fri Sep 23 21:38:58 2016 Akinori MUSHA + + * tool/mdoc2man.rb (Mdoc2Man#parse_macro): Add support for the + `Lk` macro. + + * tool/mdoc2man.rb (Mdoc2Man#shift_arg): A new function to extract + a possibly quoted argument. + +Fri Sep 23 20:36:05 2016 Shugo Maeda + + * eval.c (rb_mod_refine): refine modules as well. + [ruby-core:76199] [Feature #12534] + +Fri Sep 23 20:19:09 2016 Akinori MUSHA + + * man/ruby.1: Update the paragraphs in "Rich Libraries" which + included a dead link. + +Fri Sep 23 20:05:27 2016 Akinori MUSHA + + * man/ruby.1, man/erb.1, man/irb.1, man/ri.1: Use the `Lk` macro + for hyperlinks, which has been available since mdocml 1.5.1 + (released more than seven years ago). + +Fri Sep 23 15:47:04 2016 Nobuyoshi Nakada + + * lib/forwardable.rb (_delegator_method): allow private methods to + be delegated, with warnings. [ruby-core:77341] [Bug #12782] + +Fri Sep 23 12:15:29 2016 Nobuyoshi Nakada + + * compile.c (iseq_peephole_optimize): enable tail call + optimization inside a conditional block. + +Thu Sep 22 13:00:04 2016 Kazuhiro NISHIYAMA + + * gc.c (gc_start_internal): [DOC] methods without arguments + like r56194. [Bug #12777] + +Wed Sep 21 17:43:53 2016 NARUSE, Yui + + * process.c (InitVM_process): Support CLOCK_MONOTONIC_RAW_APPROX, + CLOCK_UPTIME_RAW, and CLOCK_UPTIME_RAW_APPROX which are introduced + by macOS 10.12. + +Wed Sep 21 13:47:33 2016 Nobuyoshi Nakada + + * parse.y (brace_body, do_body): preserve cmdarg_stack so that + `do` after cmdarg in a block should be `do_block` and bound to + the outer method. [ruby-core:72482] [Bug #11873] + + * parse.y: `do` after cmdarg in parentheses should be `do_block` + and bound to the outer method. [ruby-core:72482] [Bug #11873] + + * parse.y (brace_body, do_body): extract block bodies. + +Tue Sep 20 23:02:50 2016 Nobuyoshi Nakada + + * gc.c (gc_start_internal): [DOC] add ObjectSpace.garbage_collect + and fix GC#garbage_collect. [Bug #12777] + +Tue Sep 20 21:24:01 2016 Kazuhiro NISHIYAMA + + * doc/extension.ja.rdoc: translate r56189 (rb_gc_adjust_memory_usage). + +Tue Sep 20 17:52:28 2016 SHIBATA Hiroshi + + * gems/bundled_gems: Update rake-11.3.0 + +Tue Sep 20 16:52:23 2016 Nobuyoshi Nakada + + * gc.c (rb_gc_adjust_memory_usage): notify memory usage to the GC + engine by extension libraries, to trigger GC. [Feature #12690] + +Mon Sep 19 17:05:22 2016 Nobuyoshi Nakada + + * numeric.c (Init_Numeric), bignum.c (Init_Bignum): deprecate + Fixnum and Bignum. this may be reverted after previews. + [Feature #12739] + +Mon Sep 19 10:36:53 2016 Nobuyoshi Nakada + + * enumerator.c (lazy_init_yielder): directly call stored functions. + [Feature #6183] + + * enumerator.c (lazy_add_method): create lazy enumerator which + uses lazy_init_yielder(). + +Sun Sep 18 22:48:54 2016 Kouhei Sutou + + * lib/rss/rss.rb (RSS::BaseModel): Remove needless codes. + [Bug #12773][ruby-dev:49813] + Reported by Kazuhiro NISHIYAMA. Thanks!!! + +Sun Sep 18 19:23:47 2016 Kazuhiro NISHIYAMA + + * lib/sync.rb: Fix NameError when error. + +Sat Sep 17 22:46:02 2016 Koichi ITO + + * vm_insnhelper.c (vm_throw_start): Remove too much ";" + [fix GH-1432] + +Sat Sep 17 19:19:06 2016 Kazuki Yamaguchi + + * test/openssl/test_ssl.rb (test_ctx_options): Fix test failure on + Ubuntu 16.04. The fix in r56147 was incomplete. This is a cherry-pick + of the commit b039f3e268c2 at ruby/openssl. + +Sat Sep 17 10:49:35 2016 Kazuhiro NISHIYAMA + + * doc/extension.ja.rdoc: translate r56130 (rb_check_arity). + +Sat Sep 17 02:40:52 2016 Aaron Patterson + + * ext/objspace/objspace_dump.c: Fix stream processing support for heap + dumps. Full heap dumps should use JSON lines (http://jsonlines.org) + so that we can process very large heaps without loading the entire + heap dump in to memory at once. + +Fri Sep 16 22:10:31 2016 Naohisa Goto + + * ext/openssl/ossl_ssl.c (ssl_npn_select_cb_common): Fix compile error + with old version of fcc (Fujitsu C Compiler) on Solaris 10. + [Bug #12769] [ruby-dev:49809] + +Fri Sep 16 21:28:25 2016 Naohisa Goto + + * internal.h (MAYBE_UNUSED): The fallback definition is needed. + Fix compile error with some non-GCC compilers such as + Oracle Solaris Studio 12.3 on Solaris 10. + [Bug #12767] [ruby-dev:49807] + + * internal.h (WARN_UNUSED_RESULT): ditto. + +Fri Sep 16 21:19:51 2016 Naohisa Goto + + * hash.c (each_pair_i_fast): Fix compile error with old version of + fcc on Solaris 10. [Bug #12768] [ruby-dev:49808] + +Fri Sep 16 19:46:05 2016 NAKAMURA Usaku + + * win32/Makefile.sub (config.h): fixed compile error with VC introduced + by previous commit. + +Fri Sep 16 14:54:34 2016 URABE Shyouhei + + * internal.h (WARN_UNUSED_RESULT): moved to configure.in, to + actually check its availability rather to check GCC's version. + + * configure.in (WARN_UNUSED_RESULT): moved to here. + + * configure.in (RUBY_FUNC_ATTRIBUTE): change function declaration + to return int rather than void, because it makes no sense for a + warn_unused_result attributed function to return void. + + Funny thing however is that it also makes no sense for noreturn + attributed function to return int. So there is a fundamental + conflict between them. While I tested this, I confirmed both + GCC 6 and Clang 3.8 prefers int over void to correctly detect + necessary attributes under this setup. Maybe subject to change + in future. + + * internal.h (UNINITIALIZED_VAR): renamed to MAYBE_UNUSED, then + moved to configure.in for the same reason we move + WARN_UNUSED_RESULT. + + * configure.in (MAYBE_UNUSED): moved to here. + + * internal.h (__has_attribute): deleted, because it has no use now. + + * string.c (rb_str_enumerate_lines): refactor macro rename. + + * string.c (rb_str_enumerate_bytes): ditto. + + * string.c (rb_str_enumerate_chars): ditto. + + * string.c (rb_str_enumerate_codepoints): ditto. + + * thread.c (do_select): ditto. + + * vm_backtrace.c (rb_debug_inspector_open): ditto. + + * vsnprintf.c (BSD_vfprintf): ditto. + +Fri Sep 16 14:35:55 2016 URABE Shyouhei + + * ChangeLog (add-log-time-format): Not exactly sure when but + recently (25.x maybe), emacs changed its API to take optional + two arguments. We have to follow that. + +Fri Sep 16 06:43:25 2016 Aaron Patterson + + * lib/uri/generic.rb (def check_password): don't include bad password + in URI exception output + + * test/uri/test_generic.rb (def test_set_component): test for behavior + +Thu Sep 15 21:40:03 2016 Kazuhiro NISHIYAMA + + * doc/extension.ja.rdoc: Fix file name. + +Thu Sep 15 00:59:30 2016 NARUSE, Yui + + * benchmark/: add vnmakarov's benchmarks around hash [ruby-core:75265] + +Wed Sep 14 07:02:31 2016 NARUSE, Yui + + * hash.c (each_pair_i_fast): use rb_yield_values2 to avoid var args. + +Tue Sep 13 21:32:54 2016 Kazuki Yamaguchi + + * string.c (STR_HEAP_SIZE, RESIZE_CAPA_TERM, str_new0, rb_str_buf_new, + str_shared_replace, rb_str_init, str_make_independent_expand, + rb_str_resize): Avoid overflow by casting the length to size_t. size_t + should be able to represent LONG_MAX+termlen. + + * string.c (rb_str_modify_expand): Check that the new length is in the + range of long before resizing. Also refactor to use RESIZE_CAPA_TERM + macro. + + * string.c (str_buf_cat): Fix so that it does not create a negative + length String. Also fix the condition for 'string sizes too big', the + total length can be up to LONG_MAX. + + * string.c (rb_str_plus): Check the resulting String length does not + exceed LONG_MAX. + + * string.c (rb_str_dump): Fix integer overflow. The dump result will be + longer then the original String. + +Tue Sep 13 21:30:53 2016 Kazuki Yamaguchi + + * gc.c (heap_extend_pages, get_envparam_size, ruby_malloc_size_overflow, + gc_profile_dump_on): Use PRIuSIZE instead of PRIdSIZE as the passed + value is size_t, not ssize_t. + + * iseq.c (get_line_info, rb_iseq_disasm_insn): Ditto. + + * sprintf.c (rb_str_format): Ditto. + + * thread_win32.c (native_thread_create): Ditto. + + * vm.c (get_param): Ditto. + + * ext/objspace/objspace_dump.c (dump_append_string_content, + dump_object): Ditto. + + * ext/socket/raddrinfo.c (host_str, port_str): Ditto. + +Tue Sep 13 21:27:35 2016 Kazuki Yamaguchi + + * string.c (STR_EMBEDDABLE_P): Renamed from STR_EMBEDABLE_P(). And use + it in more places. + +Tue Sep 13 21:23:51 2016 Kazuhiro NISHIYAMA + + * README.md: Drop support for BeOS now that Haiku is stable since + 2.3.0. + + * README.ja.md: ditto. + +Tue Sep 13 21:11:56 2016 Nobuyoshi Nakada + + * string.c (STR_EMBEDABLE_P): extract the predicate macro to tell + if the given length is capable in an embedded string, and fix + possible integer overflow. + +Tue Sep 13 18:37:08 2016 Koichi Sasada + + * test/ruby/test_exception.rb: fix thread issues. + * use Queue instead of a local variable for synchronization. + * join created thread to solve leaking threads warning. + +Tue Sep 13 16:07:26 2016 Kazuki Yamaguchi + + * string.c (rb_str_set_len): The buffer overflow check is wrong. The + space for termlen is allocated outside the capacity returned by + rb_str_capacity(). This fixes r41920 ("string.c: multi-byte + terminator", 2013-07-11). [ruby-core:77257] [Bug #12757] + + * test/-ext-/string/test_set_len.rb (test_capacity_equals_to_new_size): + Test for this change. Applying only the test will trigger [BUG]. + +Tue Sep 13 06:03:34 2016 NARUSE, Yui + + * common.mk (benchmark): fix lib path. + +Tue Sep 13 00:39:47 2016 Aaron Patterson + + * class.c (singleton_class_of): Copy superclass serial number to + singleton class. This improves singleton class IMC hit rates. + [Feature #12364] [ruby-core:75425] + +Mon Sep 12 13:46:23 2016 Anton Davydov + + * lib/uri/mailto.rb: Removed needless `return` and use `.` instead of `::` + with class method. + * test/uri/test_mailto.rb: Added tests for coverage. + [fix GH-1426][Misc #12750][ruby-core:77242] + +Sun Sep 11 21:30:26 2016 Kazuhiro NISHIYAMA + + * NEWS: News about Module.used_modules. + +Sun Sep 11 19:06:49 2016 NAKAMURA Usaku + + * win32/win32.c (rb_w32_write_console): should set written length as the + return value. [Bug #12748] [ruby-dev:49786] + +Fri Sep 9 22:43:29 2016 Kazuhiro NISHIYAMA + + * gems/bundled_gems: sort lines. + +Fri Sep 9 17:59:46 2016 Nobuyoshi Nakada + + * thread.c (rb_threadptr_raise): set cause from the called thread, + but not from the thread to be interrupted. + [ruby-core:77222] [Bug #12741] + +Fri Sep 9 13:50:05 2016 Nobuyoshi Nakada + + * doc/extension.rdoc, doc/extension.ja.rdoc: fix file name. + pointed out by @takkanm in the RubyKaigi talk. + +Fri Sep 9 13:14:53 2016 Martin Duerst + + * News: Announcing update to Unicode version 9.0.0 [ci skip] + +Fri Sep 9 10:10:00 2016 Nobuyoshi Nakada + + * variable.c (rb_const_search): warn with the actual class/module + name which defines the deprecated constant. + + * variable.c (rb_const_search): raise with the actual class/module + name which defines the private constant. + +Thu Sep 8 17:47:18 2016 Kazuki Tsujimoto + + * array.c (flatten): use rb_obj_class instead of rb_class_of + because rb_class_of may return a singleton class. + [ruby-dev:49781] [Bug #12738] + +Thu Sep 8 17:40:15 2016 Nobuyoshi Nakada + + * tool/rbinstall.rb (gem): use the bindir of each gemspec instead + of hardcoded 'bin', since rdoc 5.0.0 overrides it. + +Thu Sep 8 16:47:03 2016 Shugo Maeda + + * eval.c (rb_mod_s_used_modules): rename Module.used_refinements to + Module.used_modules. [Feature #7418] [ruby-core:49805] + +Thu Sep 8 14:21:48 2016 SHIBATA Hiroshi + + * ext/psych/psych.gemspec, lib/rdoc/rdoc.gemspec: Use file list instead of + git output. It shows warning message when invoke `make install` + [Bug #12736][ruby-dev:49778] + +Thu Sep 8 13:41:46 2016 Shugo Maeda + + * insns.def (setclassvariable, setconstant): warn when self is a + refinement. [Bug #10103] [ruby-core:64143] + +Thu Sep 8 11:29:00 2016 Kenta Murata + + * hash.c (rb_hash_transform_values, rb_hash_transform_values_bang): + Rename map_v to transform_values. + [Feature #12512] [ruby-core:76095] + + * test/ruby/test_hash.rb: ditto. + +Thu Sep 8 10:08:35 2016 Kazuki Yamaguchi + + * {ext,test}/openssl: Import Ruby/OpenSSL 2.0.0.beta.2. The full commit + history since v2.0.0.beta.1 can be found at: + https://github.com/ruby/openssl/compare/v2.0.0.beta.1...v2.0.0.beta.2 + +Thu Sep 8 07:23:34 2016 SHIBATA Hiroshi + + * lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0.beta2 + Fixed ri parse defect with left-hand matched classes. + https://github.com/rdoc/rdoc/pull/420 + +Thu Sep 8 01:12:47 2016 Shugo Maeda + + * eval.c (rb_mod_s_used_refinements): new method + Module.used_refinements. based on the patch by Charlie + Somerville. [Feature #7418] [ruby-core:49805] + +Wed Sep 7 17:50:38 2016 Nobuyoshi Nakada + + * include/ruby/util.h (setenv): remove POSIX-noncompliant + definition with 2 arguments. + +Wed Sep 7 17:35:37 2016 Martin Duerst + + * unicode/8.0.0/casefold.h, name2ctype.h, unicode/data/8.0.0: + removing directories/files related to Unicode version 8.0.0 + +Wed Sep 7 17:21:55 2016 Nobuyoshi Nakada + + * lib/timeout.rb (Timeout#timeout): add custom error message + argument. [Feature #11650] + +Wed Sep 7 17:13:05 2016 Martin Duerst + + * common.mk: Updated Unicode version to 9.0.0 [Feature #12513] + + * unicode/9.0.0/casefold.h, name2ctype.h, unicode/data/9.0.0: + new directories/files for Unicode version 9.0.0 + +Wed Sep 7 16:00:45 2016 Tanaka Akira + + * lib/open-uri.rb: Allow http to https redirection. + Note that https to http is still forbidden. + [ruby-core:20485] [Feature #859] by Roman Shterenzon. + +Wed Sep 7 14:56:59 2016 Kazuki Tsujimoto + + * lib/csv.rb (CSV::{Row,Table}#{each,delete_if}): returns an enumerator + if no block is given. [ruby-core:75346] [Feature #12347] + + * test/csv/test_row.rb: add test for above. + + * test/csv/test_table.rb: ditto. + +Wed Sep 7 14:50:01 2016 Kazuki Tsujimoto + + * gems/bundled_gems: update to power_assert 0.3.1. + +Wed Sep 7 12:16:09 2016 SHIBATA Hiroshi + + * ext/psych/*, test/psych/*: Update psych-2.1.1 + This version fixed following pull requests. + https://github.com/tenderlove/psych/pull/284 + https://github.com/tenderlove/psych/pull/276 + +Wed Sep 7 11:51:06 2016 SHIBATA Hiroshi + + * lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0.beta1 + This version is mostly same as r56072. It contains to remove code + for Ruby 1.8 + +Tue Sep 6 09:23:06 2016 SHIBATA Hiroshi + + * lib/rdoc/rdoc.gemspec: partly reverted for default gem installer. + upstream configuration is not working on ruby core repository. + +Mon Sep 5 19:35:22 2016 SHIBATA Hiroshi + + * lib/rdoc/*, test/rdoc/*: Update rdoc/rdoc master(f191513) + https://github.com/rdoc/rdoc/blob/master/History.rdoc#423--2016-- + https://github.com/rdoc/rdoc/blob/master/History.rdoc#422--2016-02-09 + +Sun Sep 4 00:17:55 2016 Sho Hashimoto + + * proc.c: [DOC] fix Object#define_singleton_method and + main.define_method return value. [ci skip] + +Sat Sep 3 11:28:29 2016 Nobuyoshi Nakada + + * thread_pthread.c (ruby_init_stack): check stack bounds even if + get_main_stack succeeded, on the "co-routine" case. + https://github.com/ruby/ruby/commit/53953ee#commitcomment-18887413 + +Fri Sep 2 16:06:59 2016 Nobuyoshi Nakada + + * internal.h (MEMO_V1_SET, MEMO_V2_SET): fix typos. use the macro + parameter, not the local variable. + +Fri Sep 2 00:55:11 2016 Nobuyoshi Nakada + + * ext/extmk.rb (timestamp_file): move extmk.rb specific tricks + from lib/mkmf.rb. keep RUBYCOMMONDIR prefix not to conflict + with a timestamp file in the toplevel. + +Thu Sep 1 14:24:16 2016 Nobuyoshi Nakada + + * ext/extmk.rb (gems): move dirty hacks for bundled gems from + mkmf.rb. + + * lib/mkmf.rb (create_makefile): yield all configuration strings. + +Wed Aug 31 17:39:19 2016 Nobuyoshi Nakada + + * ext/extmk.rb (create_makefile): make gem.build_complete file + under TARGET_SO_DIR and install it only when the gem build + succeeded. [ruby-core:77057] [Bug #12681] + +Wed Aug 31 15:36:10 2016 Nobuyoshi Nakada + + * ext/extmk.rb: move TARGET_SO_DIR stuffs to mkmf.rb. + + * lib/mkmf.rb (create_makefile): create target shared object files + under $(TARGET_SO_DIR) which is $sodir if it is defined with + $extout. [ruby-core:77058] [Bug #12681] + +Wed Aug 31 01:56:55 2016 Yuichiro Kaneko + + * doc/extension.ja.rdoc: [DOC] Fix a typo. [ci skip] + +Wed Aug 31 00:52:23 2016 Nobuyoshi Nakada + + * ext/extmk.rb: make the gems target directory under the expanded + name. [ruby-core:77102] [Bug #12714] + +Tue Aug 30 15:27:27 2016 Kouhei Yanagita + + * ext/json/lib/json/add/ostruct.rb (OpenStruct.json_create): + Correct documentation, fix the name of values. [Fix GH-1421] + +Tue Aug 30 14:53:34 2016 NAKAMURA Usaku + + * io.c (nogvl_fsync, nogvl_fdatasync): on Windows, just ignore if the + fd is associated to non-disk device. if call fsync and/or fdatasync + with such fds, it causes Errno::EBADF exception and the behavior is + incompatible with ruby 2.1 and earlier unintentionally introduced. + +Tue Aug 30 03:38:35 2016 NARUSE, Yui + + * vm_dump.c (backtrace): use rip in the saved context for the case + the SIGSEGV is received when the process is in userland. + Note that ip in the stack should be used if the signal is received + when it is in kernel (when it is calling syscall) [Bug #12711] + +Sat Aug 27 10:26:14 2016 Nobuyoshi Nakada + + * array.c (rb_ary_concat_multi): take multiple arguments. based + on the patch by Satoru Horie. [Feature #12333] + + * string.c (rb_str_concat_multi, rb_str_prepend_multi): ditto. + +Thu Aug 25 00:42:31 2016 Nobuyoshi Nakada + + * win32/file.c (append_wstr): remove a codepage argument, and use + INVALID_CODE_PAGE for conversion by econv. + + * win32/file.c (append_wstr): exclude the terminator from the + result length when input len == -1. + +Wed Aug 24 22:41:30 2016 Kouhei Sutou + + * gc.c (gc_reset_malloc_info): Remove too much ";". + +Wed Aug 24 20:07:57 2016 Naohisa Goto + + * include/ruby/defines.h (ALWAYS_INLINE): Add alternative definition. + Fix compile error with compilers that do not have force inline + attribute, including old version of fcc on Solaris 10. + [ruby-dev:49773] [Bug #12701] + +Wed Aug 24 16:56:26 2016 NARUSE, Yui + + * .gdbinit: follow r55766's VM change. + +Wed Aug 24 12:57:56 2016 Nobuyoshi Nakada + + * object.c (rb_mod_initialize, rb_class_initialize): [DOC] these + methods do not invoke module_eval/class_eval, just eval the + given block under the new module/class but sharing the context + with the surrounding scope like those methods. + [ruby-core:77023] [Bug #12696] + +Tue Aug 23 10:34:40 2016 Nobuyoshi Nakada + + * test/psych/test_psych.rb (test_load_file_with_fallback): fix + Tempfile leak. https://github.com/tenderlove/psych/pull/288 + +Tue Aug 23 10:15:01 2016 Nobuyoshi Nakada + + * string.c (rb_fs_setter): check and convert $; value at + assignment. + +Tue Aug 23 02:09:57 2016 Nobuyoshi Nakada + + * string.c (rb_str_split_m): show $; name in error message when it + is a wrong object. + +Mon Aug 22 16:29:52 2016 Nobuyoshi Nakada + + * lib/csv.rb (CSV#shift): store partial quoted strings in an array + and join at last, to improve performance with very long quoted + lines. [ruby-core:76987] [Bug #12691] + +Mon Aug 22 14:35:57 2016 Nobuyoshi Nakada + + * man/irb.1: remove useless -width option. + [ruby-dev:49767] [Bug #12692] + +Mon Aug 22 09:02:56 2016 Nobuyoshi Nakada + + * iseq.c (Init_ISeq): undefine allocator of InstructionSequence, + to get rid of segfaults at method call on uninitialized object. + +Sat Aug 21 05:47:00 2016 Kenta Murata + + * enum.c (enum_sort): prevent wasteful array duplication. + +Sat Aug 20 11:20:32 2016 Nobuyoshi Nakada + + * rubystub.c: generalize win32/stub.c. + +Fri Aug 19 11:39:06 2016 Nobuyoshi Nakada + + * parse.y (primary): allow parenthesised statement as a method + argument. [Feature #12686] + +Fri Aug 19 09:12:45 2016 Nobuyoshi Nakada + + * vm.c (vm_set_main_stack): TOPLEVEL_BINDING must be built. + http://www.viva64.com/en/b/0414/#ID0EQ1CI [ruby-core:76973] + +Fri Aug 19 01:00:53 2016 Yuichiro Kaneko + + * proc.c (mnew_missing): Remove an unused argument. + After r51126 rid is not used. + +Thu Aug 18 09:26:52 2016 SHIBATA Hiroshi + + * gems/bundled_gems: bump to test-unit-3.2.1 + +Thu Aug 18 02:36:26 2016 Nobuyoshi Nakada + + * tool/rbinstall.rb: skip gems which failed to build extensions. + [ruby-dev:49764] [Bug #12683] + +Wed Aug 17 23:35:12 2016 Nobuyoshi Nakada + + * gems/bundled_gems (tk): bump up to 0.1.1. + +Wed Aug 17 23:14:42 2016 Nobuyoshi Nakada + + * ext/extmk.rb: build gem extensions into separate directories + + * tool/rbinstall.rb: install pre-built gem extension files gem + extension directories. [ruby-core:76931] [Bug #12681] + +Tue Aug 16 21:04:30 2016 Nobuyoshi Nakada + + * common.mk (UNICODE_HDR_DIR): separate unicode header files from + unicode data files. [ruby-core:76879] [Bug #12677] + +Tue Aug 16 11:17:51 2016 Koichi ITO + + * lib/net/http/header.rb: Fix typo. [ci skip][fix GH-1407] + * transcode.c: ditto. + +Tue Aug 16 11:02:31 2016 Nobuyoshi Nakada + + * tool/make-snapshot (package): save generated header files from + unicode data. [ruby-core:76879] [Bug #12677] + +Mon Aug 15 20:31:34 2016 Nobuyoshi Nakada + + * node.c (dump_array): show nd_alen field in NODE_ARRAY only in + the first node. it is nd_end in the rest nodes. + +Mon Aug 15 16:41:32 2016 Kazuhiro NISHIYAMA + + * appveyor.yml: Update libressl version to 2.3.7. + +Mon Aug 15 11:46:50 2016 Nobuyoshi Nakada + + * ext/extmk.rb (extmake): extension libraries in gems cannot link + statically. + +Sun Aug 14 22:35:40 2016 Nobuyoshi Nakada + + * id_table.c (hash_table_extend): should not shrink the table than + the previous capacity. [ruby-core:76534] [Bug #12614] + +Sun Aug 14 18:51:24 2016 Nobuyoshi Nakada + + * gems/bundled_gems: add gemified tk 0.1.0. + this needs `extract-gems` to build. + +Sun Aug 14 14:54:14 2016 Kouhei Sutou + + * object.c (InitVM_Object): Update referenced document path. + +Sat Aug 13 23:08:01 2016 Nobuyoshi Nakada + + * numeric.c (num_funcall0, num_funcall1): get rid of infinite + recursion in fallback methods of Numeric. + +Sat Aug 13 11:10:08 2016 Nobuyoshi Nakada + + * parse.y (command_asgn, arg): fix syntax errors with chained + assignment with op assign. [Bug #12669] + +Sat Aug 13 10:52:19 2016 Nobuyoshi Nakada + + * parse.y (stmt, arg): rescue modifier in command op assignment + should be limited to rhs only. [ruby-core:75621] [Bug #12402] + +Sat Aug 13 07:51:40 2016 Masaki Suketa + + * ext/win32ole/win32ole.c (ole_val2variant): fix integer conversion in + cygwin64. + +Fri Aug 12 21:05:19 2016 NARUSE, Yui + + * lib/webrick/config.rb (WEBrick::Config::General): + disable reverse lookup by default. [ruby-core:45514] [Feature #6559] + Socket.do_not_reverse_lookup is true by default but WEBrick + overwrote it. + patch by Eric Hodel [ruby-core:45527] + +Fri Aug 12 12:50:31 2016 Nobuyoshi Nakada + + * error.c (rb_syntax_error_append): fix newline in syntax error + message to the beginning, not after file name and line number. + [Feature #11951] + +Thu Aug 11 16:24:23 2016 Ferdinand Niedermann + + * compar.c (cmp_clamp): Introduce Comparable#clamp. [Feature #10594] + +Thu Aug 11 03:16:59 2016 Marc-Andre Lafortune + + * lib/prime.rb: Optimize prime? + Adapted from patch by Jabari Zakiya [#12665] + + * test/test_prime.rb: Improve test + +Wed Aug 10 22:37:01 2016 Nobuyoshi Nakada + + * parse.y (command_rhs, arg_rhs): introduce new rules to reduce + repeated rules with rescue modifier. + +Wed Aug 10 17:26:43 2016 Nobuyoshi Nakada + + * parse.y (command_asgn): rescue modifier in command assignment + should be limited to rhs only. [ruby-core:75621] [Bug #12402] + +Wed Aug 10 15:35:03 2016 Nobuyoshi Nakada + + * ext/win32/resolv/resolv.c: needs windows.h for iphlpapi.h on + cygwin. [ruby-core:76791] [Bug #12663] + + * ext/win32/resolv/resolv.c (w32error_make_error): use + Win32::Resolv::Error, an alias of Win32::Registry::Error. + +Tue Aug 9 17:50:00 2016 Kenta Murata + + * hash.c (rb_hash_map_v, rb_hash_map_v_bang): implement Hash#map_v and + Hash#map_v! [Feature #12512] [ruby-core:76095] + + * test/ruby/test_hash.rb: add tests for above change. + +Tue Aug 9 16:09:03 2016 NARUSE, Yui + + * vm_insnhelper.c (vm_getivar): use always_inline because + gcc7 doesn't inline this without always_inline. + +Tue Aug 9 15:41:24 2016 NARUSE, Yui + + * ext/tk: Tk is removed from stdlib. [Feature #8539] + https://github.com/ruby/tk is the new upstream. + +Tue Aug 9 00:12:31 2016 Kazuhiro NISHIYAMA + + * doc/maintainers.rdoc: Remove moved file section. + +Mon Aug 8 20:56:46 2016 Masaki Suketa + + * ext/win32ole/sample/excel1.rb, ext/win32ole/sample/excel2.rb, + ext/win32ole/sample/excel3.rb, ext/win32ole/sample/ie.rb, + ext/win32ole/sample/ienavi.rb, ext/win32ole/sample/ienavi2.rb: use + true instead of deprecated TRUE. [ci skip] + +Mon Aug 8 12:51:12 2016 Zarko Todorovski + + * internal.h (RBASIC_CLEAR_CLASS): Reroute ANSI C's strict + aliasing rule. + [ruby-core:74427][Bug #12191][ruby-core:76747][Bug #12657] + +Sun Aug 7 18:08:27 2016 Nobuyoshi Nakada + + * object.c (InitVM_Object): deprecate toplevel constants TRUE, + FALSE, and NIL. [Feature #12574] + +Sun Aug 7 06:48:21 2016 Eric Wong + + * ext/openssl/ossl_ssl.c (ossl_ssl_write_internal): + avoid undefined behavior + * test/openssl/test_pair.rb (test_write_zero): new test + [ruby-core:76751] [Bug #12660] + +Sat Aug 6 09:35:30 2016 Nobuyoshi Nakada + + * id_table.h (rb_id_table_iterator_result): add dummy sentinel + member because C standard prohibits a trailing comma. + +Sat Aug 6 00:39:44 2016 Nobuyoshi Nakada + + * hash.c (env_enc_str_new): make string for an environment + variable name or value. + + * hash.c (env_name_new): make environment value string with the + encoding for its name. + +Fri Aug 5 23:18:35 2016 NAKAMURA Usaku + + * hash.c (env_str_new): taint the string. get rid of a test failure + introduced at r55811. + +Fri Aug 5 17:04:02 2016 Nobuyoshi Nakada + + * hash.c (w32_getenv): call rb_w32_getenv and rb_w32_ugetenv via + this pointer without further comparisons. + +Thu Aug 4 11:54:30 2016 Nobuyoshi Nakada + + * hash.c (env_assoc): the encoding of the value should be the + locale, as well as other methods, [], fetch, values, etc. + +Wed Aug 3 21:31:23 2016 Nobuyoshi Nakada + + * parse.y (reg_fragment_enc_error): compile_error is different + between parser and ripper. [ruby-core:76397] [Bug #12651] + +Wed Aug 3 17:15:06 2016 Nobuyoshi Nakada + + * object.c (rb_obj_clone2): restrict freeze option to true other + than false which only has the effect. [Feature #12300] + +Wed Aug 3 10:47:07 2016 Koichi Sasada + + * vm_core.h: introduce VM_FRAME_RUBYFRAME_P() + and VM_FRAME_CFRAME_P(). + Most of case, RUBY_VM_NORMAL_ISEQ_P() is no + longer needed. + + * vm_core.h: introduce rb_obj_is_iseq(). + + * cont.c, vm.c: VM_FRAME_MAGIC_DUMMY with + VM_FRAME_FLAG_CFRAME. + +Wed Aug 3 09:25:16 2016 Koichi Sasada + + * vm_core.h: rename macros and make them inline functions. + + * rename VM_FRAME_TYPE_FINISH_P() to VM_FRAME_FINISHED_P(). + * rename VM_FRAME_TYPE_BMETHOD_P() to VM_FRAME_BMETHOD_P(). + +Wed Aug 03 09:15:02 2016 Koichi Sasada + + * vm_core.h: introduce VM_FRAME_FLAG_CFRAME to represent cfp->iseq + type. + +Tue Aug 2 21:42:40 2016 Chia-sheng Chen + + * math.c (tanh): make faster by the extract form if three + hyperbolic functions are unavailable. [Feature #12647] + +Tue Aug 2 12:37:00 2016 Nobuyoshi Nakada + + * ext/socket/option.c, ext/socket/rubysocket.h (inet_ntop): share + the fallback definition. [ruby-core:76646] [Bug #12645] + +Tue Aug 2 04:07:29 2016 NAKAMURA Usaku + + * win32/win32.c (set_pioinfo_extra): use more reliable way to search + the position of pioinfo of VC14, and also support debug library of it. + patched by davispuh AT gmail.com + [ruby-core:76644] [Bug #12644] + this fixes also [Bug #12631] + +Mon Aug 1 21:39:52 2016 Nobuyoshi Nakada + + * ext/extmk.rb: [EXPERIMENTAL] build extension libraries in + extracted gems. + +Mon Aug 1 16:07:18 2016 URABE Shyouhei + + * include/ruby/ruby.h (struct RStruct): no longer. + + * internal.h (struct RStruct): moved here. + + * struct.c (rb_struct_ptr): a compensation function for the lack + of RSTRUCT_PTR. But now that we have RSTRUCT_GET/SET, that must + not be used anyway. I mark this deprecated. Dont use it. + +Mon Aug 1 14:50:06 2016 Jeremy Evans + + * object.c (rb_obj_clone2): Allow Object#clone to take freeze: + false keyword argument to not freeze the clone. + [ruby-core:75017][Feature #12300] + + * test/ruby/test_object.rb (TestObject): test for it. + +Mon Aug 1 12:16:19 2016 SHIBATA Hiroshi + + * ext/json/*, test/json/json_parser_test.rb: Update json-2.0.2. + +Sun Jul 31 16:17:23 2016 Nobuyoshi Nakada + + * ext/win32/resolv/resolv.c (get_dns_server_list): [Win32] get DNS + servers only for connected network devices by GetNetworkParams + API. [Bug #12604] + +Sat Jul 30 12:13:26 2016 Martin Duerst + + * string.c (String#downcase), NEWS: Mentioned that case mapping for all + of ISO-8859-1~16 is now supported. [ci skip] + +Sat Jul 30 12:00:01 2016 Martin Duerst + + * enc/iso_8859_2.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for ISO-8859-2, by Yushiro Ishii. + +Fri Jul 29 20:57:12 2016 chuanshuo + + * *.c: rename rb_funcall2 to rb_funcallv, except for extensions + which are/will be/may be gems. [Fix GH-1406] + +Fri Jul 29 10:51:34 2016 Koichi Sasada + + * proc.c (env_write): remove unused function. + +Fri Jul 29 10:49:52 2016 Koichi Sasada + + * vm_core.h (VM_LOCAL_P): should return an integer value. + reported at + http://d.hatena.ne.jp/nagachika/20160728/ruby_trunk_changes_55764_55770 + +Fri Jul 29 04:23:08 2016 Koichi Sasada + + * vm_core.h (VM_ENV_LOCAL_P): return truthy (0 or not) value. + + * vm.c (rb_vm_make_proc_lambda): use VM_ENV_ESCAPED_P() macro. + +Fri Jul 29 03:49:04 2016 Koichi Sasada + + * vm.c, internal.h: remove RubyVM::Env class and all of env objects + are imemo objects (imemo_env). + + * NEWS: describe this change. I believe nobody touch these objects + because there are no method defined. + + * vm_core.h: remove the following definitions. + * rb_cEnv decl. + * GetEnvPtr() because Env is no longer T_DATA object. + + * vm_core.h (rb_env_t): fix layout for imemo values. + + * vm_core.h (vm_assert_env): added. + + * vm_core.h (vm_env_new): added. + +Thu Jul 28 19:53:21 2016 Koichi Sasada + + * vm_core.h: revisit the structure of frame, block and env. + [Bug #12628] + + This patch introduce many changes. + + * Introduce concept of "Block Handler (BH)" to represent + passed blocks. + + * move rb_control_frame_t::flag to ep[0] (as a special local + variable). This flags represents not only frame type, but also + env flags such as escaped. + + * rename `rb_block_t` to `struct rb_block`. + + * Make Proc, Binding and RubyVM::Env objects wb-protected. + + Check [Bug #12628] for more details. + +Thu Jul 28 15:05:12 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (ruby_fl_type): use __extension__ to get rid + of pedantic warning against RUBY_FL_USER19. + https://github.com/skylightio/skylight-ruby/issues/64 + + * include/ruby/ruby.h (rb_mul_size_overflow): ditto for use of + int128. + +Wed Jul 27 10:32:59 2016 Martin Duerst + + * enc/windows_1253.c: Remove dead code found by Coverity Scan. + +Tue Jul 26 22:43:36 2016 Nobuyoshi Nakada + + * gc.c (run_finalizer): make saved running finalizer state + volatile to ensure not to be clobbered by longjmp. + +Tue Jul 26 19:26:00 2016 Koichi Sasada + + * vm_insnhelper.c: introduce rb_vm_pop_frame() and use it + instead of setting rb_thread_t::cfp directly. + + * vm_insnhelper.c (vm_pop_frame): return the result of + finish frame or not. + +Tue Jul 26 19:06:39 2016 Koichi Sasada + + * gc.c (rb_raw_obj_info): support to show Proc obj. + +Tue Jul 26 18:55:55 2016 Koichi Sasada + + * gc.c (gc_mark): add `inline' explicitly. + I expected to inline this function implicitly at the loop + (ex: marking T_ARRAY objects) but sometimes it remains as + normal call. + +Tue Jul 26 16:33:16 2016 Martin Duerst + + * enc/windows_1257.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for Windows-1257, by Sho Koike. + +Tue Jul 26 16:19:41 2016 Martin Duerst + + * enc/windows_1250.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for Windows-1250, by Sho Koike. + + * ChangeLog: Fixed order of previous two entries. + +Tue Jul 26 15:54:17 2016 Martin Duerst + + * enc/windows_1253.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for Windows-1253, by Takumi Koyama. + +Tue Jul 26 15:30:37 2016 Martin Duerst + + * enc/windows_1251.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for Windows-1251, by Shunsuke Sato. + +Tue Jul 26 13:04:59 2016 Martin Duerst + + * test/ruby/enc/test_case_comprehensive.rb: Add explicit skip test for + availability of Unicode data files. + +Mon Jul 25 21:33:13 2016 Nobuyoshi Nakada + + * range.c (check_step_domain): check step argument domain by <=> + method, instead of < and >. + +Mon Jul 25 21:11:32 2016 Kazuhiro NISHIYAMA + + * doc/maintainers.rdoc: fix filenames. + +Mon Jul 25 16:59:00 2016 Koichi Sasada + + * debug.c (ruby_debug_printf): use rb_raw_obj_info() + instead of rb_inspect() because it is more robust way + to see object internal. + +Sun Jul 24 16:33:13 2016 Martin Duerst + + * regenc.h/c, include/ruby/oniguruma.h, enc/ascii.c, big5.c, cp949.c, + emacs_mule.c, euc_jp.c, euc_kr.c, euc_tw.c, gb18030.c, gbk.c, + iso_8859_1|2|3|4|5|6|7|8|9|10|11|13|14|15|16.c, koi8_r.c, koi8_u.c, + shift_jis.c, unicode.c, us_ascii.c, utf_16|32be|le.c, utf_8.c, + windows_1250|51|52|53|54|57.c, windows_31j.c, unicode.c: + Remove conditional compilation macro ONIG_CASE_MAPPING. [Feature #12386]. + +Sun Jul 24 12:53:42 2016 SHIBATA Hiroshi + + * doc/maintainers.rdoc: xmlrpc is bundled gem from Ruby 2.4. + +Sun Jul 24 12:07:39 2016 SHIBATA Hiroshi + + * doc/maintainers.rdoc: Update OpenSSL maintainer. + +Sat Jul 23 22:43:41 2016 Nobuyoshi Nakada + + * internal.h (Check_Type): inline check for the object type. + +Sat Jul 23 04:06:04 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (RTEST, NIL_P): use RUBY prefixed name in + macros. + +Sat Jul 23 01:41:29 2016 Eric Wong + + * lib/webrick/httpservlet/cgihandler.rb (do_GET): delete HTTP_PROXY + * test/webrick/test_cgi.rb (test_cgi_env): new test + * test/webrick/webrick.cgi (do_GET): new endpoint to dump env + [ruby-core:76511] [Bug #12610] + +Fri Jul 22 19:55:20 2016 Nobuyoshi Nakada + + * vm.c (vm_set_main_stack): remove unnecessary check. toplevel + binding must be initialized. [Bug #12611] (N1) + + * win32/win32.c (w32_symlink): fix return type. [Bug #12611] (N3) + + * string.c (rb_str_split_m): simplify the condition. + [Bug #12611](N4) + +Fri Jul 22 17:13:37 2016 Martin Duerst + + * string.c (String#dump): Change escaping of non-ASCII characters in + UTF-8 to use upper-case four-digit hexadecimal escapes without braces + where possible [Feature #12419]. + + * test/ruby/test_string.rb (test_dump): Add tests for above. + +Fri Jul 22 10:35:35 2016 Kouhei Sutou + + * lib/rexml/attribute.rb (REXML::Attribute#to_string): Fix wrong + entry reference name of double quote. + [Bug #12609][ruby-core:76509] + Patch by Joseph Marrero. Thanks!!! + +Fri Jul 22 10:32:13 2016 Martin Duerst + + * template/unicode_norm_gen.tmpl: Remove + UnicodeNormalize::UNICODE_VERSION at origin [Feature #12546]. + +Fri Jul 22 09:23:51 2016 SHIBATA Hiroshi + + * LEGAL: Added entries for files under the USD license. + [Bug #12598][ruby-core:76428][ci skip] + +Fri Jul 22 09:19:57 2016 SHIBATA Hiroshi + + * LEGAL: Added entry for `lib/rdoc/generator/template/darkfish/css/fonts.css` + [Misc #12550][ruby-core:76255][ci skip] + +Fri Jul 22 06:28:32 2016 Nobuyoshi Nakada + + * gc.c (run_finalizer): push and exec tag just once, instead of + protecting for each finalizer. + + * gc.c (gc_start_internal, rb_gc_start): set finalizing flag + whenever calling deferred finalizers not to recurse. + +Thu Jul 21 22:26:40 2016 SHIBATA Hiroshi + + * missing/strl{cat,cpy}.c: Update latest upstream files. + [Misc #12205][ruby-core:74487] + * LEGAL: Update license for missing/strl{cat,cpy}.c. + +Thu Jul 21 21:53:30 2016 SHIBATA Hiroshi + + * LEGAL: added file list with Public domain license. + [ruby-core:76254][Bug #12549] + +Wed Jul 20 17:44:07 2016 Nobuyoshi Nakada + + * enumerator.c (lazy_uniq): new method Enumerator::Lazy#uniq. + [Feature #11090] + + * enum.c (enum_uniq): new method Enumerable#uniq. + [Feature #11090] + +Wed Jul 20 17:35:23 2016 Nobuyoshi Nakada + + * hash.c (rb_hash_add_new_element): add new element or do nothing + if it is contained already. + + * array.c (ary_add_hash, ary_add_hash_by): use + rb_hash_add_new_element. + +Tue Jul 19 18:21:17 2016 Martin Duerst + + * lib/unicode_normalize/tables.rb: Remove + UnicodeNormalize::UNICODE_VERSION (#12546). + +Tue Jul 19 15:38:59 2016 Nobuyoshi Nakada + + * variable.c (rb_local_constants_i): exclude private constants + when excluding inherited constants too. [Bug #12345] + +Sun Jul 17 23:42:00 2016 Kenta Murata + + * numeric.c (num_finite_p, num_infinite_p): Add Numeric#finite? and + Numeric#infinite? [Feature #12039] [ruby-core:73618] + + * complex.c (rb_complex_finite_p): Add Complex#finite? + + * complex.c (rb_complex_infinite_p): Add Complex#infinite? + + * test/ruby/test_bignum.rb: Add test for Integer#finite? and + Integer#infinite? + + * test/ruby/test_fixnum.rb: ditto. + + * test/ruby/test_rational.rb: Add test for Rational#finite? and + Rational#infinite? + + * test/ruby/test_complex.rb: Add test for Complex#finite? and + Complex#infinite? + +Sun Jul 17 20:59:24 2016 Nobuyoshi Nakada + + * common.mk, enc/depend (casefold.h, name2ctype.h): move to + unicode data directory per version. + +Sat Jul 16 06:26:00 2016 Nobuyoshi Nakada + + * common.mk, enc/Makefile.in: moved timestamp files for + directories under the specific directory, to get rid of match + with files under the source directory. + +Fri Jul 15 22:05:13 2016 Naohisa Goto + + * string.c (str_buf_cat): Fix potential integer overflow of capa. + In addition, termlen is used instead of +1. + +Fri Jul 15 21:30:38 2016 Naohisa Goto + + * string.c (str_buf_cat): Fix capa size for embed string. + Fix bug in r55547. [Bug #12536] + +Fri Jul 15 18:13:15 2016 SHIBATA Hiroshi + + * gems/bundled_gems: update latest gems. + +Fri Jul 15 17:08:57 2016 Nobuyoshi Nakada + + * util.c (ruby_strtod): do not underflow only by preceding zeros, + which may be canceled out by the exponent. + http://twitter.com/kazuho/status/753829998767714305 + +Fri Jul 15 09:53:48 2016 Nobuyoshi Nakada + + * enc/unicode/case-folding.rb, tool/enc-unicode.rb: check if + Unicode versions are consistent with each other. + +Fri Jul 15 08:25:15 2016 Jeremy Evans + + * string.c (STR_BUF_MIN_SIZE): reduce from 128 to 127 + [ruby-core:76371] [Feature #12025] + * string.c (rb_str_buf_new): adjust for above reduction + +Thu Jul 14 17:26:00 2016 Nobuyoshi Nakada + + * Makefile.in (enc/unicode/name2ctype.h): remove stale recipe, + which did not support Unicode age properties. + + * common.mk (enc/unicode/name2ctype.h): update by --header option + of tool/enc-unicode.rb. enc/unicode/name2ctype.kwd file has not + been used. + + * common.mk (enc/unicode/name2ctype.kwd): rule to create from + Unicode data files, used only when the target does not exist. + +Thu Jul 14 13:10:54 2016 Nobuyoshi Nakada + + * ext/json/lib/json/ext: remove stale directory. bundled + extension libraries are placed under the directory for each + architectures, but not mixed with plain text script libraries. + +Thu Jul 14 12:48:47 2016 SHIBATA Hiroshi + + * ext/json/**/*.rb: merge original files from upstream repository. + It only fixes styles of frozen string literal. + +Wed Jul 13 22:23:03 2016 SHIBATA Hiroshi + + * test/json/json_common_interface_test.rb: use assert_raise instead of + assert_raises. + +Wed Jul 13 22:14:23 2016 SHIBATA Hiroshi + + * test/lib/test/unit.rb: added test files with `_test` suffix for json + upstream. + * test/json: merge original test files from json upstream. + +Wed Jul 13 18:09:42 2016 Martin Duerst + + * enc/iso_8859_9.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for ISO-8859-9, by Kazuki Iijima. + + * enc/iso_8859_9.c: Exclude dotless i/I with dot from case-insensitive + matching because they are not a case pair. + + * test/ruby/enc/test_iso_8859.rb: Make test coverage for ISO-8859-9 + a bit more complete. + +Wed Jul 13 17:21:24 2016 Martin Duerst + + * enc/windows_1252.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for Windows-1252, by Serina Tai. + + * test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings. + +Wed Jul 13 16:19:14 2016 Martin Duerst + + * enc/iso_8859_7.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for ISO-8859-7, by Kosuke Kurihara. + + * test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings. + +Wed Jul 13 16:08:08 2016 Koichi Sasada + + * gc.c (gc_mark_roots): should mark the VM object itself to mark + singleton class of the VM object. + Before this patch, we only set mark bit for the VM object and + invoke mark function separately. + [Bug #12583] + + * test/ruby/test_gc.rb: add a test. + +Wed Jul 13 15:59:59 2016 NAKAMURA Usaku + + * math.c (_USE_MATH_DEFINES): it must be set before including internal.h + because internal.h includes ruby.h, ruby.h includes win32.h, and + win32.h includes system's math.h. + this change is to get rid of a compiler warning (redefinition of + a macro) introduced at r55641. + +Wed Jul 13 15:19:03 2016 Martin Duerst + + * enc/iso_8859_1.c, enc/iso_8859_4.c: Avoid setting modification flag if + there is no modification. + +Wed Jul 13 14:40:04 2016 Martin Duerst + + * enc/iso_8859_5.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for ISO-8859-5, by Masaru Onodera. + + * test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings. + +Wed Jul 13 14:28:33 2016 NARUSE, Yui + + * math.c (rb_math_sqrt): r55646 must use f_signbit. + +Wed Jul 13 14:22:50 2016 Koichi Sasada + + * iseq.c (Init_ISeq): undef ISeq.translate and ISeq.load_iseq + to prevent calling super classes' methods. + + Without this patch, you can write workaround like: + + class << RubyVM::InstructionSequence + def translate; end + undef translate + end + + * test/ruby/test_iseq.rb: add a test. + +Wed Jul 13 14:16:03 2016 Koichi Sasada + + * vm_method.c (method_entry_get_without_cache): check + undefined method even if ruby_running is FALSE. + + We haven't call "undef"ed methods before ruby_running. + So that this issue does not make troubles. + +Wed Jul 13 14:15:22 2016 Martin Duerst + + * enc/windows_1254.c: Adjust variable/macro names. + +Wed Jul 13 13:19:12 2016 Martin Duerst + + * enc/iso_8859_9.c, enc/windows_1254.c: Split Windows-1254 from + ISO-8859-9 to be able to implement different case conversions. + +Wed Jul 13 13:08:30 2016 Martin Duerst + + * enc/iso_8859_7.c, enc/windows_1253.c: Split Windows-1253 from + ISO-8859-7 to be able to implement different case conversions. + +Wed Jul 13 10:50:12 2016 Martin Duerst + + * enc/iso_8859_13.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for ISO-8859-13, by Kanon Shindo. + +Wed Jul 13 10:31:39 2016 Martin Duerst + + * enc/iso_8859_13.c, enc/windows_1257.c: Split Windows-1257 from + ISO-8859-13 to be able to implement different case conversions. + +Wed Jul 13 09:02:30 2016 Martin Duerst + + * enc/iso_8859_3.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for ISO-8859-3, by Takuya Miyamoto. + + * test/ruby/enc/test_case_comprehensive.rb: Extend special treatment + for Turkic. + + * enc/iso_8859_3.c: Exclude dotless i/I with dot from case-insensitive + matching because they are not a case pair. + +Wed Jul 13 08:40:21 2016 Martin Duerst + + * test/ruby/enc/test_iso_8859.rb: Exclude dotless i/I with dot from + case-insensitive matching because they are not a case pair. + +Tue Jul 12 23:13:43 2016 Nobuyoshi Nakada + + * math.c (rb_math_sqrt): [EXPERIMENTAL] move Complex sqrt support + from mathn.rb. + +Tue Jul 12 01:25:09 2016 NAKAMURA Usaku + + * configure.in, lib/mkmf.rb, win32/Makefile.sub (CSRCFLAG): make the + compiler option replacable in Makefile. + + * win32/Makefile.sub (OUTFLAG, COUTFLAG): ditto. + + * win32/Makeile.sub, win32/setup.mak (CC): should not append `-nologo` + option forcely. + +Mon Jul 11 18:05:40 2016 Martin Duerst + + * enc/iso_8859_1.c: Moved test for lowercase characters without + uppercase equivalent. + +Mon Jul 11 17:49:25 2016 Martin Duerst + + * enc/iso_8859_4.c, enc/iso_8859_10.c, enc/iso_8859_14.c, + enc/iso_8859_15.c, enc/iso_8859_16.c: Replace case-by-case code with + lookup in ENC_ISO_8859_xx_TO_LOWER_CASE table. + +Mon Jul 11 16:00:56 2016 Nobuyoshi Nakada + + * ext/stringio/stringio.c (strio_each, strio_readlines): convert + arguments just once before reading, instead of conversions for + each lines, as r55603. + +Sun Jul 10 19:53:41 2016 Martin Duerst + + * enc/iso_8859_10.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for ISO-8859-10, by Toya Hosokawa. + +Sun Jul 10 19:33:47 2016 Martin Duerst + + * test/ruby/enc/test_case_comprehensive.rb: Changed testing logic to + catch unintended modifications of characters that do not have a case + equivalent in the respective encoding. + * enc/iso_8859_1.c, enc/iso_8859_15.c: Fixed unintended modifications of + micro sign and y with diaeresis. + +Sun Jul 10 17:05:36 2016 Martin Duerst + + * enc/iso_8859_4.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for ISO-8859-4, by Kotaro Yoshida. + +Sun Jul 10 16:17:47 2016 Martin Duerst + + * test/ruby/enc/test_case_comprehensive.rb: Fixed a comment + (message belongs to last commit). [ci skip] + +Sun Jul 10 14:27:25 2016 Nobuyoshi Nakada + + * util.c (ruby_dtoa): [EXPERIMENTAL] adjust the case that the + Float value is close to the exact but unrepresentable middle + value of two values in the given precision, as r55604. + +Sun Jul 10 08:57:20 2016 SHIBATA Hiroshi + + * thread.c: Fixed implicit conversion error with Apple clang-800.0.31 + +Sat Jul 9 12:43:09 2016 Shugo Maeda + + * lib/getoptlong.rb: use false instead of FALSE. + +Fri Jul 8 21:49:28 2016 Naohisa Goto + + * thread.c (rb_wait_for_single_fd): Clean up fds.revents every time + before calling ppoll(2). [Bug #12575] [ruby-dev:49725] + +Fri Jul 8 14:16:48 2016 Shugo Maeda + + * vm_args.c (vm_caller_setup_arg_block): call rb_sym_to_proc() + directly to reduce method dispatch overhead. + +Fri Jul 8 08:43:31 2016 Shugo Maeda + + * io.c (rb_io_s_read): add description of pipes to the documentation + of IO.read. + +Fri Jul 8 03:54:22 2016 NARUSE, Yui + + * vm_args.c (setup_parameters_complex): don't raise ArgumentError + if an array is given for instance_exec with optional argument. + [ruby-core:76300] [Bug #12568] + https://github.com/rails/rails/pull/25699 + +Fri Jul 8 00:47:36 2016 NARUSE, Yui + + * vm_eval.c (yield_under): change prototype to get argc/argv. + + * vm_eval.c (specific_eval): change for above. + + * vm_eval.c (rb_obj_instance_exec): avoid object allocation. + + * vm_eval.c (rb_mod_module_exec): ditto. + +Thu Jul 7 20:08:37 2016 Shugo Maeda + + * vm_args.c (vm_caller_setup_arg_block): disable symbol block + argument optimization when tail call optimization is enabled, + in order to avoid SEGV. [ruby-core:76288] [Bug #12565] + +Thu Jul 7 16:37:53 2016 Nobuyoshi Nakada + + * numeric.c (flo_round): [EXPERIMENTAL] adjust the case that the + receiver is close to the exact but unrepresentable middle value + of two values in the given precision. + http://d.hatena.ne.jp/hnw/20160702 + +Thu Jul 7 16:31:07 2016 Nobuyoshi Nakada + + * io.c (rb_io_s_foreach, rb_io_s_readlines): convert arguments + just once before reading, instead of conversions for each lines. + +Wed Jul 6 19:54:17 2016 Martin Duerst + + * enc/iso_8859_14.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for ISO-8859-14, by Yutaro Tada. + +Wed Jul 6 19:24:48 2016 Martin Duerst + + * enc/iso_8859_1.c, enc/iso_8859_15.c, enc/iso_8859_16.c: + Align indenting to onigmo convention. + +Wed Jul 6 18:59:13 2016 Martin Duerst + + * enc/iso_8859_15.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for ISO-8859-15, by Maho Harada. + +Wed Jul 6 18:34:21 2016 Martin Duerst + + * enc/iso_8859_16.c, test/ruby/enc/test_case_comprehensive.rb: + Implement non-ASCII case conversion for ISO-8859-16, by Satoshi Kayama. + +Wed Jul 6 14:44:56 2016 Nobuyoshi Nakada + + * lib/mkmf.rb (create_makefile): store $headers in LOCAL_HDRS for + depend files. + + * ext/digest/digest_conf.rb (digest_conf): add implementation + specific headers to $header. + + * ext/digest/{md5,rmd160,sha1,sha2}/depend: add LOCAL_HDRS to the + dependencies. + +Wed Jul 6 08:59:35 2016 Shugo Maeda + + * lib/net/http/generic_request.rb (write_header): A Request-Line must + not contain CR or LF. + +Wed Jul 6 07:11:27 2016 Shugo Maeda + + * lib/net/ftp.rb (putline): raise an ArgumentError when + CR or LF is included in a line. + +Tue Jul 5 20:49:30 2016 SHIBATA Hiroshi + + * ext/json/*, test/json/*: Update json-2.0.1. + Changes of 2.0.0: https://github.com/flori/json/blob/f679ebd0c69a94e3e70a897ac9a229f5779c2ee1/CHANGES.md#2015-09-11-200 + Changes of 2.0.1: https://github.com/flori/json/blob/f679ebd0c69a94e3e70a897ac9a229f5779c2ee1/CHANGES.md#2016-07-01-201 + [Feature #12542][ruby-dev:49706][fix GH-1395] + +Tue Jul 5 19:39:49 2016 Naohisa Goto + + * string.c (rb_str_change_terminator_length): New function to change + termlen and resize heap for the terminator. This is split from + rb_str_fill_terminator (str_fill_term) because filling terminator + and changing terminator length are different things. [Bug #12536] + + * internal.h: declaration for rb_str_change_terminator_length. + + * string.c (str_fill_term): Simplify only to zero-fill the terminator. + For non-shared strings, it assumes that (capa + termlen) bytes of + heap is allocated. This partially reverts r55557. + + * encoding.c (rb_enc_associate_index): rb_str_change_terminator_length + is used, and it should be called whenever the termlen is changed. + + * string.c (str_capacity): New static function to return capacity + of a string with the given termlen, because the termlen may + sometimes be different from TERM_LEN(str) especially during + changing termlen or filling terminator with specific termlen. + + * string.c (rb_str_capacity): Use str_capacity. + +Tue Jul 5 11:07:14 2016 NARUSE, Yui + + * pack.c (pack_pack): use union instead of bare variable to ease + optimizations and avoid assigning x87 floating point number. + [ruby-core:74496] [Bug #12209] + + * pack.c (pack_unpack): ditto. + +Mon Jul 4 13:56:34 2016 NARUSE, Yui + + * process.c: define sig_t if not exist. + at least Solaris 10 and 11 doesn't have sig_t. + +Mon Jul 4 13:08:48 2016 NARUSE, Yui + + * random.c (random_ulong_limited): avoid left shift count >= width of + type on 32bit environment. + +Sun Jul 3 18:51:42 2016 Martin Duerst + + * test/ruby/enc/test_case_comprehensive.rb, test_regex_casefold.rb, + test/test_unicode_normalize.rb: Replace UNICODE_VERSION from + UnicodeNormalize with RbConfig::CONFIG['UNICODE_VERSION'] from + feature 12460. + +Sun Jul 3 06:04:09 2016 Eric Wong + + * process.c (disable_child_handler_fork_child): simplify + [ruby-core:75781] [Misc #12439] + +Sun Jul 3 05:25:46 2016 Eric Wong + + * tool/asm_parse.rb: add description + * tool/change_maker.rb: ditto + * tool/downloader.rb: ditto + * tool/eval.rb: ditto + * tool/expand-config.rb: ditto + * tool/extlibs.rb: ditto + * tool/fake.rb: ditto + * tool/file2lastrev.rb: ditto + * tool/gem-unpack.rb: ditto + * tool/gen_dummy_probes.rb: ditto + * tool/gen_ruby_tapset.rb: ditto + * tool/generic_erb.rb: ditto + * tool/id2token.rb: ditto + * tool/ifchange: ditto + * tool/insns2vm.rb: ditto + * tool/instruction.rb: ditto + * tool/jisx0208.rb: ditto + * tool/merger.rb: ditto + * tool/mkrunnable.rb: ditto + * tool/node_name.rb: ditto + * tool/parse.rb: ditto + * tool/rbinstall.rb: ditto + * tool/rbuninstall.rb: ditto + * tool/rmdirs: ditto + * tool/runruby.rb: ditto + * tool/strip-rdoc.rb: ditto + * tool/vcs.rb: ditto + * tool/vtlh.rb: ditto + * tool/ytab.sed: ditto + * tool/enc-unicode.rb: fix typo + * tool/mk_call_iseq_optimized.rb: ditto + * tool/update-deps: ditto + [ruby-core:76215] [Bug #12539] + by Noah Gibbs + +Sat Jul 2 18:04:24 2016 NARUSE, Yui + + * lib/uri/mailto.rb (initialize): RFC3986_Parser#split sets opaque + only if the URI has path-rootless, not path-empty. + [ruby-core:76055] [Bug #12498] + patched by Chris Heisterkamp + +Sat Jul 2 04:26:14 2016 NARUSE, Yui + + * regcomp.c (noname_disable_map): don't optimize out group 0 + Ruby's Regexp doesn't allow normal numbered groups if the regexp + has named groups. On such case it optimizes out related NT_ENCLOSE. + But even on the case it can use \g<0>. + This fix not to remove NT_ENCLOSE whose regnum is 0. + [ruby-core:75828] [Bug #12454] + +Sat Jul 2 03:09:27 2016 Naohisa Goto + + * string.c: Partially reverts r55547 and r55555. + ChangeLog about the reverted changes are also deleted in this file. + [Bug #12536] [ruby-dev:49699] [ruby-dev:49702] + +Sat Jul 2 02:22:22 2016 Naohisa Goto + + * string.c (str_fill_term): When termlen increases, re-allocation + of memory for termlen should always be needed. + In this fix, if possible, decrease capa instead of realloc. + [Bug #12536] [ruby-dev:49699] + +Fri Jul 1 20:20:20 2016 Naohisa Goto + + * string.c: Specify termlen as far as possible. + Additional fix for [Bug #12536] [ruby-dev:49699]. + + * string.c (str_new_static): Specify termlen from the given encoding + when creating a new String object is needed. + + * string.c (rb_tainted_str_new_with_enc): New function to create a + tainted String object with the given encoding. This means that + the termlen is correctly specified. Currently static function. + The function name might be renamed to rb_tainted_enc_str_new + or rb_enc_tainted_str_new. + + * string.c (rb_external_str_new_with_enc): Use encoding by using the + above rb_tainted_str_new_with_enc(). + +Fri Jul 1 19:38:57 2016 Naohisa Goto + + * test/fiddle/test_pointer.rb (test_to_str, test_to_s, test_aref_aset): + Attempt to use independent strings for destructive tests that + directly modify values on memory by using Fiddle::Pointer. + [Bug #12537] [ruby-dev:49700] + +Fri Jul 1 18:20:00 2016 NARUSE, Yui + + * .gdbinit (rb_ps_thread): show the detail of cfunc in ruby level + backtrace. + +Fri Jul 1 13:26:39 2016 Naohisa Goto + + * string.c (rb_str_subseq, str_substr): When RSTRING_EMBED_LEN_MAX + is used, TERM_LEN(str) should be considered with it because + embedded strings are also processed by TERM_FILL. + Additional fix for [Bug #12536] [ruby-dev:49699]. + +Fri Jul 1 12:11:01 2016 NARUSE, Yui + + * .gdbinit (rb_count_objects): added gdb version of count_objects(). + +Fri Jul 1 04:32:52 2016 NARUSE, Yui + + * .gdbinit (rb_ps_thread): show ruby level backtrace. + Usually you can call `rb_ps` to show ruby level backtraces + for all living threads. + Note that it can call with core file like `gcore ` + and `gdb ruby core.`. + +Thu Jun 30 19:15:13 2016 Naohisa Goto + + * string.c: Fix memory corruptions when using UTF-16/32 strings. + [Bug #12536] [ruby-dev:49699] + + * string.c (rb_str_new_with_class): Use TERM_LEN of the "obj". + + * string.c (rb_str_plus, rb_str_justify): Use str_new0 which is aware + of termlen. + + * string.c (str_shared_replace): Copy +termlen bytes instead of +1. + + * string.c (rb_str_times): termlen should not be included in capa. + + * string.c (RESIZE_CAPA_TERM): When using RSTRING_EMBED_LEN_MAX, + termlen should be counted with it because embedded strings are + also processed by TERM_FILL. + + * string.c (rb_str_capacity, str_shared_replace, str_buf_cat): ditto. + + * string.c (rb_str_drop_bytes, rb_str_setbyte, str_byte_substr): ditto. + +Wed Jun 29 22:24:37 2016 SHIBATA Hiroshi + + * ext/psych/lib/psych_jars.rb: removed needless file required to JRuby. + +Wed Jun 29 22:21:38 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_ocsp.c: The "reuse" behavior of d2i_ functions does + not work well with OpenSSL 1.0.0t. So avoid it. + +Wed Jun 29 15:18:28 2016 NARUSE, Yui + + * insns.def (opt_succ): optimize like r55515. (but this argument is + constant) + +Wed Jun 29 12:41:58 2016 Shugo Maeda + + * test/ruby/test_refinement.rb: skip + test_prepend_after_refine_wb_miss on ARM or MIPS. + [ruby-core:76031] [Bug #12491] + +Wed Jun 29 08:45:53 2016 Nobuyoshi Nakada + + * proc.c (passed_block): convert passed block symbol to proc. + based on the patch by Daisuke Sato in [ruby-dev:49695]. + [Bug #12531] + +Wed Jun 29 03:34:41 2016 NARUSE, Yui + + * bignum.c (rb_big2ulong): the old logic seems to try to avoid + calculating `-(long)(num-1)-1` if `num` is not LONG_MIN. (Note that + `-LONG_MIN` may be larger than LONG_MAX) But C compilers can + optimize it into single NEG instruction. + Therefore those two conditions can be single if-body. + + * bignum.c (rb_big2long): ditto. + + * bignum.c (rb_big2ull): ditto. + + * bignum.c (rb_big2ll): ditto. + +Tue Jun 28 22:55:00 2016 Nobuyoshi Nakada + + * lib/pstore.rb (PStore::CHECKSUM_ALGO): extract the algorithm for + checksum, instead of qualified names for each times. + +Tue Jun 28 22:29:36 2016 Nobuyoshi Nakada + + * bootstraptest/runner.rb: do not use safe navigation operator. + this runner may run on older ruby. partially revert r53110 + (GH-1142 patched by @mlarraz). + +Tue Jun 28 22:09:09 2016 Akio Tajima + + * lib/fileutils.rb: rescue Errno:EACCES for chown. + [Bug #12520] + +Tue Jun 28 18:38:09 2016 Naohisa Goto + + * ext/digest/md5/md5ossl.h: Remove excess semicolons. + Suppress warning on Solaris with Oracle Solaris Studio 12. + [ruby-dev:49692] [Bug #12524] + + * ext/digest/md5/md5cc.h: ditto. + * ext/digest/sha1/sha1cc.h: ditto. + * ext/digest/sha1/sha1ossl.h: ditto. + * ext/digest/sha2/sha2cc.h: ditto. + * ext/digest/sha2/sha2ossl.h: ditto. + * ext/openssl/ossl_pkey_rsa.c: ditto. + +Tue Jun 28 15:56:48 2016 Nobuyoshi Nakada + + * test/ruby/enc/test_case_comprehensive.rb: noting to test if + Unicode data files are available. + [ruby-core:76160] [Bug #12433] + + * test/test_unicode_normalize.rb: ditto. + +Tue Jun 28 15:20:18 2016 Nobuyoshi Nakada + + * lib/net/http.rb (Net::HTTP#proxy_uri): cache the case no proxy + is used. + +Tue Jun 28 09:56:29 2016 Stefan Schussler + + * object.c (rb_mod_eqq): [DOC] Fix typo in RDoc. [Fix GH-1393] + +Tue Jun 28 02:41:32 2016 NARUSE, Yui + + * insns.def (opt_plus): use `- 1` instead of `& (~1)` to allow + compilers to use x86 LEA instruction (3 operand). + Even if 3 operand LEA's latency is 3 cycle after SandyBridge, + it reduces code size and can be faster because of super scalar. + + * insns.def (opt_plus): calculate and use rb_int2big. + On positive Fixnum overflow, `recv - 1 + obj` doesn't carry + because recv's msb and obj's msb are 0, and resulted msb is 1. + Therefore simply rshift and cast as signed long works fine. + On negative Fixnum overflow, it will carry because both arguments' + msb are 1, and resulted msb is also 1. + In this case it needs to restore carried sign bit after rshift. + +Mon Jun 27 16:58:32 2016 Nobuyoshi Nakada + + * lib/fileutils.rb (FileUtils#install): accecpt symbolic mode, as + well as chmod. + + * lib/fileutils.rb (FileUtils#install): add owner and group + options. + +Mon Jun 27 08:56:55 2016 Nobuyoshi Nakada + + * compile.c (ADD_TRACE): ignore trace instruction on non-positive + line. + + * parse.y (coverage): get rid of ArgumentError when the starting + line number is not positive. [ruby-core:76141] [Bug #12517] + +Sun Jun 26 10:20:25 2016 Nobuyoshi Nakada + + * ext/win32/lib/Win32API.rb (Win32API#initialize): Cygwin + 2.5.2-1 (perhaps) seems to no longer append ".dll" suffix + implicitly. + + * ext/win32/lib/win32/resolv.rb (Win32::Resolv): ditto. Fix the + error reported by yamataka AT u08.itscom.net in + [ruby-list:50339], and pointed out and patched by cerberus AT + m3.kcn.ne.jp in [ruby-list:50341]. + +Sat Jun 25 10:07:52 2016 Kazuki Yamaguchi + + * test/openssl/test_ocsp.rb: Ignore errors caused by bugs that exist in + LibreSSL >= 2.3.1. + +Sat Jun 25 02:33:33 2016 Nobuyoshi Nakada + + * vm_method.c (vm_respond_to): try method_missing if respond_to? + is undefined, as if it is the default definition. + [ruby-core:75377] [Bug #12353] + +Fri Jun 24 17:04:21 2016 SHIBATA Hiroshi + + * ext/psych/*, test/psych/*: Update psych 2.1.0 + This version fixed [Bug #11988][ruby-core:72850] + +Fri Jun 24 13:12:41 2016 SHIBATA Hiroshi + + * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: + Update rubygems 2.6.5 and 2.6.6. + Release note of 2.6.5: https://github.com/rubygems/rubygems/commit/656f5d94dc888d78d0d00f3598a4fa37391aac80 + Release note of 2.6.6: https://github.com/rubygems/rubygems/commit/ccb9c3300c063f5b5656669972d24a10ef8afbf5 + +Fri Jun 24 09:17:15 2016 Nobuyoshi Nakada + + * common.mk (lib/unicode_normalize/tables.rb): should not depend + on Unicode data files unless ALWAYS_UPDATE_UNICODE=yes, to get + rid of downloading Unicode data unnecessary. [ruby-dev:49681] + + * common.mk (enc/unicode/casefold.h): update Unicode files in a + sub-make, not to let the header depend on the files always. + + * enc/unicode/case-folding.rb: if gperf is not usable, assume the + existing file is OK. + +Tue Jun 21 19:44:54 2016 Martin Duerst + + * test/ruby/enc/test_regex_casefold.rb: Add Windows-1251, KOI8-R, and + KOI8-U to encodings; definitely removed EUC-JP. + +Tue Jun 21 19:32:23 2016 Mark St.Godard + + * lib/webrick/httprequest.rb (setup_forwarded_info): Use the first + value in X-Forwarded-Proto, if header contains multiple comma + separated values. Some middlewares may add these values to the + list, not replacing. [Fix GH-1386] + +Tue Jun 21 17:17:42 2016 Martin Duerst + + * test/ruby/test_io.rb: Skip test_readpartial_with_not_empty_buffer, + test_read_buffer_error, test_read_unlocktmp_ensure, + test_readpartial_unlocktmp_ensure, and + test_sysread_unlocktmp_ensure on cygwin, + because these tests repeatedly hang. This makes test_io.rb + complete in finite time on cygwin. + + * ChangeLog: Fix test_in.rb -> test_io.rb (two instances). + +Tue Jun 21 16:38:14 2016 Nobuyoshi Nakada + + * string.c (rb_str_casemap): do not put code with side effects + inside RSTRING_PTR() macro which evaluates the argument multiple + times. + +Tue Jun 21 16:13:45 2016 NARUSE, Yui + + * string.c (rb_str_casemap): fix memory leak. + +Tue Jun 21 16:12:21 2016 NARUSE, Yui + + * string.c (rb_str_casemap): int is too small for string size. + +Tue Jun 21 15:42:22 2016 Martin Duerst + + * test/ruby/test_io.rb: Skip test_read_buffer_error on cygwin, + because this test repeatedly hangs. + +Tue Jun 21 15:35:14 2016 Martin Duerst + + * LEGAL: Added filenames and copyrights for some files in + enc/trans/JIS. + +Tue Jun 21 00:56:47 2016 Nobuyoshi Nakada + + * win32/win32.c (get_special_folder): fix calling convention of + SHGetPathFromIDListEx, which should be WINAPI. pointed out by + @arton at http://twitter.com/arton/status/744884064277016576 + +Tue Jun 21 00:22:02 2016 Nobuyoshi Nakada + + * configure.in, include/ruby/defines.h (RUBY_USE_SETJMPEX): + include setjmpex.h only when using setjmpex() for RUBY_SETJMP. + the header of mingw32 overrides setjmp() by setjmpex(). + +Mon Jun 20 18:39:16 2016 Martin Duerst + + * test/ruby/test_io.rb: Skip test_open_fifo_does_not_block_other_threads + on cygwin. Fifos seem to work okay in cygwin, but this test repeatedly + hangs. + +Mon Jun 20 13:35:06 2016 Shugo Maeda + + * vm.c (invoke_bmethod, invoke_block_from_c_0): revert r52104 + partially to avoid "self has wrong type to call super in this + context" errors. + [ruby-core:72724] [Bug #11954] + +Mon Jun 20 12:53:38 2016 Kazuki Yamaguchi + + * test/rubygems/test_gem_remote_fetcher.rb: OpenSSL::PKey::DH#priv_key= + is not defined when ext/openssl is built with OpenSSL 1.1.0. + https://github.com/rubygems/rubygems/pull/1648 + [ruby-core:75225] [Feature #12324] + +Sun Jun 19 21:25:43 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_ocsp.c: Add OCSP::SingleResponse that represents an + OCSP SingleResponse structure. Also add two new methods #responses + and #find_response to OCSP::BasicResponse. A BasicResponse has one or + more SingleResponse. We have OCSP::BasicResponse#status that returns + them as an array of arrays, each containing the content of a + SingleResponse, but this is not useful. When validating an OCSP + response, we need to look into the each SingleResponse and check their + validity but it is not simple. For example, when validating for a + certificate 'cert', the code would be like: + + # certid_target is an OpenSSL::OCSP::CertificateId for cert + basic = res.basic + result = basic.status.any? do |ary| + ary[0].cmp(certid_target) && + ary[4] <= Time.now && (!ary[5] || Time.now <= ary[5]) + end + + Adding OCSP::SingleResponse at the same time allows exposing + OCSP_check_validity(). With this, the code above can be rewritten as: + + basic = res.basic + single = basic.find_response(certid_target) + result = single.check_validity + + * test/openssl/test_ocsp.rb: Test this. + +Sun Jun 19 18:40:19 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_ocsp.c (ossl_ocspbres_add_status): Allow specifying + the times (thisUpdate, nextUpdate and revocationTime) with Time + objects. Currently they accepts only relative seconds from the current + time. This is inconvenience, especially for revocationTime. When + Integer is passed, they are still treated as relative times. Since the + type check is currently done with rb_Integer(), this is a slightly + incompatible change. Hope no one passes a relative time as String or + Time object... + Also, allow passing nil as nextUpdate. It is optional. + + * ext/openssl/ruby_missing.h: Define RB_INTEGER_TYPE_P() if not defined. + openssl gem will be released before Ruby 2.4.0. + +Sun Jun 19 18:39:38 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_ocsp.c: Implement OCSP::{CertificateId,Request, + BasicResponse,Response}#initialize_copy. + [ruby-core:75504] [Bug #12381] + + * test/openssl/test_ocsp.rb: Test them. + +Sun Jun 19 18:29:50 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_pkey_dh.c, ext/openssl/ossl_pkey_dsa.c, + ext/openssl/ossl_pkey_ec.c, ext/openssl/ossl_pkey_rsa.c: Implement + initialize_copy method for OpenSSL::PKey::*. + [ruby-core:75504] [Bug #12381] + + * test/openssl/test_pkey_dh.rb, test/openssl/test_pkey_dsa.rb, + test/openssl/test_pkey_ec.rb, test/openssl/test_pkey_rsa.rb: Test they + actually copy the OpenSSL objects, and modifications to cloned object + don't affect the original object. + +Sun Jun 19 16:55:16 2016 Martin Duerst + + * test/ruby/test_dir_m17n.rb: Skip tests with non-UTF-8 encodings + on cygwin. Cygwin can use the Unicode PUA (private use area) to store + bytes from non-UTF-8 filenames (see + https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-specialchars), + but we are not supporting this. [Bug #12443] + +Sun Jun 19 15:01:18 2016 Martin Duerst + + * localeinit.c: Fix filesystem encoding for cygwin to UTF-8 (see + https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-unusual) + +Sun Jun 19 14:31:07 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_pkey.h, ext/openssl/ossl_pkey_dh.c, + ext/openssl/ossl_pkey_dsa.c, ext/openssl/ossl_pkey_rsa.c: A few days + ago, OpenSSL changed {DH,DSA,RSA}_get0_*() to take const BIGNUM **. + https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=fd809cfdbd6e32b6b67b68c59f6d55fbed7a9327 + [ruby-core:75225] [Feature #12324] + +Sun Jun 19 11:19:43 2016 Nobuyoshi Nakada + + * variable.c (rb_path_to_class): consider the string length + instead of a terminator. + + * variable.c (rb_path_to_class): search the constant at once + instead of checking if defined and then getting it. + +Sat Jun 18 14:01:40 2016 SHIBATA Hiroshi + + * test/rubygems/test_gem_installer.rb: Fixed broken test with extension + build. https://github.com/rubygems/rubygems/pull/1645 + +Sat Jun 18 13:59:54 2016 SHIBATA Hiroshi + + * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems + HEAD(2c6d256). It contains to update vendored Molinillo to 0.5.0. + https://github.com/rubygems/rubygems/pull/1638 + +Sat Jun 18 10:13:37 2016 Nobuyoshi Nakada + + * common.mk (build-ext), ext/extmk.rb: use variable EXTENCS + different than ENCOBJS, to get rid of circular dependency. + build libencs when linking encodings statically. + [ruby-core:75618] [Bug #12401] + +Sat Jun 18 08:52:46 2016 Nobuyoshi Nakada + + * ext/stringio/stringio.c (strio_getline): fix pointer index + overflow. reported by Guido Vranken . + +Thu Jun 16 16:35:35 2016 Nobuyoshi Nakada + + * class.c (Init_class_hierarchy): prevent rb_cObject which is the + class tree root, from GC. [ruby-dev:49666] [Bug #12492] + +Thu Jun 16 12:17:52 2016 Nobuyoshi Nakada + + * string.c (tr_trans): adjust buffer size by processed and rest + lengths, instead of doubling repeatedly. + +Thu Jun 16 11:15:25 2016 Nobuyoshi Nakada + + * string.c (tr_trans): consider terminator length and fix heap + overflow. reported by Guido Vranken . + +Thu Jun 16 00:02:32 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_ocsp.c (ossl_ocspreq_verify, ossl_ocspbres_verify): + Use ossl_clear_error() so that they don't print warnings to stderr and + leak errors in the OpenSSL error queue. Also, check the return value + of OCSP_*_verify() correctly. They can return -1 on verification + failure. + +Wed Jun 15 19:52:23 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_ocsp.c (ossl_ocspreq_sign, ossl_ocspbres_sign): Allow + specifying hash algorithm used in signing. They are hard coded to use + SHA-1. + Based on a patch provided by Tim Shirley . + [ruby-core:70915] [Feature #11552] [GH ruby/openssl#28] + + * test/openssl/test_ocsp.rb: Test sign-verify works. + +Wed Jun 15 01:46:16 2016 Nobuyoshi Nakada + + * numeric.c: [DOC] fix rdoc directive, and an example of negative + value. [ruby-core:76025] [Bug #12487] + +Wed Jun 15 01:44:42 2016 Nobuyoshi Nakada + + * tool/mkconfig.rb: provide Unicode Version information as + RbConfig::CONFIG['UNICODE_VERSION']. + [ruby-core:75845] [Feature #12460] + +Wed Jun 15 00:01:18 2016 Kazuhiro NISHIYAMA + + * test/ruby/enc/test_case_comprehensive.rb + (TestComprehensiveCaseFold::read_data): use \A and \z instead of + ^ and $ in regexp. + +Tue Jun 14 23:43:00 2016 Nobuyoshi Nakada + + * include/ruby/backward.h (rb_cFixnum, rb_cBignum): remove the + backward compatibility macros, to fail incompatible extension + libraries early. [Bug #12427] + +Tue Jun 14 22:22:07 2016 Nobuyoshi Nakada + + * strftime.c (rb_strftime_with_timespec): limit the result string + size by the format length, to get rid of unlimited memory use. + +Tue Jun 14 22:11:11 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_ocsp.c (ossl_ocspcid_get_issuer_name_hash, + ossl_ocspcid_get_issuer_key_hash, ossl_ocspcid_get_hash_algorithm): + Add accessor methods OCSP::CertificateId#issuer_name_hash, + #issuer_key_hash, #hash_algorithm. + Based on a patch provided by Paul Kehrer . + [ruby-core:48062] [Feature #7181] + + * test/openssl/test_ocsp.rb: Test these new methods. + +Tue Jun 14 22:07:25 2016 Nobuyoshi Nakada + + * ext/date/date_strftime.c (date_strftime_with_tmx): reject too + large precision to get rid of buffer overflow. + reported by Guido Vranken . + +Tue Jun 14 21:40:42 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_ocsp.c (ossl_ocspbres_to_der, ossl_ocspcid_to_der): + Implement #to_der methods for OCSP::BasicResponse and + OCSP::CertificateId. + + (ossl_ocspreq_initialize, ossl_ocspres_initialize): Use GetOCSP*() + instead of raw DATA_PTR(). + + (ossl_ocspbres_initialize, ossl_ocspcid_initialize): Allow + initializing from DER string. + + (Init_ossl_ocsp): Define new #to_der methods. + + * test/openssl/test_ocsp.rb: Test these changes. Also add missing tests + for OCSP::{Response,Request}#to_der. + +Tue Jun 14 21:35:00 2016 Kazuki Yamaguchi + + * ext/openssl/openssl_missing.h (DH_set0_pqg, RSA_set0_key): + DH_set0_pqg() allows 'q' to be NULL. Fix a typo in RSA_set0_key(). + Fixes r55285. [ruby-core:75225] [Feature #12324] + +Mon Jun 14 10:19:00 2016 Kenta Murata + + * NEWS: describe Integer#digits. + +Mon Jun 13 21:09:40 2016 NARUSE, Yui + + * thread.c (debug_deadlock_check): show thread lock dependency and + backtrace [Feature #8214] [ruby-dev:47217] + + * thread.c (thread_status_name): show "sleep_forever" instead of + "sleep" if called from inspect. + +Mon Jun 13 20:50:07 2016 Nobuyoshi Nakada + + * parse.y (reg_named_capture_assign_iter): remove named capture + conflict warnings. it is just annoying rather than useful. + [ruby-core:75416] [Bug #12359] + +Mon Jun 13 20:04:00 2016 Kenta Murata + + * numeric.c (rb_int_digits, rb_fix_digits, rb_int_digits_bigbase): + Add Integer#digits to extract columns in place-value notation + [Feature #12447] [ruby-core:75799] + + * test/ruby/test_integer.rb: Add tests for the above change. + + * test/ruby/test_bignum.rb: ditto. + +Mon Jun 13 20:34:53 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (RUBY_INTEGER_UNIFICATION): macro to tell if + Integer is integrated. [ruby-core:75718][Bug #12427] + + * include/ruby/backward.h, internal.h (rb_cFixnum, rb_cBignum): + fallback to rb_cInteger. + + * bignum.c, numeric.c, ext/json/generator/generator.{c,h}: use the + macro. + +Mon Jun 13 16:58:53 2016 Martin Duerst + + * test/ruby/enc/test_case_comprehensive.rb: Add tests for full Unicode + swapcase. + +Sun Jun 12 14:48:00 2016 Martin Duerst + + * test/ruby/enc/test_case_comprehensive.rb: Add tests for ASCII-only + swapcase; store calculated values in hashes. + +Sun Jun 12 14:05:45 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_cipher.c (ossl_cipher_get_auth_tag, + ossl_cipher_set_auth_tag): Check if the cipher flags retrieved by + EVP_CIPHER_CTX_flags() includes EVP_CIPH_FLAG_AEAD_CIPHER to see if + the cipher supports AEAD. AES-GCM was the only supported in OpenSSL + 1.0.1. + + (Init_ossl_cipher): Fix doc; OpenSSL::Cipher::AES.new(128, :GCM) can't + work. + + * ext/openssl/openssl_missing.h: Define EVP_CTRL_AEAD_{GET,SET}_TAG if + missing. They are added in OpenSSL 1.1.0, and have the same value as + EVP_CTRL_GCM_{GET,SET}_TAG and EVP_CTRL_CCM_{GET,SET}_TAG. + +Sun Jun 12 13:47:42 2016 Kazuki Yamaguchi + + * test/openssl/test_engine.rb (test_openssl_engine_builtin, + test_openssl_engine_by_id_string): Skip test if 'openssl' engine is + already loaded. And test the number increased by Engine.load{_by_id,}, + not the total count of loaded engines. Previously, we called + OpenSSL::Engine.cleanup every time running a test case, but we no + longer can do it. + [ruby-core:75225] [Feature #12324] + +Sun Jun 12 09:24:34 2016 Nobuyoshi Nakada + + * file.c (append_fspath): normalize directory name to be appended + on OS X. [ruby-core:75957] [Ruby trunk Bug#12483] + https://github.com/rails/rails/issues/25303#issuecomment-224834804 + +Sat Jun 11 23:07:32 2016 NAKAMURA Usaku + + * lib/forwardable.rb (_delegator_method): get rid of a warning which + causes test failures introduced at r55376. + +Sat Jun 11 18:37:58 2016 Marcus Stollsteimer + + * ext/json/lib/*.rb: Removed some comments. Because these are unnecessary + class description. [ci skip][Bug #12255][ruby-core:74835] + +Sat Jun 11 15:19:38 2016 takiy33 + + * lib/net/smtp.rb: [DOC] Remove dead link on documentation for + Japanese of SMTP. [Fix GH-1380] + +Sat Jun 11 15:02:45 2016 Grant Hutchins + + * string.c (rb_str_oct): [DOC] fix typo, hornored -> honored. + [Fix GH-1379] + +Sat Jun 11 14:04:19 2016 Nobuyoshi Nakada + + * ext/objspace/objspace_dump.c: generate valid JSON for dump_all. + +Sat Jun 11 13:52:33 2016 Nobuyoshi Nakada + + * lib/forwardable.rb (_delegator_method): remove __send__ call if + possible, so that more optimizations will be enabled. + +Sat Jun 11 11:24:36 2016 Nobuyoshi Nakada + + * enc/iso_8859.h (SHARP_s): name frequently used codepoint. + +Sat Jun 11 09:58:45 2016 Martin Duerst + + * enc/iso_8859_1.c: Revert to older version of code. + +Sat Jun 11 09:46:17 2016 Martin Duerst + + * enc/iso_8859_1.c: Implement non-ASCII case mapping. + + * test/ruby/enc/test_case_comprehensive.rb: Tests for above. + + * string.c: Add iso-8859-1 to supported encodings. + +Sat Jun 11 09:31:28 2016 Nobuyoshi Nakada + + * lib/forwardable.rb (_delegator_method): leave the backtrace + untouched during accessor. forwardable.rb does not appear in + the backtrace during delegated method because of tail-call + optimization. + +Sat Jun 11 01:38:31 2016 Naohisa Goto + + * include/ruby/defines.h (GCC_VERSION_SINCE): Fix logic error by + adding parentheses. Fix failures of TestMkmf::TestConvertible + with GCC 3.4.3 on Solaris 10. [Bug #12479] [ruby-dev:49660] + +Fri Jun 10 21:54:24 2016 Nobuyoshi Nakada + + * lib/forwardable.rb (Forwardable._delegator_method): extract + method generator and deal with non-module objects. + [ruby-dev:49656] [Bug #12478] + +Fri Jun 10 17:35:11 2016 Martin Duerst + + * string.c: Special-case :ascii option in rb_str_capitalize_bang and + rb_str_swapcase_bang. + +Fri Jun 10 17:12:24 2016 Martin Duerst + + * string.c: Special-case :ascii option in rb_str_upcase_bang (retry). + +Fri Jun 10 14:48:36 2016 Nobuyoshi Nakada + + * hash.c (get_env_cstr): ensure NUL-terminated. + [ruby-dev:49655] [Bug #12475] + + * string.c (rb_str_fill_terminator): return the pointer to the + NUL-terminated content. + +Thu Jun 9 21:42:00 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_asn1.c (asn1integer_to_num): Use + ASN1_ENUMERATED_to_BN() to convert an ASN1_ENUMERATED to a BN. + Starting from OpenSSL 1.1.0, ASN1_INTEGER_to_BN() rejects + non-ASN1_INTEGER objects. The format of INTEGER and ENUMERATED are + almost identical so they behaved in the same way in OpenSSL <= 1.0.2. + [ruby-core:75225] [Feature #12324] + + * test/openssl/test_asn1.rb (test_decode_enumerated): Test that it + works. + +Thu Jun 9 21:10:04 2016 Kazuhiro NISHIYAMA + + * tool/ifchange: fix timestamp error when target without + directory. + +Thu Jun 9 19:46:22 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_ssl.c: Add define guards for OPENSSL_NO_EC. + SSL_CTX_set_ecdh_auto() is defined even when ECDH is disabled in + OpenSSL's configuration. This fixes r55214. + + * test/openssl/test_pair.rb (test_ecdh_curves): Skip if the OpenSSL does + not support ECDH. + + * test/openssl/utils.rb (start_server): Ignore error in + SSLContext#ecdh_curves=. + +Thu Jun 9 18:12:42 2016 Nobuyoshi Nakada + + * Makefile.in (un-runnable): fail with proper error message. + [ruby-core:75905] [Bug #12472] + +Thu Jun 9 15:32:17 2016 Nobuyoshi Nakada + + * common.mk (RBCONFIG): use ifchange tool to see if the content is + changed and update the timestamp file. + + * tool/mkconfig.rb: remove ifchange features. + + * tool/ifchange: make target directory if it does not exist with + its parent directories. + + * win32/ifchange.bat: drop support for command.com used on old + systems. + +Thu Jun 9 15:03:35 2016 Kazuki Yamaguchi + + * ext/openssl/extconf.rb: Check for CRYPTO_malloc() and SSL_new(). + OpenSSL_add_all_digests() and SSL_library_init() are deprecated and + converted to macros in OpenSSL 1.1.0. + [ruby-core:75225] [Feature #12324] + +Wed Jun 8 23:09:51 2016 Kazuhiro NISHIYAMA + + * string.c (rb_str_ascii_casemap): fix compile error. + +Wed Jun 8 22:22:24 2016 Martin Duerst + + * string.c: Revert previous commit (possibility of endless loop). + +Wed Jun 8 21:57:41 2016 Martin Duerst + + * string.c: Special-case :ascii option in rb_str_upcase_bang. + +Wed Jun 8 21:28:36 2016 Martin Duerst + + * string.c: New static function rb_str_ascii_casemap; special-casing + :ascii option in rb_str_upcase_bang and rb_str_downcase_bang. + + * regenc.c: Fix a bug (wrong use of unnecessary slack at end of string). + + * regenc.h -> include/ruby/oniguruma.h: Move declaration of + onigenc_ascii_only_case_map so that it is visible in string.c. + +Wed Jun 8 20:33:44 2016 Naohisa Goto + + * include/ruby/intern.h: Remove excess semicolons in PUREFUNC(). + Fix failure of TestMkmf::TestConvertible on Solaris with + Oracle Solaris Studio 12. [ruby-dev:49651] [Bug #12470] + * internal.h: ditto. + +Wed Jun 8 16:03:09 2016 Shugo Maeda + + * lib/net/smtp.rb (getok, get_response): raise an ArgumentError when + CR or LF is included in a line, because they are not allowed in + RFC5321. Thanks, Jeremy Daer. + +Tue Jun 7 21:27:25 2016 Kazuki Yamaguchi + + * test/rubygems/*_{cert,cert_32}.pem: Regenerate test certificates for + OpenSSL 1.1.0. This is already in upstream. + https://github.com/rubygems/rubygems/commit/9be5c53939440a61c4bba73cfffbeb5cfadf72be + [ruby-core:75225] [Feature #12324] + +Tue Jun 7 21:27:17 2016 Kazuki Yamaguchi + + * test/open-uri/test_ssl.rb: Regenerate test certificates. The test CA + certificate was incorrectly generated. A CA certificate must have the + basic constraints extension with cA bit set to TRUE. OpenSSL <= 1.0.2 + allowed the error when the certificate is in the trusted store but + OpenSSL 1.1.0 no longer does. + [ruby-core:75225] [Feature #12324] + +Tue Jun 7 21:20:38 2016 Kazuki Yamaguchi + + * test/openssl/test_x509name.rb: Don't register OID for 'emailAddress' + and 'serialNumber'. A recent change in OpenSSL made OBJ_create() + reject an already existing OID. They were needed to run tests with + OpenSSL 0.9.6 which is now unsupported. + https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=52832e470f5fe8c222249ae5b539aeb3c74cdb25 + [ruby-core:75225] [Feature #12324] + + * test/openssl/test_ssl_session.rb (test_server_session): Duplicate + SSL::Session before re-adding to the session store. OpenSSL 1.1.0 + starts rejecting SSL_SESSION once removed by SSL_CTX_remove_session(). + https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=7c2d4fee2547650102cd16d23f8125b76112ae75 + + * test/openssl/test_pkey_ec.rb (setup): Remove X25519 from @keys. X25519 + is new in OpenSSL 1.1.0 but this is for key agreement and not for + signing. + + * test/openssl/test_pair.rb, test/openssl/test_ssl.rb, + test/openssl/utils.rb: Set security level to 0 when using aNULL cipher + suites. + + * test/openssl/utils.rb: Use 1024 bits DSA key for client certificates. + + * test/openssl/test_engine.rb: Run each test in separate process. + We can no longer cleanup engines explicitly as ENGINE_cleanup() was + removed. + https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=6d4fb1d59e61aacefa25edc4fe5acfe1ac93f743 + + * ext/openssl/ossl_engine.c (ossl_engine_s_cleanup): Add a note to the + RDoc for Engine.cleanup. + + * ext/openssl/lib/openssl/digest.rb: Don't define constants for DSS, + DSS1 and SHA(-0) when using with OpenSSL 1.1.0. They are removed. + + * test/openssl/test_digest.rb, test/openssl/test_pkey_dsa.rb, + test/openssl/test_pkey_dsa.rb, test/openssl/test_ssl.rb, + test/openssl/test_x509cert.rb, test/openssl/test_x509req.rb: Don't + test unsupported hash functions. + +Tue Jun 7 17:49:52 2016 Martin Duerst + + * test/ruby/enc/test_case_comprehensive: Change test for encodings + without any non-ASCII case conversions from ASCII-only test + to full test. + +Tue Jun 7 17:18:39 2016 Martin Duerst + + * string.c (rb_str_upcase_bang, rb_str_capitalize_bang, + rb_str_swapcase_bang): Switch to use primitive. + +Tue Jun 7 16:44:16 2016 Martin Duerst + + * string.c (rb_str_downcase_bang): Switch to use primitive except if + conversion can be done ASCII-only. + +Tue Jun 7 16:13:36 2016 Martin Duerst + + * test/ruby/enc/test_case_comprehensive: Add regression tests for + current ASCII-only case conversion. + +Tue Jun 7 15:28:38 2016 Martin Duerst + + * test/ruby/enc/test_case_comprehensive: Fix method name + (generate_casefold_tests -> generate_case_mapping_tests). + +Tue Jun 7 15:05:13 2016 Martin Duerst + + * regenc.h/c: Rename onigenc_not_support_case_map to + onigenc_ascii_only_case_map. + + * regenc.h: Add definition of onigenc_single_byte_ascii_only_case_map. + + * enc/iso_8859_X.c, windows_125X.c, ascii.c, us-ascii.c, koi8_x.c: + Replace onigenc_not_support_case_map by + onigenc_single_byte_ascii_only_case_map. + + * enc/big5.c, cp949.c, emacs_mule.c, euc_X.c, gbX.c, shift_jis.c, + windows_31j.c: Replace onigenc_not_support_case_map by + onigenc_ascii_only_case_map. + +Tue Jun 7 14:57:09 2016 Kazuki Yamaguchi + + * ext/openssl/extconf.rb: Check for SSL_CTX_set_min_proto_version() + macro added in OpenSSL 1.1.0. Version-specific methods, such as + TLSv1_method(), are deprecated in OpenSSL 1.1.0. We need to use + version-flexible methods (TLS_*method() or SSLv23_*method()) and + disable other protocol versions as necessary. + [ruby-core:75225] [Feature #12324] + + * ext/openssl/ossl_ssl.c: Use SSL_CTX_set_{min,max}_proto_version() to + fix the protocol version. + +Tue Jun 7 12:55:34 2016 Martin Duerst + + * regenc.c (onigenc_not_support_case_map): Move to end of file; + (onigenc_single_byte_ascii_only_case_map): Add new function. + +Tue Jun 7 09:26:37 2016 Martin Duerst + + * regenc.c (onigenc_not_support_case_map): Rewrite to work correctly + in ASCII range. + +Mon Jun 6 23:00:00 2016 Kazuhiro NISHIYAMA + + * appveyor.yml: Update libressl version to 2.3.5. + +Mon Jun 6 18:37:57 2016 Nobuyoshi Nakada + + * vm_insnhelper.c (vm_throw_start): check if the iseq is symbol + proc, class definition should not be a symbol proc. + [ruby-core:75856] [Bug #12462] + +Mon Jun 6 18:36:34 2016 Martin Duerst + + * string.c: Added UTF-16BE/LE and UTF-32BE/LE to supported encodings + for Unicode case mapping. + + * test/ruby/enc/test_case_comprehensive.rb: Tests for above + functionality; fixed an encoding issue in assertion error message. + +Mon Jun 6 17:29:35 2016 Martin Duerst + + * test/ruby/enc/test_case_comprehensive.rb: Speed up testing for small + encodings by preselecting codepoints. + +Mon Jun 6 17:10:50 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_cipher.c (ossl_cipher_free): Use EVP_CIPHER_CTX_free() + to free EVP_CIPHER_CTX allocated by EVP_CIPHER_CTX_new(). + [ruby-core:75225] [Feature #12324] + +Mon Jun 6 13:37:08 2016 Martin Duerst + + * string.c Change rb_str_casemap to use encoding primitive + case_map instead of directly calling onigenc_unicode_case_map. + +Mon Jun 6 13:16:46 2016 Martin Duerst + + * test/ruby/enc/test_case_mapping.rb: + Remove :lithuanian guard for Unicode case mapping. + +Mon Jun 6 10:39:56 2016 Kazuki Yamaguchi + + * ext/openssl/openssl_missing.h: Include ruby/config.h. r55285 added + some inline functions but VC does not recognize 'inline' keyword. + +Mon Jun 6 09:25:34 2016 Nobuyoshi Nakada + + * thread.c (thread_start_func_2): report raised exception if + report_on_exception flag is set. [Feature #6647] + +Mon Jun 6 01:36:24 2016 Kazuki Yamaguchi + + * ext/openssl/extconf.rb: Check existence of SSL_is_server(). This + function was introduced in OpenSSL 1.0.2. + [ruby-core:75225] [Feature #12324] + + * ext/openssl/openssl_missing.h: Implement SSL_is_server() if missing. + + * ext/openssl/ossl_ssl.c (ssl_info_cb): Use SSL_is_server() to see if + the SSL is server. The state machine in OpenSSL was rewritten and + SSL_get_state() no longer returns SSL_ST_ACCEPT. + + (ossl_ssl_cipher_to_ary, ossl_sslctx_session_get_cb): Add some + `const`s to suppress warning. + +Mon Jun 6 01:18:10 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_asn1.c (decode_bool): Do the same thing as + d2i_ASN1_BOOLEAN() does by ourselves. This function is removed in + OpenSSL 1.1.0. + [ruby-core:75225] [Feature #12324] + +Mon Jun 6 00:34:16 2016 Kazuki Yamaguchi + + * ext/openssl/extconf.rb: Check existence of accessor functions that + don't exist in OpenSSL 0.9.8. OpenSSL 1.1.0 made most of its + structures opaque and requires use of these accessor functions. + [ruby-core:75225] [Feature #12324] + + * ext/openssl/openssl_missing.[ch]: Implement them if missing. + + * ext/openssl/ossl*.c: Use these accessor functions. + + * test/openssl/test_hmac.rb: Add missing test for HMAC#reset. + +Mon Jun 6 00:00:13 2016 Kazuki Yamaguchi + + * ext/openssl/openssl_missing.[ch]: Implement EVP_PKEY_get0_*() and + {RSA,DSA,EC_KEY,DH}_get0_*() functions. + OpenSSL 1.1.0 makes EVP_PKEY/RSA/DSA/DH opaque. We used to provide + setter methods for each parameter of each PKey type, for example + PKey::RSA#e=, but this is no longer possible because the new API + RSA_set0_key() requires the 'n' at the same time. This commit adds + deprecation warning to them and adds PKey::*#set_* methods as direct + wrapper for those new APIs. For example, 'rsa.e = 3' now needs to be + rewritten as 'rsa.set_key(rsa.n, 3, rsa.d)'. + [ruby-core:75225] [Feature #12324] + + * ext/openssl/ossl_pkey*.[ch]: Use the new accessor functions. Implement + RSA#set_{key,factors,crt_params}, DSA#set_{key,pqg}, DH#set_{key,pqg}. + Emit a warning with rb_warning() when old setter methods are used. + + * test/drb/ut_array_drbssl.rb, test/drb/ut_drb_drbssl.rb, + test/rubygems/test_gem_remote_fetcher.rb: Don't set a priv_key for DH + object that are used in tmp_dh_callback. Generating a new key pair + every time should be fine - actually the private exponent is ignored + in OpenSSL >= 1.0.2f/1.0.1r even if we explicitly set. + https://www.openssl.org/news/secadv/20160128.txt + +Sun Jun 5 22:06:00 2016 Kenta Murata + + * configure.in: Fix the timing to detect the appropriate C++ compiler + in OS X. + +Sun Jun 5 21:42:24 2016 Kazuki Yamaguchi + + * ext/openssl/extconf.rb: Check absence of CRYPTO_lock() to see if the + OpenSSL has the new threading API. In OpenSSL <= 1.0.2, an application + had to set locking callbacks to use OpenSSL in a multi-threaded + environment. OpenSSL 1.1.0 now finds pthreads or Windows threads so we + don't need to do something special. + [ruby-core:75225] [Feature #12324] + + Also check existence of *_up_ref(). Some structures in OpenSSL have + a reference counter. We used to increment it with CRYPTO_add() which + is a part of the old API. + + * ext/openssl/openssl_missing.h: Implement *_up_ref() if missing. + + * ext/openssl/ossl.c: Don't set locking callbacks if unneeded. + + * ext/openssl/ossl_pkey.c, ext/openssl/ossl_ssl.c, + ext/openssl/ossl_x509cert.c, ext/openssl/ossl_x509crl.c, + ext/openssl/ossl_x509store.c: Use *_up_ref() instead of CRYPTO_add(). + +Sun Jun 5 21:38:13 2016 Kazuki Yamaguchi + + * ext/openssl/extconf.rb: Check if RAND_pseudo_bytes() is usable. It is + marked as deprecated in OpenSSL 1.1.0. + [ruby-core:75225] [Feature #12324] + + * ext/openssl/ossl_rand.c: Disable Random.pseudo_bytes if + RAND_pseudo_bytes() is unavailable. + + * test/openssl/test_random.rb: Don't test Random.pseudo_bytes if not + defined. + +Sun Jun 5 19:06:40 2016 Martin Duerst + + * NEWS: Add news about Unicode-wide case mapping for + String/Symbol#upcase/downcase/swapcase/capitalize(!). + +Sun Jun 5 15:24:33 2016 Martin Duerst + + * test/ruby/enc/test_case_comprehensive.rb: + Remove :lithuanian guard for Unicode case mapping. + +Sun Jun 5 14:46:34 2016 Martin Duerst + + * string.c: Remove :lithuanian guard for Unicode case mapping. + +Sat Jun 4 10:54:52 2016 Nobuyoshi Nakada + + * missing/crypt.h (struct crypt_data): remove unnecessary member + "initialized". + + * missing/crypt.c (des_setkey_r): nothing to be initialized in + crypt_data. + + * configure.in (struct crypt_data): check for "initialized" in + struct crypt_data, which may be only in glibc, and isn't on AIX + at least. + +Sat Jun 4 10:38:39 2016 Nobuyoshi Nakada + + * win32/win32.c: unify MAX_PATH, _MAX_PATH, and MAXPATHLEN to + PATH_MAX, except for MAX_PATH in get_special_folder for an API + limit. + +Fri Jun 3 21:27:22 2016 Nobuyoshi Nakada + + * ruby.c (process_options): rb_str_conv_enc() never set encoding + of the source string, but returns the string itself if the + conversion failed. then the instance variable does not need to + be set again. + +Fri Jun 3 18:04:37 2016 NAKAMURA Usaku + + * ruby.c (process_options): need to duplicate path before passing it to + rb_str_conv_enc() because the function might call rb_enc_associate() + internally. this fixes test failures on Windows introduced at r55260. + +Fri Jun 3 17:44:25 2016 Reiner Herrmann + + * lib/mkmf.rb (create_makefile): sort lists of source and object + files in generated Makefile, unless given by extconf.rb. + [Fix GH-1367] + +Thu Jun 2 21:18:10 2016 Nobuyoshi Nakada + + * win32/win32.c (get_special_folder): use SHGetPathFromIDListEx if + available instead of old SHGetPathFromIDListW, to check the + buffer size. + +Thu Jun 2 17:05:19 2016 Nobuyoshi Nakada + + * ruby.c (ruby_init_loadpath_safe): remove MAXPATHLEN restriction + for Windows 10. + +Thu Jun 2 16:51:35 2016 Koichi ITO + + * misc/ruby-mode.el (ruby-here-doc-beg-re), + (ruby-here-doc-beg-match, ruby-parse-partial): Support for + `squiggly heredoc' syntax in ruby-mode. [Fix GH-1372] + +Thu Jun 2 10:24:48 2016 Martin Duerst + + * string.c: Raise ArgumentError when invalid string is detected in + case mapping methods. + + * enc/unicode.c: Check for invalid string and signal with negative + length value. + + * test/ruby/enc/test_case_mapping.rb: Add tests for above. + + * test/ruby/test_m17n_comb.rb: Add a message to clarify test failure. + +Wed Jun 1 21:41:05 2016 Kazuki Yamaguchi + + * ext/openssl/extconf.rb: Check existence of ASN1_TIME_adj(). The old + ASN1_TIME_set() is not Year 2038 ready on sizeof(time_t) == 4 + environment. This function was added in OpenSSL 1.0.0. + [ruby-core:45552] [Bug #6571] + + * ext/openssl/ossl_asn1.c (ossl_time_split): Added. Split the argument + (Time) into the number of days elapsed since the epoch and the + remainder seconds to conform to ASN1_TIME_adj(). + (obj_to_asn1utime, obj_to_asn1gtime): Use ossl_time_split() and + ASN1_*TIME_adj(). + + * ext/openssl/ossl_asn1.h: Add the function prototype for + ossl_time_split(). + + * ext/openssl/ossl_x509.[ch]: Add ossl_x509_time_adjust(). Similarly to + obj_to_asn1*time(), use X509_time_adj_ex() instead of X509_time_adj(). + + * ext/openssl/ossl_x509cert.c, ext/openssl/ossl_x509crl.c, + ext/openssl/ossl_x509revoked.c: Use ossl_x509_time_adjust(). + +Wed Jun 1 15:58:20 2016 Nobuyoshi Nakada + + * configure.in: revert r55237. replace crypt, not crypt_r, and + check if crypt is broken more. + + * missing/crypt.c: move crypt_r.c + + * string.c (rb_str_crypt): use crypt_r if provided by the system. + +Wed Jun 1 14:07:53 2016 Nobuyoshi Nakada + + * missing/crypt_r.c (a64toi): initialize statically and fix out of + bounds access when salt is not 7bit clean. + +Wed Jun 1 11:34:59 2016 NAKAMURA Usaku + + * win32/Makefile.sub (MISSING): fixed build error introduced at r55237. + +Wed Jun 1 09:48:06 2016 Nobuyoshi Nakada + + * string.c (rb_str_crypt): use reentrant crypt_r. + +Wed Jun 1 09:37:26 2016 NAKAMURA Usaku + + * missing/crypt.c (des_setkey): void function never returns any value. + +Wed Jun 1 09:16:22 2016 Nobuyoshi Nakada + + * crypt.h: separate header file from missing/crypt.c. + + * missing/crypt.c (crypt_r, setkey_r, encrypt_r): add reentrant + versions. + +Wed Jun 1 02:25:38 2016 Nobuyoshi Nakada + + * missing/crypt.c: fix size macros to use configured values + for platforms long is larger than 32bit. + [ruby-core:75792] [Bug #12446] + +Tue May 31 17:28:46 2016 Nobuyoshi Nakada + + * lib/optparse.rb (OptionParser::Completion.candidate): get rid of + nil as key names. [ruby-core:75773] [Bug #12438] + + * lib/optparse.rb (OptionParser#make_switch): char class option + cannot be NoArgument, default to RequiredArgument. + +Tue May 31 00:30:11 2016 NAKAMURA Usaku + + * ext/socket/raddrinfo.c (host_str, port_str): Use StringValueCStr + instead of (Safe)StringValue, to detect NUL byte in the string. + +Mon May 30 22:02:01 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_asn1.c (time_to_time_t): Use NUM2TIMET() instead of + NUM2LONG(). time_t may be larger than long. + [ruby-core:45552] [Bug #6571] + +Mon May 30 21:15:37 2016 Martin Duerst + + * string.c: Document current behavior for other case mapping methods + on String. [ci skip] + +Mon May 30 20:00:25 2016 Martin Duerst + + * string.c: Document current situation for String#downcase. [ci skip] + +Mon May 30 18:29:28 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): Enable the automatic + curve selection for ECDH by calling SSL_CTX_set_ecdh_auto(). With + this a TLS server automatically selects a curve which both the client + and the server support to use in ECDH. This changes the default + behavior but users can still disable ECDH by excluding 'ECDH' cipher + suites from the cipher list (with SSLContext#ciphers=). This commit + also deprecate #tmp_ecdh_callback=. It was added in Ruby 2.3.0. It + wraps SSL_CTX_set_tmp_ecdh_callback() which will be removed in OpenSSL + 1.1.0. Its callback receives two values 'is_export' and 'keylength' + but both are completely useless for determining a curve to use in + ECDH. The automatic curve selection was introduced to replace this. + + (ossl_sslctx_setup): Deprecate SSLContext#tmp_ecdh_callback=. Emit a + warning if this is in use. + + (ossl_sslctx_set_ecdh_curves): Add SSLContext#ecdh_curves=. Wrap + SSL_CTX_set1_curves_list(). If it is not available, this falls back + to SSL_CTX_set_tmp_ecdh(). + + (Init_ossl_ssl): Define SSLContext#ecdh_curves=. + + * ext/openssl/extconf.rb: Check the existence of EC_curve_nist2nid(), + SSL_CTX_set1_curves_list(), SSL_CTX_set_ecdh_auto() and + SSL_CTX_set_tmp_ecdh_callback(). + + * ext/openssl/openssl_missing.[ch]: Implement EC_curve_nist2nid() if + missing. + + * test/openssl/test_pair.rb (test_ecdh_callback): Use + EnvUtil.suppress_warning to suppress deprecated warning. + + (test_ecdh_curves): Test that SSLContext#ecdh_curves= works. + + * test/openssl/utils.rb (start_server): Use SSLContext#ecdh_curves=. + +Mon May 30 16:28:53 2016 Nobuyoshi Nakada + + * ext/socket/raddrinfo.c (host_str, port_str): use RSTRING_LEN + instead of strlen, since RSTRING_PTR StringValueCStr may not be + NUL-terminated when SHARABLE_MIDDLE_SUBSTRING=1. reported by + @tmtms, http://twitter.com/tmtms/status/736910516229005312 + +Mon May 30 16:20:26 2016 Nobuyoshi Nakada + + * string.c (str_fill_term): return new pointer reallocated by + filling terminator. + +Mon May 30 14:54:58 2016 Nobuyoshi Nakada + + * ext/stringio/stringio.c (enc_subseq): share the return value and + the buffer as possible. + +Mon May 30 14:50:25 2016 Nobuyoshi Nakada + + * string.c (str_substr, rb_str_aref): refactor not to create + unnecessary empty string. + + * string.c (str_byte_substr, str_byte_aref): ditto. + +Mon May 30 00:09:37 2016 NAKAMURA Usaku + + * ext/-test-/auto_ext.rb: fixed a heedless bug introduced at r55198. + this change will make RubyCI green. + +Sun May 29 22:58:19 2016 NARUSE, Yui + + * regexec.c (ONIGENC_IS_MBC_ASCII_WORD): redefine optimized one. + WORD of Ruby's ascii compatible encoding is always [a-zA-Z0-9_]. + +Sun May 29 22:44:19 2016 NARUSE, Yui + + * regexec.c (match_at): make compilers optimize harder. + +Sun May 29 12:08:42 2016 Nobuyoshi Nakada + + * ext/-test-/auto_ext.rb (auto_ext): utility method to create + extension libraries for tests. + +Sat May 28 20:40:57 2016 Nobuyoshi Nakada + + * misc/ruby-additional.el (ruby-insert-heredoc-code-block): insert + here document code block for assert_separately mainly. + +Sat May 28 20:34:19 2016 Martin Duerst + + * test/test_unicode_normalize.rb: Add test to check for availability of + Unicode data file; refactoring; fix an error with tests for destructive + method (unicode_normalize!). + +Sat May 28 19:08:36 2016 Martin Duerst + + * test/ruby/enc/test_case_comprehensive.rb: Add error messages to tests + for data file availability; refactoring. + +Sat May 28 14:00:10 2016 Kazuki Yamaguchi + + * ext/openssl/lib/openssl/ssl.rb (SSLSocket): Move the implementation of + SSLSocket#initialize to C. Initialize the SSL (OpenSSL object) in it. + Currently this is delayed until ossl_ssl_setup(), which is called from + SSLSocket#accept or #connect. Say we call SSLSocket#hostname= with an + illegal value. We expect an exception to be raised in #hostname= but + actually we get it in the later SSLSocket#connect. Because the SSL is + not ready at #hostname=, the actual call of SSL_set_tlsext_host_name() + is also delayed. + This also fixes: [ruby-dev:49376] [Bug #11724] + + * ext/openssl/ossl_ssl.c (ossl_ssl_initialize): Added. Almost the same + as the Ruby version but this instantiate the SSL object at the same + time. + + (ossl_ssl_setup): Adjust to the changes. Just set the underlying IO to + the SSL. + + (ssl_started): Added. Make use of SSL_get_fd(). This returns -1 if not + yet set by SSL_set_fd(). + + (ossl_ssl_data_get_struct): Removed. Now GetSSL() checks that the SSL + exists. + + (ossl_ssl_set_session): Don't call ossl_ssl_setup() here as now the + SSL is already instantiated in #initialize. + + (ossl_ssl_shutdown, ossl_start_ssl, ossl_ssl_read_internal, + ossl_ssl_write_internal, ossl_ssl_stop, ossl_ssl_get_cert, + ossl_ssl_get_peer_cert, ossl_ssl_get_peer_cert_chain, + ossl_ssl_get_version, ossl_ssl_get_cipher, ossl_ssl_get_state, + ossl_ssl_pending, ossl_ssl_session_reused, + ossl_ssl_get_verify_result, ossl_ssl_get_client_ca_list, + ossl_ssl_npn_protocol, ossl_ssl_alpn_protocol, ossl_ssl_tmp_key): Use + GetSSL() instead of ossl_ssl_data_get_struct(). Use ssl_started(). + + (Init_ossl_ssl): Add method declarations of SSLSocket#{initialize, + hostname=}. + + * ext/openssl/ossl_ssl.h (GetSSL): Check that the SSL is not NULL. It + should not be NULL because we now set it in #initialize. + + * ext/openssl/ossl_ssl_session.c (ossl_ssl_session_initialize): No need + to check if the SSL is NULL. + +Sat May 28 10:47:40 2016 SHIBATA Hiroshi + + * gems/bundled_gems: Update latest releases, power_assert-0.3.0, + test-unit 3.1.9, minitest 5.9.0, did_you_mean 1.0.1 + +Sat May 28 10:45:40 2016 SHIBATA Hiroshi + + * addr2line.c: drop support for ATARI ST platform. It was + discontinued more than two decades ago. [fix GH-1350] Patch by + @cremno + * include/ruby/ruby.h: ditto. + * io.c: ditto. + +Sat May 28 10:39:47 2016 Martin Duerst + + * test/ruby/enc/test_case_comprehensive.rb: Converted exception for + unavailable Unicode data files to failed assertion. + +Sat May 28 10:26:18 2016 SHIBATA Hiroshi + + * lib/cgi/util.rb: added missing quote. + [fix GH-1363][ci skip] Patch by @dwaller + +Fri May 27 17:38:49 2016 Nobuyoshi Nakada + + * variable.c (rb_local_constants_i): exclude hidden constants. + [ruby-core:75575] [Bug #12389] + +Fri May 27 17:09:44 2016 Nobuyoshi Nakada + + * transcode.c (str_transcode0): scrub in the given encoding when + the source encoding is given, not in the encoding of the + receiver. [ruby-core:75732] [Bug #12431] + +Fri May 27 15:07:32 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (rb_scan_args): remove nul padding which + caused syntax error if fmt is not a string literal. + + * include/ruby/ruby.h (rb_scan_args_verify): suppress array-bounds + warnings by old clang. + + * include/ruby/ruby.h (rb_scan_args0): make extractor macros + inline functions, which do not validate the format and are + unnecessary to be expanded. + +Fri May 27 01:00:36 2016 NARUSE, Yui + + * symbol.c (is_identchar): use ISDIGIT instead of rb_enc_isalnum. + Though rb_enc_isalnum is encoding aware function, its argument here + is *m, which is a single byte. Therefore ISDIGIT is faster. + + * symbol.c (is_special_global_name): ditto. + + * symbol.c (rb_enc_symname_type): ditto. + +Fri May 27 00:39:40 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (rb_scan_args): add nul padding here to + apply to all references. + + * include/ruby/ruby.h (rb_scan_args_verify): move length mismatch + check outside conditional operators. + +Thu May 26 14:21:10 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_pkey_dh.c (ossl_dh_compute_key): Check that the DH + has 'p' (the prime) before calling DH_size(). We can create a DH with + no parameter but DH_size() does not check and dereferences NULL. + [ruby-core:75720] [Bug #12428] + + * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_sign): Ditto. DSA_size() does + not check dsa->q. + + * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_public_encrypt, + ossl_rsa_public_decrypt, ossl_rsa_private_encrypt, + ossl_rsa_private_decrypt): Ditto. RSA_size() does not check rsa->n. + +Thu May 26 14:13:52 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (rb_scan_args_count): verify length with + counting variables together. + +Thu May 26 09:45:41 2016 Martin Duerst + + * test/ruby/enc/test_case_comprehensive.rb: Add set of comprehensive + (across most Unicode characters; later across most character encodings) + tests for case mapping. + +Thu May 26 05:00:13 2016 Benoit Daloze + + * class.c (rb_define_class): Fix documentation. + +Wed May 25 20:50:12 2016 NARUSE, Yui + + * re.c (unescape_nonascii): scan hex up to only 3 characters. + [Bug #12420] [Bug #12423] + +Wed May 25 19:07:19 2016 Martin Duerst + + * enc/unicode.c: Handle DOTLESS_i by hand because it isn't involved in folding. + +Wed May 25 18:30:53 2016 NARUSE, Yui + + * regparse.c (fetch_token_in_cc): raise error if given octal escaped + character is too big. [Bug #12420] [Bug #12423] + +Wed May 25 17:45:15 2016 Kazuki Yamaguchi + + * ext/openssl, test/openssl: Drop OpenSSL < 0.9.8 support. + +Wed May 25 17:43:30 2016 Kazuki Yamaguchi + + * ext/openssl/openssl_missing.h, ext/openssl/ossl.h: Remove + unnecessary 'extern "C"' blocks. We don't use C++ and these headers + are local to ext/openssl, so there is no need to enclose with it. + +Wed May 25 17:42:58 2016 Kazuki Yamaguchi + + * ext/openssl/extconf.rb: Remove check of OPENSSL_FIPS macro. This is + unneeded because we can check the macro directly in source code, + just as we already do for OPENSSL_NO_* macros. + + * ext/openssl/ossl.c: Replace occurrences of HAVE_OPENSSL_FIPS with + OPENSSL_FIPS. + +Wed May 25 17:13:35 2016 Nobuyoshi Nakada + + * class.c (rb_scan_args): merge code for n_trail. + +Wed May 25 17:11:34 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (rb_scan_args_validate): move failed + condition to the terminal. [ruby-core:75714] [Bug #12426] + +Wed May 25 13:13:37 2016 NARUSE, Yui + + * regcomp.c: remove condition for debug output because prelude + doesn't use regexp now. + +Wed May 25 13:10:30 2016 NARUSE, Yui + + * regcomp.c (compile_length_tree): return error code immediately + if compile_length_tree raised error [Bug #12418] + +Wed May 25 08:01:39 2016 Martin Duerst + + * enc/unicode.c: Fix flag error for switch from titlecase to lowercase. + + * test/ruby/enc/test_case_mapping.rb: Tests for above error. + +Wed May 25 01:13:55 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_pkey_ec.c (ec_key_new_from_group): Create a new + EC_KEY on given EC group. Extracted from ossl_ec_key_initialize(). + (ossl_ec_key_s_generate): Added. Create a new EC instance and + generate a random private and public key. + (ossl_ec_key_initialize): Use ec_key_new_from_group(). + (Init_ossl_ec): Define the new method EC.generate. This change is + for consistency with other PKey types. [ruby-core:45541] [Bug #6567] + + * test/openssl/test_pkey_ec.rb: Test that EC.generate works. + +Wed May 25 00:37:16 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_generate_key): Fix up RDoc. + (Init_ossl_ec): Rename EC#generate_key to EC#generate_key!. Make the + old name an alias of #generate_key!. This change is for consistency + with other PKey types. [ruby-core:45541] [Bug #6567] + + * test/openssl/test_pkey_ec.rb: Use EC#generate_key! instead of + EC#generate_key. + +Wed May 25 00:23:05 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (rb_scan_args_set): check the arity after + adjusting argc for an option hash, for optimization in simpler + cases. + +Wed May 25 00:21:52 2016 Nobuyoshi Nakada + + * configure.in (XCFLAGS): merge flags only for ruby itself from + ruby_cflags. + +Tue May 24 22:04:15 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_cipher.c (ossl_cipher_set_key, ossl_cipher_set_iv): + Reject too long values as well as too short ones. Currently they + just truncate the input but this would hide bugs and lead to + unexpected encryption/decryption results. + + * test/openssl/test_cipher.rb: Test that Cipher#key= and #iv= reject + Strings with invalid length. + +Tue May 24 21:32:21 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): Use + ASN1_OCTET_STRING_set() instead of M_ASN1_OCTET_STRING_set(). Macros + prefixed by "M_" are discouraged to be used from outside OpenSSL + library[1]. + (ossl_x509ext_get_value): Likewise, use ASN1_STRING_print() instead + of M_ASN1_OCTET_STRING_print(). + [1] https://git.openssl.org/gitweb/?p=openssl.git;a=blob;f=CHANGES;h=bf61913d7b01212b4d8b2f3c13d71d645914f67c;hb=b6079a7835f61daa9fb2cbf9addfa86049523933#l878 + + * ext/openssl/ossl.h: Include openssl/asn1.h instead of + openssl/asn1_mac.h. It just includes openssl/asn1.h and defines some + additional "M_" macros. + +Tue May 24 18:52:11 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (rb_scan_args_verify): verify the format to + scan if no invalid chars and variable argument length matching, + at the compile time if possible. + +Tue May 24 17:18:46 2016 Nobuyoshi Nakada + + * include/ruby/defines.h (ERRORFUNC, WARNINGFUNC): add fallback + definitions. + +Tue May 24 16:37:43 2016 NARUSE, Yui + + * configure.in (ruby_cflags): separate from optflags [Bug #12409] + -fexcess-precision=standard and -fp-model precise are set to this now. + + * configure.in (cflags): use ruby_cflags. + +Tue May 24 16:20:53 2016 Nobuyoshi Nakada + + * configure.in (ERRORFUNC, WARNINGFUNC): __error__ and __warning__ + attributes take a parenthesized string literal. + +Tue May 24 12:35:56 2016 URABE Shyouhei + + * common.mk: sort lines, and add missing dependencies suggested + by tool/update-deps + +Mon May 23 21:33:36 2016 Nobuyoshi Nakada + + * include/ruby/missing.h (isfinite): move from numeric.c. + +Mon May 23 21:09:06 2016 Kazuki Yamaguchi + + * ext/openssl/ossl.c (Init_openssl): Avoid reference to unset global + variable. ossl_raise() may be called before dOSSL is set. Since + global variables default to 0 and the default value of dOSSL set in + Init_openssl() is also Qfalse, there is no real issue but confusing. + Patch by Bertram Scharpf + [ruby-core:58264] [Bug #9101] + +Mon May 23 20:32:16 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_asn1.c, ext/openssl/ossl_bn.c, + ext/openssl/ossl_cipher.c, ext/openssl/ossl_digest.c + ext/openssl/ossl_engine.c, ext/openssl/ossl_ns_spki.c + ext/openssl/ossl_pkcs12.c, ext/openssl/ossl_pkcs7.c + ext/openssl/ossl_pkey.c, ext/openssl/ossl_pkey_ec.c + ext/openssl/ossl_rand.c, ext/openssl/ossl_ssl.c + ext/openssl/ossl_x509attr.c, ext/openssl/ossl_x509cert.c + ext/openssl/ossl_x509ext.c, ext/openssl/ossl_x509store.c: Use + StringValueCStr() where NUL-terminated string is expected. + +Mon May 23 20:20:12 2016 NAKAMURA Usaku + + * ext/bigdecimal/bigdecimal.c (isfinite): get rid of a warning on + cygwin. [Bug #12417][ruby-core:75691] + +Mon May 23 19:41:27 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_rand.c (ossl_rand_egd, ossl_rand_egd_bytes): + RAND_egd{_bytes,}() return -1 on failure, not 0. + Patch by cremno phobia + [ruby-core:63795] [Bug #10053] + (ossl_pseudo_bytes): Similar, RAND_pseudo_bytes() may return 0 or + -1 on failure. + +Mon May 23 15:52:07 2016 NAKAMURA Usaku + + * ext/bigdecimal/bigdecimal.c (isfinite): isfinite does not always + exist. fixed build error on Windows introduced at r55123. + +Mon May 23 13:19:41 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (rb_scan_args0): make compile error if the + format is wrong or does not match with the variable argument + length if possible. + +Mon May 23 12:47:09 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (rb_scan_args0): raise fatal error if + variable argument length does not match, it is a bug in the code + which uses rb_scan_args, not a runtime error. + +Mon May 23 12:30:29 2016 Nobuyoshi Nakada + + * ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): consider + non-finite float values not to raise FloatDomainError. + [ruby-core:75682] [Bug #12414] + +Mon May 23 12:21:18 2016 NARUSE, Yui + + * array.c (rb_ary_fill): suppress warnings: 'item' may be used + uninitialized in this function + +Mon May 23 07:41:49 2016 Eric Wong + + * dir.c (dir_close): update RDoc for 2.3 #close change + [ruby-core:75679] [Bug #12413] + +Sun May 22 20:01:21 2016 Masatoshi SEKI + + * lib/drb/timeridconv.rb: use finalizer trick instead of thread. + + * test/drb/ut_timerholder.rb: ditto. + +Sun May 22 17:25:18 2016 Martin Duerst + + * test/ruby/enc/test_case_options.rb: adjust test class name + to match file name + +Sun May 22 17:24:07 2016 Martin Duerst + + * rename test/ruby/enc/test_casing_options.rb to test_case_options.rb + for consistency + +Sun May 22 17:06:55 2016 Nobuyoshi Nakada + + * transcode.c (enc_arg, str_transcode_enc_args, econv_args): + remove volatile, and add GC guards in callers. + [ruby-core:75664] [Bug #12411] + +Sun May 22 16:27:00 2016 Nobuyoshi Nakada + + * ext/-test-/integer/core_ext.c: move testutil/integer.c. + + * test/lib/-test-/integer.rb: extract implementation details from + test/unit/assertions.rb. [Bug #12408] + +Sun May 22 14:57:43 2016 Martin Duerst + + * include/ruby/oniguruma.h: Extend OnigEncodingTypeDefine to define a + new encoding primitive 'case_map' for case mapping + + * enc/utf-8.c, utf_16be/le.c, utf_32be/le.c: + add onigenc_unicode_case_map as case_map primitive + + * enc/ascii.c, big5.c, cp949.c, emacs_mule.c, euc_jp/kr/tw.c, gb18030.c, + gbk.c, iso_8859_1/2/3/4/5/6/7/8/9/10/11/13/14/15/16.c, koi8_r/u.c, + shift_jis.c, us_ascii.c, windows_1250/1251/1252.c: + add onigenc_not_support_case_map as case_map primitive + +Sun May 22 14:45:45 2016 Martin Duerst + + * regenc.h/c: Define new function onigenc_not_support_case_map + +Sun May 22 12:14:06 2016 NARUSE, Yui + + * include/ruby/ruby.h (rb_scan_args): use original rb_scan_args + when fmt is dynamic. + +Sun May 22 11:41:12 2016 NARUSE, Yui + + * class.c (rb_scan_args): moved to bottom of the file to make the + effect of `#undef rb_scan_args` the minimum. + + * include/ruby/ruby.h (rb_scan_args): overwrite only if GCC and + optimized. Visual C++ 14 or later can compile it but make it + conservative. + +Sat May 21 22:45:50 2016 NAKAMURA Usaku + + * include/ruby/ruby.h (rb_scan_args): don't use ALWAYS_INLINE with + `inline`. if gcc needs this duplication, do in ALWAYS_INLINE macro. + +Sat May 21 21:11:56 2016 NARUSE, Yui + + * include/ruby/ruby.h (rb_scan_args): use __VA_ARGS__ instead of + va_arg to allow compilers optimize more aggressive. + https://gustedt.wordpress.com/2011/07/10/avoid-writing-va_arg-functions/ + rb_scan_args is now expected to be statically resolved. + +Sun May 22 02:41:52 2016 NARUSE, Yui + + * ext/zlib/zlib.c: remove hacky macro introduced at r30437. + + * ext/zlib/zlib.c (gzfile_make_header): cast as long (instead of int). + + * ext/zlib/zlib.c (gzfile_make_footer): ditto. + +Sat May 21 21:07:18 2016 NARUSE, Yui + + * configure.in (ALWAYS_INLINE): force compilers the function inlined. + +Sat May 21 16:16:03 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_ssl.c (ossl_ssl_stop): Don't free the SSL struct + here. Since some methods such as SSLSocket#connect releases GVL, + there is a chance of use after free if we free the SSL from another + thread. SSLSocket#stop was documented as "prepares it for another + connection" so this is a slightly incompatible change. However when + this sentence was added (r30090, Add toplevel documentation for + OpenSSL, 2010-12-06), it didn't actually. The current behavior is + from r40304 (Correct shutdown behavior w.r.t GC., 2013-04-15). + [ruby-core:74978] [Bug #12292] + + * ext/openssl/lib/openssl/ssl.rb (sysclose): Update doc. + + * test/openssl/test_ssl.rb: Test this. + +Sat May 21 14:41:14 2016 Kazuki Yamaguchi + + * ext/openssl/ossl.c: [DOC] Fix SSL client example. The variable name + was wrong. Patch by Andreas Tiefenthaler (@pxlpnk). + [GH ruby/openssl#32] + +Sat May 21 14:25:38 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_pkey_ec.c: rename PKey::EC#private_key? and + #public_key? to #private? and #public? for consistency with other + PKey types. Old names remain as alias. [ruby-core:45541] [Bug #6567] + + * test/openssl/test_pkey_ec.rb (test_check_key): check private? and + public? works correctly. + +Sat May 21 12:40:36 2016 Kazuki Yamaguchi + + * ext/openssl/lib/openssl/buffering.rb (read_nonblock, readpartial): + Remove impossible EOFError raise. Patch by Zach Anker + . [GH ruby/openssl#23] + +Sat May 21 11:18:42 2016 Evgeni Golov + + * lib/ipaddr.rb: [DOC] fix documentation of IN6MASK to mention + IPv6. [Fix GH-1349] + +Sat May 21 11:12:53 2016 Dan Martinez + + * io.c (Init_IO): [DOC] define dummy ARGF instead of ARGF.class to + re-enable the generation of ARGF documentation. [Fix GH-1358] + +Sat May 21 11:07:29 2016 0x01f7 + + * doc/syntax/methods.rdoc (Method Names): add proper closing tag. + [Fix GH-1356] + +Sat May 21 09:26:28 2016 Nobuyoshi Nakada + + * configure.in (RUBY_CHECK_SETJMP): fix missing macro definition + for the configured result. fix up r55021. + +Sat May 21 00:36:32 2016 Nobuyoshi Nakada + + * process.c (rb_execarg_commandline): build command line string + from argument vector in rb_execarg. + [ruby-core:75611] [Bug #12398] + +Fri May 20 23:25:42 2016 Kazuki Yamaguchi + + * ext/openssl/ossl.c (ossl_pem_passwd_value): Added. Convert the + argument to String with StringValue() and validate the length is in + 4..PEM_BUFSIZE. PEM_BUFSIZE is a macro defined in OpenSSL headers. + (ossl_pem_passwd_cb): When reading/writing encrypted PEM format, we + used to pass the password to PEM_def_callback() directly but it was + problematic. It is not NUL character safe. And surprisingly, it + silently truncates the password to 1024 bytes. [GH ruby/openssl#51] + + * ext/openssl/ossl.h: Add function prototype declaration of newly + added ossl_pem_passwd_value(). + + * ext/openssl/ossl_pkey.c (ossl_pkey_new_from_data): Use + ossl_pem_passwd_value() to validate the password String. + + * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize, ossl_dsa_export): + ditto. + + * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_initialize, + ossl_ec_key_to_string): ditto. + + * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_initialize, ossl_rsa_export): + ditto. + + * test/openssl/test_pkey_{dsa,ec,rsa}.rb: test this. + +Fri May 20 23:45:53 2016 Naohisa Goto + + * id_table.c (list_id_table_init): When unaligned word access is + prohibited and sizeof(VALUE) is 8 (64-bit machines), + capa should always be even number for 8-byte word alignment + of the values of a table. This code assumes that sizeof(ID) is 4, + sizeof(VALUE) is 8, and xmalloc() returns 8-byte aligned memory. + This fixes bus error on 64-bit SPARC Solaris 10. + [Bug #12406][ruby-dev:49631] + +Fri May 20 22:30:09 2016 Naohisa Goto + + * symbol.h (rb_id2sym): Use HAVE_BUILTIN___BUILTIN_CONSTANT_P + +Fri May 20 22:19:00 2016 Kazuhiro NISHIYAMA + + * ext/date/date_core.c: [DOC] fix typos. + [fix GH-1360] patched by @soundasleep + +Fri May 20 21:26:58 2016 Naohisa Goto + + * include/ruby/defines.h (RB_GNUC_EXTENSION, RB_GNUC_EXTENSION_BLOCK): + macros for skipping __extension__ on non-GCC compilers. + * eval_error.c (warn_print): use RB_GNUC_EXTENSION_BLOCK instead of + __extension__ because __extension__ is a GNU extension. + Fix compile error on Solaris 10 with Oracle Solaris Studio 12.x. + [Bug #12397] [ruby-dev:49629]. + * internal.h (rb_fstring_cstr, rb_fstring_enc_cstr): ditto + * include/ruby/encoding.h (rb_enc_str_new, rb_enc_str_new_cstr): ditto + * include/ruby/intern.h (rb_str_new, rb_str_new_cstr, + rb_usascii_str_new, rb_utf8_str_new, rb_tainted_str_new_cstr, + rb_usascii_str_new_cstr, rb_utf8_str_new_cstr, + rb_external_str_new_cstr, rb_locale_str_new_cstr, + rb_str_buf_new_cstr, rb_str_cat_cstr, rb_exc_new_cstr): ditto + +Fri May 20 21:17:13 2016 Nobuyoshi Nakada + + * ext/win32ole/win32ole.c (fole_missing): make substring or dup to + share the content if possible. + +Fri May 20 19:48:48 2016 Nobuyoshi Nakada + + * internal.h (NEW_PARTIAL_MEMO_FOR): shrink buffer array not to + mark non-VALUE fields. fix check_rvalue_consistency abort with + RGENGC_CHECK_MODE=2. + + * internal.h (NEW_CMP_OPT_MEMO): exclude struct cmp_opt_data from + the valid array range. + + * enum.c (slicewhen_i): exclude inverted too. + +Thu May 19 21:21:57 2016 Kazuhiro NISHIYAMA + + * re.c (rb_reg_match_m_p): [DOC] fix return value in rdoc. + + * test/ruby/test_regexp.rb (TestRegexp#test_match_p): add some + tests from document. + +Thu May 19 13:22:44 2016 Kazuki Yamaguchi + + * ext/openssl/ossl.c (Init_openssl): register an ex_data index for + X509_STORE and X509_STORE_CTX respectively. Since they don't share + the ex_data index registry, we can't use the same index. + (ossl_verify_cb): use the the correct index. + + * ext/openssl/ossl_ssl.c (ossl_ssl_verify_callback): ditto. + + * ext/openssl/ossl_x509store.c (ossl_x509store_set_vfy_cb): ditto. + (ossl_x509stctx_verify): ditto. + + * ext/openssl/ossl.h (void ossl_clear_error): add extern declarations + of ossl_store_{ctx_,}ex_verify_cb_idx. + + * ext/openssl/openssl_missing.c: remove X509_STORE_set_ex_data and + X509_STORE_get_ex_data. + + * ext/openssl/openssl_missing.h: implement X509_STORE_get_ex_data, + X509_STORE_set_ex_data and X509_STORE_get_ex_new_index as macros. + +Thu May 19 13:11:35 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_x509attr.c (ossl_x509attr_set_value): check that the + argument is an OpenSSL::ASN1::Data before converting to ASN1_TYPE. + This fixes SEGV on OpenSSL::X509::Attribute#value=(non-asn1-value). + + * test/openssl/test_x509attr.rb: add tests for OpenSSL::X509::Attribute. + +Thu May 19 12:10:10 2016 Nobuyoshi Nakada + + * re.c (rb_reg_match_m_p): fix match against empty string. + rb_str_offset returns the end when the position exceeds the + length. fix the range parameter of onig_search. + [ruby-core:75604] [Bug #12394] + +Thu May 19 11:37:36 2016 Nobuyoshi Nakada + + * re.c (rb_reg_match_m_p): should return false if no match, as the + document says. [Feature #8110] + +Thu May 19 00:17:01 2016 NARUSE, Yui + + * re.c (reg_names_iter): specify capacify + +Wed May 18 21:29:59 2016 NAKAMURA Usaku + + * thread.c (recursive_list_access): a object id may be a Bignum. so, + the list must be a objhash, instead of a identhash. + this fixes many test errors on mswin64 CI. + +Wed May 18 19:33:54 2016 NARUSE, Yui + + * re.c (rb_reg_match_m_p): Introduce Regexp#match?, which returns + bool and doesn't save backref. + +Wed May 18 16:52:03 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_pkcs12.c (ossl_pkcs12_initialize): pop errors + leaked by PKCS12_parse(). This is a bug in OpenSSL, which exists + in the versions before the version 1.0.0t, 1.0.1p, 1.0.2d. + +Wed May 18 16:04:54 2016 Nobuyoshi Nakada + + * tool/downloader.rb (Downloader::RubyGems.download): verify gems + only if RubyGems is 2.4 or later. old RubyGems fails to verify + almost all of bundled gems. + +Wed May 18 14:52:38 2016 Nobuyoshi Nakada + + * string.c (rb_str_modify_expand): check integer overflow. + [ruby-core:75592] [Bug #12390] + +Wed May 18 13:11:44 2016 NARUSE, Yui + + * re.c (match_ary_subseq): get subseq of match array without creating + temporary array. + + * re.c (match_ary_aref): get element(s) of match array without creating + temporary array. + + * re.c (match_aref): Use match_ary_subseq with handling irregulars. + + * re.c (match_values_at): Use match_ary_aref. + +Wed May 18 13:03:07 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_x509cert.c (ossl_x509_verify): X509_verify() + family may put errors on 0 return (0 means verification failure). + Clear OpenSSL error queue before return to Ruby. Since the queue is + thread global, remaining errors in the queue can cause an unexpected + error in the next OpenSSL operation. [ruby-core:48284] [Bug #7215] + + * ext/openssl/ossl_x509crl.c (ossl_x509crl_verify): ditto. + + * ext/openssl/ossl_x509req.c (ossl_x509req_verify): ditto. + + * ext/openssl/ossl_x509store.c (ossl_x509stctx_verify): ditto. + + * ext/openssl/ossl_pkey_dh.c (dh_generate): clear the OpenSSL error + queue before re-raising exception. + + * ext/openssl/ossl_pkey_dsa.c (dsa_generate): ditto. + + * ext/openssl/ossl_pkey_rsa.c (rsa_generate): ditto. + + * ext/openssl/ossl_ssl.c (ossl_start_ssl): ditto. + + * test/openssl: check that OpenSSL.errors is empty every time after + running a test case. + +Wed May 18 12:07:42 2016 Kazuki Yamaguchi + + * ext/openssl/ossl.c (ossl_clear_error): Extracted from + ossl_make_error(). This prints errors in the OpenSSL error queue if + OpenSSL.debug is true, and clears the queue. + (ossl_make_error): use ossl_clear_error(). + + * ext/openssl/ossl.h: add prototype declaration of ossl_make_error(). + (OSSL_BIO_reset) use ossl_clear_error() to clear the queue. Clearing + silently makes debugging difficult. + + * ext/openssl/ossl_engine.c (ossl_engine_s_by_id): ditto. + + * ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): ditto. + + * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_verify): ditto. + + * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize): ditto. + + * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_initialize): ditto. + (ossl_ec_group_initialize): ditto. + + * ext/openssl/ossl_ssl.c (ossl_ssl_shutdown): ditto. + +Wed May 18 11:53:49 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): Validate the + arguments before passing to EC_POINT(s)_mul(). Add description of this + method. [ruby-core:65152] [Bug #10268] + + * test/openssl/test_pkey_ec.rb (test_ec_point_mul): Test that + OpenSSL::PKey::EC::Point#mul works. + +Wed May 18 11:19:59 2016 Kazuki Yamaguchi + + * ext/openssl/ossl_bn.c (try_convert_to_bnptr): Extracted from + GetBNPtr(). This doesn't raise exception but returns NULL on error. + (GetBNPtr): Raise TypeError if conversion fails. + (ossl_bn_eq): Implement BN#==. + (ossl_bn_eql): #eql? should not raise TypeError even if the argument + is not compatible with BN. + (ossl_bn_hash): Implement BN#hash. + + * ext/openssl/ossl_bn.c (Init_ossl_bn): Define #== and #hash. + + * test/openssl/test_bn.rb: Test BN#eql?, #== and #hash + +Wed May 18 10:17:41 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (RB_INTEGER_TYPE_P): new macro and + underlying inline function to check if the object is an + Integer (Fixnum or Bignum). + +Wed May 18 09:52:00 2016 Kenta Murata + + * enum.c (enum_sum, hash_sum, hash_sum_i, enum_sum_i, sum_iter): + Optimize for hashes when each method isn't redefined. + +Wed May 18 09:14:00 2016 Kenta Murata + + * enum.c (enum_sum, int_range_sum): Extract int_range_sum from + enum_sum. + +Wed May 18 03:16:06 2016 Nobuyoshi Nakada + + * re.c (match_values_at): fix regression at r55036. + MatchData#values_at accepts Range. + +Wed May 18 02:02:58 2016 NARUSE, Yui + + * re.c (match_aref): remove useless condition and call rb_fix2int. + rb_reg_nth_match handles negative index. + +Wed May 18 01:57:43 2016 NARUSE, Yui + + * re.c (match_values_at): MatchData#values_at supports named captures + [Feature #9179] + + * re.c (namev_to_backref_number): separated. + +Wed May 18 00:05:00 2016 Kenta Murata + + * enum.c (enum_sum): Optimize for a range from int to int. + + * test/ruby/test_enum.rb (test_range_sum): Move from test_range.rb, + and add assertions for some conditions. + + * test/ruby/test_enum.rb (test_hash_sum): Move from test_hash.rb. + + * test/ruby/test_hash.rb, test/ruby/test_range.rb: Remove test_sum. + +Tue May 17 23:08:00 2016 Kenta Murata + + * enum.c (enum_sum): [DOC] Write documentation. + +Tue May 17 22:53:00 2016 Kenta Murata + + * enum.c (enum_sum): Implement Enumerable#sum. + + * test/ruby/test_enum.rb (test_sum): Test sum for Enumerable. + + * test/ruby/test_hash.rb (test_sum): Test sum for Hash. + + * test/ruby/test_range.rb (test_sum): Test sum for Range. + +Tue May 17 22:11:41 2016 Tanaka Akira + + * object.c, numeric.c, enum.c, ext/-test-/bignum/mul.c, + lib/rexml/quickpath.rb, lib/rexml/text.rb, lib/rexml/xpath_parser.rb, + lib/rubygems/specification.rb, lib/uri/generic.rb, + bootstraptest/test_eval.rb, basictest/test.rb, + test/-ext-/bignum/test_big2str.rb, test/-ext-/bignum/test_div.rb, + test/-ext-/bignum/test_mul.rb, test/-ext-/bignum/test_str2big.rb, + test/csv/test_data_converters.rb, test/date/test_date.rb, + test/json/test_json_generate.rb, test/minitest/test_minitest_mock.rb, + test/openssl/test_cipher.rb, test/rexml/test_jaxen.rb, + test/ruby/test_array.rb, test/ruby/test_basicinstructions.rb, + test/ruby/test_bignum.rb, test/ruby/test_case.rb, + test/ruby/test_class.rb, test/ruby/test_complex.rb, + test/ruby/test_enum.rb, test/ruby/test_eval.rb, + test/ruby/test_iseq.rb, test/ruby/test_literal.rb, + test/ruby/test_math.rb, test/ruby/test_module.rb, + test/ruby/test_numeric.rb, test/ruby/test_range.rb, + test/ruby/test_rational.rb, test/ruby/test_refinement.rb, + test/ruby/test_rubyvm.rb, test/ruby/test_struct.rb, + test/ruby/test_variable.rb, test/rubygems/test_gem_specification.rb, + test/thread/test_queue.rb: Use Integer instead of Fixnum and Bignum. + +Tue May 17 15:26:10 2016 Tanaka Akira + + * [Feature #12005] Unify Fixnum and Bignum into Integer + + * include/ruby/ruby.h (rb_class_of): Return rb_cInteger for fixnums. + + * insns.def (INTEGER_REDEFINED_OP_FLAG): Unified from + FIXNUM_REDEFINED_OP_FLAG and BIGNUM_REDEFINED_OP_FLAG. + + * vm_core.h: Ditto. + + * vm_insnhelper.c (opt_eq_func): Use INTEGER_REDEFINED_OP_FLAG instead + of FIXNUM_REDEFINED_OP_FLAG. + + * vm.c (vm_redefinition_check_flag): Use rb_cInteger instead of + rb_cFixnum and rb_cBignum. + (C): Use Integer instead of Fixnum and Bignum. + + * numeric.c (fix_succ): Removed. + (Init_Numeric): Define Fixnum as Integer. + + * bignum.c (bignew): Use rb_cInteger instead of rb_cBignum. + (rb_int_coerce): replaced from rb_big_coerce and return fixnums + as-is. + (Init_Bignum): Define Bignum as Integer. + Don't define ===. + + * error.c (builtin_class_name): Return "Integer" for fixnums. + + * sprintf.c (ruby__sfvextra): Use rb_cInteger instead of rb_cFixnum. + + * ext/-test-/testutil: New directory to test. + Currently it provides utilities for fixnum and bignum. + + * ext/json/generator/generator.c: Define mInteger_to_json. + + * lib/mathn.rb (Fixnum#/): Redefinition removed. + +Tue May 17 11:58:58 2016 Nobuyoshi Nakada + + * configure.in (RUBY_CHECK_BUILTIN_SETJMP): declare t as NORETURN + to suppress warnings by -Wsuggest-attribute=noreturn. + [ruby-core:75510] [Bug #12383] + +Tue May 17 10:40:18 2016 Nobuyoshi Nakada + + * configure.in (RUBY_CHECK_SETJMP): needs the header and proper + arguments for builtin setjmp functions. + +Mon May 16 20:00:30 2016 Martin Duerst + + * enc/unicode.h: Additional uses of ONIG_CASE_MAPPING compilation switch + +Mon May 16 19:46:33 2016 Martin Duerst + + * include/ruby/oniguruma.h: Introducing ONIG_CASE_MAPPING compilation + switch + + * include/ruby/oniguruma.h, enc/unicode.h: Using ONIG_CASE_MAPPING + compilation switch + +Mon May 16 19:29:31 2016 SHIBATA Hiroshi + + * gems/bundled_gems: Update xmlrpc-0.1.1. xmlrpc-0.1.0 didn't allow + to install on 2.4.0dev. + +Mon May 16 13:28:59 2016 Nobuyoshi Nakada + + * configure.in (FUNC_STDCALL, FUNC_CDECL, FUNC_FASTCALL): set + macro names explicitly to the old names, which are accidentally + changed at r54985, for backward compatibilities. + fiddle also depends on these names to fallback to ANSI names. + [ruby-core:75494] [Bug #12377] + +Mon May 16 11:39:02 2016 SHIBATA Hiroshi + + * lib/xmlrpc.rb, lib/xmlrpc/*, test/xmlrpc: XMLRPC is bundled gem + on Ruby 2.4. It is extracted to https://github.com/ruby/xmlrpc + [Feature #12160][ruby-core:74239] + * gems/bundled_gems: ditto. + +Mon May 16 06:06:21 2016 Eric Wong + + * proc.c: fix RDoc of Proc#===/call/yield/[] + [Bug #12332] + +Sun May 15 20:55:31 2016 Masatoshi SEKI + + * lib/drb/timeridconv.rb: don't use keeper thread. [Bug #12342] + + * test/drb/ut_timerholder.rb: ditto. + +Sun May 15 16:15:25 2016 NARUSE, Yui + + * array.c (rb_ary_entry): extract rb_ary_elt to organize if-conditions + and check whether is embedded at once. + +Sun May 15 10:57:26 2016 Nobuyoshi Nakada + + * vm_insnhelper.c (vm_get_ev_const): warn deprecated constant even + in the class context. [ruby-core:75505] [Bug #12382] + +Sun May 15 03:13:01 2016 NARUSE, Yui + + * iseq.h (struct iseq_compile_data): use struct rb_id_table + instead of st_table. + + * iseq.c (prepare_iseq_build): don't allocate ivar_cache_table + until it has at least one element. + + * iseq.c (compile_data_free): free ivar_cache_table only if it + is allocated. + + * compile.c (get_ivar_ic_value): allocate if the table is not + allocated yet. + +Sat May 14 09:04:34 2016 Nobuyoshi Nakada + + * lib/mkmf.rb (pkg_config): use xsystem consistently to set up + library path environment variable as well as latter pkg-config + calls. [ruby-dev:49619] [Bug #12379] + +Sat May 14 00:16:54 2016 Nobuyoshi Nakada + + * random.c (make_seed_value): append leading-zero-guard and get + rid of making a local copy of the seed. + +Fri May 13 08:46:42 2016 cremno + + * NEWS: drop FreeBSD < 4 support. [Fix GH-1339] + The most recent version affected by this is 3.5 and was released + in 2000. + https://www.freebsd.org/releases/3.5R/announce.html + https://en.wikipedia.org/wiki/History_of_FreeBSD#Version_history + +Fri May 13 03:12:09 2016 NARUSE, Yui + + * include/ruby/defines.h (GCC_VERSION_SINCE): moved from internal.h. + +Fri May 13 03:11:20 2016 NARUSE, Yui + + * configure.in (__builtin_constant_p): check. + + * internal.h: Use HAVE_BUILTIN___BUILTIN_CONSTANT_P + +Fri May 13 03:10:39 2016 NARUSE, Yui + + * configure.in: use alternative keyword + to avoid macros conflicts with them. + +Thu May 12 01:54:08 2016 Nobuyoshi Nakada + + * lib/mkmf.rb (try_func): get rid of conflict of declarations of + main(). checking local symbol reference does not make sense. + +Thu May 12 00:18:19 2016 NAKAMURA Usaku + + * win32/Makefile.sub (HAVE_QSORT_S): use qsort_s only for Visual Studio + 2012 or later, because VS2010 seems to causes a SEGV in + test/ruby/test_enum.rb. + +Wed May 11 23:59:47 2016 Masaya Tarui + + * vm_insnhelper.c (vm_getivar): describe fast-path explicit + (compiler friendly). [Bug #12274]. + +Wed May 11 21:30:07 2016 Masaya Tarui + + * compile.c (iseq_compile_each): share InlineCache during same + instance variable accesses. Reducing memory consumption, + rising cache hit rate and rising branch prediction hit rate + are expected. A part of [Bug #12274]. + + * iseq.h (struct iseq_compile_data): introduce instance + variable IC table for sharing. + + * iseq.c (prepare_iseq_build, compile_data_free): + construct/destruct above table. + +Wed May 11 17:18:53 2016 Nobuyoshi Nakada + + * util.c (ruby_qsort): use qsort_s if available, for Microsoft + Visual Studio 2005 (msvcr80.dll) and mingw. + +Wed May 11 10:33:26 2016 Marcus Stollsteimer + + * COPYING: Remove trailing-whitespaces. + [ci skip][fix GH-1348] + +Tue May 10 21:05:45 2016 Benoit Daloze + + * insns.def (defineclass): Also raise an error when redeclaring the + superclass of a class as Object and it has another superclass. + [Bug #12367] [ruby-core:75446] + + * test/ruby/test_class.rb: test for above. + +Tue May 10 14:57:09 2016 Nobuyoshi Nakada + + * random.c (obj_random_bytes): base on bytes method instead of + rand method, not to call toplevel rand method. + +Tue May 10 13:07:28 2016 NARUSE, Yui + + * configure.in (-fexcess-precision=standard): before r54895 -std=c99 + is specified and it implied -fexcess-precision=standard. + Now with -std=gnu99, it should be explicitly specified. + https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html + +Mon May 9 10:51:59 2016 Nobuyoshi Nakada + + * thread.c (rb_thread_atfork_internal): move th to an argument. + + * thread.c (rb_thread_atfork): do not repeat GET_THREAD(). + +Mon May 9 10:46:36 2016 Nobuyoshi Nakada + + * thread.c (rb_thread_atfork, rb_thread_atfork_before_exec): do + nothing unless working fork is available. + + * thread_sync.c (rb_mutex_abandon_all): define only if working + fork is available. + + * thread_sync.c (rb_mutex_abandon_keeping_mutexes): ditto. + + * thread_sync.c (rb_mutex_abandon_locking_mutex): ditto. + + * thread_win32.c (gvl_init): never used. + +Mon May 9 07:18:06 2016 NAKAMURA Usaku + + * include/ruby/{defines,ruby}.h: need to define function attributes + alternatives in defines.h instead of ruby.h, because they are used + in oniguruma.h and the header used without including ruby.h at + encoding library sources. + +Mon May 9 06:30:12 2016 NAKAMURA Usaku + + * include/ruby/ruby.h (CONSTFUNC, PUREFUNC): fixed build errors on + non-gcc build environments introduced at r54952. + +Mon May 9 02:51:51 2016 NARUSE, Yui + + * gc.c (rb_gc_unprotect_logging): throw rb_memerror when it cannot + allocate memory. This is pointed out by Facebook's Infer. + + * gc.c (gc_prof_setup_new_record): ditto. + + * regparse.c (parse_regexp): ditto. + + * util.c (MALLOC): use xmalloc and xfree like above. + +Mon May 9 02:39:16 2016 NARUSE, Yui + + * configure.in: check function attribute const and pure, + and define CONSTFUNC and PUREFUNC if available. + Note that I don't add those options as default because + it still shows many false-positive (it seems not to consider + longjmp). + + * vm_eval.c (stack_check): get rb_thread_t* as an argument + to avoid duplicate call of GET_THREAD(). + +Sun May 8 21:01:14 2016 NARUSE, Yui + + * ext/openssl/extconf.rb: assume it doesn't have SSLv2 related + functions when OPENSSL_NO_SSL2 is defined. + Usually openssl's header and the library (libssl) have the same + set of functions, but on some environment the library has functions + whose headers doesn't declare. (openssl/opensslconf.h and libssl.so + aren't be synchronized) + To detect such case explicitly check feature macro and remove + related functions. + +Sun May 8 18:51:33 2016 Nobuyoshi Nakada + + * file.c (rb_home_dir_of): return the default home path if the + user name is the current user name, on platforms where struct + pwd is not supported. a temporary measure against + [Bug #12226]. + +Sun May 8 08:51:38 2016 NARUSE, Yui + + * configure.in: add -Wsuggest-attribute=format and suppress warnings. + +Sun May 8 08:31:03 2016 NARUSE, Yui + + * configure.in: add -Wsuggest-attribute=noreturn and suppress warnings. + +Sun May 8 08:19:16 2016 NARUSE, Yui + + * configure.in: add -Werror=implicit-int to avoid missing type of + function declaration. + +Sat May 7 22:22:37 2016 SHIBATA Hiroshi + + * lib/webrick/ssl.rb: Accept string value for SSLCertName. It is used + to invoke ssl server with command line. + [fix GH-1329] Patch by @kerlin + * test/webrick/test_ssl_server.rb: Added test for GH-1329 + +Sat May 7 21:55:12 2016 SHIBATA Hiroshi + + * test/webrick/test_ssl_server.rb: Added basic test for `webrick/ssl` + +Sat May 7 16:22:13 2016 Nobuyoshi Nakada + + * random.c (int_pair_to_real_inclusive): optimize to multiply + without Bignum. + +Sat May 7 07:58:02 2016 Nobuyoshi Nakada + + * process.c (rb_exec_getargs): honor the expected argument types + over the conversion method. the basic language functionality + should be robust. [ruby-core:75388] [Bug #12355] + +Fri May 6 08:16:26 2016 David Silva + + * enum.c (enum_find): [DOC] add more examples to the documentation + of Enumerable#detect, to show that it equals to Enumerable#find. + [Fix GH-1340] + +Thu May 5 18:08:31 2016 Yuichiro Kaneko + + * test/ruby/test_complexrational.rb: Remove duplicated raise. + +Thu May 5 14:41:05 2016 Yuichiro Kaneko + + * string.c (rb_str_sub): Fix a special match variable name. + [ci skip] + +Thu May 5 12:22:17 2016 Nobuyoshi Nakada + + * vm_eval.c (rb_eval_cmd, rb_catch_obj): use TH_JUMP_TAG with the + same rb_thread_t used for TH_PUSH_TAG, instead of JUMP_TAG with + the current thread global variable. + +Thu May 5 10:49:33 2016 Nobuyoshi Nakada + + * random.c (fill_random_bytes_syscall): use arc4random_buf if + available. + +Wed May 4 23:13:58 2016 Yuichiro Kaneko + + * numeric.c (fix_plus): Remove rb_nucomp_add prototype + declaration. + + * numeric.c (fix_mul): Remove rb_nucomp_mul prototype + declaration. + + * internal.h (rb_nucomp_add, rb_nucomp_mul): add prototype + declarations. + +Wed May 4 18:38:00 2016 Kazuki Tsujimoto + + * lib/net/http/header.rb (Net::HTTPHeader#{each_header,each_name, + each_capitalized_name,each_value,each_capitalized}): Return + sized enumerators. + + * test/net/http/test_httpheader.rb: add test for above. + +Wed May 4 17:53:15 2016 Kazuki Tsujimoto + + * lib/set.rb (Set#{delete_if,keep_if,collect!,reject!,select!,classify,divide}, + SortedSet#{delete_if,keep_if}): Return sized enumerators. + + * test/test_set.rb: add test for above. + +Tue May 3 23:25:48 2016 Kazuhiro NISHIYAMA + + * numeric.c: [DOC] Update result of 123456789 ** -2. + [ruby-dev:49606] [Bug #12339] + +Tue May 3 23:13:16 2016 Yuichiro Kaneko + + * internal.h (RCOMPLEX_SET_IMAG): undef RCOMPLEX_SET_IMAG + instead of duplicated undef RCOMPLEX_SET_REAL. + +Tue May 3 22:55:07 2016 Yuichiro Kaneko + + * complex.c (rb_complex_set_imag): Fix to properly set imag + of complex. + +Tue May 3 22:19:55 2016 NARUSE, Yui + + * configure.in (warnflags): use -std=gnu99 instead of + -std=iso9899:1999. [Feature #12336] + +Tue May 3 22:10:09 2016 NARUSE, Yui + + * string.c (count_utf8_lead_bytes_with_word): Use __builtin_popcount + only if it can use SSE 4.2 POPCNT whose latency is 3 cycle. + + * internal.h (rb_popcount64): use __builtin_popcountll because now + it is in fast path. + +Tue May 3 14:19:18 2016 Nobuyoshi Nakada + + * parse.y (new_if_gen): set newline flag to NODE_IF to trace all + if/elsif statements. [ruby-core:67720] [Bug #10763] + +Tue May 3 05:35:54 2016 Eric Wong + + * process.c (disable_child_handler_fork_child): + initialize handler for SIGPIPE for !POSIX_SIGNAL + +Mon May 2 23:03:42 2016 NAKAMURA Usaku + + * win32/win32.c, include/ruby/win32.h (rb_w32_utruncate): implements new + truncate alternative which accepts UTF-8 path. + + * file.c (truncate): use above function. + [Bug #12340] + +Mon May 2 20:59:21 2016 NARUSE, Yui + + * re.c (str_coderange): to avoid function call when the string already + has coderange information. + + * re.c (rb_reg_prepare_enc): add shortcut path when the regexp has + the same encoding of given string. + + * re.c (rb_reg_prepare_re): avoid duplicated allocation of + onig_errmsg_buffer. + + +Mon May 2 12:34:52 2016 Tanaka Akira + + * test/ruby/test_refinement.rb (test_inspect): Use Integer instead of + Fixnum. + +Mon May 2 06:58:38 2016 Tanaka Akira + + * complex.c: Don't refer rb_cFixnum and rb_cBignum. + (k_fixnum_p): Use FIXNUM_P. + (k_bignum_p): Use RB_TYPE_P. + +Mon May 2 01:27:59 2016 Tanaka Akira + + * test/ruby/test_numeric.rb (test_step): Use Integer::FIXNUM_MAX. + +Mon May 2 01:15:01 2016 Tanaka Akira + + * test/ruby/test_module.rb (test_name): Use Integer instead of Fixnum. + +Mon May 2 01:00:04 2016 Tanaka Akira + + * test/lib/test/unit/assertions.rb (assert_fixnum): Defined. + (assert_bignum): Defined. + + * test/ruby/test_bignum.rb: Use assert_bignum. + + * test/ruby/test_integer_comb.rb: Use assert_fixnum and assert_bignum. + + * test/ruby/test_optimization.rb: Ditto. + +Mon May 2 00:41:53 2016 Tanaka Akira + + * vm_trace.c (recalc_remove_ruby_vm_event_flags): Add a cast to + avoid signed integer overflow. + +Mon May 2 00:06:04 2016 Tanaka Akira + + * test/lib/envutil.rb: Define Integer::{FIXNUM_MIN,FIXNUM_MAX}. + + * test/ruby/test_bignum.rb: Use Integer::{FIXNUM_MIN,FIXNUM_MAX}. + + * test/ruby/test_bignum.rb: Ditto. + + * test/ruby/test_integer_comb.rb: Ditto. + + * test/ruby/test_marshal.rb: Ditto. + + * test/ruby/test_optimization.rb: Ditto. + +Sun May 1 23:59:59 2016 Kenta Murata + + * array.c (rb_ary_sum): fix for mathn + + * test/ruby/test_array.rb (test_sum): ditto. + +Sun May 1 23:51:54 2016 NAKAMURA Usaku + + * test/lib/test/unit.rb (Options#non_options): fixed wrong regexp. + if both positives and negatives were specified, positives had to + be specified from the beginning. + +Sun May 1 21:00:07 2016 NAKAMURA Usaku + + * win32/win32.c: drop Win2K support. + +Sun May 1 20:39:47 2016 NAKAMURA Usaku + + * cont.c, hash.c, random.c, win32/win32.c: cleanup some Win9x/ME/NT4 + support leftovers. + [fix GH-1328] patched by @cremno + +Sun May 1 07:30:44 2016 NARUSE, Yui + + * string.c (search_nonascii): use nlz on big endian environments. + + * internal.h (nlz_intptr): defined. + +Sun May 1 00:03:30 2016 NARUSE, Yui + + * configure.in (__builtin_ctz): check. + + * configure.in (__builtin_ctzll): check. + + * internal.h (rb_popcount32): defined for ntz_int32. + it can use __builtin_popcount but this function is not used on + GCC environment because it uses __builtin_ctz. + When another function uses this, using __builtin_popcount + should be re-considered. + + * internal.h (rb_popcount64): ditto. + + * internal.h (ntz_int32): defined for ntz_intptr. + + * internal.h (ntz_int64): defined for ntz_intptr. + + * internal.h (ntz_intptr): defined as ntz for uintptr_t. + + * string.c (search_nonascii): unroll and use ntz. + +Sat Apr 30 21:54:13 2016 Tanaka Akira + + * numeric.c (Init_Numeric): Gather Fixnum method definitions. + +Sat Apr 30 21:28:14 2016 Tanaka Akira + + * numeric.c (rb_int_div): Define Integer#/. + + * bignum.c (rb_big_div): Don't define Bignum#/. + + * lib/mathn.rb (Integer#/): Replace Integer#/ instead of Bignum#/. + +Sat Apr 30 21:11:08 2016 Tanaka Akira + + * numeric.c (rb_int_plus): Define Integer#+. + + * bignum.c (rb_big_plus): Don't define Bignum#+. + +Sat Apr 30 21:01:20 2016 Tanaka Akira + + * numeric.c (rb_int_minus): Define Integer#-. + + * bignum.c (rb_big_minus): Don't define Bignum#-. + +Sat Apr 30 20:53:33 2016 Tanaka Akira + + * numeric.c (rb_int_mul): Define Integer#*. + + * bignum.c (rb_big_mul): Don't define Bignum#*. + +Sat Apr 30 20:30:44 2016 Tanaka Akira + + * numeric.c (rb_int_modulo): Define Integer#%. + + * bignum.c (rb_big_modulo): Don't define Bignum#%. + +Sat Apr 30 20:17:08 2016 Tanaka Akira + + * numeric.c (int_equal): Define Integer#==. + + * bignum.c (rb_big_eq): Don't define Bignum#==. + +Sat Apr 30 19:41:15 2016 Tanaka Akira + + * numeric.c (int_gt): Define Integer#>. + + * bignum.c (rb_big_gt): Don't define Bignum#>. + Renamed from big_gt. + + * internal.h (rb_big_gt): Declared. + +Sat Apr 30 19:24:40 2016 Tanaka Akira + + * numeric.c (int_ge): Define Integer#>=. + + * bignum.c (rb_big_ge): Don't define Bignum#>=. + Renamed from big_ge. + + * internal.h (rb_big_ge): Declared. + +Sat Apr 30 19:20:40 2016 SHIBATA Hiroshi + + * doc/standard_library.rdoc: Remove obsoleted classes and modules. + +Sat Apr 30 19:09:23 2016 Tanaka Akira + + * numeric.c (int_lt): Define Integer#<. + + * bignum.c (rb_big_lt): Don't define Bignum#<. + Renamed from big_lt. + + * internal.h (rb_big_lt): Declared. + +Sat Apr 30 18:44:05 2016 Tanaka Akira + + * numeric.c (int_le): Define Integer#<=. + + * bignum.c (rb_big_le): Don't define Bignum#<=. + Renamed from big_le. + + * internal.h (rb_big_le): Declared. + +Sat Apr 30 18:11:44 2016 Tanaka Akira + + * bignum.c (Init_Bignum): Define Integer::GMP_VERSION. + +Sat Apr 30 16:58:18 2016 Tanaka Akira + + * numeric.c (int_remainder): Define Integer#remainder. + + * bignum.c (rb_big_remainder): Don't define Bignum#remainder. + + * internal.h (rb_big_remainder): Declared. + +Sat Apr 30 15:29:24 2016 Tanaka Akira + + * numeric.c (rb_int_uminus): {Fixnum,Bignum}#-@ is unified into + Integer. + + * bignum.c (rb_big_uminus): Don't define Bignum#-@. + +Sat Apr 30 14:42:20 2016 Tanaka Akira + + * numeric.c (rb_int_idiv): {Fixnum,Bignum}#div is unified into + Integer. + + * bignum.c (rb_big_idiv): Don't define Bignum#div. + +Sat Apr 30 14:25:55 2016 Tanaka Akira + + * numeric.c (rb_int_modulo): {Fixnum,Bignum}#modulo is unified into + Integer. + + * bignum.c (rb_big_modulo): Don't define Bignum#modulo. + +Sat Apr 30 14:04:30 2016 Tanaka Akira + + * numeric.c (int_divmod): {Fixnum,Bignum}#divmod is unified into + Integer. + + * bignum.c (rb_big_divmod): Don't define Bignum#divmod. + +Sat Apr 30 13:20:00 2016 Tanaka Akira + + * numeric.c (int_fdiv): {Fixnum,Bignum}#fdiv is unified into + Integer. + + * bignum.c (rb_big_fdiv): Don't define Bignum#fdiv. + +Sat Apr 30 12:25:43 2016 Tanaka Akira + + * numeric.c (rb_int_pow): {Fixnum,Bignum}#** is unified into + Integer. + + * bignum.c (rb_big_pow): Don't define Bignum#**. + +Sat Apr 30 12:28:59 2016 Tanaka Akira + + * bignum.c (rb_big_comp): Renamed from rb_big_neg. + + * numeric.c (fix_comp): Renamed from fix_rev. + +Sat Apr 30 12:25:43 2016 Tanaka Akira + + * numeric.c (int_comp): {Fixnum,Bignum}#~ is unified into + Integer. + + * bignum.c (rb_big_neg): Don't define Bignum#~. + + * internal.h (rb_big_neg): Declared. + +Sat Apr 30 12:07:42 2016 Tanaka Akira + + * numeric.c (int_and): {Fixnum,Bignum}#& is unified into + Integer. + + * bignum.c (rb_big_and): Don't define Bignum#&. + +Sat Apr 30 11:56:15 2016 Nobuyoshi Nakada + + * ext/thread: removed dummy extension library. thread_sync.c + provides "thread.rb" already. + +Sat Apr 30 11:53:48 2016 Tanaka Akira + + * numeric.c (int_or): {Fixnum,Bignum}#| is unified into + Integer. + + * bignum.c (rb_big_or): Don't define Bignum#|. + +Sat Apr 30 11:18:47 2016 Yuichiro Kaneko + + * vm_trace.c: Fix typos. [ci skip] + +Sat Apr 30 10:09:04 2016 Nobuyoshi Nakada + + * ext/pty/pty.c (establishShell): honor USER environment variable + and login name over uid, one uid can be shared by some login + names. + +Fri Apr 29 22:40:28 2016 Nobuyoshi Nakada + + * doc/maintainers.rdoc (ext/io/nonblock): still maintained, as + well as ext/io/wait, which is the origin. + +Fri Apr 29 21:18:12 2016 NAKAMURA Usaku + + * doc/maintainers.rdoc (ext/win32): of course, it's still maintained. + +Fri Apr 29 21:03:10 2016 SHIBATA Hiroshi + + * gems/bundled_gems: Update latest gems, test-unit-3.1.8 and rake-11.1.2. + +Fri Apr 29 20:43:02 2016 SHIBATA Hiroshi + + * doc/maintainers.rdoc: Update latest maintainers list on Ruby 2.4 + +Fri Apr 29 19:52:45 2016 SHIBATA Hiroshi + + * doc/maintainers.rdoc: Removed deprecated entries. These are already deleted. + +Fri Apr 29 19:48:45 2016 SHIBATA Hiroshi + + * doc/maintainers.rdoc: Removed Ruby 1.8 entries. It's not necessary to + Ruby 2.4 or later. + +Thu Apr 28 17:03:17 2016 Nicholas Maccharoli + + * hash.c (rb_hash_update_{block,func}_callback): dry up hash + update callback code. [Fix GH-1338] + +Thu Apr 28 16:52:05 2016 NARUSE, Yui + + * re.c (rb_reg_prepare_enc): use rb_enc_asciicompat(enc) instead of + rb_enc_str_asciicompat_p(str) to avoid useless rb_enc_get(str) call. + +Thu Apr 28 16:33:41 2016 Nobuyoshi Nakada + + * lib/optparse.rb: [DOC] fix example code. base on the code by + Semyon Gaivoronskiy in [ruby-core:75224]. [Bug #12323] + +Thu Apr 28 09:33:03 2016 SHIBATA Hiroshi + + * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.4. + Please see entries of 2.6.4 on + https://github.com/rubygems/rubygems/blob/master/History.txt + +Thu Apr 28 04:49:07 2016 Rei Odaira + + * configure.in (rb_cv_lgamma_r_pm0): check if lgamma_r(+0.0) + returns positive infinity, in addition to lgamma_r(-0.0). + AIX returns an incorrect result of negative infinity. + + * math.c (ruby_lgamma_r): handle +0.0, in addition to -0.0. + +Thu Apr 28 01:11:14 2016 NARUSE, Yui + + * time.c: define _DEFAULT_SOURCE because glibc 2.20 deprecates + _BSD_SOURCE. + https://sourceware.org/glibc/wiki/Release/2.20 + +Thu Apr 28 00:27:55 2016 Tanaka Akira + + * numeric.c (int_xor): {Fixnum,Bignum}#^ is unified into + Integer. + + * bignum.c (rb_big_xor): Don't define Bignum#^. + +Wed Apr 27 20:53:59 2016 Tanaka Akira + + * numeric.c (int_aref): {Fixnum,Bignum}#[] is unified into + Integer. + + * bignum.c (rb_big_aref): Don't define Bignum#<<. + + * internal.h (rb_big_aref): Declared. + +Wed Apr 27 16:10:35 2016 NARUSE, Yui + + * tool/instruction.rb: fix to follow current implementation. + +Wed Apr 27 15:47:54 2016 Nobuyoshi Nakada + + * ext/stringio/stringio.c (strio_s_new): warn if a block is given, + as well as IO.new. + +Wed Apr 27 14:29:47 2016 Nobuyoshi Nakada + + * error.c (ruby_only_for_internal_use): raise fatal error when + deprecated function only for internal use is called, not just a + warning. + +Tue Apr 26 23:42:30 2016 NAKAMURA Usaku + + * tool/redmine-backporter.rb (rel): should not raise exceptions even if + the user input is wrong. only reports the error and continue process. + +Tue Apr 26 23:35:23 2016 Nobuyoshi Nakada + + * ruby.c (process_options): convert -e script to the encoding + given by a command line option on Windows. assume it is the + expected encoding. [ruby-dev:49461] [Bug #11900] + +Tue Apr 26 21:11:02 2016 Tanaka Akira + + * numeric.c (rb_int_lshift): {Fixnum,Bignum}#<< is unified into + Integer. + + * bignum.c (rb_big_lshift): Don't define Bignum#<<. + +Tue Apr 26 20:59:40 2016 Tanaka Akira + + * numeric.c (rb_int_rshift): {Fixnum,Bignum}#>> is unified into + Integer. + + * bignum.c (rb_big_rshift): Don't define Bignum#>>. + +Tue Apr 26 20:46:16 2016 Tanaka Akira + + * numeric.c (int_size): {Fixnum,Bignum}#size is unified into Integer. + + * bignum.c (rb_big_size_m): Don't define Bignum#size. + + * internal.h (rb_big_size_m): Declared. + +Tue Apr 26 20:09:08 2016 Tanaka Akira + + * numeric.c (rb_int_bit_length): {Fixnum,Bignum}#bit_length is + unified into Integer. + + * bignum.c (rb_big_bit_length): Don't define Bignum#bit_length. + + * internal.h (rb_big_bit_length): Declared. + +Tue Apr 26 19:56:16 2016 Tanaka Akira + + * numeric.c (int_abs): Integer#{abs,magnitude} moved from + Fixnum and Bignum. + + * bignum.c (rb_big_abs): Don't define Bignum#{abs,magnitude}. + + * internal.h (rb_big_abs): Declared. + +Mon Apr 25 14:39:11 2016 Nobuyoshi Nakada + + * ext/rbconfig/sizeof/extconf.rb: just check the existence of each + types, to reduce configuration time, especially cross-compiling. + + * template/sizes.c.tmpl: calculate sizes of checked types at + compilation time. + +Mon Apr 25 11:27:27 2016 Marcus Stollsteimer + + * doc/extension.rdoc: Improvements to english grammars. + [Bug #12246][ruby-core:74792][ci skip] + +Mon Apr 25 11:17:50 2016 Marcus Stollsteimer + + * encoding.c: Fix return value of `Encoding::ISO8859_1.name` + [Bug #12313][ruby-core:75147][ci skip] + * ext/bigdecimal/bigdecimal.c: Fix code sample of `BigDecimal.new` + +Sun Apr 24 23:29:16 2016 Rei Odaira + + * configure.in: add missing -lm for AIX. + +Sun Apr 24 18:33:58 2016 Kazuki Tsujimoto + + * vm_insnhelper.c (INLINE): disable r54738 if __NO_INLINE__ is defined. + It caused "undefined reference to `vm_getivar'". + +Sun Apr 24 09:32:12 2016 Yuichiro Kaneko + + * test/ruby/test_array.rb: Add test cases for Array#sum with + non-numeric objects. + +Sun Apr 24 04:21:27 2016 NARUSE, Yui + + * vm_insnhelper.c (INLINE): define as `inline` when it is optimized. + define as `static inline` when it is not optimized to keep + the symbol generated. + + * vm_insnhelper.c (vm_getivar): use `INLINE` to force inline + so that a compiler inlines it into vm_getinstancevariable + and optimizes out is_attr and related branches. + + * vm_insnhelper.c (vm_getivar): use `inline` to recommend inline. + Without this vm1_ivar_set is degraded. + + benchmark results: + minimum results in each 5 measurements. + Execution time (sec) + name ruby 2.4.0dev (2016-04-23 trunk 54727) [x86_64-linux] ruby 2.4.0dev (2016-04-23 trunk 54733) [x86_64-linux] built-ruby + loop_whileloop 0.641 0.642 0.646 + vm1_ivar* 1.002 0.999 0.831 + vm1_ivar_set* 0.369 1.106 0.362 + + Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23 + trunk 54727) [x86_64-linux]' (greater is better) + name ruby 2.4.0dev (2016-04-23 trunk 54733) [x86_64-linux] + built-ruby + loop_whileloop + 0.998 0.991 + vm1_ivar* + 1.003 1.205 + vm1_ivar_set* + 0.334 1.018 + +Sat Apr 23 18:01:21 2016 NARUSE, Yui + + * vm_insnhelper.c (vm_getivar): specify inline instead of static inline. + vm_getivar is called by vm_call_ivar and vm_getinstancevariable. + At least with GCC 4.8 and 5.3 on Linux, they are inlining it into + vm_call_ivar but not vm_getinstancevariable. + By `inline`, they correctly inline it and gains performance. + + Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23 + trunk 54727) [x86_64-linux]' (greater is better) + name built-ruby + loop_whileloop 1.001 + vm1_ivar* 1.189 + vm1_ivar_set* 1.024 + + Note the `inline`'s meaning is different between old GCC + and C99. Old GCC's inline means C99's extern inline. + https://gcc.gnu.org/onlinedocs/gcc/Inline.html + Since Ruby specify -std=iso9899:1999, it works like C99. + +Sat Apr 23 16:11:39 2016 NARUSE, Yui + + * include/ruby/ruby.h (rb_mul_size_overflow): use UNLIKELY + by user side to improve generality. + +Sat Apr 23 16:10:02 2016 NARUSE, Yui + + * include/ruby/ruby.h (RB_LIKELY): use prefix in ruby.h. + + * intern.h (LIKELY): define with RB_LIKELY. + +Sat Apr 23 13:27:25 2016 Yuichiro Kaneko + + * NEWS: Add descriptions for Time#to_time updates. + [Bug #12271] + +Sat Apr 23 13:21:24 2016 Yuichiro Kaneko + + * NEWS: Add descriptions for DateTime#to_time updates. + [Bug #12189] + +Sat Apr 23 11:21:27 2016 Marcus Stollsteimer + + * ext/date/date_core.c (Init_date_core): [DOC] Convert DateTime + documentation to RDoc from Markdown. + [ruby-core:75136] [Bug #12311] + +Sat Apr 23 09:03:35 2016 Nobuyoshi Nakada + + * ruby.c: cygwin does not use w32_cmdvector, command line can be + other than UTF-8. [ruby-dev:49519] [Bug #12184] + +Sat Apr 23 01:00:03 2016 Rei Odaira + + * configure.in: don't use the system-provided round(3) on AIX. + In AIX, round(0.49999999999999994) returns 1.0. + Use round() in numeric.c instead. + +Fri Apr 22 21:00:44 2016 Tanaka Akira + + * test/ruby/test_time_tz.rb: Tests depends on Europe/Moscow removed + to avoid test failures due to the tzdata change. + https://github.com/eggert/tz/commit/8ee11a301cf173afb0c76e0315b9f9ec8ebb9d95 + Found by naruse. + +Fri Apr 22 20:18:40 2016 NARUSE, Yui + + * include/ruby/ruby.h (rb_mul_size_overflow): added to handle + mul overflow efficiently. + + * include/ruby/ruby.h (rb_alloc_tmp_buffer2): use rb_mul_size_overflow + and avoid division where it can define DSIZE_T. + + * gc.c (xmalloc2_size): moved from ruby.h and use rb_mul_size_overflow. + +Fri Apr 22 20:34:04 2016 Nobuyoshi Nakada + + * time.c (time_asctime): [DOC] add ctime example, not only + asctime. [ruby-core:75126] [Bug #12310] + +Fri Apr 22 18:44:32 2016 NARUSE, Yui + + * variable.c: use uint32_t instead of long to avoid confusion about + the type of ivtbl->numiv. + +Fri Apr 22 15:09:27 2016 Nobuyoshi Nakada + + * eval_jump.c (exec_end_procs_chain): restore previous error info + for each end procs. [ruby-core:75038] [Bug #12302] + +Fri Apr 22 15:04:56 2016 NAKAMURA Usaku + + * tool/redmine-backporter.rb: the fullpath of merger.rb is too long to + copy&paste on Windows. show shorter name instead on the platform. + I'm sure that the user of this command on Windows is only me. + +Fri Apr 22 14:52:04 2016 NAKAMURA Usaku + + * tool/merger.rb: remove temporary file. + +Fri Apr 22 11:27:03 2016 SHIBATA Hiroshi + + * lib/net/http.rb: Improve documentation for SSL requests via GET method. + [fix GH-1325][ci skip] Patch by @jsyeo + +Fri Apr 22 10:51:13 2016 SHIBATA Hiroshi + + * lib/webrick/ssl.rb: Support to add SSLCiphers option. + [fix GH-1321] Patch by @rhadoo + +Fri Apr 22 10:43:19 2016 SHIBATA Hiroshi + + * file.c, win32/file.c: Removed obsoleted safe level checks. + [fix GH-1327] Patch by @cremno + +Fri Apr 22 10:01:48 2016 SHIBATA Hiroshi + + * benchmark/bm_so_meteor_contest.rb: fix a typo. + [fix GH-1330][ci skip] Patch by @sachin21 + +Fri Apr 22 04:57:01 2016 NARUSE, Yui + + * gc.c (rb_alloc_tmp_buffer_with_count): added like xmalloc2 to + avoid duplicated check of size. + + * gc.c (ruby_xmalloc2): added to keep separate layers. + + * include/ruby/ruby.h (rb_alloc_tmp_buffer2): added to check + the size more statically. + +Fri Apr 22 04:54:40 2016 NARUSE, Yui + + * include/ruby/ruby.h (LIKELY): moved from internal.h. + + * include/ruby/ruby.h (UNLIKELY): ditto. + +Thu Apr 21 01:44:19 2016 NARUSE, Yui + + * gc.c (objspace_malloc_prepare): remove size check because it is + used by objspace_xmalloc and objspace_xcalloc. + objspace_xmalloc introduces its own check in this commit. + objspace_xcalloc checks with xmalloc2_size (ruby_xmalloc2_size). + + * gc.c (objspace_xmalloc0): common xmalloc function. + + * gc.c (objspace_xmalloc): introduce its own size check. + + * gc.c (objspace_xmalloc2): separated from ruby_xmalloc2 to clarify + the layer who has the responsibility to check the size. + + * gc.c (objspace_xrealloc): remove duplicated size check. + + * gc.c (ruby_xmalloc2): use objspace_xmalloc2. + + * include/ruby/ruby.h (ruby_xmalloc2_size): follow the size limit + as SSIZE_MAX. Note that ISO C says size_t is unsigned integer. + +Thu Apr 21 12:14:04 2016 Nobuyoshi Nakada + + * configure.in: check if succeeded in creating config.h. + + * tool/ifchange: ignore failures when TEST_COLORS unmatched. just + use the default value if expected name is not contained in it. + [ruby-core:75046] [Bug #12303] + +Wed Apr 20 17:33:31 2016 Nobuyoshi Nakada + + * ext/cgi/escape/escape.c (cgiesc_unescape): define unescape + method instead of _unescape, and should pass the optional + argument to the super method. + + * lib/cgi/util.rb (CGI::Util#_unescape): remove intermediate + method. + +Wed Apr 20 15:52:28 2016 Nobuyoshi Nakada + + * error.c (syntax_error_initialize): move the default message, + "compile error", from parse.y. the default parameter should + belong to the class definition. + + * parse.y (yycompile0): use the default parameter. + +Wed Apr 20 10:25:53 2016 Nobuyoshi Nakada + + * compile.c (append_compile_error): use rb_syntax_error_append. + + * error.c (rb_syntax_error_append): append messages into a + SyntaxError exception instance. + + * parse.y (yycompile0): make new SyntaxError instance in main + mode, otherwise error_buffer should be a SyntaxError if error + has occurred. + +Tue Apr 19 17:42:47 2016 Nobuyoshi Nakada + + * error.c (err_vcatf): rename, and separate appending message from + creating a string buffer. + + * error.c (rb_syntax_error_append): merge rb_error_vsprintf and + rb_compile_err_append. + + * parse.y (parser_compile_error): use rb_syntax_error_append. + +Tue Apr 19 13:46:19 2016 Nobuyoshi Nakada + + * compile.c (append_compile_error, compile_bug): pass iseq and get + error info and file from it, not by the thread error info. + + * error.c (rb_report_bug_valist): take va_list instead of variadic + arguments, and just report the bug but not abort. + +Tue Apr 19 13:18:12 2016 Naotoshi Seo + + * lib/time.rb: revert r54167 because it would break + backward compatibilities, and it is documented that + Time.parse does not take into account time zone + abbreations other than ones described in RFC 822 + +Tue Apr 19 13:12:03 2016 Naotoshi Seo + + * ChangeLog: Fix dates of previous commits + +Tue Apr 19 12:45:03 2016 Naotoshi Seo + + * ChangeLog: Add descriptions for logger updates + * NEWS: Add descriptions for logger updates + +Tue Apr 19 12:45:02 2016 Naotoshi Seo + + * lib/logger.rb: Add shift_period_suffix option + +Tue Apr 19 12:45:01 2016 Naotoshi Seo + + * lib/logger.rb: Allow specifying logger parameters in constructor + such as level, progname, datetime_format, formatter. + +Mon Apr 18 16:07:01 2016 Nobuyoshi Nakada + + * compile.c (iseq_peephole_optimize): should not replace the + current target INSN, not to follow the replaced dangling link in + the caller. [ruby-core:74993] [Bug #11816] + +Mon Apr 18 12:56:31 2016 Nobuyoshi Nakada + + * numeric.c (flo_truncate): add an optional parameter, digits, as + well as Float#round. [Feature #12245] + + * numeric.c (int_truncate): add an optional parameter, digits, as + well as Integer#round. [Feature #12245] + +Sun Apr 17 04:18:56 2016 CHIKANAGA Tomoyuki + + * tool/redmine-backporter.rb: revisions are strings. + +Sat Apr 16 14:26:49 2016 Yuichiro Kaneko + + * ext/date/date_core.c : remove not used f_getlocal macro. + After r54553 f_getlocal macro is not used. + +Sat Apr 16 14:15:24 2016 Yuichiro Kaneko + + * ext/date/date_core.c : remove not used f_utc6 macro. + After r54169 f_utc6 macro is not used. + +Sat Apr 16 10:00:11 2016 Nobuyoshi Nakada + + * struct.c (struct_make_members_list, rb_struct_s_def): member + names should be unique. [ruby-core:74971] [Bug #12291] + + * struct.c (struct_make_members_list): extract making member name + list from char* va_list, with creating symbols without + intermediate IDs. + +Sat Apr 16 01:33:27 2016 CHIKANAGA Tomoyuki + + * tool/redmine-backporter.rb: sort revisions. + +Sat Apr 16 01:16:02 2016 Tanaka Akira + + * array.c (rb_ary_sum): Don't yield same element twice. + Found by nagachika. + +Sat Apr 16 01:03:32 2016 Tanaka Akira + + * array.c (rb_ary_sum): Fix SEGV by [1/2r, 1].sum. + +Fri Apr 15 23:52:00 2016 Kenta Murata + + * rational.c (rb_rational_plus): rename from rb_rational_add + to be aligned with rb_fix_plus. + + * array.c (rb_ary_sum): ditto. + + * internal.h: ditto. + +Fri Apr 15 23:42:00 2016 Kenta Murata + + * rational.c (rb_rational_add): rename from nurat_add. + + * array.c (rb_ary_sum): use rb_rational_add directly. + + * test/ruby/test_array.rb (test_sum): add assertions for an array of + Rational values. + +Fri Apr 15 22:31:00 2016 Kenta Murata + + * array.c (rb_ary_sum): apply the precision compensated algorithm + for an array in which Rational and Float values are mixed. + + * test/ruby/test_array.rb (test_sum): add assertions for the above + change. + +Fri Apr 15 22:30:01 2016 Nobuyoshi Nakada + + * thread.c (rb_thread_setname): defer setting native thread name + set in initialize until the native thread is created. + [ruby-core:74963] [Bug #12290] + +Fri Apr 15 20:27:16 2016 SHIBATA Hiroshi + + * lib/irb/ext/save-history.rb: Fix NoMethodError when method is not defined. + +Fri Apr 15 15:38:58 2016 NARUSE, Yui + + * common.mk (benchmark): order options for built-ruby and compare-ruby. + +Fri Apr 15 14:14:00 2016 Kenta Murata + + * test/ruby/test_array.rb (test_sum): add assertions for Rational and + Complex numbers. + +Fri Apr 15 10:07:11 2016 Nobuyoshi Nakada + + * ext/io/console/console.c (console_key_pressed_p): raise the same + exception, "unknown virtual key code", for names with nul chars. + though console_win32_vk() considers the length and can deal with + nul chars, rb_sprintf() raised at PRIsVALUE previously, so quote + it if it is unprintable. + +Fri Apr 15 09:02:58 2016 Nobuyoshi Nakada + + * ext/io/console/console.c (rb_sym2str): fallback definition for + older ruby. [ruby-core:74953] [Bug #12284] + +Thu Apr 14 21:46:36 2016 Tanaka Akira + + * array.c (rb_ary_sum): Support the optional argument, init, and + block. + +Thu Apr 14 19:02:41 2016 NARUSE, Yui + + * lib/irb/ext/save-history.rb: suppress warning: method redefined; + discarding old save_history=. + +Thu Apr 14 14:58:14 2016 Nobuyoshi Nakada + + * ext/tk/tkutil/tkutil.c (tk_hash_kv): the third argument can be + nil not only an Array. reported by @windwiny at + https://github.com/ruby/ruby/commit/cdaa94e#commitcomment-17096618 + +Thu Apr 14 14:28:55 2016 cremno phobia + + * cont.c (fiber_initialize_machine_stack_context): fix wrong + _MSC_VER check, should be decimal but not hexadecimal. + [ruby-core:74936] [Bug #12279] + +Wed Apr 13 22:51:38 2016 Tanaka Akira + + * array.c (rb_ary_sum): Array#sum is implemented. + Kahan's compensated summation algorithm for precise sum of float + numbers is moved from ary_inject_op in enum.c. + + * enum.c (ary_inject_op): Don't specialize for float numbers. + + [ruby-core:74569] [Feature #12217] proposed by mrkn. + +Wed Apr 13 15:56:35 2016 Nobuyoshi Nakada + + * numeric.c (flo_ceil): add an optional parameter, digits, as + well as Float#round. [Feature #12245] + + * numeric.c (flo_floor): add an optional parameter, digits, as + well as Float#round. [Feature #12245] + + * numeric.c (int_ceil): add an optional parameter, digits, as + well as Integer#round. [Feature #12245] + + * numeric.c (int_floor): add an optional parameter, digits, as + well as Integer#round. [Feature #12245] + +Wed Apr 13 14:47:47 2016 Nobuyoshi Nakada + + * file.c (Init_File): add alias File.empty? to File.zero?. + [Feature #9969] + +Wed Apr 13 14:36:24 2016 Nobuyoshi Nakada + + * parse.y (assign_in_cond): allow multiple assignment in + conditional expression. [Feature #10617] + +Wed Apr 13 14:11:59 2016 Nobuyoshi Nakada + + * bignum.c (rb_big_size): add wrapper function of BIGSIZE and + rename the method function with _m suffix. + + * numeric.c (int_round_zero_p): extracted from rb_int_round. + optimize for Bignum, and convert VALUE returned by Numeric#size + to long. + +Wed Apr 13 12:00:08 2016 Koichi Sasada + + * test/ruby/test_basicinstructions.rb: add a test to check access + instance variables on special const objects. + + All of such objects are frozen, so that we can not set instance + variables for them. But we can read instance variables and return + default value (nil). + +Tue Apr 12 20:40:35 2016 Kaneko Yuichiro + + * ext/date/date_core.c (time_to_time): should preserve timezone + info. [ruby-core:74889] [Bug #12271] + +Tue Apr 12 11:51:18 2016 Nobuyoshi Nakada + + * compile.c (new_label_body): initialize bit fields, since + compile_data_alloc does not clear the memory. [Bug #12082] + +Mon Apr 11 20:18:43 2016 Koichi Sasada + + * vm_backtrace.c (frame2klass): filter only for imemo_ment. + T_IMEMO/imemo_iseq can be passed here. + +Mon Apr 11 17:43:04 2016 Nobuyoshi Nakada + + * compile.c (iseq_optimize): disable tail call optimization in + rescued, rescue, and ensure blocks. + [ruby-core:73871] [Bug #12082] + +Mon Apr 11 06:54:39 2016 Nobuyoshi Nakada + + * file.c (apply2files): apply to a VALUE vector instead of a + temporary array. + +Sun Apr 10 20:54:16 2016 Joe Swatosh + + * ext/win32/lib/win32/registry.rb (DeleteValue, DeleteKey): fix + API names. [ruby-core:74863] [Bug #12264] + +Sun Apr 10 17:47:42 2016 Nobuyoshi Nakada + + * file.c (rb_realpath_internal): no argument conversions since + this internal function does not need to_path and encoding + conversions, not to be affected by the default internal + encoding. + +Sat Apr 9 10:03:12 2016 Nobuyoshi Nakada + + * load.c (rb_f_load): raise with the original path name before + encoding conversion. + +Sat Apr 9 02:05:10 2016 Nobuyoshi Nakada + + * bignum.c (rb_cstr_parse_inum): [EXPERIMENTAL] new function to + parse integer in C-string with length. the name and the + arguments may be changed in the future. + + * bignum.c (rb_str_to_inum): preserve encoding of the argument in + error messages, and no longer needs to copy non-terminated + strings. + + * bignum.c (rb_str2big_{poweroftwo,normal,karatsuba,gmp}): ditto. + +Thu Apr 7 19:04:03 2016 Nobuyoshi Nakada + + * doc/regexp.rdoc (comments): [DOC] terminators cannot appear in + comments. [ruby-core:74838] [Bug #12256] + +Thu Apr 7 11:24:14 2016 Nobuyoshi Nakada + + * ext/tk/tkutil/tkutil.c (cbsubst_initialize): fix out-of-bound + access when no arguments given. `p Tk::Event.new` crashed. + +Fri Apr 1 01:26:00 2016 Benoit Daloze + + * ext/coverage/coverage.c: Fully reset coverage to not persist global state. + It was returning old file coverages as empty arrays to the user. + [ruby-core:74596] [Bug #12220] + + * ext/coverage/coverage.c (rb_coverages): remove unused static state. + + * thread.c: Moved and renamed coverage_clear_result_i to reset_coverage_i. + + * test/coverage/test_coverage.rb: improve precision of tests. + +Wed Apr 6 22:41:31 2016 Nobuyoshi Nakada + + * configure.in (rb_cv_lgamma_r_m0): fix the condition for + lgamma_r(-0.0). [Bug #12249] + +Wed Apr 6 17:38:42 2016 NAKAMURA Usaku + + * tool/downloader.rb (RubyGems.download): follow the change of the + rubygems ssl_certs directory tree introduced by previous commit. + +Wed Apr 6 15:00:27 2016 SHIBATA Hiroshi + + * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.3. + Please see entries of 2.6.3 on + https://github.com/rubygems/rubygems/blob/master/History.txt + +Wed Apr 6 14:13:28 2016 Nobuyoshi Nakada + + * configure.in (rb_cv_lgamma_r_m0): check if lgamma_r(-0.0) + returns negative infinity. [Bug #12249] + + * math.c (ruby_lgamma_r): define by the configured result. + +Wed Apr 6 10:56:15 2016 Anton Davydov + + * lib/logger.rb (Logger#level=): remove unnecessary local + variable. + + * lib/logger.rb (Logger#initialize, Logger#reopen): [DOC] mention + the default values. cherrypicked from [GH-1319]. + +Wed Apr 6 10:17:53 2016 cremno phobia + + * math.c (ruby_lgamma_r): missing/lgamma_r.c is used on Windows, + since msvcrt does not provide it. + + * missing/lgamma_r.c (lgamma_r): fix lgamma(-0.0). + [ruby-core:74823] [Bug #12249] + +Wed Apr 6 01:22:55 2016 NAKAMURA Usaku + + * math.c (ruby_lgamma_r): mswin's lgamma_r also seems to be wrong. + cf. [Bug #12249] + +Wed Apr 6 00:53:31 2016 Nobuyoshi Nakada + + * math.c (ruby_lgamma_r): fix lgamma(-0.0) on mingw and OSX. + + * math.c (ruby_tgamma): fix tgamma(-0.0) on mingw. + [ruby-core:74817] [Bug #12249] + +Tue Apr 5 14:50:28 2016 NARUSE, Yui + + * ext/nkf/nkf-utf8/nkf.c (mime_putc): fix typo. + [Bug #12202] [ruby-core:74802] + +Tue Apr 5 00:06:44 2016 Aeris + + * ext/openssl/ossl_ssl.c (ossl_ssl_tmp_key): Access to ephemeral + TLS session key in case of forward secrecy cipher. Only + available since OpenSSL 1.0.2. [Fix GH-1318] + + * ext/openssl/extconf.rb: Check for SSL_get_server_tmp_key. + +Mon Apr 4 23:37:05 2016 Nobuyoshi Nakada + + * vm_core.h (rb_vm_struct): make at_exit a single linked list but + not RArray, not to mark the registered functions by the write + barrier. based on the patches by Evan Phoenix. + [ruby-core:73908] [Bug #12095] + +Mon Apr 4 17:43:45 2016 Koichi Sasada + + * gc.c: change default value of + RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO 0.3 -> 0.2 + RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO 0.8 -> 0.65 + + These values are same as Ruby 2.0.0. + + This change cause GC counts. + However, generational GC reduced each (minor) GC time and + increase memory locality. So that not so big impact on my + benchmarking results. + (surprisingly, this fix speed up programs on some cases) + + You can change these values by environment variables + if you feel wrong. + +Mon Apr 4 17:36:52 2016 Koichi Sasada + + * gc.c (get_envparam_double): take an upper_bound. + + And also take an accept_zero flag which allow to accept zero + even if lower_bound is set. + + * gc.c (ruby_gc_set_params): fix parameters. + + RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO set 0.9 as *lower_bound*, so that + it should be upper_bound. + Set RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO as lower bound. + + Also set lower/upper bound of RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO to + RUBY_GC_HEAP_FREE_SLOTS_MIN/MAX_RATIO. + +Mon Apr 4 16:41:32 2016 Koichi Sasada + + * vm.c (Init_VM): should pass tokens. + +Sun Apr 3 09:34:29 2016 Nobuyoshi Nakada + + * numeric.c (flodivmod): round division if it is a finite number + and module is required. + + * numeric.c (dbl2ival): do not round here. + + * numeric.c (flo_ceil): use dbl2ival. + + * numeric.c (flo_round): round explicitly. + +Sat Apr 2 15:24:18 2016 Nobuyoshi Nakada + + * include/ruby/intern.h (rb_check_arity): returns argc. + +Fri Apr 1 20:58:33 2016 Martin Duerst + + * enc/unicode/case-folding.rb, casefold.h: Data generation to implement + swapcase functionality for titlecase characters. Swapcase isn't defined + by Unicode, because the purpose/usage of swapcase is unclear anyway. + The implementation follows a proposal from Nobu, swapping the case of + each component of a titlecase character individually. + This means that the titlecase characters have to be decomposed. + + * enc/unicode.c: Code using the above data. + + * test/ruby/enc/test_case_mapping.rb: Tests for the above. + +Fri Apr 1 14:55:28 2016 Kazuki Yamaguchi + + * configure.in (AC_CONFIG_FILES): $srcdir/.git can be a file pointing + the real git_dir, such as when the git working tree is a "linked + working tree" (a working tree created by git-worktree). So use + git-rev-parse --git-dir to check if $srcdir is the top-level of a git + repository, not just checking if the $srcdir/.git directory does exist + or not. [ruby-core:74759] [Bug #12239] + + * tool/change_maker.rb: use tool/vcs.rb to detect VCS. This used to have + its own VCS detection code, while we have tool/vcs.rb. + + * tool/vcs.rb (detect): remove code duplication + +Fri Apr 1 04:50:44 2016 Eric Wong + + * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): + enable SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER by default + [Bug #12126] + +Fri Apr 1 01:13:55 2016 Benoit Daloze + + * thread.c (update_coverage): Do not track coverage in loaded files + after Coverage.result. Avoids out-of-bounds access. [Bug #12237] + + * ext/coverage/coverage.c (coverage_clear_result_i): document. + +Thu Mar 31 19:16:16 2016 Koichi Sasada + + * gc.c: need to set initial value of GC_HEAP_FREE_SLOTS_GOAL_RATIO. + +Thu Mar 31 17:50:27 2016 Koichi Sasada + + * gc.c: change additional allocation policy. + + Introduce new environment variable + RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO (goal_ratio) to calculate the + ratio of additional memory. + + Before this change, we add pages with the following formula + (when free_slots < total_pages * RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO): + next_pages = total_pages * RUBY_GC_HEAP_GROWTH_FACTOR + + This addition can allocate too much. + + With this change, we increase pages to satisfy the following formula: + next_free_slots = next_total_slots * goal_ratio + where + next_free_slots = free_slots + adding_slots + next_total_slots = total_slots + adding_slots. + + If you want to prepare many free slots, increase this ratio. + + If this variable is 0, then simply multiply + RUBY_GC_HEAP_GROWTH_FACTOR. + + * gc.c (get_envparam_double): enable to accept 0. + +Thu Mar 31 17:48:25 2016 Koichi Sasada + + * gc.c (gc_marks_finish): fix syntax error. + +Thu Mar 31 16:49:36 2016 Koichi Sasada + + * gc.c: simplify allocate/free detecting logic at the end of marking. + + Before this change, heap_pages_min_slots are calculated at the + beginning sweeping phase. And this value is used at the end of + *next* marking phase. + + To simplify it, we use this value at the end of this marking phase. + It means that we don't need to store this value as global state. + + Also heap_pages_max_slots is calculated at the begging of sweeping + phase and used at the end of sweeping phase. + To simplify this logic, we introduced new global value + heap_pages_freeable_pages it means extra pages count we can free. + gc_sweep_step() checks this value and moves empty pages to tomb_heap + not more than this value. + + Because of this fix, heap_pages_swept_slots is no longer needed. + + * gc.c (rb_objspace_t::heap_pages): restruct the objspace global + status. + + remove the following fields + * swept_slots (and heap_pages_swept_slots) + * min_free_slots (and heap_pages_min_free_slots) + * max_free_slots (and heap_pages_max_free_slots) + And add the following filed. + * freeable_pages (and heap_pages_freeable_pages) + + * gc.c (heap_pages_free_unused_pages): unlink tomb heap pages + because tomb heap should have only freeable pages. + + * gc.c (heap_extend_pages): add parameters for future extension. + +Thu Mar 31 16:43:02 2016 Koichi Sasada + + * gc.c: add GC parameters to configure the following values: + * RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO: + allocate additional pages when free slots is lower than + the value (total_slots * (this ratio)). + * RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO: + allow to free pages when free slots is greater than + the value (total_slots * (this ratio)). + + Before this change, these values are hard coded. + + * gc.c (ruby_gc_params_t): ditto. + + * gc.c (ruby_gc_set_params): ditto. + +Thu Mar 31 15:59:17 2016 Koichi Sasada + + * gc.c (gc_verify_heap_page): check the number of zombies. + + * gc.c (gc_verify_heap_pages): check also tomb heap. + +Thu Mar 31 15:48:18 2016 Koichi Sasada + + * gc.c (gc_page_sweep): return free slots count. + + * gc.c (gc_sweep_step): use returned free slots count. + + * gc.c (gc_sweep_step): change variable name `next' + to `next_sweep_page'. + +Thu Mar 31 11:33:49 2016 Nobuyoshi Nakada + + * ext/date/date_core.c (d_lite_strftime, dt_lite_strftime): [DOC] + fix indent not to be a big sole verbatim. + +Thu Mar 31 11:18:19 2016 Nobuyoshi Nakada + + * ext/date/date_core.c (Init_date_core): [DOC] fix misplaced doc + of DateTime. [ruby-core:74729] [Bug #12233] + +Thu Mar 31 03:41:02 2016 NARUSE, Yui + + * ext/nkf/nkf-utf8/nkf.c: Merge upstream 69f7e74dde. + fix indent. + +Wed Mar 30 16:33:19 2016 Nobuyoshi Nakada + + * extension.rdoc, extension.ja.rdoc: [DOC] Fix some errors. + Renamed files, wrong method names or argument types; the example + GetDBM macro is now updated to the current version of the actual + code. patch by Marcus Stollsteimer in [ruby-core:74690]. + [Bug #12228] + +Wed Mar 30 09:46:01 2016 SHIBATA Hiroshi + + * lib/open-uri.rb: Use `userinfo` for authenticated proxy. + [fix GH-1148] Patch by @SokichiFujita + * test/open-uri/test_open-uri.rb: ditto. + [fix GH-1309] Patch by @jdamick + +Wed Mar 30 01:56:06 2016 NARUSE, Yui + + * ext/nkf/nkf-utf8/nkf.c: Merge upstream 4f3edf80a0. + patched by Anton Sivakov [Bug #12201] [Bug #12202] + +Wed Mar 30 01:54:30 2016 NARUSE, Yui + + * tool/redmine-backporter.rb: add given revision to current changesets + on associating the revision to the related ticket. + +Wed Mar 30 01:53:17 2016 NARUSE, Yui + + * tool/merger.rb: update revision.h before merge. + +Tue Mar 29 19:33:54 2016 NARUSE, Yui + + * addr2line.c: define toupper for its use. fix r54391. + +Tue Mar 29 19:23:46 2016 NARUSE, Yui + + * include/ruby/ruby.h (rb_isupper, rb_islower, rb_isalpha, rb_isdigit, + rb_isalnum, rb_isxdigit, rb_isblank, rb_isspace, rb_isblank, + rb_iscntrl, rb_isprint, rb_ispunct, rb_isgraph, + rb_tolower, rb_toupper): use inline function to avoid function call. + + * include/ruby/ruby.h (rb_isascii): use inline function to clarify + the logic. + +Tue Mar 29 18:56:55 2016 NARUSE, Yui + + * tool/redmine-backporter.rb (backport): show merger.rb's path. + + * tool/redmine-backporter.rb (show): show current issue again if no + ticket number is given. + + * tool/redmine-backporter.rb (rel): show error message if current + bugs.ruby-lang.org doesn't support the API. + +Tue Mar 29 18:54:34 2016 NARUSE, Yui + + * tool/merger.rb: support to backport header as backport identifier. + Now you can specify by 'merge revision(s) 49254: [Backport #10738]'. + +Tue Mar 29 16:53:44 2016 Martin Duerst + + * enc/unicode/case-folding.rb, casefold.h: Tweaked handling of 6 + special cases in CaseUnfold_11_Table. + + * enc/unicode.c: Adjustments for above. + + * test/ruby/enc/test_case_mapping.rb: Tests for the above: Some tests in + test_titlecase activated; test_greek added. A test in test_cherokee fixed. + +Tue Mar 29 13:31:00 2016 Martin Duerst + + * enc/unicode.c: Cleaned up some comments. + +Tue Mar 29 13:24:56 2016 Martin Duerst + + * enc/unicode/case-folding.rb, casefold.h: Removing data for idempotent + titlecasing. + + * enc/unicode.c: Adjust code to data removal. + +Tue Mar 29 12:45:18 2016 Laurent Arnoud + + * lib/webrick/httpresponse.rb: Move error_body to method. It allow to + override the body more easily. [fix GH-1307] + * test/webrick/test_httpresponse.rb: ditto. + +Tue Mar 29 06:40:53 2016 Nobuyoshi Nakada + + * error.c (rb_compile_err_append): rb_thread_t::base_block is no + longer used. + + * iseq.c (rb_iseq_compile_with_option): ditto, no protection is + needed. + +Tue Mar 29 06:39:22 2016 Nobuyoshi Nakada + + * parse.y (struct parser_params): move parse_in_eval flag from + rb_thread_t. + + * parse.y (rb_parser_set_context): set parsing context, not only + mild error flag. + + * iseq.c (rb_iseq_compile_with_option): the parser now refers no + thread local states to be restored. + + * vm_eval.c (eval_string_with_cref): ditto. + +Mon Mar 28 21:24:02 2016 Kazuhiro NISHIYAMA + + * numeric.c (int_pos_p): fix typos. + +Mon Mar 28 14:54:49 2016 Martin Duerst + + * enc/unicode.c: Refactoring in preparation for data reduction for + titlecase. + +Mon Mar 28 14:36:36 2016 Martin Duerst + + * enc/unicode.c: Minor refactoring for I WITH DOT ABOVE. + +Mon Mar 28 14:26:24 2016 Martin Duerst + + * enc/unicode.c: Removed code now covered by data from table. + +Mon Mar 28 11:49:21 2016 Martin Duerst + + * enc/unicode.c: Adding comments. [ci skip] + +Mon Mar 28 11:30:23 2016 Shinichi Maeshima + + * lib/rubygems.rb: Fix `Gem.find_spec_for_exe` picks oldest gem. + https://github.com/travis-ci/travis-ci/issues/5798 + https://github.com/rubygems/rubygems/pull/1566 + * test/rubygems/test_gem.rb: ditto. + +Mon Mar 28 11:26:31 2016 SHIBATA Hiroshi + + * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.2. + Please see entries of 2.6.2 on + https://github.com/rubygems/rubygems/blob/master/History.txt + +Mon Mar 28 11:02:31 2016 Hiroshi Shirosaki + + * lib/rubygems/test_case.rb: Fix test on Windows for inconsistent temp path. + https://github.com/rubygems/rubygems/pull/1554 + [Bug #12193][ruby-core:74431] + +Mon Mar 28 08:19:49 2016 Nobuyoshi Nakada + + * sprintf.c (rb_str_format): refactor floating point format of + Rational by using generic Integer functions. + + * sprintf.c (rb_str_format): fix buffer overflow, length must be + greater than precision. reported by William Bowling . + +Sun Mar 27 12:13:37 2016 Nobuyoshi Nakada + + * sprintf.c (rb_str_format): convert Rational to floating point + format by using generic Integer functions, not by methods which + can be overwritten. + +Sat Mar 26 10:55:12 2016 Nobuyoshi Nakada + + * numeric.c (rb_int2str): conversion function to String for + generic Integer. + + * numeric.c (rb_int_round): rounding function for generic + Integers. + + * numeric.c (rb_int_{uminus,plus,minus,mul,idiv,modulo}): basic + arithmetic functions for generic Integers. + + * numeric.c (FIXNUM_{POSITIVE,NEGATIVE,ZERO}_P): predict macros + only for Fixnum. + +Sat Mar 26 06:34:24 2016 NARUSE, Yui + + * localeinit.c (rb_locale_charmap_index): fix prototype. + patched by Andreas Schwab [Bug #12218] + +Fri Mar 25 16:40:48 2016 Martin Duerst + + * test/ruby/enc/test_case_mapping.rb: Additional tests title case; + some not yet activated. + +Fri Mar 25 13:38:11 2016 Kazuki Yamaguchi + + * ext/openssl/extconf.rb: check SSL_CTX_set_next_proto_select_cb + function rather than OPENSSL_NPN_NEGOTIATED macro. it exists + even if it is disabled by OpenSSL configuration. + [ruby-core:74384] [Bug #12182] + + * ext/openssl/ossl_ssl.c: update #ifdef(s) as above. + + * test/openssl/test_ssl.rb: skip NPN tests if NPN is disabled. + +Fri Mar 25 11:08:37 2016 Nobuyoshi Nakada + + * lib/uri/http.rb (URI::HTTP#initialize): [DOC] fix example, + missing mandatory arguments. [ruby-core:74540] [Bug #12215] + +Fri Mar 25 01:50:58 2016 NARUSE, Yui + + * thread_pthread.c (reserve_stack): fix reserving position where + the stack growing bottom to top. [Bug #12118] + +Fri Mar 25 01:10:42 2016 Sebastian Schuberth + + * lib/mkmf.rb (find_executable0): On Windows, it is actually valid + to surround individual PATH directory entries with double + quotes. Remove these before joining the path as otherwise the + literal quotes would become part of the path, resulting in the + executable not to be found. [Fix GH-1305] + +Thu Mar 24 22:38:18 2016 Nobuyoshi Nakada + + * strftime.c (FMT, FMTV): remove recursive-assignments to get rid + of undefined behavior. [ruby-core:74532] [Bug #12213] + +Thu Mar 24 17:44:02 2016 Nobuyoshi Nakada + + * strftime.c (FMT_PADDING): extract format for padding. + + * strftime.c (FMT_PRECISION): extract precision formula. + + * strftime.c (FMTV): append formatted string to expand the result. + +Thu Mar 24 14:20:21 2016 Nobuyoshi Nakada + + * strftime.c (STRFTIME): deal with case conversion flags for + recursive formats. + +Thu Mar 24 12:43:26 2016 Nobuyoshi Nakada + + * ext/date/date_core.c (dt_lite_iso8601): strftimev() always + returns a String, so append them directly. + + * ext/date/date_core.c (d_lite_jisx0301, iso8601_timediv), + (dt_lite_jisx0301): format by the format string in local buffer + to prevent intermediate strings from GC. + + * ext/date/date_core.c (mk_inspect_raw, mk_inspect): inspect by + "%+"PRIsVALUE, to prevent intermediate strings from GC. + +Thu Mar 24 11:43:32 2016 Nobuyoshi Nakada + + * strftime.c (rb_strftime_with_timespec): remove unnecessary + check, as `s` equals to `endp` when recursed STRFTIME resized + the capacity same as the size. + +Wed Mar 23 21:48:00 2016 Kenta Murata + + * enum.c (ary_inject_op): put subtract operation out of if-clause. + +Wed Mar 23 21:38:00 2016 Kenta Murata + + * enum.c (ary_inject_op): Use Kahan's compensated summation algorithm + for summing up float values. + +Wed Mar 23 20:56:59 2016 Nobuyoshi Nakada + + * strftime.c (rb_strftime_with_timespec): append formatted results + to the given string with expanding, and also deal with NUL chars. + + * strftime.c (rb_strftime, rb_strftime_timespec): return formatted + string, not the length put in the given buffer. + + * time.c (rb_strftime_alloc): no longer needs to retry with + reallocating buffers. + + * time.c (time_strftime): no longer needs to split by NUL chars. + +Wed Mar 23 14:23:54 2016 NARUSE, Yui + + * lib/rdoc/ri/driver.rb (interactive): rescue NotFoundError raised in + expand_name. (display_name rescues NotFoundError by itself, + the original logic looks buggy...) + +Wed Mar 23 11:44:53 2016 cremno + + * marshal.c (r_long): cast to `signed char`, which is used + already, instead of SIGN_EXTEND_CHAR. + + * parse.y: SIGN_EXTEND_CHAR is no longer used. [Fix GH-1302] + +Wed Mar 23 11:38:47 2016 Nobuyoshi Nakada + + * cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL_PARAM): + * add missing parentheses and remove double quotes. + * rename to get rid of recursive references. + * as --excludes-dir option is for a path name, its argument + should be converted. + [ruby-dev:49526] [Bug #12199] + +Wed Mar 23 10:39:38 2016 Koichi ITO + + * variable.c: Added documentation about order of `Module#constants` + [ci skip][Bug #12121][ruby-dev:49505][fix GH-1301] + +Tue Mar 22 21:08:30 2016 Martin Duerst + + * include/ruby/oniguruma.h: Additional flag for characters that are titlecase. + + * enc/unicode/case-folding.rb, casefold.h: Using above flag in data. + + * enc/unicode.c: Marking capitalized character as unmodified if it is + already titlecase. + + * test/ruby/enc/test_case_mapping.rb: Tests for above functionality. + +Tue Mar 22 14:18:59 2016 Nobuyoshi Nakada + + * parse.y (lambda_body, parser_yylex): warn mismatched indentation + of lambda block. + +Tue Mar 22 11:36:49 2016 NAKAMURA Usaku + + * time.c (wmul): wrong condition. + fixed many test failures on 32bit and LLP64 platforms. + +Tue Mar 22 10:31:34 2016 NAKAMURA Usaku + + * time.c (wdiv, wmod): wdivmod0() assumes the 3rd and the 4th arguments + are valid pointers. + maybe checking them in wdivmod0() is better manner, but I guess that + passing real dummy pointers may be faster than checking and branching + in wdivmod0(). + this commit fixes SEGV on 32bit and LLP64 platforms. + +Tue Mar 22 10:24:04 2016 NAKAMURA Usaku + + * time.c (divmodv): void function never returns any value. + +Tue Mar 22 10:11:01 2016 Nobuyoshi Nakada + + * test/lib/test/unit.rb (Test::Unit::StatusLine#failed): print + failed messages only if replacing mode, otherwise defer them + until the end, to get rid of interleaving failures with progress + messages. refix r54195. + +Tue Mar 22 03:45:03 2016 NARUSE, Yui + + * time.c (MUL_OVERFLOW_FIXWV_P): defined for FIXWV. + + * time.c (wmul): use MUL_OVERFLOW_FIXWV_P and only switch. + + * time.c (wmul): use mul which has Fixnum optimization. + + * time.c (rb_time_magnify): If WIDEVALUE_IS_WIDER, wmul() has the same + optimized logic, else mul() has also the similar logic for Fixnum. + + * time.c (rb_time_unmagnify): almost ditto. + +Tue Mar 22 03:10:09 2016 NARUSE, Yui + + * time.c (divmodv): add the case both arguments are Fixnum. + + * time.c (wquo): use quo which has Fixnum optimization. + + * time.c (wdivmod0): added for WIDEVALUE_IS_WIDER. + + * time.c (wdivmod): use wdivmod0 and divmodv. + divmodv has Fixnum optimization. + + * time.c (wdiv): use wdivmod0 and div to avoid the use of divmodv which + calls id_quo whose return value is array. + + * time.c (wmod): use wdivmod0 and mod to avoid the use of divmodv which + calls id_quo whose return value is array. + +Mon Mar 21 22:32:50 2016 NARUSE, Yui + + * internal.h (rb_fix_divmod_fix): like r54213, use FIX2NUM only if + x == FIXNUM_MIN && y == -1. This must be a rare case and it is + expected compiler to handle well. + +Mon Mar 21 22:15:11 2016 NARUSE, Yui + + * time.c (mod): Add Fixnum case. + + * time.c (quo): c can be Fixnum except a == FIXNUM_MIN && b == -1. + Such case can be optimized out because quo()'s argument is constant. + +Mon Mar 21 22:09:24 2016 Nobuyoshi Nakada + + * internal.h (rb_fix_mul_fix): multiply converted values, not + object VALUEs. + +Mon Mar 21 20:18:29 2016 Nobuyoshi Nakada + + * common.mk (TEST_EXCLUDES, EXCLUDE_TESTFRAMEWORK): use full spell + long option. + + * cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL): suppress path name + conversions by msys2. [ruby-dev:49525] [Bug #12199] + +Mon Mar 21 19:09:31 2016 Nobuyoshi Nakada + + * string.c (enc_succ_alnum_char): try to skip an invalid character + gap between GREEK CAPITAL RHO and SIGMA. + [ruby-core:74478] [Bug #12204] + +Mon Mar 21 18:55:49 2016 Nobuyoshi Nakada + + * node.c (rb_gc_mark_node): NODE_MATCH2 can have nd_args, u3, + since r54100. + +Sun Mar 20 21:17:13 2016 NAKAMURA Usaku + + * internal.h (rb_int128t2big): declare only when HAVE_INT128_T. + fixed a compile error with VC++ introduced at r54203. + +Sun Mar 20 20:10:14 2016 NARUSE, Yui + + * internal.h (DLONG): defined if long is 32bit (and LONG_LONG is 64bit; + but LONG_LONG is always defined as 64bit), or there's int128_t. + + * internal.h (DL2NUM): defined if DLONG is defined. + + * internal.h (rb_fix_mul_fix): defined for `Fixnum * Fixnum`. + + * insns.def (opt_mul): use rb_fix_mul_fix(). + + * numeric.c (fix_mul): ditto. + + * time.c (mul): ditto. + +Sun Mar 20 18:53:49 2016 Nobuyoshi Nakada + + * numeric.c (fix_gt, fix_ge, fix_lt, fix_le): optimize comparisons + Fixnum against Bignum by rb_big_cmp in inversed order without + new Bignum instance. + +Sun Mar 20 18:44:52 2016 NARUSE, Yui + + * time.c (add): remove FIXABLE() which is in LONG2NUM(). + + * time.c (sub): ditto. + + * time.c (mul): ditto. + +Sun Mar 20 04:46:02 2016 NARUSE, Yui + + * bignum.c (rb_big_cmp): reduce the code. + + * bignum.c (rb_big_eq): If normalized bignum is still bignum, + it must be larger than fixnum. + +Sat Mar 20 00:58:00 2016 Kenta Murata + + * include/ruby/intern.h (rb_big_odd_p, rb_big_even_p): move to + internal.h so that they are exported only for ruby itself. + + * internal.h (rb_big_odd_p, rb_big_even_p): ditto. + +Sat Mar 19 21:56:23 2016 Nobuyoshi Nakada + + * test/lib/test/unit.rb (Test::Unit::StatusLine#failed): defer + failed messages until the end in verbose mode, to get rid of + interleaving failures with progress messages. + +Sat Mar 19 21:53:35 2016 Nobuyoshi Nakada + + * numeric.c (fix_cmp): invert the result as the comparison is + inverted. + +Sat Mar 19 18:32:00 2016 Kenta Murata + + * numeric.c (int_to_f): raise NotImplementedError when a receiver + class is unknown. + + * test/-ext-/integer/test_my_integer.rb (test_my_integer_to_f): modify + a test for the above change. + +Sat Mar 19 18:21:00 2016 Kenta Murata + + * bignum.c (Bignum#<=>): remove it because they are unified with + Integer#<=>. + + * numeric.c (Integer#<=>, Fixnum#<=>): move <=> method from Fixnum to + Integer. + + * numeric.c (int_cmp): add this method for Integer#<=>. + + * test/-ext-/integer/test_my_integer.rb (test_my_integer_cmp): add a + test to examine Integer#<=> for unknown subclasses. + +Sat Mar 19 14:46:18 2016 Nobuyoshi Nakada + + * iseq.c (rb_iseq_compile_with_option): make the parser in mild + error. + + * load.c (rb_load_internal0): ditto. + + * parse.y (yycompile0): return the error message within the error + to be raised. [Feature #11951] + + * parse.y (parser_compile_error): accumulate error messages in the + error_buffer. + +Sat Mar 19 03:57:13 2016 NARUSE, Yui + + * time.c (LOCALTIME): organize #ifdefs. + + * time.c (GMTIME): define only ifndef HAVE_STRUCT_TM_TM_GMTOFF. + +Sat Mar 19 03:53:31 2016 NARUSE, Yui + + * configure.in (rb_cv_member_struct_tm_tm_gmtoff): For Linux (glibc) + define _BSD_SOURCE for time.h to define struct tm.tm_gmtoff. + + * time.c: define _BSD_SOURCE at the top. + +Sat Mar 19 03:00:50 2016 Rei Odaira + + * test/-ext-/time/test_new.rb (test_timespec_new): change a gmtoff + test to a better one that does not depend on whether the current + time is in summer time or not. + +Fri Mar 19 00:00:00 2016 Kenta Murata + + * bignum.c (rb_big_to_f, Bignum#to_f): removed them because they are + unified with int_to_f and Integer#to_f. + + * numeric.c (int_to_f): treat Bignum values directly. + +Fri Mar 18 23:41:00 2016 Kenta Murata + + * numeric.c (int_to_f, fix_to_f): rename fix_to_f to int_to_f, and add + treatment for subclasses which don't have definitions of to_f method. + + * numeric.c (Integer#to_f, Fixnum#to_f): move to_f method from Fixnum + to Integer. + + * ext/-test-/integer/my_integer.c: define helper class for testing + to_f method for a subclass of Integer. + + * ext/-test-/integer/extconf.rb: ditto. + + * ext/-test-/integer/init.c: ditto. + + * test/-ext-/integer/test_my_integer.rb: examine to_f method for a + subclass of Integer. + +Fri Mar 18 22:32:00 2016 Kenta Murata + + * include/ruby/intern.h (rb_big_hash): Move to internal.h. + + * internal.h: ditto. + +Fri Mar 18 22:10:00 2016 Kenta Murata + + * bignum.c (Bignum#eql?): remove its definition because it is unified + with Numeric#eql?. + + * numeric.c (num_eql): treat Bignum values directly. + +Fri Mar 18 21:57:00 2016 Kenta Murata + + * bignum.c (rb_big_to_s, Bignum#to_s): remove its definition because + it is unified with Integer#to_s. + + * numeric.c (int_to_s): treat Bignum values directly. + +Fri Mar 18 21:30:00 2016 Kenta Murata + + * numeric.c (int_to_s): Move from fix_to_s. + + * numeric.c (Integer#to_s): Move from Fixnum#to_s. + +Fri Mar 18 16:22:24 2016 Victor Nawothnig + + * parse.y (parse_numvar): NTH_REF must be less than a half of + INT_MAX, as it is left-shifted to be ORed with back-ref flag. + [ruby-core:74444] [Bug#12192] [Fix GH-1296] + +Fri Mar 18 12:25:30 2016 Nobuyoshi Nakada + + * gc.c (tick): fix missing close parenthesis. [Fix GH-1291] + +Fri Mar 18 10:24:12 2016 Naotoshi Seo + + * ext/date/date_core.c (datetime_to_time): preserve timezone info + [Bug #12189] [Fix GH-1295] + +Fri Mar 18 10:17:00 2016 Kenta Murata + + * bignum.c (rb_big_hash): make it public function to be available in + other source files, and remove documentation comment for Bignum#hash. + + * bignum.c (Bignum#hash): remove its definition because it is unified + with Object#hash. + + * include/ruby/intern.h (rb_big_hash): add a prototype declaration. + + * hash.c (any_hash): treat Bignum values directly. + +Fri Mar 18 02:35:12 2016 Naotoshi Seo + + * lib/time.rb (parse, strptime): Fix Time.parse/strptime does not + have compatibility with DateTime.parse/strptime in terms of parsing + timezone [Bug #12190] [Fix GH-1297] + +Fri Mar 18 02:17:00 2016 Kenta Murata + + * numeric.c (fix_zero_p, fix_even_p, fix_odd_p): remove needless + functions. + +Fri Mar 18 02:15:00 2016 Kenta Murata + + * numeric.c (int_even_p): treat Fixnum and Bignum values directly. + +Fri Mar 18 02:07:00 2016 Kenta Murata + + * bignum.c (Bignum#even?, Bignum#odd?): remove definitions + because they are unified with Integer#even? and Integer#odd?. + + * numeric.c (Fixnum#zero?, Fixnum#even?, Fixnum#odd?): remove + definitions because they are unified with Numeric#zero?, + Integer#even?, and Integer#odd?. + + * numeric.c (num_zero_p, int_odd_p): treat Fixnum and + Bignum values directly. + + * test/ruby/test_integer.rb (test_odd_p_even_p): remove meaningless + test case. + +Fri Mar 18 01:51:00 2016 Kenta Murata + + * bignum.c (rb_big_even_p, rb_big_odd_p): make them public functions + to be available in other source files. + + * include/ruby/intern.h (rb_big_even_p, rb_big_odd_p): add prototype + declarations. + +Fri Mar 18 00:25:56 2016 Tanaka Akira + + * enum.c (ary_inject_op): Implement the specialized code for sum of + float numbers. + +Fri Mar 18 00:15:05 2016 Yusuke Endoh + + * numeric.c (num_step): use rb_equal for zero check. rb_num_coerce_cmp + created an object which caused extra overhead. + +Thu Mar 17 22:21:34 2016 Nobuyoshi Nakada + + * include/ruby/ruby.h (RB_GC_GUARD_PTR): remove intermediate + macro, and expand for each RB_GC_GUARD. [Fix GH-1293] + +Thu Mar 17 22:08:33 2016 Nobuyoshi Nakada + + * compile.c (iseq_specialized_instruction): move specialization + for opt_newarray_max/min from translation phase. + +Thu Mar 17 21:52:09 2016 Yusuke Endoh + + * array.c, enum.c: make rdoc format consistent. + +Thu Mar 17 21:47:57 2016 Yusuke Endoh + + * NEWS: add Array#max, #min, and the optimization. [Feature #12172] + +Thu Mar 17 21:45:02 2016 Yusuke Endoh + + * compile.c (NODE_CALL): add optimization shortcut for Array#max/min. + Now `[x, y].max` is optimized so that a temporal array object is not + created in some condition. [Feature #12172] + + * insns.def (opt_newarray_max, opt_newarray_min): added. + +Thu Mar 17 21:35:52 2016 Yusuke Endoh + + * array.c (rb_ary_max, rb_ary_min): implement Array#max and min with + arguments. replace super call with rb_nmin_run. + + * enum.c (nmin_run): exported (as rb_nmin_run). + + * internal.h: added a prototype for rb_nmin_run. + +Thu Mar 17 21:24:52 2016 Yusuke Endoh + + * array.c (rb_ary_max, rb_ary_min): implement a block by itself instead + of delegating Enumerable#max/min. + +Thu Mar 17 21:09:34 2016 Yusuke Endoh + + * array.c (rb_ary_max, rb_ary_min): Array#max and Array#min added. + [Feature #12172] + + * internal.h (OPTIMIZED_CMP): moved from enum.c so that array.c can + use it. + + * test/ruby/test_array.rb (test_max, test_min): tests for Array#max + and Array#min. + + * test/ruby/test_enum.rb (test_max, test_min): revised a bit to test + Enumerable#max and #min explicitly. + +Thu Mar 17 21:02:42 2016 Yusuke Endoh + + * internal.c: struct cmp_opt_data added for refactoring out a data + structure for CMP_OPTIMIZABLE + + * array.c (struct ary_sort_data): use struct cmp_opt_data. + + * enum.c (struct min_t, max_t, min_max_t): use struct cmp_opt_data. + +Thu Mar 17 20:55:21 2016 Tanaka Akira + + * enum.c (ary_inject_op): Extracted from enum_inject. + +Thu Mar 17 18:39:04 2016 Tanaka Akira + + * enum.c (enum_inject): Implement the specialized code for sum of + integers including Bignums. + + * internal.h (rb_fix_plus): Declared to be usable from enum_inject. + + * numeric.c (rb_fix_plus): Defined. + +Thu Mar 17 17:20:28 2016 Anton Davydov + + * thread_sync.c: [DOC] Update documentation for Queue class + description. [Fix GH-1292] + +Thu Mar 17 17:14:51 2016 Dinar Valeev + + * gc.c (tick): Use __builtin_ppc_get_timebase for POWER arch. + [Fix GH-1291] + +Thu Mar 17 11:51:48 2016 NARUSE, Yui + + * lib/securerandom.rb (gen_random): to avoid blocking on Windows. + On Windows OpenSSL RAND_bytes (underlying implementation is + RAND_poll in crypto/rand/rand_win.c) may be blocked at + NetStatisticsGet. + https://wiki.openssl.org/index.php/Random_Numbers#Windows_Issues + Instead of this, use Random.raw_seed directly (whose implementation + CryptGenRandom is one of the source of + entropy of RAND_poll on Windows). + https://wiki.openssl.org/index.php/Random_Numbers + Note: CryptGenRandom function is PRNG and doesn't check its entropy, + so it won't block. [Bug #12139] + https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa379942.aspx + https://tools.ietf.org/html/rfc4086#section-7.1.3 + https://eprint.iacr.org/2007/419.pdf + http://www.cs.huji.ac.il/~dolev/pubs/thesis/msc-thesis-leo.pdf + +Thu Mar 17 12:09:00 2016 Martin Duerst + + * enc/unicode.c: Fixed two macro definitions. + * test/ruby/enc/test_case_mapping.rb: Test cases that detected + the above bugs. + +Thu Mar 17 11:36:27 2016 Nobuyoshi Nakada + + * ext/socket/option.c (inspect_tcpi_msec): more accurate condition + for TCPI msec member inspection function. + [ruby-core:74388] [Bug #12185] + +Thu Mar 17 08:13:43 2016 Rei Odaira + + * test/-ext-/time/test_new.rb (test_timespec_new): Time#gmtoff values + are the same only when both or neither of the Time objects are in + summer time (daylight-saving time). + +Thu Mar 17 07:17:36 2016 Eric Hodel + + * marshal.c (r_object0): raise ArgumentError when linking to undefined + object. + +Thu Mar 17 00:45:00 2016 Kenta Murata + + * test/ruby/test_bignum.rb: Make sure to use Bignum values in the tests. + +Wed Mar 16 23:10:25 2016 Nobuyoshi Nakada + + * defs/keywords (alias, undef): symbol literals are allowed. + + * parse.y (parse_percent): should parse symbol literals for alias + and undef. [ruby-dev:47681] [Bug #8851] + +Wed Mar 16 21:39:39 2016 NARUSE, Yui + + * enc/trans/JIS: update Unicode's notice. [Bug #11844] + +Wed Mar 16 20:03:35 2016 Nobuyoshi Nakada + + * proc.c (proc_binding): proc from symbol can not make a binding. + [ruby-core:74100] [Bug #12137] + +Wed Mar 16 18:42:45 2016 Martin Duerst + + * test/ruby/enc/test_case_mapping.rb: Fixed and activated a test for Cherokee. + +Wed Mar 16 17:58:56 2016 Martin Duerst + + * test/ruby/enc/test_case_mapping.rb: Fixed a logical error. + +Wed Mar 16 17:57:34 2016 Martin Duerst + + * test/ruby/enc/test_case_mapping.rb: Adding tests for Cherokee. + One test not yet working. + (with Kimihito Matsui) + +Wed Mar 16 15:44:05 2016 Martin Duerst + + * test/ruby/enc/test_case_mapping.rb: Adding tests for actual Unicode + case mapping. Fixing some aliasing issues. + (with Kimihito Matsui) + +Tue Mar 15 21:38:28 2016 Tanaka Akira + + * enum.c (enum_inject): Consider redefinition of Fixnum#+. + [ruby-dev:49510] [Bug#12178] Reported by usa. + +Tue Mar 15 20:32:57 2016 Tanaka Akira + + * enum.c (enum_inject): Implement the specialized code for :+ operator + for Fixnums. + +Tue Mar 15 20:21:01 2016 Tanaka Akira + + * enum.c (enum_inject): Implement the specialized code for self is an + array and a symbol operator is given. + +Tue Mar 15 16:29:51 2016 Martin Duerst + + * enc/unicode.c: Eliminating common code. + (with Kimihito Matsui) + +Tue Mar 15 16:17:09 2016 Martin Duerst + + * enc/unicode.c: Expansion of some code repetition in preparation for + elimination of common code pieces. + (with Kimihito Matsui) + +Tue Mar 15 13:49:23 2016 Martin Duerst + + * enc/unicode.c: Additional macros and code to use mapping data in + CaseMappingSpecials array. + (with Kimihito Matsui) + +Tue Mar 15 13:41:22 2016 Nobuyoshi Nakada + + * internal.h (rb_gc_mark_global_tbl): should be private, + but was accidentally exported. + +Tue Mar 15 12:51:06 2016 Marcus Stollsteimer + + * doc/extension.ja.rdoc: Fix RDoc markup in doc/extension*.rdoc. + [ci skip][Bug #12143][ruby-core:74143] + * doc/extension.rdoc: ditto. + +Tue Mar 15 09:56:41 2016 Ian Lunderskov + + * time.c: Minor typo in Time#dst? documentation. + [ci skip][fix GH-1290] + +Tue Mar 15 04:36:41 2016 Charles Oliver Nutter + + * test/ruby/test_rubyoptions.rb (test_disable): add tests for + --disable-gems and --disable-did_you_mean. + +Tue Mar 15 03:35:04 2016 Eric Hodel + + * marshal.c (r_object0): Fix Marshal crash for corrupt extended object. + +Tue Mar 15 01:22:27 2016 Charles Oliver Nutter + + * test/ruby/test_rubyoptions.rb: make version matching support + JRuby's version output. + +Mon Mar 14 19:05:39 2016 NARUSE, Yui + + * bignum.c (big2str_2bdigits): reduce div instruction. + +Mon Mar 14 18:39:53 2016 Martin Duerst + + * include/ruby/oniguruma.h, enc/unicode.c: Adjusting flag assignments + and macros to work with unified CaseMappingSpecials array. + (with Kimihito Matsui) + +Mon Mar 14 16:53:37 2016 Nobuyoshi Nakada + + * compile.c (compile_named_capture_assign): optimize named capture + assignments, by replacing repeating global variable accesses + with `dup`, and by returning the matched result instead of + re-getting it from the MatchData. + + * parse.y (reg_named_capture_assign_gen): build just assignment + nodes for the optimization. + +Mon Mar 14 16:02:59 2016 Nobuyoshi Nakada + + * file.c (ruby_is_fd_loadable): now return -1 if loadable but + may block. + + * ruby.c (open_load_file): wait to read by the result of + ruby_is_fd_loadable, without fstat. + +Mon Mar 14 13:38:38 2016 NARUSE, Yui + + * numeric.c (fix2str): improve r54092 like rb_int2big(). + +Mon Mar 14 10:02:23 2016 Eric Wong + + * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): document as MT-unsafe + [ruby-core:73803] [Bug #12069] + +Sun Mar 13 09:43:23 2016 Nobuyoshi Nakada + + * include/ruby/win32.h (O_SHARE_DELETE): change to fit Fixnum + limit. [ruby-core:74285] [Bug #12171] + +Sun Mar 13 09:15:45 2016 Nobuyoshi Nakada + + * numeric.c (rb_fix2str): fix edge case, accidentally generated + wrong Fixnum from LONG_MIN. + +Sat Mar 12 09:50:27 2016 Nobuyoshi Nakada + + * vm_eval.c (rb_f_catch): [DOC] fix malformed RDoc syntax, "+...+" + cannot enclose non-identifier characters. + a patch by Sebastian S in [ruby-core:74278]. [Bug#12170] + +Sat Mar 12 02:44:48 2016 Tanaka Akira + + * test/lib/test/unit.rb: describe !/REGEXP/ in the help message. + +Fri Mar 11 17:03:09 2016 Nobuyoshi Nakada + + * test/lib/test/unit.rb (Options#non_options): make regexp name + options prefixed with "!" negative filters. + + * common.mk (TEST_EXCLUDES): use negative filter to exclude memory + leak tests. -x option excludes test files, not test methods. + +Fri Mar 11 16:11:27 2016 Martin Duerst + + * enc/unicode/case-folding.rb, casefold.h: Streamlining approach to + case mapping data not available from case folding by unifying all + three cases (special title, special upper, special lower). + * enc/unicode.c: Adjust macro names for above (macros are currently inactive). + (with Kimihito Matsui) + +Thu Mar 10 17:34:16 2016 Nobuyoshi Nakada + + * iseq.c (prepare_iseq_build): enable coverage by coverage_enabled + option, not by parse_in_eval flag in the thread context. + + * iseq.h (rb_compile_option_struct): add coverage_enabled flag. + + * parse.y (yycompile0): set coverage_enabled flag if coverage + array is made. + +Thu Mar 10 15:19:54 2016 Nobuyoshi Nakada + + * node.c (dump_option): nd_compile_option is a hidden hash object, + cannot call inspect on it. + +Thu Mar 10 09:49:54 2016 Rei Odaira + + * test/socket/test_socket.rb (test_udp_recvmsg_truncation): + AIX does not set the MSG_TRUNC flag for a message partially read + by recvmsg(2) with the MSG_PEEK flag set. + +Wed Mar 9 16:48:45 2016 Koichi Sasada + + * benchmark/driver.rb: fix my last commit (syntax error). + +Wed Mar 9 16:41:44 2016 Koichi Sasada + + * benchmark/driver.rb: fix output messages. + + * benchmark/memory_wrapper.rb: use respond_to? because + member? does not work well. + +Wed Mar 9 16:20:25 2016 Koichi Sasada + + * benchmark/driver.rb: support memory usage benchmark. + use `--measure-target=[target]'. + Now, we can use the following targets: + * real (default): real time which returns process time in sec. + * peak: peak memory usage (physical memory) in bytes. + * size: last memory usage (physical memory) in bytes. + + * benchmark/memory_wrapper.rb: ditto. + +Wed Mar 9 15:04:22 2016 Koichi Sasada + + * benchmark/bm_vm3_gc_old_full.rb: add GC.start benchmark. + + * benchmark/bm_vm3_gc_old_immediate.rb: ditto. + + * benchmark/bm_vm3_gc_old_lazy.rb: ditto. + +Wed Mar 9 14:59:11 2016 Koichi Sasada + + * benchmark/driver.rb: exit benchmarking if a benchmark process + receives signals. + +Wed Mar 9 13:22:49 2016 Nobuyoshi Nakada + + * test/lib/memory_status.rb: make Memory::Status independent of + MiniTest::Skip. + + * test/lib/test/unit/assertions.rb (assert_no_memory_leak): skip + if Memory::Status is not available. + +Wed Mar 9 09:19:55 2016 Rei Odaira + + * test/io/wait/test_io_wait.rb (test_wait_readwrite_timeout): + select(2) in AIX returns "readable" for the write-side fd + of a pipe, so it is not possible to use a pipe to test + the read-write timeout of IO#wait on AIX. + +Wed Mar 9 03:35:22 2016 Charles Oliver Nutter + + * test/ruby/test_require.rb (test_require_with_loaded_features_pop): + Only remove PATH so threads don't accidentally double-pop. + +Wed Mar 9 00:29:46 2016 Nobuyoshi Nakada + + * vm_method.c (rb_alias): the original name should be properly + available method_added method, set the name before calling the + hook. + +Wed Mar 9 00:07:03 2016 Nobuyoshi Nakada + + * lib/logger.rb (Logger::LogDevice#initialize): define using + keyword arguments. + +Tue Mar 8 23:37:07 2016 Charles Oliver Nutter + + * test/ruby/test_array.rb: split out the test for no stack error + on large input for test_permutation, test_repeated_permutation, + and test_repeated_combination, and make them all timeout:30. + +Tue Mar 8 17:20:21 2016 NARUSE, Yui + + * intern.h (rb_divmod): assume compilers `/` and `%` comply C99 + and reduce branching. If a compiler doesn't comply, add #ifdefs. + + * intern.h (rb_div): added for Ruby's behavior. + + * intern.h (rb_mod): added for Ruby's behavior. + + * insns.def (opt_div): use rb_div. + + * insns.def (opt_mod): use rb_mod. + + * numeric.c (fixdivmod): removed. + + * numeric.c (fix_divide): use rb_div. + + * numeric.c (fix_mod): use rb_mod. + + * numeric.c (fix_divmod): use rb_divmod. + +Tue Mar 8 17:53:09 2016 NARUSE, Yui + + * insns.def (opt_mod): show its method name on ZeroDivisionError. + [Bug #12158] + +Tue Mar 8 17:33:38 2016 NAKAMURA Usaku + + * win32/win32.c (rb_w32_write_console): now no need to check + ERROR_CALL_NOT_IMPLEMENTED because it is for old Win9X. + +Tue Mar 8 16:54:29 2016 NAKAMURA Usaku + + * win32/win32.c (rb_w32_write_console): stop the VT100 emulation if the + console supports it natively. + +Tue Mar 8 08:13:01 2016 Rei Odaira + + * test/net/imap/test_imap.rb (test_idle_timeout): Because of the + timeout specified in "imap.idle(0.2)", there is no guarantee that + the server thread has done all the work before the client thread + performs the assertions. It depends on the thread scheduling. + Add checks to avoid false positives (on AIX, particularly). + +Tue Mar 8 00:42:22 2016 NAKAMURA Usaku + + * ruby.c (warn_cr_in_shebang): meaningless check on DOSISH platforms. + fixed a test failure introduced at r53998. + +Tue Mar 8 00:27:53 2016 CHIKANAGA Tomoyuki + + * ext/tk/lib/tkextlib/tcllib/tablelist_tile.rb: fix method name typo. + [ruby-core:72513] [Bug #11893] The patch provided by Akira Matsuda. + + +Tue Mar 8 00:25:08 2016 CHIKANAGA Tomoyuki + + * ext/tk/lib/tkextlib/tcllib/toolbar.rb: fix method name typo. + [ruby-core:72511] [Bug #11891] The patch provided by Akira Matsuda. + + +Tue Mar 8 00:21:58 2016 CHIKANAGA Tomoyuki + + * ext/tk/lib/tkextlib/blt/tree.rb: fix method name typo. + [ruby-core:72510] [Bug #11890] The patch provided by Akira Matsuda. + + +Tue Mar 8 00:11:47 2016 CHIKANAGA Tomoyuki + + * ext/tk/lib/tk/menubar.rb: fix a typo in font name. [ruby-core:72505] + [Bug #11886] The patch provided by Akira Matsuda. + + * ext/tk/sample/*.rb: ditto. + +Mon Mar 7 13:32:58 2016 Nobuyoshi Nakada + + * class.c (rb_define_class, rb_define_class_id_under): raise + ArgumentError if super is 0, deprecated behavior which has been + warned long time. + +Mon Mar 7 13:28:30 2016 Nobuyoshi Nakada + + * internal.h: move function declarations for class internals from + include/ruby/intern.h. + +Mon Mar 7 10:58:07 2016 Nobuyoshi Nakada + + * ext/win32ole/win32ole_event.c (rescue_callback): use + rb_write_error_str instead of rb_write_error, to respect + the encoding and prevent the message from GC. + + * internal.h (rb_write_error_str): export. + +Mon Mar 7 01:38:41 2016 Rei Odaira + + * test/ruby/test_process.rb (test_execopts_gid): Skip a test + that is known to fail on AIX. AIX allows setgid to + a supplementary group, but Ruby does not allow the "-e" + option when setgid'ed, so the test does not work as intended. + +Sun Mar 6 22:43:41 2016 Nobuyoshi Nakada + + * io.c (rb_obj_display): [DOC] fix output of Array, as Array#to_s + is same as Array#inspect since 1.9. + +Sat Mar 5 09:50:58 2016 Rei Odaira + + * test/socket/test_addrinfo.rb (test_ipv6_address_predicates): + IN6_IS_ADDR_V4COMPAT and IN6_IS_ADDR_V4MAPPED are broken + on AIX, so skip related tests. + +Sat Mar 5 09:17:54 2016 Rei Odaira + + * test/rinda/test_rinda.rb (test_make_socket_ipv4_multicast): + The fifth argument to getsockopt(2) should be modified to + indicate the actual size of the value on return, + but not in AIX. This is a know bug. Skip related tests. + * test/rinda/test_rinda.rb (test_ring_server_ipv4_multicast): + ditto. + * test/rinda/test_rinda.rb (test_make_socket_unicast): ditto. + * test/socket/test_basicsocket.rb (test_getsockopt): ditto. + * test/socket/test_sockopt.rb (test_bool): ditto. + +Sat Mar 5 07:36:27 2016 Rei Odaira + + * test/-ext-/float/test_nextafter.rb: In AIX, + nextafter(+0.0,-0.0)=+0.0, and nextafter(-0.0,+0.0)=-0.0, + but they should return -0.0 and +0.0, respectively. This is + a known bug in nextafter(3) on AIX, so skip related tests. + +Sat Mar 5 07:14:10 2016 Rei Odaira + + * test/zlib/test_zlib.rb (test_adler32_combine, test_crc32_combine): + Skip two tests on AIX because zconf.h in zlib does not correctly + recognize _LARGE_FILES in AIX. The problem was already reported + to zlib, and skip these tests until it is fixed. + +Sat Mar 5 03:07:40 2016 Rei Odaira + + * thread_pthread.c (getstack): __pi_stacksize returned by + pthread_getthrds_np() is wrong on AIX. Use + __pi_stackend - __pi_stackaddr instead. + +Fri Mar 4 19:19:42 2016 Koichi Sasada + + * gc.c: use 2 bits with unsigned int for rb_objspace::flags::mode + because it always returns 0 to 2 (non-negative value). + +Fri Mar 4 18:42:08 2016 Koichi Sasada + + * gc.c: rename "enum gc_stat" to "enum gc_mode" + because there is a same name (no related) function gc_stat(). + + Also gc_stat_* are renamed to gc_mode_*, + gc_stat_transition() to gc_mode_transition(), + rb_objspace::flags::stat is renamed to rb_objspace::flags::mode. + + Change rb_objspace::flags::mode from 2 bits to 3 bits because VC++ + returns negative enum value with 2 bits. + + * gc.c (gc_mode): add a macro to access rb_objspace::flags::mode + with verification code (verification is enabled only on + RGENGC_CHECK_MODE > 0). + + * gc.c (gc_mode_set): same macro for setter. + +Fri Mar 4 09:28:18 2016 SHIBATA Hiroshi + + * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.1. + Please see entries of 2.6.0 and 2.6.1 on + https://github.com/rubygems/rubygems/blob/master/History.txt + [fix GH-1270] Patch by @segiddins + +Thu Mar 3 14:09:00 2016 Nobuyoshi Nakada + + * lib/ostruct.rb (modifiable?, new_ostruct_member!, table!): + rename methods for internal use with suffixes and make private, + [ruby-core:71069] [Bug #11587] + +Wed Mar 2 16:28:48 2016 Nobuyoshi Nakada + + * vm_eval.c (method_missing): call by found method entry and get + rid of searching the same method entry twice. + + * vm_eval.c (vm_call0_body): calling method_missing method is + method_missing(). + +Wed Mar 2 15:13:33 2016 herwinw + + * lib/xmlrpc.rb: Removed broken parser named XMLScanStreamParser. + It's not works with current Ruby version. + [fix GH-1271][ruby-core:59588][Bug #9369] + * lib/xmlrpc/config.rb: ditto. + * lib/xmlrpc/parser.rb: ditto. + +Wed Mar 2 15:08:33 2016 herwinw + + * lib/xmlrpc.rb: Removed broken parser named XMLTreeParser. + Required gem of its parser didn't compile on newer Ruby versions. + [fix GH-1271][ruby-core:59590][Bug #9370] + * lib/xmlrpc/config.rb: ditto. + * lib/xmlrpc/parser.rb: ditto. + +Tue Mar 1 11:25:48 2016 Nobuyoshi Nakada + + * lib/fileutils.rb: use keyword arguments instead of option + hashes. + +Mon Feb 29 16:50:20 2016 hanachin + + * array.c (rb_ary_push_m): [DOC] Remove trailing comma from + Array#push example, as other Array examples doesn't put trailing + comma. [Fix GH-1279] + +Mon Feb 29 16:31:01 2016 Nobuyoshi Nakada + + * common.mk, tool/mkconfig.rb: set cross_compiling option from + Makefile, but not from rbconfig.rb, which is just going to be + created by this command. + +Sun Feb 28 23:13:49 2016 C.J. Collier + + * configure.in: Add summary to end of configure output. + [Fix GH-1275] + +Sun Feb 28 20:23:36 2016 Masatoshi SEKI + + * lib/drb/drb.rb (error_print): Add verbose failure messages and + avoid infamous DRb::DRbConnError. [Feature #12101] + +Sun Feb 28 13:40:46 2016 Nobuyoshi Nakada + + * error.c (nometh_err_initialize): add private_call? parameter. + + * error.c (nometh_err_private_call_p): add private_call? method, + to tell if the exception raised in private form FCALL or VCALL. + [Feature #12043] + + * vm_eval.c (make_no_method_exception): append private_call? + argument. + + * vm_insnhelper.c (ci_missing_reason): copy FCALL flag. + +Sun Feb 28 10:19:47 2016 Ryan T. Hosford + + * array.c (rb_ary_and): clarify that set intersection returns the + unique elements common to both arrays. + + * array.c (rb_ary_or): clarify that union preserves the order from + the given arrays. + +Sat Feb 27 17:05:29 2016 Martin Duerst + + * enc/unicode/case-folding.rb, casefold.h: Reducing size of TitleCase + table by eliminating duplicates. + (with Kimihito Matsui) + +Fri Feb 26 14:40:48 2016 Nobuyoshi Nakada + + * numeric.c (num_step_scan_args): comparison String with Numeric + should raise TypeError. it is an invalid type, but not a + mismatch the number of arguments. [ruby-core:62430] [Bug #9810] + +Fri Feb 26 14:39:39 2016 Nobuyoshi Nakada + + * doc/extension.rdoc, doc/extension.ja.rdoc: add editor local + variables, with commenting out by :enddoc: directives which are + just ignored unless code object mode. [Bug #12111] + +Fri Feb 26 12:25:56 2016 SHIBATA Hiroshi + + * doc/extension.ja.rdoc: removed rendering error caused by editor specific + configuration on http://docs.ruby-lang.org/en/trunk/extension_rdoc.html . + [Bug #12111][ruby-core:73990] + +Fri Feb 26 11:21:41 2016 herwinw + + * lib/xmlrpc.rb: Removed references to NQXML. It's obsoleted parser. + [fix GH-1245][ruby-core:59593][Feature #9371] + * lib/xmlrpc/config.rb: ditto. + * lib/xmlrpc/parser.rb: ditto. + +Fri Feb 26 11:10:19 2016 Rick Salevsky + + * lib/tmpdir.rb: Unify to coding-style for method definition. + [fix GH-1252] + +Fri Feb 26 11:02:04 2016 SHIBATA Hiroshi + + * README.md: update markdown syntax for anchor tag. + [fix GH-1265] Patch by @lukBarros + +Fri Feb 26 10:52:29 2016 Alex Boyd + + * lib/irb.rb: avoid to needless truncation when using back_trace_limit option. + [fix GH-1205][ruby-core:72773][Bug #11969] + +Fri Feb 26 08:11:58 2016 Aaron Patterson + + * gem_prelude.rb: Reduce system calls by activating the `did_you_mean` + gem before requiring the gem. Activating the gem puts the gem on + the load path, where simply requiring the file will search every gem + that's installed until it can find a gem that contains the + `did_you_mean` file. + +Thu Feb 25 19:04:13 2016 Martin Duerst + + * enc/unicode/case-folding.rb: Adding possibility for debugging output + for TitleCase table in casefold.h. + (with Kimihito Matsui) + +Wed Feb 24 22:31:13 2016 Martin Duerst + + * include/ruby/oniguruma.h: Rearranging flag assignments and making + space for titlecase indices; adding additional macros to add or + extract titlecase index; adding comments for better documentation. + * enc/unicode.c: Moving some macros to include/ruby/oniguruma.h; + activating use of titlecase indices. + (with Kimihito Matsui) + +Wed Feb 24 21:03:04 2016 Tanaka Akira + + * random.c (limited_rand): Add a specialized path for when the limit fits + in 32 bit. + +Tue Feb 23 21:52:24 2016 Martin Duerst + + * enc/unicode/case-folding.rb, casefold.h: Outputting actual titlecase + data (new table, with indices from other tables). + * enc/unicode.c: Ignoring titlecase data indices for the moment. + (with Kimihito Matsui) + +Tue Feb 23 15:21:14 2016 Martin Duerst + + * enc/unicode/case-folding.rb, casefold.h: Reading casing data from + SpecialCasing.txt. + (with Kimihito Matsui) + +Mon Feb 22 18:33:55 2016 Martin Duerst + + * enc/unicode/case-folding.rb, casefold.h: Adding flag for title-case, + not yet operational. + (with Kimihito Matsui) + +Mon Feb 22 18:17:03 2016 Martin Duerst + + * enc/unicode/case-folding.rb, casefold.h: Fixed bug that avoided inclusion + of compatibility characters in upper-/lower-case mappings. + (with Kimihito Matsui) + +Sun Feb 21 13:57:18 2016 Nobuyoshi Nakada + + * cgi/escape/escape.c: Optimize CGI.unescape performance by C ext + for ASCII-compatible encodings. [Fix GH-1250] + +Sun Feb 21 13:56:57 2016 Nobuyoshi Nakada + + * cgi/escape/escape.c: Optimize CGI.unescapeHTML performance by C + ext for ASCII-compatible encodings. [Fix GH-1242] + +Sat Feb 20 15:38:16 2016 Eric Wong + + * doc/extension.rdoc: update paths for defs/ directory + +Sat Feb 20 14:44:15 2016 Lucas Buchala + + * vm_eval.c (rb_mod_module_eval): [DOC] Fix documentation + signature for Module#module_eval. [Fix GH-1258] + +Sat Feb 20 14:40:44 2016 Adam O'Connor + + * README.md: a few grammatical changes to the main Ruby README.md. + [Fix GH-1259] + +Sat Feb 20 13:04:22 2016 Nobuyoshi Nakada + + * dir.c (push_pattern, push_glob): deal with read paths as UTF-8 + to stat later, on Windows as well as OS X. + [ruby-core:73868] [Bug #12081] + +Sat Feb 20 01:53:33 2016 Nobuyoshi Nakada + + * object.c (rb_mod_const_get): make error message at uninterned + string consistent with symbols. [ruby-dev:49498] [Bug #12089] + +Fri Feb 19 23:37:52 2016 Masahiro Tomita + + * lib/find.rb (Find#find): raise with the given path name if it + does not exist. [ruby-dev:49497] [Bug #12087] + +Fri Feb 19 12:44:57 2016 Martin Duerst + + * enc/unicode.c: Activated use of case mapping data in CaseUnfold_11 array. + (with Kimihito Matsui) + +Fri Feb 19 11:08:32 2016 Nobuyoshi Nakada + + * ext/extmk.rb: add cygwin case, nothing excluded. + [ruby-core:73806] [Bug#12071] + +Thu Feb 18 21:32:15 2016 Kazuhiro NISHIYAMA + + * man/irb.1: fix output in EXAMPLES. + +Thu Feb 18 21:05:47 2016 Nobuyoshi Nakada + + * string.c (sym_match_m): delegate to String#match but not + String#=~. [ruby-core:72864] [Bug #11991] + +Thu Feb 18 14:15:38 2016 Shota Fukumori + + * re.c: Add MatchData#named_captures + [Feature #11999] [ruby-core:72897] + + * test/ruby/test_regexp.rb(test_match_data_named_captures): Test for above. + + * NEWS: News about MatchData#named_captures. + +Wed Feb 17 21:41:29 2016 Nobuyoshi Nakada + + * defs/id.def (predefined): add idLASTLINE and idBACKREF for $_ + and $~ respectively. + + * parse.y: use idLASTLINE and idBACKREF instead of rb_intern. + +Wed Feb 17 20:23:38 2016 Nobuyoshi Nakada + + * string.c (rb_str_init): fix segfault and memory leak, consider + wide char encoding terminator. + +Wed Feb 17 12:14:59 2016 NARUSE, Yui + + * string.c (rb_str_init): introduce String.new(capacity: size) + [Feature #12024] + +Tue Feb 16 19:10:08 2016 Martin Duerst + + * enc/unicode/case-folding.rb, casefold.h: Used only first element + (rather than all) of target in CaseUnfold_11 array. + (with Kimihito Matsui) + +Tue Feb 16 18:24:38 2016 Nobuyoshi Nakada + + * numeric.c (compare_with_zero): fix variable name, rb_cmperr + requires VALUEs but not an ID. + +Tue Feb 16 17:34:18 2016 Nobuyoshi Nakada + + * dir.c (rb_dir_s_empty_p): add Dir.empty? method, which tells the + argument is the name of an empty directory. [Feature #10121] + +Tue Feb 16 09:51:20 2016 Nobuyoshi Nakada + + * tool/rbinstall.rb (without_destdir): just strip a drive letter + which is prepended by with_destdir. + pointed out by @DavidEGrayson. + https://github.com/ruby/ruby/commit/0e5f9ae#commitcomment-16101763 + +Tue Feb 16 04:42:13 2016 NARUSE, Yui + + * insns.def (opt_plus): simply use LONG2NUM() instead of wrongly + complex overflow case. + + * insns.def (opt_sub): ditto. + +Tue Feb 16 02:49:41 2016 Nobuyoshi Nakada + + * tool/rbinstall.rb (without_destdir): compare with the destdir + after stripping a drive letter, on dosish platforms. + pointed out by @DavidEGrayson. + https://github.com/ruby/ruby/commit/d0cf23b#commitcomment-16100407 + +Mon Feb 15 15:44:09 2016 Nobuyoshi Nakada + + * parse.y (parse_ident): allow keyword arguments just after a + method where the same name local variable is defined. + [ruby-core:73816] [Bug#12073] + +Mon Feb 15 14:43:28 2016 Martin Duerst + + * enc/unicode/case-folding.rb: Added debugging option + (with Kimihito Matsui) + +Sun Feb 14 17:31:50 2016 Lars Kanis + + * lib/mkmf.rb (with_{cpp,c,ld}flags): copy caller strings not to + be modified, in append_{cpp,c,ld}flags respectively. + [Fix GH-1246] + +Sun Feb 14 16:18:57 2016 Nobuyoshi Nakada + + * eval.c (setup_exception): set the cause only if it is explicitly + given or not set yet. [Bug #12068] + +Sat Feb 13 21:44:58 2016 Tanaka Akira + + * hash.c (rb_hash_invert): [DOC] more examples. + +Sat Feb 13 17:30:49 2016 Nobuyoshi Nakada + + * lib/uri/generic.rb (URI::Generic#find_proxy): support CIDR in + no_proxy. [ruby-core:73769] [Feature#12062] + +Sat Feb 13 17:11:58 2016 Fabian Wiesel + + * lib/uri/generic.rb (find_proxy): exclude white-spaces and allow + for a leading dot in the domain name in no_proxy. + [ruby-core:54542] [Feature #8317] + +Fri Feb 12 12:20:56 2016 Nobuyoshi Nakada + + * error.c (name_err_initialize, nometh_err_initialize): [DOC] fix + argument positions. optional parameters except for the message + are placed at the last. + +Fri Feb 12 11:49:49 2016 Anthony Dmitriyev + + * net/ftp.rb: add NullSocket#closed? to fix closing not opened + connection. [Fix GH-1232] + +Fri Feb 12 11:17:38 2016 Bogdan + + * re.c (rb_reg_initialize_m): [DOC] fix missing right bracket. + [Fix GH-1243] + +Thu Feb 11 14:57:58 2016 Nobuyoshi Nakada + + * configure.in (RUBY_CHECK_SIZEOF, RUBY_DEFINT): fix for types + which are conditionally available depending on architectures + when universal binary, e.g., __int128. + +Thu Feb 11 06:26:18 2016 NARUSE, Yui + + * configure.in (RUBY_DEFINT): use Parameter Expansion. + +Thu Feb 11 05:33:24 2016 NARUSE, Yui + + * configure.in (int128_t): don't check HAVE_XXX (for example + HAVE___INT128) because RUBY_CHECK_SIZEOF() don't define it for + config.h and use of $ac_cv_sizeof___int128 alternates the check. + (and don't need to define because users shouldn't know that) + +Wed Feb 10 12:03:41 2016 Nobuyoshi Nakada + + * configure.in (ARFLAGS): check if deterministic mode flag is + effective, which is on by default on Ubuntu. + +Tue Feb 9 16:36:23 2016 Naotoshi Seo + + * lib/logger.rb: Remove block from Logger.add as it's not needed + patch provided by Daniel Lobato Garcia [fix GH-1240] [Bug #12054] + +Tue Feb 9 14:32:23 2016 Zachary Scott + + * ext/zlib/zlib.c: Document mtime header behavior with patch by @schneems + Fixes [GH-1129]: https://github.com/ruby/ruby/pull/1129 + +Tue Feb 9 13:52:49 2016 Zachary Scott + + * re.c: Remove deprecated kcode argument from Regexp.new and compile + patch provided by Dylan Pulliam [Bug #11495] + +Mon Feb 8 21:26:19 2016 Martin Duerst + + * enc/unicode/case-folding.rb, enc/unicode/casefold.h: Flags for + upper/lower conversion added (titlecase and SpecialCasing still missing) + (with Kimihito Matsui) + +Mon Feb 8 20:43:57 2016 Martin Duerst + + * string.c, enc/unicode.c: Disassociating ONIGENC_CASE_FOLD flag from + ONIGENC_CASE_DOWNCASE. + (with Kimihito Matsui) + +Mon Feb 8 13:00:17 2016 Martin Duerst + + * enc/unicode.c: Shortened macros for enc/unicode/casefold.h to + single-letter; use flags in casefold.h for logic. + + * enc/unicode/case-folding.rb: Added flag for case folding. + Changed parameter passing. + + * enc/unicode/casefold.h: New flags added. + (with Kimihito Matsui) + +Mon Feb 8 10:30:10 2016 Nobuyoshi Nakada + + * ruby.c (feature_option): raise a runtime error if ambiguous + feature name is given, in the future. [Bug #12050] + +Mon Feb 8 09:43:57 2016 Martin Duerst + + * common.mk: Removed enc/unicode/casefold.h from automatic build because + some CI systems don't have gperf. Creation of enc/unicode/casefold.h + is now possible with make unicode-up. This is intended as a temporary measure. + +Sun Feb 7 22:10:08 2016 Martin Duerst + + * common.mk: Added two more precondition files for enc/unicode/casefold.h + + * enc/unicode.c: Added shortening macros for enc/unicode/casefold.h + + * enc/unicode/case-folding.rb: Fixed file encoding for CaseFolding.txt + to ASCII-8BIT (should fix some ci errors). Clarified usage. Created + class MapItem. Partially implemented class CaseMapping. + (with Kimihito Matsui) + +Sun Feb 7 14:12:32 2016 Martin Duerst + + * enc/unicode/case-folding.rb: Fixing parameter passing. + (with Kimihito Matsui) + +Sun Feb 7 11:44:03 2016 Martin Duerst + + * enc/unicode/case-folding.rb: New classes CaseMapping/CaseMappingDummy + to pass as parameters; not yet implemented or used. + (with Kimihito Matsui) + +Sun Feb 7 11:16:00 2016 Martin Duerst + + * common.mk: using new option in recipe for enc/unicode/casefold.h + + * enc/unicode/case-folding.rb: Correctly specify argument to new option. + (with Kimihito Matsui) + +Sun Feb 7 10:43:27 2016 Martin Duerst + + (this commit message applies to the previous commit) + * common.mk: explicit recipe for enc/unicode/casefold.h + + * enc/unicode/case-folding.rb: Adding -m option to prepare for using + multiple data files. + (with Kimihito Matsui) + +Sat Feb 6 22:30:57 2016 Nobuyoshi Nakada + + * lib/cgi/util.rb (escapeHTML, unescapeHTML): consider + ASCII-incompatible encodings. [Fix GH-1239] + +Sat Feb 6 15:18:28 2016 Martin Duerst + + * test/ruby/enc/test_regex_casefold.rb: Added data-based testing for + String#downcase :fold. + + * enc/unicode.c: Fixed a range error (lowest non-ASCII character affected + by case operations is U+00B5, MICRO SIGN) + + * test/ruby/enc/test_case_mapping.rb: Explicit test for case folding of + MICRO SIGN to Greek mu. + (with Kimihito Matsui) + +Sat Feb 6 14:51:23 2016 Martin Duerst + + * test/ruby/enc/test_regex_casefold.rb: Tests for three case folding + primitives (mbc_case_fold, get_case_fold_codes_by_str, + apply_all_case_fold) in the various encodings. Currently only known + good encodings are tested to avoid test failures. For bug hunting, + start by adding more encodings with + generate_test_casefold encoding + (with Kimihito Matsui) + +Sat Feb 6 14:37:16 2016 Martin Duerst + + * enc/unicode.c, test/ruby/enc/test_case_mapping.rb: Implemented :fold + option for String#downcase by using case folding data from + regular expression engine, and added a few simple tests. + (with Kimihito Matsui) + +Fri Feb 5 20:08:59 2016 Martin Duerst + + * test/ruby/enc/test_case_mapping.rb: added tests for :ascii option. + (with Kimihito Matsui) + +Fri Feb 5 12:22:20 2016 NARUSE, Yui + + * insns.def (opt_mult): Use int128_t for overflow detection. + + * bignum.c (rb_uint128t2big): added for opt_mult. + + * bignum.c (rb_uint128t2big): added for rb_uint128t2big.. + + * configure.in: define int128_t, uint128_t and related MACROs. + Initially introduced by r41379 but reverted by r50749. + +Thu Feb 4 21:05:17 2016 Martin Duerst + + * enc/unicode.c: Activated :ascii flag for ASCII-only case conversion + (with Kimihito Matsui) + +Thu Feb 4 17:38:01 2016 Nobuyoshi Nakada + + * re.c (reg_set_source): make source string frozen without + copying. + + * re.c (rb_reg_initialize_m): refactor initialization with + encoding. + +Thu Feb 4 15:35:29 2016 Nobuyoshi Nakada + + * string.c (rb_fstring_enc_new, rb_fstring_enc_cstr): functions to + make fstring with encoding. + +Thu Feb 4 14:42:29 2016 Martin Duerst + + * common.mk: Added Unicode data file SpecialCasing.txt to be additionally + downloaded (with Kimihito Matsui) + +Thu Feb 4 12:39:08 2016 joker1007 + + * cgi/escape/escape.c: Optimize CGI.escape performance by C ext + for ASCII-compatible encodings. [Fix GH-1238] + +Thu Feb 4 11:53:56 2016 Martin Duerst + + * common.mk: Introduce two variables (UNICODE_DATA_DIR and + UNICODE_SRC_DATA_DIR) to eliminate repetitions. + +Wed Feb 3 12:13:20 2016 NARUSE, Yui + + * string.c (str_new_frozen): if the given string is embeddedable + but not embedded, embed a new copied string. [Bug #11946] + +Wed Feb 3 08:25:38 2016 boshan + + * ext/openssl/ossl_pkey.c (Init_ossl_pkey): [DOC] Fix typo + "encrypted" to "decrypted". [Fix GH-1235] + +Wed Feb 3 08:21:32 2016 Seiei Miyagi + + * ext/ripper/lib/ripper/lexer.rb (on_heredoc_dedent): Fix + Ripper.lex error in dedenting squiggly heredoc. heredoc tree is + also an array of Elem in the outer tree. [Fix GH-1234] + +Wed Feb 3 02:33:39 2016 NARUSE, Yui + + * re.c (rb_reg_prepare_enc): use already compiled US-ASCII regexp + if given string is ASCII only. + 121.2s to 113.9s on my x86_64-freebsd10.2 Intel Core i5 661 + +Tue Feb 2 13:02:03 2016 NARUSE, Yui + + * re.c: Introduce RREGEXP_PTR. + patch by dbussink. + partially merge https://github.com/ruby/ruby/pull/497 + + * include/ruby/ruby.h: ditto. + + * gc.c: ditto. + + * ext/strscan/strscan.c: ditto. + + * parse.y: ditto. + + * string.c: ditto. + +Tue Feb 2 09:08:27 2016 SHIBATA Hiroshi + + * lib/rubygems/specification.rb: `coding` is effective only first + line except shebang. + + * lib/rubygems/package.rb, lib/rubygems/package/*: ditto. + +Mon Feb 1 21:41:58 2016 SHIBATA Hiroshi + + * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.5.2. + It supports to enable frozen string literal and add `--norc` option for + disable to `.gemrc` configuration. + See 2.5.2 release notes for other fixes and enhancements. + https://github.com/rubygems/rubygems/blob/a8aa3bac723f045c52471c7b9328310a048561e0/History.txt#L3 + +Sun Jan 31 12:33:13 2016 Dan Kreiger + + * test/drb/ut_large.rb (multiply, avg, median): add additional + math operations to DRbLarge. [Fix GH-1086] + +Sun Jan 31 12:19:15 2016 Kuniaki IGARASHI + + * test/ruby/test_file_exhaustive.rb (test_lstat): Add lacking test + for File#lstat. [Fix GH-1231] + +Sun Jan 31 12:15:33 2016 Prayag Verma + + * doc/standard_library.rdoc: fix typo [Fix GH-1230] + Spelling mistakes - + outputing > outputting + publich > publish + +Sat Jan 30 15:18:07 2016 Nobuyoshi Nakada + + * vm_eval.c (rb_check_funcall_with_hook): also should call the + given hook before returning Qundef when overridden respond_to? + method returned false. [ruby-core:73556] [Bug #12030] + +Fri Jan 29 17:40:07 2016 Nobuyoshi Nakada + + * win32/file.c (rb_readlink): drop garbage after the substitute + name, as rb_w32_read_reparse_point returns the expected buffer + size but "\??\" prefix is dropped from the result. + + * win32/win32.c (w32_readlink): ditto, including NUL-terminator. + +Fri Jan 29 17:07:27 2016 NAKAMURA Usaku + + * win32/win32.c (fileattr_to_unixmode, rb_w32_reparse_symlink_p): volume + mount point should be treated as directory, not symlink. + [ruby-core:72483] [Bug #11874] + + * win32/win32.c (rb_w32_read_reparse_point): check the reparse point is + a volume mount point or not. + + * win32/file.c (rb_readlink): follow above change (but this pass won't + be used). + +Fri Jan 29 16:17:07 2016 Lucas Buchala + + * enum.c (enum_take_while, enum_drop_while): rename block + parameter to obj, since they are generic objects. [Fix GH-1226] + +Fri Jan 29 14:15:26 2016 Nobuyoshi Nakada + + * lib/erb.rb (ERB::Compiler#detect_magic_comment): allow + frozen-string-literal in comment as well as encoding. + + * lib/erb.rb (ERB#def_method): insert def line just before the + first non-comment and non-empty line, not to leave duplicated + and stale magic comments. + +Fri Jan 29 11:13:33 2016 Jeremy Evans + + * lib/erb.rb (ERB#set_eoutvar): explicitly make mutable string as + a buffer to make ERB work with --enable-frozen-string-literal. + [ruby-core:73561] [Bug #12031] + +Fri Jan 29 10:44:56 2016 SHIBATA Hiroshi + + * lib/net/http/header.rb: Warn nil variable on HTTP Header. + It caused to NoMethodError. [fix GH-952][fix GH-641] Patch by @teosz + * test/net/http/test_httpheader.rb: Added test for nil HTTP Header. + +Thu Jan 28 17:31:43 2016 Nobuyoshi Nakada + + * ext/socket/socket.c (sock_gethostname): support unlimited size + hostname. + +Wed Jan 27 21:03:45 2016 SHIBATA Hiroshi + + * test/-ext-/string/test_capacity.rb: Added missing library. + +Wed Jan 27 18:53:40 2016 Martin Duerst + + * enc/unicode.c: Fixed bit mask in macro OnigCodePointCount + +Wed Jan 27 17:54:42 2016 Martin Duerst + + * enc/unicode.c: Protect code point count by macro, in order to + be able to use the remaining bits for flags. + (with Kimihito Matsui) + +Wed Jan 27 16:34:35 2016 boshan + + * lib/tempfile.rb (Tempfile#initialize): [DOC] the first parameter + `basename` is optional and defaulted to an empty string since + [GH-523]. [Fix GH-1225] + +Wed Jan 27 16:25:54 2016 Koichi ITO + + * array.c (rb_ary_dig): [DOC] fix the exception class to be raised + when intermediate object does not have dig method. TypeError + will be raised now. [Fix GH-1224] + +Tue Jan 26 19:36:15 2016 Aggelos Avgerinos + + * array.c (permute0, rpermute0): [DOC] Substitute indexes -> + indices in documentation for consistency. [Fix GH-1222] + +Tue Jan 26 15:21:37 2016 Eric Wong + + * compile.c (caller_location): use rb_fstring_cstr for "" + (it is converted to fstring anyways inside rb_iseq_new_with_opt) + * iseq.c (iseqw_s_compile): ditto + * iseq.c (rb_iseq_new_main): use rb_fstring_cstr for "
" + * vm.c (Init_VM): ditto, share with with above + * iseq.c (iseqw_s_compile_file): rb_fstring before rb_io_t->pathv + share "
" with above + * vm.c (rb_binding_add_dynavars): fstring "" immediately + +Tue Jan 26 15:14:01 2016 Kazuki Yamaguchi + + * compile.c (iseq_peephole_optimize): don't apply tailcall + optimization to send/invokesuper instructions with blockiseq. + This is a follow-up to the changes in r51903; blockiseq is now + the third operand of send/invokesuper instructions. + [ruby-core:73413] [Bug #12018] + +Tue Jan 26 14:26:46 2016 Eric Wong + + * signal.c (sig_list): use fstring for hash key + * test/ruby/test_signal.rb (test_signal_list_dedupe_keys): added + +Tue Jan 26 13:08:34 2016 Nobuyoshi Nakada + + * signal.c (rb_f_kill): should immediately deliver reserved + signals SIGILL and SIGFPE, not only SIGSEGV and SIGBUS. + +Tue Jan 26 07:57:28 2016 Joseph Tibbertsma + + * gc.c (RVALUE_PAGE_WB_UNPROTECTED): fix a typo of argument name. + [Fix GH-1221] + +Mon Jan 25 17:26:54 2016 Eric Wong + + * ruby_assert.h (RUBY_ASSERT_WHEN): fix reference to macro name + * vm_core.h: include ruby_assert.h before using + [ruby-core:73371] + +Mon Jan 25 15:55:30 2016 Nobuyoshi Nakada + + * symbol.c (sym_check_asciionly): more informative error message + with the encoding name and the inspected content. + [ruby-core:73398] [Feature #12016] + +Mon Jan 25 09:38:26 2016 SHIBATA Hiroshi + + * test/ruby/test_string.rb: added testcase for next!, succ and succ! + [fix GH-1213] Patch by @K0mAtoru + +Mon Jan 25 09:32:25 2016 SHIBATA Hiroshi + + * lib/webrick/httpservlet/filehandler.rb: fix documentation for namespace. + [fix GH-1219][ci skip] Patch by @leafac + +Sun Jan 24 19:34:23 2016 Eric Wong + + * vm_insnhelper.c (vm_check_if_namespace): tiny size reduction + +Sun Jan 24 18:12:36 2016 Martin Duerst + + * common.mk: Simplifying Unicode data file download logic to make + it more reliable (including additional fix not in r53633) [Bug #12007] + +Sun Jan 24 16:54:11 2016 Nobuyoshi Nakada + + * ext/io/wait/wait.c (io_wait_readwrite): [EXPERIMENTAL] allow to + wait for multiple modes, readable and writable, at once. the + arguments may change in the future. [Feature #12013] + +Sat Jan 23 22:30:59 2016 K0mA + + * test/ruby/test_array.rb (test_keep_if): Add test for + Array#keep_if separate from Array#select! [Fix GH-1218] + +Sat Jan 23 20:54:26 2016 SHIBATA Hiroshi + + * common.mk: revert r53633. It broke rubyci and travis. + https://travis-ci.org/ruby/ruby/builds/104259623 + +Sat Jan 23 20:10:29 2016 Shugo Maeda + + * range.c (range_eqq): revert r51585 because rb_call_super() is + called in range_include() and thus r51585 doesn't work when the + receiver Range object consists of non linear objects such as Date + objects. + [ruby-core:72908] [Bug #12003] + +Sat Jan 23 18:37:37 2016 Martin Duerst + + * ChangeLog: Fixing wrong time on previous commit, and adding + previous commit message to svn [ci skip] + +Sat Jan 23 18:30:30 2016 Martin Duerst + + * common.mk: Simplifying Unicode data file download logic to make + it more reliable [Bug #12007] + +Sat Jan 23 16:29:42 2016 Martin Duerst + + * tool/downloader.rb: Fixed a logical error, improved documentation + +Sat Jan 23 11:42:43 2016 Peter Suschlik + + * README.md: Use SVG Travis badge over PNG for better quality and + device support. [Fix GH-1214] [Fix GH-1216] + +Sat Jan 23 11:29:16 2016 Pascal Betz + + * lib/csv.rb: Update documentation of CSV header converter for + r45498, [GH-575]. [Fix GH-1215] + +Fri Jan 22 17:36:46 2016 Nobuyoshi Nakada + + * vm_core.h (VM_ASSERT): use RUBY_ASSERT instead of rb_bug. + + * error.c (rb_assert_failure): assertion with stack dump. + + * ruby_assert.h (RUBY_ASSERT): new header for the assertion. + +Fri Jan 22 00:25:57 2016 NARUSE, Yui + + * regparse.c (fetch_name_with_level): allow non word characters + at the first character. [Feature #11949] + + * regparse.c (fetch_name): ditto. + +Thu Jan 21 17:34:01 2016 NARUSE, Yui + + * marshal.c (r_object0): honor Marshal.load post proc + value for TYPE_LINK. by Hiroshi Nakamura + https://github.com/ruby/ruby/pull/1204 fix GH-1204 + +Thu Jan 21 16:37:50 2016 NARUSE, Yui + + * Makefile.in (update-rubyspec): fix r53208 like r53451. + +Wed Jan 20 20:58:25 2016 NAKAMURA Usaku + + * common.mk, Makefile.in: update-config_files is only for Unix + platforms. + +Wed Jan 20 17:13:39 2016 Nobuyoshi Nakada + + * tool/extlibs.rb: add --cache option to change cache directory. + +Tue Jan 19 17:03:40 2016 Martin Duerst + + * common.mk: Added Unicode data file CaseFolding.txt to be additionally + downloaded (with Kimihito Matsui) + +Tue Jan 19 10:09:58 2016 Sho Hashimoto + + * lib/shell.rb (Shell.debug_output_exclusive_unlock): remove + because Mutex#exclusive_unlock was already deleted. [fix GH-1185] + +Tue Jan 19 09:38:27 2016 Nick Cox + + * vm_method.c: fix grammar in respond_to? warning. + [fix GH-1047] + +Mon Jan 18 14:37:07 2016 Nobuyoshi Nakada + + * parse.y (parser_here_document): an escaped newline is not an + actual newline, and the rest part should not be dedented. + [ruby-core:72855] [Bug #11989] + +Mon Jan 18 12:04:34 2016 SHIBATA Hiroshi + + * test/ruby/test_string.rb: Added extra testcase for test_rstrip_bang + and test_lstrip_bang. [fix GH-1178] Patch by @Matrixbirds + +Mon Jan 18 11:47:27 2016 SHIBATA Hiroshi + + * string.c: fix a typo. [fix GH-1202][ci skip] Patch by @sunboshan + +Sun Jan 17 21:15:30 2016 NARUSE, Yui + + * configure.in: improve ICC (Intel C Compiler) support. + + * configure.in (CXX): The name of icc's c++ compiler is `icpc`. + + * configure.in (warnings): Add `-diag-disable=2259` to suppress + noisy warnings: "non-pointer conversion from "..." to "..." may + lose significant bits". + + * configure.in (optflags): Add `-fp-model precise` like -fno-fast-math. + + * lib/mkmf.rb: icc supports -Werror=division-by-zero + and -Werror=deprecated-declarations, but doesn't support + -Wdivision-by-zero and -Wdeprecated-declarations. + +Sun Jan 17 20:40:10 2016 Martin Duerst + + * string.c: Any kind of option is now taking the new code path for + upcase/downcase/capitalize/swapcase. :lithuanian can be used for + testing if no specific option is desired. + * test/ruby/enc/test_case_mapping.rb: Adjusted to above. + (with Kimihito Matsui) + +Sun Jan 17 20:10:10 2016 Martin Duerst + + * enc/unicode.c: Fixed a logical error and some comments. + * test/ruby/enc/test_case_mapping.rb: Made tests more general. + (with Kimihito Matsui) + +Sun Jan 17 17:41:41 2016 Martin Duerst + + * enc/unicode.c: Removed artificial expansion for Turkic, + added hand-coded support for Turkic, fixed logic for swapcase. + * string.c: Made use of new case mapping code possible from upcase, + capitalize, and swapcase (with :lithuanian as a guard). + * test/ruby/enc/test_case_mapping.rb: Adjusted for above. + (with Kimihito Matsui) + +Sun Jan 17 15:30:57 2016 Nobuyoshi Nakada + + * ext/socket/option.c (sockopt_bool): relax boolean size to be one + too not only sizeof(int). Winsock getsockopt() returns a single + byte as a boolean socket option. [ruby-core:72730] [Bug #11958] + +Sun Jan 17 14:43:01 2016 Kuniaki IGARASHI + + * test/ruby/test_env.rb: [Fix GH-1201] + * Extract test code for ENV#keep_if from ENV#select_bang + * Add a test case for ENV#select_bang,keep_if + +Sun Jan 17 14:42:25 2016 Kuniaki IGARASHI + + * test/ruby/test_env.rb: [Fix GH-1201] + * Extract test code for ENV#delete_if from ENV#reject_bang + * Add a test case for ENV#reject_bang,delete_if + +Sun Jan 17 14:40:22 2016 Nobuyoshi Nakada + + * ext/socket/option.c (check_size): extract a macro to check + binary data size, with a consistent message. + + * ext/socket/option.c (sockopt_byte): fix error message, + sizeof(int) differs from sizeof(unsigned char) in general. + +Sat Jan 16 21:16:21 2016 Nobuyoshi Nakada + + * parse.y (xstring): reset heredoc indent after dedenting, + so that following string literal would not be dedented. + [ruby-core:72857] [Bug #11990] + +Sat Jan 16 17:24:24 2016 Martin Duerst + + * enc/unicode.c: Artificial mapping to test buffer expansion code. + * string.c: Fixed buffer expansion logic. + * test/ruby/enc/test_case_mapping.rb: Tests for above. + (with Kimihito Matsui) + +Sat Jan 16 16:47:14 2016 SHIBATA Hiroshi + + * ext/openssl/lib/openssl/pkey.rb: Added 2048 bit DH parameter. + * test/openssl/test_pkey_dh.rb: ditto. + +Sat Jan 16 10:51:19 2016 SHIBATA Hiroshi + + * enc/unicode.c: fix implicit conversion error with clang. fixup r53548. + * string.c: ditto. + +Sat Jan 16 10:31:00 2016 SHIBATA Hiroshi + + * common.mk: test-sample was changed to test-basic. + [Feature #11982][ruby-core:72823] + * basictest/runner.rb: ditto. rename from tool/rubytest.rb. + * basictest/test.rb: ditto. rename from sample/test.rb. + * defs/gmake.mk: picked from r53540 + * sample/test.rb: backward compatibility for chkbuild. + +Sat Jan 16 10:23:23 2016 Martin Duerst + + * string.c, enc/unicode.c: New code path as a preparation for Unicode-wide + case mapping. The code path is currently guarded by the :lithuanian + option to avoid accidental problems in daily use. + * test/ruby/enc/test_case_mapping.rb: Test for above. + * string.c: function 'check_case_options': fixed logical errors + (with Kimihito Matsui) + +Fri Jan 15 20:20:20 2016 Naohisa Goto + + * regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): The value of + UNALIGNED_WORD_ACCESS should be used to determine whether + unaligned word access is allowed or not. After this commit, + ./configure CPPFLAGS="-DUNALIGNED_WORD_ACCESS=0" disables + unaligned word access even on platforms that support the feature. + +Fri Jan 15 16:12:10 2016 Nobuyoshi Nakada + + * parse.y (string1): reset heredoc indent for each string literal + so that concatenated string would not be dedented. + [ruby-core:72857] [Bug #11990] + +Thu Jan 14 20:01:00 2016 NARUSE, Yui + + * lib/uri/generic.rb (URI::Generic#to_s): change encoding to + UTF-8 as Ruby 2.2/ by Koichi ITO + https://github.com/ruby/ruby/pull/1188 fix GH-1188 + +Thu Jan 14 17:36:16 2016 Nobuyoshi Nakada + + * variable.c (rb_f_global_variables): add matched back references + only, as well as defined? operator. + +Thu Jan 14 16:12:09 2016 Nobuyoshi Nakada + + * sprintf.c (rb_str_format): format exact number more exactly. + +Thu Jan 14 15:08:43 2016 Tony Arcieri + + * Remove 512-bit DH group. It's affected by LogJam Attack. + https://weakdh.org/ + [fix GH-1196][Bug #11968][ruby-core:72766] + +Thu Jan 14 11:44:29 2016 Nobuyoshi Nakada + + * variable.c (rb_f_global_variables): add $1..$9 only if $~ is + set. fix the condition removed at r14014. + +Wed Jan 13 17:21:45 2016 SHIBATA Hiroshi + + * .travis.yml: removed commented-out code. + +Wed Jan 13 17:14:54 2016 SHIBATA Hiroshi + + * .travis.yml: removed osx code. follow up with r53517 + +Wed Jan 13 16:56:19 2016 Nobuyoshi Nakada + + * iseq.c (rb_iseq_mark): mark parent iseq to prevent dynamically + generated iseq by eval from GC. [ruby-core:72620] [Bug #11928] + +Wed Jan 13 03:42:58 2016 Eric Wong + + * class.c (Init_class_hierarchy): resolve name for rb_cObject ASAP + * object.c (rb_mod_const_set): move name resolution to rb_const_set + * variable.c (rb_const_set): do class resolution here + [ruby-core:72807] [Bug #11977] + +Wed Jan 13 00:37:12 2016 Satoshi Ohmori + + * man/ruby.1: fix double word typo. [Fix GH-1194] + +Tue Jan 12 21:01:09 2016 Benoit Daloze + + * common.mk: update URL and name for the Ruby spec suite. + +Tue Jan 12 19:52:19 2016 sorah (Shota Fukumori) + + * lib/forwardable.rb: Convert given accessors to String. + + r53381 changed to accept only Symbol or String for accessors, but + there are several rubygems that pass classes (e.g. Array, + Hash, ...) as accessors. Prior r53381, it was accepted because Class#to_s + returns its class name. After r53381 given accessors are checked + with define_method, but it accepts only Symbol or String, otherwise + raises TypeError. + + def_delegator Foo, :some_method + + This change is to revert unexpected incompatibility. But this behavior + may change in the future. + +Mon Jan 12 18:41:41 2016 Martin Duerst + + * string.c: made a variable name more grammatically correct + +Mon Jan 12 18:34:34 2016 Martin Duerst + + * string.c: minor grammar fix [ci skip] + +Mon Jan 12 16:09:09 2016 Martin Duerst + + * test/ruby/enc/test_casing_options.rb: Tests for option + parsing/checking for upcase/downcase/capitalize/swapcase + (see r53503; with Kimihito Matsui) + +Mon Jan 12 16:03:03 2016 Martin Duerst + + * string.c: Added option parsing/checking for upcase/downcase/ + capitalize/swapcase (with Kimihito Matsui) + +Mon Jan 11 21:28:28 2016 Martin Duerst + + * include/ruby/oniguruma.h: Added flags needed for upcase/downcase + Unicode addition (with Kimihito Matsui) + +Mon Jan 11 09:50:24 2016 Nobuyoshi Nakada + + * configure.in: check if the API version number is consistent with + the program version number. + +Sun Jan 10 20:57:25 2016 Nobuyoshi Nakada + + * compile.c (compile_massign_lhs): when index ends with splat, + append rhs value to it like POSTARG, since VM_CALL_ARGS_SPLAT + splats the last argument only. [ruby-core:72777] [Bug #11970] + +Sun Jan 10 15:45:10 2016 Nobuyoshi Nakada + + * include/ruby/missing.h (explicit_bzero_by_memset_s): remove + inline implementation by memset_s, which needs a macro before + including headers and can cause problems in extension libraries + by the order of the macro and headers. + +Sun Jan 10 13:41:36 2016 Eric Wong + + * io.c (rb_deferr): remove long obsolete global + +Sun Jan 10 09:14:42 2016 Eric Wong + + * ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String): + eliminate chomp + * lib/net/http.rb (connect): eliminate delete + * lib/net/http/header.rb (basic_encode): ditto + * lib/net/imap.rb (authenticate): eliminate gsub + (self.encode_utf7): shorten delete arg + * lib/net/smtp.rb (base64_encode): eliminate gsub + * lib/open-uri.rb (OpenURI.open_http): eliminate delete + * lib/rss/rss.rb: ditto + * lib/securerandom.rb (base64): ditto + (urlsafe_base64): eliminate delete! + * lib/webrick/httpauth/digestauth.rb (split_param_value): + eliminate chop + * lib/webrick/httpproxy.rb (do_CONNECT): eliminate delete + (setup_upstream_proxy_authentication): ditto + [ruby-core:72666] [Feature #11938] + +Sat Jan 9 23:19:14 2016 Kuniaki IGARASHI + + * test/ruby/test_hash.rb (test_try_convert): Add test for + Hash.try_convert. [Fix GH-1190] + +Sat Jan 9 23:15:25 2016 Jon Moss + + * ext/openssl/ossl.c: Add missing variables to documentation + examples. [Fix GH-1189] + +Sat Jan 9 18:25:57 2016 Nobuyoshi Nakada + + * symbol.h (is_attrset_id): ASET is an attrset ID. fix + unexpected safe call instead of an ordinary ASET. + +Sat Jan 9 10:44:33 2016 Nobuyoshi Nakada + + * configure.in, win32/setup.mak: extract RUBY_PROGRAM_VERSION from + RUBY_VERSION in version.h instead of RUBY_API_VERSION numbers in + include/ruby/version.h, and cut it into version numbers. + +Sat Jan 9 07:13:33 2016 Koichi Sasada + + * gc.c: rename PAGE_* to HEAP_PAGE_* because PAGE_SIZE is used + in Mac OS X. + + * test/ruby/test_gc.rb: catch up this fix. + +Sat Jan 9 05:45:40 2016 Koichi Sasada + + * gc.c: PAGE_BITMAP_PLANES (the number of bitmap) is 4, not 3. + +Sat Jan 9 05:42:57 2016 Koichi Sasada + + * gc.c: rename constant names HEAP_* to PAGE_*. + + Keys of GC::INTERNAL_CONSTANTS are also renamed. + + * test/ruby/test_gc.rb: catch up this fix. + +Fri Jan 8 22:30:06 2016 Akinori MUSHA + + * doc/regexp.rdoc: [DOC] Elaborate on the \G anchor. [ci skip] + +Fri Jan 8 19:49:27 2016 Koichi Sasada + + * gc.c: remove heap_page::body. Instead of this field, + heap_page::start field works well. + +Fri Jan 8 19:31:52 2016 Koichi Sasada + + * gc.c: rename rb_heap_t::page_length to rb_heap_t::total_pages. + + `page_length' is not clear (we may understand with length of + a page). + +Fri Jan 8 17:07:14 2016 Koichi Sasada + + * gc.c: remove heap_page::heap. This field is only used to recognize + whether a page is in a tomb or not. Instead of this field, + heap_page::flags::in_tomb (1 bit field) is added. + + Also type of heap_page::(total|free|final)_slots are changed from + int to short. 2B is enough for them. + +Fri Jan 8 09:33:59 2016 Shugo Maeda + + * iseq.c (rb_iseq_compile_with_option): move variable initialization + code to avoid maybe-uninitialized warnings by gcc 4.8. + +Fri Jan 8 00:03:22 2016 Shugo Maeda + + * enum.c (enum_min, enum_max): do the same optimization as r53454. + +Thu Jan 7 22:32:21 2016 Kenta Murata + + * ruby.h: undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P + and HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P on C++. + [ruby-core:72736] [Bug #11962] + +Thu Jan 7 22:02:21 2016 Shugo Maeda + + * enum.c (enum_minmax): optimize object comparison in + Enumerable#minmax. + +Thu Jan 7 14:49:12 2016 Nobuyoshi Nakada + + * thread.c (rb_thread_pending_interrupt_p): no pending interrupt + before initialization. + + * thread.c (thread_raise_m, rb_thread_kill): uninitialized thread + cannot interrupt. [ruby-core:72732] [Bug #11959] + +Thu Jan 7 11:34:14 2016 Nobuyoshi Nakada + + * include/ruby/backward.h (ruby_show_copyright_to_die): for source + code backward compatibility. + + * ruby.c (process_options): return Qtrue to exit the process + successfully. + + * version.c (ruby_show_copyright): no longer exit. + +Wed Jan 6 17:22:53 2016 Nobuyoshi Nakada + + * lib/optparse.rb (OptionParser#order!): add `into` optional + keyword argument to store the results. [Feature #11191] + +Tue Jan 5 21:44:37 2016 SHIBATA Hiroshi + + * ChangeLog: fix wrong class name. + +Tue Jan 5 21:43:50 2016 Kuniaki IGARASHI + + * test/ruby/test_string.rb(test_chr): added test for String#chr + [fix GH-1179] + +Tue Jan 5 21:32:26 2016 Kuniaki IGARASHI + + * test/ruby/test_numeric.rb (test_nonzero_p): added test for Numeric#nonzero? + [fix GH-1187] + +Tue Jan 5 11:47:23 2016 Damir Gaynetdinov + + * doc/marshal.rdoc: Clarify object references example, that the + reference is same object. [Fix GH-1156] + +Tue Jan 5 05:06:51 2016 Eric Wong + + * ext/stringio/stringio.c (strio_binmode): implement to set encoding + * test/stringio/test_stringio.rb (test_binmode): new test + [ruby-core:72699] [Bug #11945] + +Mon Jan 4 15:44:37 2016 Sho Hashimoto + + * variable.c (rb_mod_deprecate_constant): [DOC] added + documentation for Module#deprecate_constant. [ci skip] + +Mon Jan 4 15:36:38 2016 Sho Hashimoto + + * thread_sync.c: [DOC] remove SizedQueue#close argument. + [ci skip] + +Mon Jan 4 10:14:24 2016 SHIBATA Hiroshi + + * test/coverage/test_coverage.rb: ignored test when enabled to coverage. + It lead to crash with `make test-all`. + +Mon Jan 4 08:10:44 2016 Yuichiro Kaneko + + * insns.def (opt_case_dispatch): Move a comment to the + appropriate position. + [ci skip] + +Sun Jan 3 23:55:13 2016 Nobuyoshi Nakada + + * lib/rubygems/security.rb (DIGEST_ALGORITHM, KEY_ALGORITHM): + should check same name as the used constants. + [ruby-core:72674] [Bug #11940] + +Sun Jan 3 19:22:01 2016 Nobuyoshi Nakada + + * aclocal.m4: add fallback file for non-aclocal environments. + [ruby-core:72683] [Bug #11942] + +Sun Jan 3 13:56:49 2016 Yuichiro Kaneko + + * eval_error.c (rb_print_undef): Use `rb_method_visibility_t` + instead of `int`. + * eval_intern.h (rb_print_undef): ditto + * proc.c (mnew_internal): ditto + * vm_method.c (rb_export_method): ditto + [Misc #11649] [ruby-core:71311] [fix GH-1078] + +Sun Jan 3 12:12:09 2016 Nobuyoshi Nakada + + * acinclude.m4: rename aclocal.m4, which should be generated by + aclocal. [ruby-core:72675] [Bug #11941] + +Sat Jan 2 21:07:55 2016 Eric Wong + + * thread_sync.c (queue_do_pop): avoid cast with Qfalse + (rb_szqueue_push): ditto, use queue_sleep wrapper + +Sat Jan 2 16:16:14 2016 Masatoshi SEKI + + * lib/erb.rb: Allow ERB subclass to add token easily. + [Feature #11936] + + * test/erb/test_erb.rb: ditto. + +Sat Jan 2 14:44:31 2016 Nobuyoshi Nakada + + * parse.y (regexp): set_yylval_num sets u1, should use nd_tag + instead of nd_state. [ruby-core:72638] [Bug #11932] + +Sat Jan 2 02:27:22 2016 Marc-Andre Lafortune + + * lib/ostruct.rb: Fix case of frozen object with initializer. + Bug revealed by RubySpec [ruby-core:72639] + +Fri Jan 1 22:01:52 2016 Kazuhiro NISHIYAMA + + * NEWS: mention CSV's liberal_parsing option. + +Fri Jan 1 19:38:23 2016 okkez + + * doc/NEWS-2.3.0: fix double words typo. + [ci skip][fix GH-1183] + +Fri Jan 1 15:28:56 2016 Nobuyoshi Nakada + + * compile.c (remove_unreachable_chunk): decrease count of + call_info in removed instructions. fix up r53402. + +Fri Jan 1 12:05:53 2016 Nobuyoshi Nakada + + * compile.c (remove_unreachable_chunk): remove unreferred label + to optimize away unreachable chunk. + +Fri Jan 1 11:42:57 2016 James Edward Gray II + + * lib/csv.rb (CSV): Add a liberal_parsing option. + Patch by Braden Anderson. [#11839] + * test/csv/test_features.rb: test liberal_parsing + +Fri Jan 1 10:27:28 2016 Nobuyoshi Nakada + + * tool/mkconfig.rb (RbConfig): prefix SDKROOT to oldincludedir + not includedir, the latter is outside the ruby installation. + [ruby-core:72496] [Bug #11881] + +Fri Jan 1 08:53:02 2016 Yuki Kurihara + + * test/ruby/test_lazy_enumerator.rb (test_take_bad_arg): Add test + code in case of Enumerator::Lazy#take called with negative number. + [ruby-dev:49467] [Bug #11933] + +Fri Jan 1 05:06:20 2016 Nobuyoshi Nakada + + * parse.y (parser_here_document): update indent for each line in + indented here document with single-quotes. + [ruby-core:72479] [Bug #11871] + +Fri Jan 1 03:26:44 2016 Nobuyoshi Nakada + + * lib/ostruct.rb (freeze): define deferred accessors before + freezing to get rid of an error when just reading frozen + OpenStruct. + +Thu Dec 31 14:36:45 2015 Marc-Andre Lafortune + + * lib/ostruct.rb: Fix new_ostruct_member to correctly avoid + redefinition [#11901] + +Thu Dec 31 02:45:12 2015 NARUSE, Yui + + * test/ruby/test_module.rb (test_classpath): r53376 may change + the order of m.constants. + `make TESTS='-v ruby/test_class.rb ruby/test_module.rb' test-all` + may fail after that. + http://rubyci.s3.amazonaws.com/tk2-243-31075/ruby-trunk/log/20151230T164202Z.log.html.gz + +Thu Dec 31 02:20:00 2015 Benoit Daloze + + * common.mk (help): Fix typo. + +Wed Dec 30 20:53:09 2015 SHIBATA Hiroshi + + * lib/net/http/responses.rb: Added new response class for 451 status code. + * lib/net/http.rb: documentation for HTTPUnavailableForLegalReasons + +Wed Dec 30 20:45:45 2015 SHIBATA Hiroshi + + * lib/webrick/httpstatus.rb: Added HTTP 451 Status Code. + [fix GH-1167] Patch by @MuhammetDilmac + https://tools.ietf.org/html/draft-tbray-http-legally-restricted-status-00 + +Wed Dec 30 20:25:52 2015 SHIBATA Hiroshi + + * doc/syntax/calling_methods.rdoc: fix old operator for safe navigation + operator. [ci skip][fix GH-1182] Patch by @dougo + +Wed Dec 30 16:43:23 2015 Kuniaki IGARASHI + + * test/ruby/test_string.rb (test_ord): Add test for String#ord. + [Fix GH-1181] + +Wed Dec 30 11:28:57 2015 Nobuyoshi Nakada + + * lib/forwardable.rb (def_instance_delegator): adjust backtrace of + method body by tail call optimization. adjusting the delegated + target is still done by deleting backtrace. + + * lib/forwardable.rb (def_single_delegator): ditto. + +Wed Dec 30 11:18:42 2015 Elliot Winkler + + * lib/forwardable.rb (def_instance_delegator) fix delegating to + 'args' and 'block', clashing with local variables in generated + methods. [ruby-core:72579] [Bug #11916] + + * lib/forwardable.rb (def_single_delegator): ditto. + +Wed Dec 30 09:58:56 2015 Nobuyoshi Nakada + + * object.c (rb_class_inherited_p): search the corresponding + ancestor to prepended module from prepending class itself. + [ruby-core:72493] [Bug #11878] + +Wed Dec 30 09:20:00 2015 Yuki Kurihara + + * test/stringio/test_io.rb (test_flag): add assertion for error when + text and binary mode are mixed. + [ruby-dev:49465] [Feature #11921] + +Wed Dec 30 08:43:59 2015 Yuki Kurihara + + * test/stringio/test_stringio.rb (test_initialize): add test for + StringIO#initialize. [ruby-core:72585] [Feature #11920] + +Wed Dec 30 05:19:24 2015 Eric Wong + + * class.c (struct clone_const_arg): adjust for id_table + (clone_const): ditto + (clone_const_i): ditto + (rb_mod_init_copy): ditto + (rb_singleton_class_clone_and_attach): ditto + (rb_include_class_new): ditto + (include_modules_at): ditto + * constant.h (rb_free_const_table): ditto + * gc.c (free_const_entry_i): ditto + (rb_free_const_table): ditto + (obj_memsize_of): ditto + (mark_const_entry_i): ditto + (mark_const_tbl): ditto + * internal.h (struct rb_classext_struct): ditto + * object.c (rb_mod_const_set): resolve class name on assignment + * variable.c (const_update): replace with const_tbl_update + (const_tbl_update): new function + (fc_i): adjust for id_table + (find_class_path): ditto + (autoload_const_set): st_update => const_tbl_update + (rb_const_remove): adjust for id_table + (sv_i): ditto + (rb_local_constants_i): ditto + (rb_local_constants): ditto + (rb_mod_const_at): ditto + (rb_mod_const_set): ditto + (rb_const_lookup): ditto + [ruby-core:72112] [Feature #11614] + +Wed Dec 30 04:10:13 2015 CHIKANAGA Tomoyuki + + * thread_pthread.c (rb_thread_create_timer_thread): destroy attr even + if pthread_create() failed. + +Wed Dec 30 02:55:09 2015 Eric Wong + + * thread_pthread.c (setup_communication_pipe): delay setting owner + (rb_thread_create_timer_thread): until thread creation succeeds + [ruby-core:72590] [Bug #11922] + +Tue Dec 29 19:12:46 2015 Nobuyoshi Nakada + + * ruby.c (proc_options): -W command line option should be able to + override -w in RUBYOPT environment variable. + +Tue Dec 29 17:54:16 2015 Nobuyoshi Nakada + + * eval.c (ignored_block): warn if a block is given to `using`, + which is probably for `Module.new`. + +Tue Dec 29 12:48:34 2015 Nobuyoshi Nakada + + * lib/ostruct.rb (OpenStruct): make respond_to? working on + just-allocated objects for workaround of Psych. + [ruby-core:72501] [Bug #11884] + +Tue Dec 29 10:35:00 2015 Kenta Murata + + * test/mkmf/test_have_func.rb (test_have_func): + Add assertion to examine the existence of HAVE_RUBY_INIT. + + * test/mkmf/test_have_func.rb (test_not_have_func): + Add assertion to examine the absence of HAVE_RUBY_INIT. + +Tue Dec 29 06:50:42 2015 Eric Wong + + * thread_sync.c: static classes + +Tue Dec 29 05:30:30 2015 Eric Wong + + * lib/resolv.rb (Resolv::IPv6.create): avoid modifying frozen + * test/resolv/test_dns.rb (test_ipv6_create): test for above + [Bug #11910] [ruby-core:72559] + +Mon Dec 28 14:55:57 2015 Kuniaki IGARASHI + + * test/ruby/test_string.rb (TestString#test_rstrip_bang): Add test + for String#rstrip!. [Fix GH-1176] + +Mon Dec 28 09:18:53 2015 Kuniaki IGARASHI + + * test/ruby/test_string.rb (TestString#test_lstrip_bang): Add test + for String#lstrip!. [Fix GH-1176] + +Sun Dec 27 23:32:26 2015 Masaki Suketa + + * ext/win32ole/win32ole.c (ole_variant2val): refactoring. + +Sun Dec 27 21:14:42 2015 NAKAMURA Usaku + + * process.c (rb_execarg_parent_start1): need to convert the encoding to + ospath's one. + +Sun Dec 27 20:54:22 2015 NAKAMURA Usaku + + * process.c: use rb_w32_uchdir() instead of plain chdir() on Windows. + reported by naruse via twitter. + + * process.c (rb_execarg_addopt): need to convert the encoding to + ospath's one. + +Sun Dec 27 20:00:31 2015 SHIBATA Hiroshi + + * enc/x_emoji.h: fix dead-link. + +Sun Dec 27 19:55:55 2015 SHIBATA Hiroshi + + * doc/NEWS-2.3.0: fix a typo. + +Sun Dec 27 18:08:15 2015 Kuniaki IGARASHI + + * string.c (rb_str_lstrip_bang, rb_str_rstrip_bang): [DOC] Fix + ruby-doc comments for String#rstrip! and lstrip!. It looks like + dropped bang. [Fix GH-1175] + +Sun Dec 27 15:14:20 2015 Eric Wong + + * io.c (io_getpartial): remove unused kwarg from template + * test/ruby/test_io.rb (test_readpartial_bad_args): new + [Bug #11885] + +Sun Dec 27 11:50:53 2015 Kuniaki IGARASHI + + * test/ruby/test_string.rb (test_rstrip, test_lstrip): Add tests + for String#lstrip and rstrip. The test cases are used from + string.c ruby-doc comments. [Fix GH-1174] + +Sun Dec 27 11:47:46 2015 Kuniaki IGARASHI + + * test/ruby/test_string.rb (test_insert): Add test for + String#insert. The test cases are written in string.c + comments as a reference. [Fix GH-1173] + +Sun Dec 27 11:03:33 2015 Nobuyoshi Nakada + + * parse.y (show_bitstack): trace stack_type value if yydebug. + +Sun Dec 27 10:03:14 2015 Nobuyoshi Nakada + + * enc/depend (enc, trans): fix version dependency, shared object + files depend on the RUBY_SO_NAME value for runtime link. + +Sun Dec 27 09:47:20 2015 Masaki Suketa + + * ext/win32ole/win32ole.c (ole_vstr2wc, ole_variant2val): fix blank + string conversion. + [Bug #11880] + Thanks Akio Tajima for the patch! + +Sun Dec 27 09:34:53 2015 craft4coder + + * doc/extension.rdoc: [DOC] `nul` should be uppercase. + change 'nul' => 'NUL'. [Fix GH-1172] + +Sat Dec 26 18:29:01 2015 Kouhei Sutou + + * lib/xmlrpc/client.rb: Support SSL options in async methods of + XMLRPC::Client. + [Bug #11489] + Reported by Aleksandar Kostadinov. Thanks!!! + +Sat Dec 26 11:26:38 2015 Nobuyoshi Nakada + + * miniinit.c (Init_enc): add some common aliases of built-in + encodings. [ruby-core:72481] [Bug #11872] + +Fri Dec 25 22:43:26 2015 Nobuyoshi Nakada + + * configure.in: extract RUBY_RELEASE_DAY at generating Makefile. + + * version.h (RUBY_RELEASE_DATE): construct from RUBY_RELEASE_YEAR, + RUBY_RELEASE_MONTH, and RUBY_RELEASE_DAY. + +Fri Dec 25 21:33:06 2015 Yukihiro Matsumoto + + * version.h (RUBY_VERSION): 2.4.0 development has started. + +Fri Dec 25 14:12:12 2015 Martin Duerst + + * doc/ChangeLog-2.3.0, ext/tk/lib/tkextlib/SUPPORT_STATUS, + include/ruby/version.h: minor grammar fixes [ci skip] + +Fri Dec 25 08:23:22 2015 Tadashi Saito + + * compile.c, cont.c, doc, man: fix common misspelling. + [ruby-core:72466] [Bug #11870] + + +For the changes before 2.3.0, see doc/ChangeLog-2.3.0 +For the changes before 2.2.0, see doc/ChangeLog-2.2.0 +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 (&optional x y) + (let* ((time (or x (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 diff --git a/doc/ChangeLog-2015 b/doc/ChangeLog-2015 deleted file mode 100644 index 3aaa3d28e2..0000000000 --- a/doc/ChangeLog-2015 +++ /dev/null @@ -1,791 +0,0 @@ ------------------------------------------------------------------------- -r53395 | marcandre | 2015-12-31 14:37:21 +0900 (Thu, 31 Dec 2015) | 2 lines - -* lib/ostruct.rb: Fix new_ostruct_member to correctly avoid redefinition - [#11901] ------------------------------------------------------------------------- -r53394 | nobu | 2015-12-31 10:49:27 +0900 (Thu, 31 Dec 2015) | 4 lines - -test_module.rb: sort constants - -* test/ruby/test_module.rb (test_classpath): since r53376, all - results of Module#constants should be sorted to compare. ------------------------------------------------------------------------- -r53393 | nobu | 2015-12-31 10:38:28 +0900 (Thu, 31 Dec 2015) | 4 lines - -ruby-additional.el: escape control code - -* misc/ruby-additional.el (ruby-encode-unicode): escape control - code except for LF. ------------------------------------------------------------------------- -r53392 | nobu | 2015-12-31 09:39:03 +0900 (Thu, 31 Dec 2015) | 4 lines - -ruby-additional.el: encode non-ASCII code only - -* misc/ruby-additional.el (ruby-encode-unicode): encode non-ASCII - code only, excluding ASCII control code, e.g. \t, \n, etc. ------------------------------------------------------------------------- -r53391 | naruse | 2015-12-31 04:06:55 +0900 (Thu, 31 Dec 2015) | 1 line - -skip if locale is not UTF-8 ------------------------------------------------------------------------- -r53390 | naruse | 2015-12-31 02:47:43 +0900 (Thu, 31 Dec 2015) | 5 lines - -* test/ruby/test_module.rb (test_classpath): r53376 may change - the order of m.constants. - `make TESTS='-v ruby/test_class.rb ruby/test_module.rb' test-all` - may fail after that. - http://rubyci.s3.amazonaws.com/tk2-243-31075/ruby-trunk/log/20151230T164202Z.log.html.gz ------------------------------------------------------------------------- -r53389 | svn | 2015-12-31 02:20:50 +0900 (Thu, 31 Dec 2015) | 1 line - -* 2015-12-31 ------------------------------------------------------------------------- -r53388 | eregon | 2015-12-31 02:20:28 +0900 (Thu, 31 Dec 2015) | 1 line - -* common.mk (help): Fix typo. ------------------------------------------------------------------------- -r53387 | hsbt | 2015-12-30 20:53:15 +0900 (Wed, 30 Dec 2015) | 2 lines - -* lib/net/http/responses.rb: Added new response class for 451 status code. -* lib/net/http.rb: documentation for HTTPUnavailableForLegalReasons ------------------------------------------------------------------------- -r53386 | hsbt | 2015-12-30 20:45:52 +0900 (Wed, 30 Dec 2015) | 3 lines - -* lib/webrick/httpstatus.rb: Added HTTP 451 Status Code. - [fix GH-1167] Patch by @MuhammetDilmac - https://tools.ietf.org/html/draft-tbray-http-legally-restricted-status-00 ------------------------------------------------------------------------- -r53385 | hsbt | 2015-12-30 20:26:09 +0900 (Wed, 30 Dec 2015) | 2 lines - -* doc/syntax/calling_methods.rdoc: fix old operator for safe navigation - operator. [ci skip][fix GH-1182] Patch by @dougo ------------------------------------------------------------------------- -r53384 | nobu | 2015-12-30 16:43:25 +0900 (Wed, 30 Dec 2015) | 4 lines - -Add test for String#ord - -* test/ruby/test_string.rb (test_ord): Add test for String#ord. - [Fix GH-1181] ------------------------------------------------------------------------- -r53383 | nobu | 2015-12-30 11:28:59 +0900 (Wed, 30 Dec 2015) | 6 lines - -forwardable.rb: adjust backtrace by tail call - -* lib/forwardable.rb (def_instance_delegator): adjust backtrace of - method body by tail call optimization. adjusting the delegated - target is still done by deleting backtrace. -* lib/forwardable.rb (def_single_delegator): ditto. ------------------------------------------------------------------------- -r53382 | nobu | 2015-12-30 11:26:15 +0900 (Wed, 30 Dec 2015) | 3 lines - -fix commit miss - -* test/test_forwardable.rb: add tests for r53381. ------------------------------------------------------------------------- -r53381 | nobu | 2015-12-30 11:18:44 +0900 (Wed, 30 Dec 2015) | 71 lines - -Forwardable: Fix delegating to 'args' and 'block' - -* lib/forwardable.rb (def_instance_delegator) fix delegating to - 'args' and 'block', clashing with local variables in generated - methods. [ruby-core:72579] [Bug #11916] - -* lib/forwardable.rb (def_single_delegator): ditto. - -If you have a class that uses Forwardable to delegate a method to -another object, and the method that returns the delegate object is -called `args` or `block`, then Forwardable will fail to work. - -Here's a simple example: - - class ModelCreator - extend Forwardable - - attr_reader :args - - def_delegator :args, :model_name - - def initialize(args) - @args = args - end - end - - ModelCreator.new.model_name - -If you run the last line above, then you'll get: - - NoMethodError: undefined method `model_name' for []:Array - -This error occurs because `def_delegator` -- as it is written in Ruby -- -uses metaprogramming to add methods to the class that will then delegate -to the delegate object. So it's as if we had written: - - class ModelCreator - extend Forwardable - - attr_reader :args - - def model_name(*args, &block) - args.model_name(*args, &block) - end - - def initialize(args) - @args = args - end - end - -As you can see, `def_delegator` will not only forward the method call -onto the delegate object, it will also forward any arguments provided as -well. It is here that the bug arises: it splats all of the arguments -into a variable which is called `args`, and because of how variable -scope works in Ruby, it then attempts to call `model_name` on *this* -variable and *not* our delegate object method. - -The fix is to call the delegate object method manually using `__send__`. -(This assumes, of course, that the given receiver is, in fact, the name -of a method and not the name of an instance variable, which is also a -possibility.) We use `__send__` because the delegate object method could -be private. - -So, that looks like this: - - def model_name(*args, &block) - __send__(:args).model_name(*args, &block) - end - -Because `def_delegators` and `delegate` use `def_delegator` internally, -they also get this fix as well. ------------------------------------------------------------------------- -r53380 | nobu | 2015-12-30 09:58:58 +0900 (Wed, 30 Dec 2015) | 5 lines - -object.c: fix prepend cmp - -* object.c (rb_class_inherited_p): search the corresponding - ancestor to prepended module from prepending class itself. - [ruby-core:72493] [Bug #11878] ------------------------------------------------------------------------- -r53379 | nobu | 2015-12-30 09:20:03 +0900 (Wed, 30 Dec 2015) | 5 lines - -test_io.rb: test for rb_io_modestr_fmode - -* test/stringio/test_io.rb (test_flag): add assertion for error when - text and binary mode are mixed. - [ruby-dev:49465] [Feature #11921] ------------------------------------------------------------------------- -r53378 | nobu | 2015-12-30 08:44:01 +0900 (Wed, 30 Dec 2015) | 4 lines - -test_stringio.rb: test_initialize - -* test/stringio/test_stringio.rb (test_initialize): add test for - StringIO#initialize. [ruby-core:72585] [Feature #11920] ------------------------------------------------------------------------- -r53377 | normal | 2015-12-30 05:21:17 +0900 (Wed, 30 Dec 2015) | 4 lines - -ChangeLog: add entry for r53376 - -Oops :x -[ruby-core:72112] [Feature #11614] ------------------------------------------------------------------------- -r53376 | normal | 2015-12-30 05:19:14 +0900 (Wed, 30 Dec 2015) | 40 lines - -use id_table for constant tables - -valgrind 3.9.0 on x86-64 reports a minor reduction in memory usage -when loading only RubyGems and RDoc by running: ruby -rrdoc -eexit - -before: HEAP SUMMARY: - in use at exit: 2,913,448 bytes in 27,394 blocks - total heap usage: 48,362 allocs, 20,968 frees, 9,034,621 bytes alloc - -after: HEAP SUMMARY: - in use at exit: 2,880,056 bytes in 26,712 blocks - total heap usage: 47,791 allocs, 21,079 frees, 9,046,507 bytes alloc - -* class.c (struct clone_const_arg): adjust for id_table - (clone_const): ditto - (clone_const_i): ditto - (rb_mod_init_copy): ditto - (rb_singleton_class_clone_and_attach): ditto - (rb_include_class_new): ditto - (include_modules_at): ditto -* constant.h (rb_free_const_table): ditto -* gc.c (free_const_entry_i): ditto - (rb_free_const_table): ditto - (obj_memsize_of): ditto - (mark_const_entry_i): ditto - (mark_const_tbl): ditto -* internal.h (struct rb_classext_struct): ditto -* object.c (rb_mod_const_set): resolve class name on assignment -* variable.c (const_update): replace with const_tbl_update - (const_tbl_update): new function - (fc_i): adjust for id_table - (find_class_path): ditto - (autoload_const_set): st_update => const_tbl_update - (rb_const_remove): adjust for id_table - (sv_i): ditto - (rb_local_constants_i): ditto - (rb_local_constants): ditto - (rb_mod_const_at): ditto - (rb_mod_const_set): ditto - (rb_const_lookup): ditto ------------------------------------------------------------------------- -r53375 | nagachika | 2015-12-30 04:26:52 +0900 (Wed, 30 Dec 2015) | 2 lines - -* thread_pthread.c (rb_thread_create_timer_thread): destroy attr even - if pthread_create() failed. ------------------------------------------------------------------------- -r53374 | svn | 2015-12-30 03:20:33 +0900 (Wed, 30 Dec 2015) | 1 line - -* 2015-12-30 ------------------------------------------------------------------------- -r53373 | normal | 2015-12-30 03:20:27 +0900 (Wed, 30 Dec 2015) | 36 lines - -thread_pthread.c (rb_thread_create_timer_thread): fix race - -This fixes an occasional [ASYNC BUG] failure in -bootstraptest/test_fork.rb '[ruby-dev:37934]' -which tests fork/pthread_create failure by setting -RLIMIT_NPROC to 1 and triggering EAGAIN on pthread_create -when attempting to recreate the timer thread. - -The problem timeline is as follows: - -thread 1 thread 2 ---------------------------------------------------------------- -rb_thread_create_timer_thread -setup_communication_pipe - rb_thread_wakeup_timer_thread_low -pthread_create fails pipe looks valid, write! -CLOSE_INVALIDATE (x4) EBADF -> ASYNC BUG - -The checks in rb_thread_wakeup_timer_thread_low only tried to -guarantee proper ordering with native_stop_timer_thread, not -rb_thread_create_timer_thread :x - -Now, this should allow rb_thread_create_timer_thread to -synchronize properly with rb_thread_wakeup_timer_thread_low by -delaying the validation marking of the timer_thread_pipe until -we are certain the timer thread is alive. - -In this version, rb_thread_wakeup_timer_thread_low becomes a -noop. Threading is still completely broken with NPROC==1, but -there's not much we can do about it beside warn the user. -We no longer spew a scary [ASYNC BUG] message or dump core -on them. - -* thread_pthread.c (setup_communication_pipe): delay setting owner - (rb_thread_create_timer_thread): until thread creation succeeds - [ruby-core:72590] [Bug #11922] ------------------------------------------------------------------------- -r53372 | nobu | 2015-12-29 21:23:04 +0900 (Tue, 29 Dec 2015) | 4 lines - -ruby.c: overriding warning options - -* ruby.c (proc_options): successive -W option overrides previous - warning options. ------------------------------------------------------------------------- -r53371 | nagachika | 2015-12-29 21:17:21 +0900 (Tue, 29 Dec 2015) | 1 line - -* ChangeLog: remove duplicated entries at r53366. ------------------------------------------------------------------------- -r53370 | nobu | 2015-12-29 19:39:53 +0900 (Tue, 29 Dec 2015) | 4 lines - -ruby.c: parse -W option - -* ruby.c (proc_options): parse and skip '-W' option and its - argument even if ignored. ------------------------------------------------------------------------- -r53369 | nobu | 2015-12-29 19:12:48 +0900 (Tue, 29 Dec 2015) | 4 lines - -ruby.c: command line option over RUBYOPT env - -* ruby.c (proc_options): -W command line option should be able to - override -w in RUBYOPT environment variable. ------------------------------------------------------------------------- -r53368 | nobu | 2015-12-29 17:54:18 +0900 (Tue, 29 Dec 2015) | 4 lines - -eval.c: warn block for using - -* eval.c (ignored_block): warn if a block is given to `using`, - which is probably for `Module.new`. ------------------------------------------------------------------------- -r53367 | nobu | 2015-12-29 17:36:22 +0900 (Tue, 29 Dec 2015) | 4 lines - -compile.c: adjust label reference - -* compile.c (new_adjust_body): labels referred by adjuststack - shoud not be optimized away. ------------------------------------------------------------------------- -r53366 | nobu | 2015-12-29 12:48:36 +0900 (Tue, 29 Dec 2015) | 5 lines - -ostruct.rb: respond_to? - -* lib/ostruct.rb (OpenStruct): make respond_to? working on - just-allocated objects for workaround of Psych. - [ruby-core:72501] [Bug #11884] ------------------------------------------------------------------------- -r53365 | mrkn | 2015-12-29 10:37:20 +0900 (Tue, 29 Dec 2015) | 5 lines - -* test/mkmf/test_have_func.rb (test_have_func): - Add assertion to examine the existence of HAVE_RUBY_INIT. - -* test/mkmf/test_have_func.rb (test_not_have_func): - Add assertion to examine the absence of HAVE_RUBY_INIT. ------------------------------------------------------------------------- -r53364 | normal | 2015-12-29 06:52:15 +0900 (Tue, 29 Dec 2015) | 4 lines - -thread_sync.c: static classes - -We do not want to waste space by exposing globals to other -objects. ------------------------------------------------------------------------- -r53363 | normal | 2015-12-29 05:31:10 +0900 (Tue, 29 Dec 2015) | 5 lines - -Resolv::IPv6.create: avoid modifying frozen string literal - -* lib/resolv.rb (Resolv::IPv6.create): avoid modifying frozen -* test/resolv/test_dns.rb (test_ipv6_create): test for above - [Bug #11910] [ruby-core:72559] ------------------------------------------------------------------------- -r53362 | a_matsuda | 2015-12-29 00:10:25 +0900 (Tue, 29 Dec 2015) | 1 line - -:warning: key "accelerator" is duplicated and overwritten in Tk samples ------------------------------------------------------------------------- -r53361 | a_matsuda | 2015-12-29 00:10:19 +0900 (Tue, 29 Dec 2015) | 1 line - -Missing require ------------------------------------------------------------------------- -r53360 | a_matsuda | 2015-12-29 00:10:10 +0900 (Tue, 29 Dec 2015) | 1 line - -parsedate is no more available since 1.9 ------------------------------------------------------------------------- -r53359 | svn | 2015-12-29 00:10:08 +0900 (Tue, 29 Dec 2015) | 1 line - -* 2015-12-29 ------------------------------------------------------------------------- -r53358 | a_matsuda | 2015-12-29 00:09:59 +0900 (Tue, 29 Dec 2015) | 4 lines - -Convert euc-jp resource file in Tk sample to utf-8 - -The sample program assumes the file to be encoded in utf-8 -https://github.com/ruby/ruby/blob/02531898987693bd28879c78b3cb660006891186/ext/tk/sample/tkoptdb.rb#L15-L17 ------------------------------------------------------------------------- -r53357 | a_matsuda | 2015-12-29 00:09:51 +0900 (Tue, 29 Dec 2015) | 1 line - -Documentation typo ------------------------------------------------------------------------- -r53356 | kazu | 2015-12-28 16:04:01 +0900 (Mon, 28 Dec 2015) | 1 line - -fix a typo [ci skip] ------------------------------------------------------------------------- -r53355 | nobu | 2015-12-28 15:42:18 +0900 (Mon, 28 Dec 2015) | 4 lines - -iseq.c: suppress warnings - -* iseq.c (rb_iseq_compile_with_option): suppress "clobbered" - warnings by old gcc. ------------------------------------------------------------------------- -r53354 | nobu | 2015-12-28 14:56:00 +0900 (Mon, 28 Dec 2015) | 4 lines - -Add test for String#rstrip! - -* test/ruby/test_string.rb (TestString#test_rstrip_bang): Add test - for String#rstrip!. [Fix GH-1176] ------------------------------------------------------------------------- -r53353 | svn | 2015-12-28 09:19:11 +0900 (Mon, 28 Dec 2015) | 1 line - -* 2015-12-28 ------------------------------------------------------------------------- -r53352 | nobu | 2015-12-28 09:18:55 +0900 (Mon, 28 Dec 2015) | 4 lines - -Add test for String#lstrip! - -* test/ruby/test_string.rb (TestString#test_lstrip_bang): Add test - for String#lstrip!. [Fix GH-1176] ------------------------------------------------------------------------- -r53351 | svn | 2015-12-27 23:34:16 +0900 (Sun, 27 Dec 2015) | 1 line - -* remove trailing spaces. ------------------------------------------------------------------------- -r53350 | suke | 2015-12-27 23:34:11 +0900 (Sun, 27 Dec 2015) | 3 lines - -* ext/win32ole/win32ole.c (ole_variant2val): refactoring. - - ------------------------------------------------------------------------- -r53349 | usa | 2015-12-27 21:24:03 +0900 (Sun, 27 Dec 2015) | 3 lines - -* test/ruby/test_process.rb (TestProcess#test_execopts_open_chdir_m17n_path): - test for r53346, r53347 and r53348. - ------------------------------------------------------------------------- -r53348 | usa | 2015-12-27 21:15:20 +0900 (Sun, 27 Dec 2015) | 3 lines - -* process.c (rb_execarg_parent_start1): need to convert the encoding to - ospath's one. - ------------------------------------------------------------------------- -r53347 | usa | 2015-12-27 21:03:45 +0900 (Sun, 27 Dec 2015) | 2 lines - -* process.c (rb_execarg_addopt): need to convert to ospath. - ------------------------------------------------------------------------- -r53346 | usa | 2015-12-27 20:54:59 +0900 (Sun, 27 Dec 2015) | 3 lines - -* process.c: use rb_w32_uchdir() instead of plain chdir() on Windows. - reported by naruse via twitter. - ------------------------------------------------------------------------- -r53345 | hsbt | 2015-12-27 20:00:36 +0900 (Sun, 27 Dec 2015) | 1 line - -* enc/x_emoji.h: fix dead-link. ------------------------------------------------------------------------- -r53344 | hsbt | 2015-12-27 19:55:59 +0900 (Sun, 27 Dec 2015) | 1 line - -* doc/NEWS-2.3.0: fix a typo. ------------------------------------------------------------------------- -r53343 | a_matsuda | 2015-12-27 18:59:31 +0900 (Sun, 27 Dec 2015) | 3 lines - -Method name typo in a Tk sample - -* ext/tk/sample/tkextlib/treectrl/help.rb: kength => length ------------------------------------------------------------------------- -r53342 | a_matsuda | 2015-12-27 18:59:20 +0900 (Sun, 27 Dec 2015) | 3 lines - -ivar name typo in a Tk sample - -* ext/tk/sample/tkextlib/treectrl/outlook-newgroup.rb: @Messge => @Message ------------------------------------------------------------------------- -r53341 | a_matsuda | 2015-12-27 18:59:13 +0900 (Sun, 27 Dec 2015) | 3 lines - -Method name typo in a Tk sample - -* ext/tk/sample/tktextio.rb: trancate => truncate ------------------------------------------------------------------------- -r53340 | a_matsuda | 2015-12-27 18:58:58 +0900 (Sun, 27 Dec 2015) | 3 lines - -ivar name typo in a Tk sample - -* ext/tk/sample/tktextio.rb: @opne => @open ------------------------------------------------------------------------- -r53339 | a_matsuda | 2015-12-27 18:58:48 +0900 (Sun, 27 Dec 2015) | 4 lines - -Typo in Tk samples - -* ext/tk/sample/demos-en/goldberg.rb: miliseconds => milliseconds -* ext/tk/sample/demos-jp/goldberg.rb: miliseconds => milliseconds ------------------------------------------------------------------------- -r53338 | a_matsuda | 2015-12-27 18:58:22 +0900 (Sun, 27 Dec 2015) | 4 lines - -Method name typo in Tk samples - -* ext/tk/sample/demos-en/ctext.rb: seleect_adjust => select_adjust -* ext/tk/sample/demos-jp/ctext.rb: seleect_adjust => select_adjust ------------------------------------------------------------------------- -r53337 | a_matsuda | 2015-12-27 18:58:14 +0900 (Sun, 27 Dec 2015) | 3 lines - -Typo in a Tk sample - -* ext/tk/sample/tkextlib/bwidget/tree.rb: allways => always ------------------------------------------------------------------------- -r53336 | a_matsuda | 2015-12-27 18:58:08 +0900 (Sun, 27 Dec 2015) | 3 lines - -Typo in a Tk sample - -* ext/tk/sample/demos-jp/mclist.rb: aquq => aqua ------------------------------------------------------------------------- -r53335 | a_matsuda | 2015-12-27 18:57:47 +0900 (Sun, 27 Dec 2015) | 3 lines - -Typo in a gvar name - -* ext/tk/sample/demos-jp/hscale.rb: $hscale_deom => $hscale_demo ------------------------------------------------------------------------- -r53334 | a_matsuda | 2015-12-27 18:57:42 +0900 (Sun, 27 Dec 2015) | 4 lines - -Typo in Tk samples - -* ext/tk/sample/demos-en/ttkbut.rb: happyness => happiness -* ext/tk/sample/demos-jp/ttkbut.rb: happyness => happiness ------------------------------------------------------------------------- -r53333 | a_matsuda | 2015-12-27 18:57:30 +0900 (Sun, 27 Dec 2015) | 1 line - -Typos in messages ------------------------------------------------------------------------- -r53332 | a_matsuda | 2015-12-27 18:57:21 +0900 (Sun, 27 Dec 2015) | 3 lines - -Documentation typos - -[ci skip] ------------------------------------------------------------------------- -r53331 | a_matsuda | 2015-12-27 18:57:12 +0900 (Sun, 27 Dec 2015) | 8 lines - -Typo: widget (?) - -* ext/tk/lib/tk.rb: wiget => widget -* ext/tk/sample/demos-en/{floor.rb,floor2.rb,puzzle.rb}: widet => widget -* ext/tk/sample/demos-en/textpeer.rb: Wdget => widget -* ext/tk/sample/demos-jp/puzzle.rb: widet => widget -* ext/tk/sample/demos-jp/textpeer.rb: Wdget => widget -* ext/tk/sample/tkextlib/bwidget/basic.rb: widtet => widget ------------------------------------------------------------------------- -r53330 | nobu | 2015-12-27 18:08:17 +0900 (Sun, 27 Dec 2015) | 5 lines - -Fix rdoc for String#rstrip!, lstrip! [ci skip] - -* string.c (rb_str_lstrip_bang, rb_str_rstrip_bang): [DOC] Fix - ruby-doc comments for String#rstrip! and lstrip!. It looks like - dropped bang. [Fix GH-1175] ------------------------------------------------------------------------- -r53329 | normal | 2015-12-27 15:15:06 +0900 (Sun, 27 Dec 2015) | 8 lines - -IO#readpartial rejects bad args - -Sometimes a sleepy developer will want to swap read_nonblock -for readpartial forget to remove "exception: false" - -* io.c (io_getpartial): remove unused kwarg from template -* test/ruby/test_io.rb (test_readpartial_bad_args): new - [Bug #11885] ------------------------------------------------------------------------- -r53328 | nobu | 2015-12-27 11:50:56 +0900 (Sun, 27 Dec 2015) | 5 lines - -Add tests for String#lstrip and rstrip - -* test/ruby/test_string.rb (test_rstrip, test_lstrip): Add tests - for String#lstrip and rstrip. The test cases are used from - string.c ruby-doc comments. [Fix GH-1174] ------------------------------------------------------------------------- -r53327 | nobu | 2015-12-27 11:47:49 +0900 (Sun, 27 Dec 2015) | 4 lines - -Add test for String#test_insert. - -* test/ruby/test_string.rb (test_insert): The test cases are - written in string.c comments as a reference. [Fix GH-1173] ------------------------------------------------------------------------- -r53326 | nobu | 2015-12-27 11:03:36 +0900 (Sun, 27 Dec 2015) | 3 lines - -parse.y: show_bitstack - -* parse.y (show_bitstack): trace stack_type value if yydebug. ------------------------------------------------------------------------- -r53325 | nobu | 2015-12-27 10:51:50 +0900 (Sun, 27 Dec 2015) | 6 lines - -depend: version dependency - -* enc/depend (enc, trans): fix version dependency, let encoding - and transcoding shared object files depend on config.status, - instead of enc.mk which is regenerated at each build, for the - RUBY_SO_NAME value used at runtime link. ------------------------------------------------------------------------- -r53324 | nobu | 2015-12-27 10:03:16 +0900 (Sun, 27 Dec 2015) | 4 lines - -depend: version dependency - -* enc/depend (enc, trans): fix version dependency, shared object - files depend on the RUBY_SO_NAME value for runtime link. ------------------------------------------------------------------------- -r53323 | svn | 2015-12-27 09:48:25 +0900 (Sun, 27 Dec 2015) | 1 line - -* remove trailing spaces. ------------------------------------------------------------------------- -r53322 | suke | 2015-12-27 09:48:20 +0900 (Sun, 27 Dec 2015) | 6 lines - -* ext/win32ole/win32ole.c (ole_vstr2wc, ole_variant2val): fix blank - string conversion. - [Bug #11880] - Thanks Akio Tajima for the patch! - - ------------------------------------------------------------------------- -r53321 | svn | 2015-12-27 09:35:12 +0900 (Sun, 27 Dec 2015) | 1 line - -* 2015-12-27 ------------------------------------------------------------------------- -r53320 | nobu | 2015-12-27 09:34:55 +0900 (Sun, 27 Dec 2015) | 4 lines - -`nul` should be uppercase [ci skip] - -* doc/extension.rdoc: [DOC] `nul` should be uppercase. - change 'nul' => 'NUL'. [Fix GH-1172] ------------------------------------------------------------------------- -r53319 | naruse | 2015-12-26 19:01:35 +0900 (Sat, 26 Dec 2015) | 3 lines - -Revert "* tool/post-commit.sh: copied from svn server." - -manged in another repo ------------------------------------------------------------------------- -r53318 | kou | 2015-12-26 18:33:43 +0900 (Sat, 26 Dec 2015) | 5 lines - -* lib/xmlrpc/client.rb: Support SSL options in async methods of - XMLRPC::Client. - [Bug #11489] - Reported by Aleksandar Kostadinov. Thanks!!! - ------------------------------------------------------------------------- -r53317 | svn | 2015-12-26 18:26:08 +0900 (Sat, 26 Dec 2015) | 1 line - -* properties. ------------------------------------------------------------------------- -r53316 | naruse | 2015-12-26 18:25:58 +0900 (Sat, 26 Dec 2015) | 1 line - -* tool/post-commit.sh: copied from svn server. ------------------------------------------------------------------------- -r53315 | nobu | 2015-12-26 11:26:40 +0900 (Sat, 26 Dec 2015) | 4 lines - -miniinit.c: built-in encoding aliases - -* miniinit.c (Init_enc): add some common aliases of built-in - encodings. [ruby-core:72481] [Bug #11872] ------------------------------------------------------------------------- -r53314 | nobu | 2015-12-26 01:24:43 +0900 (Sat, 26 Dec 2015) | 6 lines - -program version from API version - -* configure.in, version.h (RUBY_PROGRAM_VERSION): extract version - numbers from API version in include/ruby/version.h except for - TEENY, to save matz job next year. -* win32/setup.mak (-version-): use program version. ------------------------------------------------------------------------- -r53313 | svn | 2015-12-26 00:02:19 +0900 (Sat, 26 Dec 2015) | 1 line - -* 2015-12-26 ------------------------------------------------------------------------- -r53312 | nobu | 2015-12-26 00:02:14 +0900 (Sat, 26 Dec 2015) | 7 lines - -setup.mak: split release date - -* win32/setup.mak (verconf.mk): split release date into year, - month, and day. - -* common.mk (RUBY_RELEASE_DATE): move from Makefile.in to share - with win32/setup.mak. ------------------------------------------------------------------------- -r53311 | nobu | 2015-12-25 23:50:26 +0900 (Fri, 25 Dec 2015) | 4 lines - -setup.mak: follow up r53310 - -* win32/setup.mak (verconf.mk): no longer appends, and escape - dollar. ------------------------------------------------------------------------- -r53310 | nobu | 2015-12-25 23:46:27 +0900 (Fri, 25 Dec 2015) | 4 lines - -setup.mak: follow up r53303 - -* win32/setup.mak (verconf.mk): follow up r53303. needs STRINGIZE - now. ------------------------------------------------------------------------- -r53309 | nobu | 2015-12-25 22:57:38 +0900 (Fri, 25 Dec 2015) | 4 lines - -version.h: no bot - -* version.h (RUBY_RELEASE_MONTH_STR, RUBY_RELEASE_DAY_STR): get - rid of substitution by svn bot. ------------------------------------------------------------------------- -r53308 | svn | 2015-12-25 22:53:27 +0900 (Fri, 25 Dec 2015) | 1 line - -* 2015-12-25 ------------------------------------------------------------------------- -r53307 | nobu | 2015-12-25 22:53:06 +0900 (Fri, 25 Dec 2015) | 4 lines - -version.h: no bot - -* version.h (RUBY_RELEASE_MONTH_STR, RUBY_RELEASE_DAY_STR): get - rid of substitution by svn bot. ------------------------------------------------------------------------- -r53306 | svn | 2015-12-25 22:48:56 +0900 (Fri, 25 Dec 2015) | 1 line - -* 2015-12-25 ------------------------------------------------------------------------- -r53305 | nobu | 2015-12-25 22:48:38 +0900 (Fri, 25 Dec 2015) | 4 lines - -version.h: no bot - -* version.h (RUBY_RELEASE_MONTH_STR, RUBY_RELEASE_DAY_STR): get - rid of substitution by svn bot. ------------------------------------------------------------------------- -r53304 | svn | 2015-12-25 22:43:39 +0900 (Fri, 25 Dec 2015) | 1 line - -* 2015-12-25 ------------------------------------------------------------------------- -r53303 | nobu | 2015-12-25 22:43:29 +0900 (Fri, 25 Dec 2015) | 5 lines - -version.h: RUBY_RELEASE_DATE from YMD - -* configure.in: extract RUBY_RELEASE_DAY at generating Makefile. -* version.h (RUBY_RELEASE_DATE): construct from RUBY_RELEASE_YEAR, - RUBY_RELEASE_MONTH, and RUBY_RELEASE_DAY. ------------------------------------------------------------------------- -r53302 | matz | 2015-12-25 21:40:38 +0900 (Fri, 25 Dec 2015) | 1 line - -version.h (RUBY_VERSION): 2.4.0 development has started. ------------------------------------------------------------------------- -r53301 | normal | 2015-12-25 16:49:16 +0900 (Fri, 25 Dec 2015) | 1 line - -ChangeLog: typo fixes [ci skip] ------------------------------------------------------------------------- -r53300 | duerst | 2015-12-25 14:12:16 +0900 (Fri, 25 Dec 2015) | 2 lines - -doc/CangeLog-2.3.0, ext/tk/lib/txextlib/SUPPORT_STATUS, -include/ruby/version.h: minor grammar fixes [ci skip] ------------------------------------------------------------------------- -r53299 | nobu | 2015-12-25 08:23:46 +0900 (Fri, 25 Dec 2015) | 4 lines - -fix common misspelling [ci skip] - -* compile.c, cont.c, doc, man: fix common misspelling. - [ruby-core:72466] [Bug #11870] ------------------------------------------------------------------------- -r53298 | naruse | 2015-12-25 03:37:43 +0900 (Fri, 25 Dec 2015) | 1 line - -Add ruby_2_3 branch to .travis.yml [ci skip] ------------------------------------------------------------------------- -r53295 | usa | 2015-12-25 03:06:31 +0900 (Fri, 25 Dec 2015) | 3 lines - -* doc/contributing.rdoc: removed the list of branch maintainers because it may - be too old when users see it. - ------------------------------------------------------------------------- -r53294 | naruse | 2015-12-25 02:53:11 +0900 (Fri, 25 Dec 2015) | 3 lines - -ignore exception is the address is IPv6 - -some environments disables IPv6 even if they have IPv6 addresses. ------------------------------------------------------------------------- -r53293 | svn | 2015-12-25 02:25:56 +0900 (Fri, 25 Dec 2015) | 1 line - -* properties. ------------------------------------------------------------------------- -r53292 | usa | 2015-12-25 02:25:26 +0900 (Fri, 25 Dec 2015) | 2 lines - -* ChangeLog, NEWS: added. - ------------------------------------------------------------------------- -r53291 | usa | 2015-12-25 02:24:57 +0900 (Fri, 25 Dec 2015) | 2 lines - -* doc/{ChangeLog,NEWS}-2.3.0: moved. - ------------------------------------------------------------------------- -r53285 | svn | 2015-12-25 00:09:55 +0900 (Fri, 25 Dec 2015) | 1 line - -* 2015-12-25 ------------------------------------------------------------------------- -r53284 | nobu | 2015-12-25 00:09:16 +0900 (Fri, 25 Dec 2015) | 4 lines - -revert deprecated functions - -* error.c (rb_compile_error_with_enc, rb_compile_error), - (rb_compile_bug): revert deprecate internal functions. ------------------------------------------------------------------------- -r53283 | kazu | 2015-12-24 23:30:13 +0900 (Thu, 24 Dec 2015) | 1 line - -fix typos ------------------------------------------------------------------------- -r53282 | nobu | 2015-12-24 23:15:14 +0900 (Thu, 24 Dec 2015) | 5 lines - -iseq.c: narrow down protected region - -* iseq.c (rb_iseq_compile_with_option): narrow down protected - region, and check/convert/prepare arguments before setting - base_block which needs to roll back. ------------------------------------------------------------------------- diff --git a/doc/ChangeLog-2016 b/doc/ChangeLog-2016 new file mode 100644 index 0000000000..c708428a93 --- /dev/null +++ b/doc/ChangeLog-2016 @@ -0,0 +1,5 @@ +------------------------------------------------------------------------ +r56645 | naruse | 2016-11-07 00:56:27 +0900 (Mon, 07 Nov 2016) | 1 line + +Obsolete ChangeLog [Feature #12283] +------------------------------------------------------------------------ -- cgit v1.2.3