1 Mon Nov 7 00:32:45 2016 NAKAMURA Usaku <usa@ruby-lang.org>
3 * test/ruby/test_optimization.rb (test_tailcall_interrupted_by_sigint):
4 ignore on Windows because we cannot handle signaled status of child
5 ruby process on this platform.
7 Sun Nov 6 23:36:07 2016 Shugo Maeda <shugo@ruby-lang.org>
9 * test/ruby/test_optimization.rb (test_tailcall_interrupted_by_sigint):
10 send SIGKILL if the child process doesn't die within 1 second.
12 Sun Nov 6 21:54:28 2016 NARUSE, Yui <naruse@ruby-lang.org>
14 * tool/vcs.rb (export_changelog): generate ChangeLog file from
15 vcs's log. [Feature #12283]
17 * tool/make-snapshot (package): overwrite ChangeLog by generated
20 Sun Nov 6 21:36:33 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
22 * NEWS: Added entry for RDoc 5.
24 Sun Nov 6 21:35:37 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
26 * NEWS: ordered entries and adjust styles.
28 Sun Nov 6 18:23:31 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
30 * NEWS: Added entry for [Feature #12160][ruby-core:74239]
32 Sun Nov 6 18:18:25 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
34 * NEWS: Added entry for r56624.
36 Sun Nov 6 15:53:03 2016 Shugo Maeda <shugo@ruby-lang.org>
38 * configure.in (-Wno-maybe-uninitialized): gcc 6 also shows the same
39 warnings as described in r49410.
41 Sun Nov 6 14:42:50 2016 takkanm <takkanm@gmail.com>
43 * eval.c (rb_mod_include, rb_mod_prepend): check if arguments are
44 given, as well as Kernel#extend. [ruby-dev:49854] [Bug #12887]
47 Sun Nov 6 11:59:05 2016 Shugo Maeda <shugo@ruby-lang.org>
49 * test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast,
50 test_make_socket_ipv6_multicast_hops): skip if IPv6 multicast
51 address is not available.
53 Sun Nov 6 11:53:23 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
55 * lib/irb.rb (Binding#irb): new method like Binding#pry.
57 Sun Nov 6 11:48:55 2016 Shugo Maeda <shugo@ruby-lang.org>
59 * test/net/smtp/test_smtp.rb (test_tls_connect, test_tls_connect):
60 use Socket.tcp_server_sockets in case localhost is resolved to ::1.
62 Sun Nov 6 11:49:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
64 * lib/irb.rb (IRB::Irb#run): split from IRB.start.
66 Sun Nov 6 11:45:11 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
68 * lib/e2mmap.rb (E2MM.def_exception): remove old definition if
69 exists so that works multiple times.
71 Sun Nov 6 10:03:00 2016 Shugo Maeda <shugo@ruby-lang.org>
73 * test/ruby/test_optimization.rb (test_tailcall_interrupted_by_sigint):
74 don't use sleep to run faster.
76 Sun Nov 6 09:58:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
78 * process.c (rb_exec_fillarg): honor the given path environment
79 variable. [ruby-core:53103] [Bug #8004]
81 Sun Nov 6 01:52:31 2016 Akira Matsuda <ronnie@dio.jp>
83 * lib/erb.rb: Alias regist_scanner to register_scanner
85 Sun Nov 6 01:39:36 2016 Shugo Maeda <shugo@ruby-lang.org>
87 * compile.c (tailcallable_p): disable tail call optimization for
88 toplevel, eval, and load to avoid SEGV when interrupted by SIGINT.
89 [ruby-core:76327] [Bug #12576]
91 Sun Nov 6 01:28:41 2016 Koichi Sasada <ko1@atdot.net>
93 * vm_insnhelper.h: rename REG_(CFP|PC|SP|EP) to VM_REG_....
98 Sun Nov 6 00:25:11 2016 Sho Hashimoto <sho.hsmt@gmail.com>
100 * enumerator.c (InitVM_Enumerator): Enumerator::Lazy#chunk_while
101 defined. [Fix GH-1186]
102 https://github.com/ruby/ruby/pull/1186
104 Sun Nov 6 00:22:51 2016 Kazuki Tsujimoto <kazuki@callcc.net>
106 * vm_eval.c (vm_call0_cfunc_with_frame): pass method id to
107 dtrace hook. follow up r56592.
109 Sun Nov 6 00:06:38 2016 Tanaka Akira <akr@fsij.org>
111 * lib/resolv.rb (Resolv::LOC::Coord.create): fixed.
112 [ruby-core:72567] [Bug #11912] fixed by Eric Wong and Kazuhiro
115 Sun Nov 6 00:03:09 2016 NARUSE, Yui <naruse@ruby-lang.org>
117 * configure.in (-Wimplicit-fallthrough): gcc7 introduces case
118 fall through warnings but it is too noisy.
119 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=7652
121 Sat Nov 5 23:58:32 2016 Shugo Maeda <shugo@ruby-lang.org>
123 * numeric.c (rb_int_round): cast to SIGNED_VALUE to suppress
124 warnings by -Wsign-compare.
126 Sat Nov 5 23:48:27 2016 NARUSE, Yui <naruse@ruby-lang.org>
128 * file.c (rb_home_dir_of): convert given username into filesystem
129 encoding. [ruby-core:76682] [Bug #12652]
130 patched by Davis Mosans
132 Sat Nov 5 23:46:03 2016 Tanaka Akira <akr@fsij.org>
134 * time.c (vtm_add_offset): Fix yday on last day of year.
135 [ruby-core:72878] [Bug #11994] Fixed by Andrew White.
137 Sat Nov 5 23:30:41 2016 Shugo Maeda <shugo@ruby-lang.org>
139 * lib/net/http.rb (Net::HTTP.post): new convenience method to send
140 a POST request. [ruby-core:75484] [Feature #12375]
142 Sat Nov 5 23:03:54 2016 NARUSE, Yui <naruse@ruby-lang.org>
144 * lib/net/http.rb (transport_request): other than HTTPContinue
145 in 1xx (HTTPInformation) also needs to continue. [Bug #12890]
147 Sat Nov 5 22:51:06 2016 Tanaka Akira <akr@fsij.org>
149 * lib/time.rb (make_time): "now" argument as nil works again.
150 This is broken since Ruby 2.2.
151 Mathieu Jobin pointed a problem.
152 https://github.com/ruby/ruby/commit/e4b05d91eb0d48fd172abf015c493bb42d755d07#commitcomment-17421387
154 Sat Nov 5 22:50:13 2016 Akinori MUSHA <knu@iDaemons.org>
156 * lib/ipaddr.rb (IPAddr#==): If coercion fails, return false
157 instead of passing through the exception. [ruby-core:77451]
160 * lib/ipaddr.rb (IPAddr#<=>): If coercion fails, return nil
161 instead of passing through the exception. [ruby-core:77451]
164 Sat Nov 5 22:11:33 2016 Kazuki Tsujimoto <kazuki@callcc.net>
166 * vm_trace.c (tracepoint_attr_callee_id, rb_tracearg_callee_id):
167 add TracePoint#callee_id. [ruby-core:77241] [Feature #12747]
169 * cont.c, eval.c, gc.c, include/ruby/intern.h, insns.def, thread.c,
170 vm.c, vm_backtrace.c, vm_core.h, vm_eval.c, vm_insnhelper.c, vm_trace.c: ditto.
172 * test/ruby/test_settracefunc.rb: tests for above.
174 Sat Nov 5 22:09:48 2016 Kazuki Tsujimoto <kazuki@callcc.net>
176 * eval.c, method.h, proc.c, vm.c, vm_eval.c, vm_insnhelper.c, vm_method.c:
177 TracePoint#method_id should return method_id, not callee_id.
178 [ruby-core:77241] [Feature #12747]
180 * test/ruby/test_settracefunc.rb: change accordingly.
182 Sat Nov 5 18:49:37 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
184 * numeric.c (flo_round, int_round): support round-to-nearest-even
185 semantics of IEEE 754 to match sprintf behavior, and add `half:`
186 optional keyword argument for the old behavior.
187 [ruby-core:76273] [Bug #12548]
189 Sat Nov 5 18:17:54 2016 Akinori MUSHA <knu@iDaemons.org>
191 * lib/set.rb (Set#compare_by_identity, Set#compare_by_identity?):
192 New methods. [Feature #12210]
194 Sat Nov 5 18:17:08 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
196 * lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0
197 Release note: https://github.com/rdoc/rdoc/blob/b825775647f62c5b525e9780a28ff2fbb1d5bf6f/History.rdoc#500--2016-11-05
199 Sat Nov 5 17:29:06 2016 Tanaka Akira <akr@fsij.org>
201 * lib/resolv.rb (Resolv::DNS#extract_resources): Use each_resource
202 instead of each_answer.
203 [ruby-core:75461] [Bug #12372] reported by Rafael Fernandez Lopez.
205 Sat Nov 5 17:18:24 2016 NARUSE, Yui <naruse@ruby-lang.org>
207 * ext/-test-/file/fs.c (get_atime_p): Updating of file access times
210 Sat Nov 5 16:28:07 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
212 * io.c (extract_getline_opts): extract chomp option.
215 Sat Nov 5 15:58:24 2016 Sho Hashimoto <sho-h@netlab.jp>
217 * tool/mkconfig.rb: [DOC] add rbconfig documentation.
219 Sat Nov 5 15:42:52 2016 Shugo Maeda <shugo@ruby-lang.org>
221 * lib/net/smtp.rb (tlsconnect): support timeout for TLS handshake.
222 [ruby-core:76893] [Bug #12678]
224 * lib/net/protocol.rb (ssl_socket_connect): new method to implement
225 timeout for TLS handshake.
227 * lib/net/http.rb (connect): use Net::Protocol#ssl_socket_connect.
229 Sat Nov 5 14:17:20 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
231 * parse.y (brace_body, do_body): since cmdarg_stack is saved in
232 VALUE val, should restore from the same member. on big-endian
233 platforms where VALUE is larger than int, it restored 0 in the
234 upper word. [ruby-core:77920] [Bug #12900]
236 Sat Nov 5 13:52:52 2016 Akinori MUSHA <knu@iDaemons.org>
238 * lib/shellwords.rb (Shellwords#shellsplit): Fix the handling of
239 the backslash in double quotes to conform to the standard.
240 [ruby-core:63807] [Bug #10055]
242 Sat Nov 5 12:14:31 2016 Tanaka Akira <akr@fsij.org>
244 * ext/pathname/pathname.c (Pathname#empty?): New method.
245 [ruby-core:76404] [Feature #12596] Proposed by John Backus.
247 Sat Nov 5 11:53:02 2016 Shugo Maeda <shugo@ruby-lang.org>
249 * test/ruby/test_refinement.rb (test_refine_alias_in_subclass):
250 add a test to check that alias in subclasses can be refined.
251 [ruby-core:69374] [Bug #11186]
253 Sat Nov 5 11:20:57 2016 Shugo Maeda <shugo@ruby-lang.org>
255 * cont.c (cont_new): disable optimization if clang's version is
256 3.8.0. [ruby-core:77894] [Bug #12893]
258 Sat Nov 5 10:07:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
260 * test/ruby/test_file.rb (TestFile#test_stat): fix noatime case.
261 [ruby-core:77943] [Bug #12903]
263 Fri Nov 4 17:52:44 2016 Koichi Sasada <ko1@atdot.net>
265 * gc.c (heap_page_resurrect): do not return tomb_pages when
266 page->freelist == NULL.
269 Fri Nov 4 16:31:45 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
271 * util.c (ruby_dtoa): round to even, instead of rounding to
272 nearest. [ruby-core:77864] [Bug #12889]
274 Fri Nov 4 15:31:00 2016 NARUSE, Yui <naruse@ruby-lang.org>
276 * configure.in: Add compiler version message into rbconfig
277 as RbConfig::CONFIG['CC_VERSION_MESSAGE']. [Feature #12896]
279 Fri Nov 4 13:03:00 2016 Kenta Murata <mrkn@mrkn.jp>
281 * numeric.c (rb_int_digits): Fix exception message
282 [ruby-core:77502] [Bug #12815]
284 Fri Nov 4 10:51:16 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
286 * ext/pathname/pathname.c (path_hash): fix unnormalized Fixnum
287 value bug on mingw/mswin.
289 Fri Nov 4 10:35:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
291 * lib/fileutils.rb (FileUtils::Entry_#copy): ensure that the
292 source entry exists first, to fix error for non-existent entry.
293 [ruby-core:77885] [Bug #12892]
295 Thu Nov 3 21:45:00 2016 Kenta Murata <mrkn@mrkn.jp>
297 * ext/bigdecimal/bigdecimal.c: Import changes from ruby/bigdecimal
300 Thu Nov 3 15:01:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
302 * file.c: include sys/sysmacros.h for ArchLinux which deprecated
303 use of major() and minor() in sys/types.h.
305 Wed Nov 2 08:45:49 2016 Dmitry Gritsay <unseductable@gmail.com>
307 * doc/extension.rdoc: set ANYARGS as arguments for func1 and func2.
309 * doc/extension.rdoc: mention the exception object which is passed
310 to func2 as the second argument. [Fix GH-1471]
312 Wed Nov 2 07:34:27 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
314 * numeric.c (rb_num_coerce_bit): enable bit operations with
315 coercing by non-integer object. [ruby-core:77783] [Bug #12875]
317 Tue Nov 1 01:31:09 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
319 * configure.in (ac_cv_func_round): round(3) in x86_64-w64-mingw32
320 is not accurate in an edge case. [ruby-core:77794] [Bug #12878]
322 Mon Oct 31 17:36:04 2016 Code Ahss <aycabta@gmail.com>
324 * test/test_forwardable.rb (TestForwardable#test_on_private_method):
325 add test for [Bug #12782] [Bug #12840]
327 Mon Oct 31 11:08:51 2016 Samuel Williams <samuel.williams@oriontransfer.co.nz>
329 * lib/uri/generic.rb (URI::Generic#merge): merge merge0.
332 Sun Oct 30 15:32:43 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
334 * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update
336 Release note of 2.6.8: https://github.com/rubygems/rubygems/commit/9fb8880976f5ab998912898b091d88aa10eb1d4a
338 Sun Oct 30 06:39:37 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
340 * enc/windows_1254.c: Fix typo. Reported by k-takata at
341 https://github.com/k-takata/Onigmo/commit/ceb59cc. Thanks!
343 Sat Oct 29 19:59:37 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
345 * parse.y (cond0): !-operator is a method call, no warning for
346 literal in condition. [ruby-core:77801] [Bug #12881]
348 Sat Oct 29 10:09:38 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
350 * compile.c (iseq_compile_each): turn flip-flop in a not-operator
351 into a boolean value. fix up r56315
353 Sat Oct 29 09:39:14 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
355 * vm_eval.c (vm_call0_body): follow the original class, not to
356 loop the prepended module. [ruby-core:77784] [Bug #12876]
358 Sat Oct 29 00:14:30 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
360 * enc/trans/windows-1255-tbl.rb: update mapping from 0xCA to
361 U+05BA. [Feature #12877]
363 Fri Oct 28 23:22:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
365 * enc/depend: extract transcode_tblgen method calls for libraries
366 loaded by dynamically generated names, in single_byte.trans.
368 Fri Oct 28 16:05:03 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
370 * insns.def (opt_case_dispatch): extract float value only if the
371 Float method is not redefined.
373 Fri Oct 28 15:58:16 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
375 * internal.h (RB_OBJ_BUILTIN_TYPE): special-const safe
378 Fri Oct 28 15:20:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
380 * complex.c (id_finite_p, id_infinite_p, id_rationalize, id_PI):
381 initialize static IDs.
383 * complex.c (FINITE_TYPE_P): extract predicate.
385 * complex.c (rb_complex_finite_p, rb_complex_infinite_p): use
386 dedicated predicates instead of switch by TYPE.
388 Thu Oct 27 23:28:12 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
390 * include/ruby/ruby.h (rb_integer_type_p): turn into macro to help
391 clang based on old gcc to eliminate CSE.
393 Thu Oct 27 16:33:47 2016 NAKAMURA Usaku <usa@ruby-lang.org>
395 * tool/redmine-backporter.rb (rel): check the exception and show right
398 Thu Oct 27 14:57:33 2016 Kazuki Yamaguchi <k@rhe.jp>
400 * ext/socket/lib/socket.rb (UDPSocket#recvfrom_nonblock): [DOC] Remove
401 a false statement "If _maxlen_ is omitted, its default value is
402 65536." maxlen, the first parameter, cannot be omitted as the method
403 signature indicates. This hasn't changed ever since it was first
406 Thu Oct 27 09:42:09 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
408 * object.c (rb_convert_to_integer): convert a fixable float to a
409 fixnum directly without the conversion method, as well as bignum
412 * object.c (rb_convert_to_integer): should not drop the converted
415 Wed Oct 26 17:09:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
417 * include/ruby/ruby.h (rb_intern): use prefixed version macro
420 Wed Oct 26 11:28:25 2016 URABE Shyouhei <shyouhei@ruby-lang.org>
422 * NEWS: added several entries which (if I remember correctly) are
425 Tue Oct 25 12:54:07 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
427 * proc.c (mnew_internal): follow the original class, not to loop
428 the prepended module. [ruby-core:77591] [Bug #12832]
430 Mon Oct 24 10:52:17 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
432 * test/lib/test/unit.rb (Test::Unit::Parallel#deal): update the
433 job status after a task finished, to show idling workers.
435 Mon Oct 24 10:51:09 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
437 * complex.c (Init_Complex): undefine methods inherited from
438 Comparable, because Complex does not have <=> method.
441 * class.c (rb_undef_methods_from): undefine methods defined in
444 Mon Oct 24 10:19:44 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
446 * complex.c (Init_Complex): undefine Complex#clamp, which does not
447 work like other Comparable methods, because Complex does not
448 have <=> method. patched by Tim Peters <zomg.tim AT gmail.com>
449 in [ruby-core:77720]. [Bug #12866]
451 Sun Oct 23 11:41:41 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
453 * include/ruby/encoding.h: include "ruby/ruby.h" explicitly for
454 enum ruby_fl_type and VALUE.
456 Sat Oct 22 23:33:55 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
458 * parse.y (reg_compile_gen): always append error message to the
461 Sat Oct 22 22:33:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
463 * numeric.c (num_funcall1): check recursion by inverse pair, to
464 fix fake infinite recursion. [ruby-core:77713] [Bug #12864]
466 Sat Oct 22 18:52:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
468 * hash.c (rb_hash_compact_bang): should return nil if no elements
469 is deleted. [ruby-core:77709] [Bug #12863]
471 Sat Oct 22 10:28:28 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
473 * configure.in (DLDFLAGS): fallback to LDFLAGS.
474 [ruby-core:72444] [Bug #11863]
476 * configure.in (LIBRUBY_DLDFLAGS): fallback to DLDFLAGS.
478 * configure.in (RUBY_APPEND_OPTION, RUBY_PREPEND_OPTION): expand
479 the option to be appended/prepended when matching, as well as
480 RUBY_APPEND_OPTIONS and RUBY_PREPEND_OPTIONS.
482 Sat Oct 22 09:52:57 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
484 * compile.c (setup_args): duplicate splatting array if more
485 arguments present to obey left-to-right execution order.
486 [ruby-core:77701] [Bug# 12860]
488 Fri Oct 21 16:44:44 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
490 * dir.c (do_opendir): retry after GC when the limit for open file
493 Fri Oct 21 16:06:25 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
495 * ruby.c (open_load_file): retry after GC when the limit for open
496 file descriptors reached.
498 Fri Oct 21 11:34:17 2016 Pascal Schmid <Lechindianer@users.noreply.github.com>
500 * string.c (rb_str_sub, rb_str_gsub): [DOC] 'backlash' should read
501 'backslash'. [Fix GH-1461]
503 Thu Oct 20 17:02:56 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
505 * lib/uri/common.rb: added documentation for deprecated method.
506 [Misc #11960][ruby-core:72733][ci skip]
508 Thu Oct 20 16:57:23 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
510 * ext/digest/digest.c: Add documentation for Digest.
511 [Feature #10452][ruby-core:66001][ci skip]
512 * remove HMAC from list of digest algorithms,
513 * add MD5 in list of digest algorithms,
514 * add information about writing a C digest implementation using Digest::Base,
515 * add documentation for Digest::Base public methods.
516 * ext/digest/md5/md5init.c: add examples for MD5.
517 * ext/digest/rmd160/rmd160init.c: add examples for Digest::RMD160.
518 * ext/digest/sha1/sha1init.c: add examples for Digest::SHA1.
520 Thu Oct 20 16:19:51 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
522 * lib/open-uri.rb: Improved documentation grammar for
523 open-uri#open option. [Misc #11329][ruby-core:69868][ci skip]
525 Wed Oct 19 21:48:40 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
527 * NEWS: mention refinements with Kernel#send and
528 BasicObject#__send__. [Feature #11476]
530 Wed Oct 19 17:02:15 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
532 * vm_insnhelper.c (vm_call_opt_send): enable refinements with
533 Kernel#send and BasicObject#__send__. [Feature #11476]
535 Wed Oct 19 14:22:49 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
537 * basictest/runner.rb: do not clobber the option by --run-opt with
538 RUBYOPT. reported by Allen Hewes <rallenh AT hotmail.com>.
540 Wed Oct 19 00:09:06 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
542 * addr2line.c (parse_debug_line_cu): boundary checks for
543 compressed debug sections. [ruby-dev:49840] [Bug #12850]
545 Tue Oct 18 16:36:40 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
547 * configure.in (DLDFLAGS): append --compress-debug-sections=zlib
548 if available, which reduces the size of LIBRUBY_SO by half or
551 Mon Oct 17 16:20:37 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
553 * win32/configure.bat: add option to enable/disable to install
554 static ruby library. defaulted to "no". [Feature #12845]
556 * configure.in (install-static-library): add option to enable/
557 disable to install static ruby library. defaulted to "no" if
558 enable-shared. [Feature #12845]
560 * tool/rbinstall.rb (local-arch-lib): respect the option.
562 Sun Oct 16 15:09:06 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
564 * enc/windows_1254.c, test/ruby/enc/test_case_comprehensive.rb:
565 Implement non-ASCII case conversion for Windows-1254.
567 Sat Oct 15 14:17:05 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
569 * vm_args.c (refine_sym_proc_call): search and call method with
572 * vm_args.c (vm_caller_setup_arg_block): enable refinements when
573 enabled in the caller. [Feature #9451]
575 Sat Oct 15 00:54:01 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
577 * process.c (proc_exec_cmd): use UTF-8 version aspawn.
578 [ruby-dev:49838] [Bug #12841]
580 Fri Oct 14 22:26:10 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
582 * lib/optparse/kwargs.rb (OptionParser#define_by_keywords):
583 [EXPERIMENTAL] extract command line option definitions from the
584 information of keyword arguments.
586 Fri Oct 14 18:27:18 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
588 * object.c: Improve documentation for Float conversion.
589 [ruby-core:71661][Bug #11736][ci skip]
591 Fri Oct 14 18:00:20 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
593 * lib/logger.rb: Improve Logger.new option documentation.
594 [Feature #12803][ruby-core:77467]
596 Fri Oct 14 17:20:24 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
598 * lib/optparse.rb (make_switch, parse_in_order): unify underscores
601 Fri Oct 14 10:48:37 2016 Eric Wong <e@80x24.org>
603 * lib/webrick/utils.rb (TimeoutHandler): use monotonic clock
606 Thu Oct 13 19:41:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
608 * io.c (copy_stream_body): use IO to write to copy to duplex IO.
609 http://twitter.com/knu/status/786505317974585344
611 Thu Oct 13 17:05:57 2016 Dwain Faithfull <dwfaithfull@gmail.com>
613 * hash.c (rb_hash_compact, rb_hash_compact_bang): Removes nil
614 values from the original hash, to port Active Support behavior.
617 Thu Oct 13 11:35:33 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
619 * array.c (rb_ary_sort_bang, rb_ary_sort, rb_ary_sort_by_bang):
620 [DOC] describe that sort may not be stable.
622 * enum.c (enum_sort, enum_sort_by): ditto.
624 Thu Oct 13 11:31:40 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
626 * test/rexml/xpath/test_text.rb (test_ancestors): Array#sort may
627 not be stable. [ruby-core:76088] [Bug #12509]
629 * test/rss/test_maker_{0.9,1.0,2.0}.rb (test_items): ditto.
631 Thu Oct 13 10:37:31 2016 Eric Wong <e@80x24.org>
633 * doc/extension.rdoc: wording fix
635 Thu Oct 13 00:39:08 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
637 * test/ruby/test_array.rb (test_sort_bang_with_freeze): make a
638 clone to copy a <=> singleton method, instead of dup. which
639 element will be called is not predictable.
640 [ruby-core:76088] [Bug #12509]
642 Thu Oct 13 00:21:27 2016 Simon Soriano <simon0191@gmail.com>
644 * doc/extension.rdoc: Replace "You can defined hooked variables"
645 with "You can define hooked variables". [Fix GH-1460]
647 Wed Oct 12 21:05:50 2016 NAKAMURA Usaku <usa@ruby-lang.org>
649 * ruby.c (open_load_file): revert r56385. it introduced incompatibility
650 about `DATA.binmode?`.
652 Wed Oct 12 15:24:53 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
654 * tool/downloader.rb: Removed verification of gem certification.
655 Because signed gem is not working on rubygems ecosystem.
656 * tool/gem-unpack.rb: ditto.
658 Tue Oct 11 22:08:24 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
660 * io.c (prep_io): fix typo of struct member name.
661 [ruby-core:77550] [Bug #12829]
663 Tue Oct 11 16:45:24 2016 Tanaka Akira <akr@fsij.org>
665 * lib/uri/generic.rb (URI.find_proxy): Add an optional argument, env.
667 Tue Oct 11 16:38:32 2016 Tanaka Akira <akr@fsij.org>
669 * lib/pp.rb (String#pretty_print): Defined to print a string as
671 [ruby-core:76800] [Feature#12664] proposed by Petr Chalupa.
673 Mon Oct 10 15:22:27 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
675 * ruby.c (open_load_file): bind the open fd to an IO instance
676 before waiting FIFO, not to leak the fd if interrupted.
678 Mon Oct 10 12:40:54 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
680 * ruby.c (open_load_file): compare with EXEEXT instead of hard
681 coded name, and do not match with mere EXEEXT.
683 * ruby.c (open_load_file): open in binary mode if available, as
684 parser deals with EOLs.
686 * io.c (prep_io): reduce isatty call (and its system call) on
689 Sun Oct 9 23:05:53 2016 Prathamesh Sonpatki <csonpatki@gmail.com>
691 * array.c, class.c: Fixed documentation where Fixnum was referred
692 directly to use Integer, as Fixnum and Bignum are now unified
693 into Integer and direct usage is deprecated. [Fix GH-1459]
695 Sun Oct 9 11:37:19 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
697 * vm_core.h (VM_ASSERT): stringify expr here before expansion in
700 Sat Oct 8 10:54:22 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
702 * ext/-test-/memory_status/memory_status.c (read_status): use
703 Win32 GetProcessMemoryInfo API.
705 * ext/-test-/memory_status/memory_status.c: get memory sizes by
706 mach task_info system call.
708 Sat Oct 8 09:06:55 2016 Aurelien Jacobs <aurel@gnuage.org>
710 * lib/logger.rb (Logger::Period#next_rotate_time): fix monthly log
711 rotate when DST is applied during a month of 31 days.
714 Fri Oct 7 20:21:39 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
716 * gc.c (gc_prof_setup_new_record): fix the condition to get
719 * gc.c (gc_profile_dump_major_reason): remove undefined flags.
721 Fri Oct 7 19:18:33 2016 Masaki Suketa <masaki.suketa@nifty.ne.jp>
723 * ext/win32ole/*.c, ext/win32ole/win32ole.h: use RB_INT2FIX instead of
726 Fri Oct 7 14:18:40 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
728 * basictest/test.rb: Adjust spaces in class declarations
729 with inheritance. [fix GH-1227] Patch by @adrfer
731 * lib/prime.rb: ditto.
732 * lib/shell/builtin-command.rb: ditto.
734 * sample/*.rb: ditto.
735 * test/-ext-/method/test_arity.rb: ditto.
737 Thu Oct 6 17:29:44 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
739 * load.c (rb_require_safe): SyntaxError created by the parser just
740 has the message and needs to set up the backtrace.
741 [ruby-core:77491] [Bug #12811]
743 * load.c (rb_load_internal0): load/require is not the main
746 Thu Oct 6 13:35:15 2016 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
748 * enum.c: [DOC] Improve doc [ci-skip]
750 Thu Oct 6 11:38:14 2016 Chris Jones <chris@christopherjones.us>
752 * ext/readline/extconf.rb: Update error message with correct words.
753 [fix GH-1453][ci skip] Patch by @magikid
755 Thu Oct 6 11:01:49 2016 Tieg Zaharia <tieg.zaharia@gmail.com>
757 * lib/uri/common.rb (WEB_ENCODINGS_): Update URI::WEB_ENCODINGS_
758 hash, and fix documented command to grab it. [Fix GH-1430]
760 Thu Oct 6 10:37:13 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
762 * enum.c: Add reduce/inject alias note.
763 [fix GH-1400][ci skip] Patch by @getaaron
765 Thu Oct 6 10:30:27 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
767 * thread.c (update_coverage): check coverage values, and ignore
770 Thu Oct 6 09:19:21 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
772 * io.c (fptr_finalize): use dedicated macro RB_INTEGER_TYPE_P.
774 Wed Oct 5 18:02:44 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
776 * lib/net/http/response.rb: Improve document readability.
777 [fix GH-1411][ci skip] Patch by @stz-seongheon
779 Wed Oct 5 15:43:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
781 * node.c (dump_node): flatten statements in NODE_BLOCK.
783 Wed Oct 5 14:27:36 2016 Byron Bowerman <me@bm5k.com>
785 * range.c: Add docs for max/min behavior with exclusive range.
786 [fix GH-1433][ci skip] Patch by @BM5k
788 Wed Oct 5 12:57:21 2016 Richard Schneeman <richard.schneeman+foo@gmail.com>
790 * ext/socket/*.c: Add proper require for example to work.
791 [fix GH-1378][ci skip] Patch by @schneems
793 Wed Oct 5 11:47:19 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
795 * io.c: Fixed equivalent ruby code with core implementation.
796 [fix GH-1429][ci skip] Patch by @sos4nt
798 Wed Oct 5 11:36:21 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
800 * lib/delegate.rb: Added missing spaces and Removed needless spaces.
801 [fix GH-1454][ci skip] Patch by @bogdanvlviv
803 Wed Oct 5 03:24:55 2016 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
805 * enum.c: Make Enumerable#chunk with no block return
806 an Enumerator [#2172]
808 Wed Oct 5 01:19:45 2016 NAKAMURA Usaku <usa@ruby-lang.org>
810 * internal.h (ST2FIX): new macro to convert st_index_t to Fixnum.
811 a hash value of Object might be Bignum, but it causes many troubles
812 especially the Object is used as a key of a hash. so I've gave up
815 * array.c (rb_ary_hash): use above macro.
817 * bignum.c (rb_big_hash): ditto.
819 * hash.c (rb_obj_hash, rb_hash_hash): ditto.
821 * numeric.c (rb_dbl_hash): ditto.
823 * proc.c (proc_hash): ditto.
825 * re.c (rb_reg_hash, match_hash): ditto.
827 * string.c (rb_str_hash_m): ditto.
829 Tue Oct 4 12:59:44 2016 Koichi ITO <koic.ito@gmail.com>
831 * array.c (rb_ary_dig): [DOC] update an example of error message
832 by Array#dig, because of Integer Unification. [Fix GH-1455]
834 Tue Oct 4 09:55:12 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
836 * ext/bigdecimal/bigdecimal.c (BigDecimal_div2): need more room
837 for precision to round. [ruby-core:77475] [Bug #12805]
839 Tue Oct 4 06:05:46 2016 NARUSE, Yui <naruse@ruby-lang.org>
841 * regcomp.c (onig_print_compiled_byte_code): make the shown address
844 Tue Oct 4 05:53:11 2016 NARUSE, Yui <naruse@ruby-lang.org>
846 * regexec.c (OPCODE_EXEC_HOOK): op is p-1 because p is already
849 * regexec.c (OPCODE_EXEC_HOOK): use the exact end address.
851 * regexec.c (match_at): don't call OPCODE_EXEC_HOOK in CASE()
852 when it comes from goto fail.
854 Mon Oct 3 21:24:41 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
856 * NEWS: mention Readline.quoting_detection_proc{,=}.
858 Mon Oct 3 21:19:46 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
860 * lib/logger.rb: [DOC] Fix default value of shift_age.
862 Mon Oct 3 17:20:05 2016 George Brocklehurst <ruby@georgebrock.com>
864 * ext/readline/readline.c (readline_s_set_quoting_detection_proc):
865 support rl_char_is_quoted_p. [Feature #12659]
867 * ext/readline/readline.c (readline_s_get_quoting_detection_proc):
870 Sun Oct 2 08:22:28 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
872 * include/ruby/ruby.h (RB_INT2FIX, RB_LONG2FIX): prefix RB to
873 global symbols to get rid of name conflicts with other headers.
875 Sun Oct 2 07:51:20 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
877 * string.c (rb_str_hash_m): hash values may be negative.
879 Sun Oct 2 02:04:12 2016 NAKAMURA Usaku <usa@ruby-lang.org>
881 * string.c (rb_str_hash_m): st_index_t is not guaranteed as the same
882 size with int, and of course also not guaranteed the value can be
885 Sun Oct 2 02:03:06 2016 NAKAMURA Usaku <usa@ruby-lang.org>
887 * numeric.c (rb_fix2str): detect unnormalized Fixnum value.
889 Sat Oct 1 23:08:47 2016 NAKAMURA Usaku <usa@ruby-lang.org>
891 * ext/date/date_parse.c (date_zone_to_diff): it's nonsense and really
892 harm that to use unary minus operator with unsigned value.
893 get rid of test failures introduced at r56312.
895 Sat Oct 1 22:17:49 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
897 * compile.c (iseq_compile_each): move numeric literal range
898 optimization from fixup_nodes() in parse.y.
900 Sat Oct 1 19:19:34 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
902 * compile.c (compile_flip_flop): simplify generated code.
904 * compile.c (compile_branch_condition): flip-flop can appear only
905 in conditional expressions.
907 Sat Oct 1 02:02:02 2016 NAKAMURA Usaku <usa@ruby-lang.org>
909 * win32/win32.c (poll_child_status): rb_w32_wait_events_blocking() sets
910 errno internally, then should not set it here.
912 Fri Sep 30 19:06:21 2016 Anton Davydov <mail@davydovanton.com>
914 * lib/uri/http.rb: Documentation and code style improvements.
915 * test/uri/test_http.rb: Added test for coverage.
916 [fix GH-1427][ruby-core:77255][Misc #12756]
918 Fri Sep 30 18:43:20 2016 Jason Yeo <jason@jasonyeo.me>
920 * doc/syntax/control_expressions.rdoc: Add missing 'as'
921 [ci skip][fix GH-1448] Patch by @jsyeo
923 Thu Sep 29 23:38:04 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
925 * lib/yaml/store.rb (YAML::Store#dump): use table argument instead
928 Thu Sep 29 22:22:22 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
930 * lib/yaml/store.rb (YAML::Store#initialize): Fix arguments.
931 [ruby-dev:49821] [Bug #12800]
933 * test/yaml/test_store.rb: Add tests from test/test_pstore.rb.
935 * test/yaml/test_store.rb (YAMLStoreTest#test_with_options): Add options test.
937 * lib/yaml/store.rb (YAML::Store#dump): Revert to to_yaml.
939 * lib/yaml/store.rb (YAML::Store#empty_marshal_data): Use to_yaml with options.
941 * lib/yaml/store.rb (YAML::Store#empty_marshal_checksum): Use CHECKSUM_ALGO.
943 Thu Sep 29 19:34:23 2016 Pete Higgins <pete@peterhiggins.org>
945 * thread_sync.c (rb_queue_pop, rb_szqueue_push, rb_szqueue_pop):
946 Document exception types, ThreadError, raised by Queue and
947 SizedQueue. [Fix GH-1451]
949 Thu Sep 29 19:21:02 2016 Pete Higgins <pete@peterhiggins.org>
951 * thread_sync.c (Init_thread_sync): Remove confusing doc comments,
952 which are picked up by rdoc unexpectedly, from Queue and
953 SizedQueue. [Fix GH-1450]
955 Wed Sep 28 23:14:19 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
957 * lib/pstore.rb (PStore::CHECKSUM_ALGO): find available hashing
958 algorithm for checksum. MD5 is not available in FIPS mode.
961 Wed Sep 28 13:00:25 2016 ksss <co000ri@gmail.com>
963 * signal.c (sig_signame): [DOC] Add documentation in the case of
964 return nil. [Fix GH-1449]
966 Wed Sep 28 10:43:27 2016 URABE Shyouhei <shyouhei@ruby-lang.org>
968 * .travis.yml: delete comments. They were outdated.
970 Wed Sep 28 09:57:48 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
972 * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update
974 Release note of 2.6.7: https://github.com/rubygems/rubygems/commit/60f35bd1d2359fc30301d2d4cd72bc6833e8d12a
976 Wed Sep 28 00:21:00 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
978 * error.c (rb_warning_s_warn): the argument must be an
979 ASCII-compatible string. [ruby-core:77430] [Bug #12793]
981 Tue Sep 27 23:22:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
983 * parse.y (symbol, dsym, parser_set_number_literal): set state to
984 ENDARG, so that `do` after a literal should be `do_block` and
985 bound to the outer method. [ruby-core:72482] [Bug #11873]
987 * parse.y (parse_ident): revert r56198.
989 * parse.y (warn_balanced): the state of symbol and numeric
990 literals is now EXPR_ENDARG, do not exclude it.
992 Tue Sep 27 22:59:42 2016 URABE Shyouhei <shyouhei@ruby-lang.org>
994 * NEWS: news about Warning.warn.
996 Tue Sep 27 18:10:18 2016 Jeremy Evans <code@jeremyevans.net>
998 * error.c: This makes all warnings raised call Warning.warn, which
999 by default does the same thing it does currently
1000 (rb_write_error_str). You can override Warning.warn to change
1001 the behavior. [ruby-core:75016] [Feature #12299]
1003 Tue Sep 27 17:35:28 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1005 * iseq.c (iseqw_s_compile_file): deal with syntax error as well as
1006 compile, and should not abort when rescued.
1008 Tue Sep 27 12:07:17 2016 NARUSE, Yui <naruse@ruby-lang.org>
1010 * lib/cgi/cookie.rb (parse): don't allow , as a separator. [Bug #12791]
1012 * lib/webrick/cookie.rb (parse): ditto.
1014 Mon Sep 26 21:37:21 2016 Akinori MUSHA <knu@iDaemons.org>
1016 * man/erb.1, man/irb.1, man/ri.1, man/ruby.1: Remove Ns before
1019 Mon Sep 26 16:23:49 2016 Kazuki Yamaguchi <k@rhe.jp>
1021 * ext/stringio/stringio.c (strio_seek): Avoid signed integer overflow.
1022 It's not harmful in practice here, but is still undefined behavior.
1024 * ext/stringio/stringio.c (strio_extend): Check that the new length does
1025 not exceed LONG_MAX. This fixes the invalid write on the overflow.
1027 * test/stringio/test_stringio.rb (test_write_integer_overflow): Add a
1028 test case for the above fix in strio_extend().
1030 Mon Sep 26 15:43:34 2016 Kazuki Yamaguchi <k@rhe.jp>
1032 * eval_intern.h (TH_PUSH_TAG): Initialize struct rb_vm_tag::tag with
1033 Qundef rather than 0 which is equal to Qfalse. Since Kernel#throw(obj)
1034 searches a tag with rb_vm_tag::tag == obj, throw(false) can
1035 accidentally find an unrelated tag which is not created by
1036 Kernel#catch. [ruby-core:77229] [Bug #12743]
1038 * test/ruby/test_exception.rb (test_throw_false): Add a test case for
1041 Mon Sep 26 14:36:12 2016 Naotoshi Seo <sonots@gmail.com>
1043 * lib/tempfile.rb: provide default basename parameter for
1044 Tempfile.create. [Feature #11965] Patch by Yuki Kurihara
1045 * test/test_tempfile.rb: ditto.
1047 Mon Sep 26 14:10:54 2016 Ary Borenszweig <ary@esperanto.org.ar>
1049 * string.c (lstrip_offset): add a fast path in the case of single
1050 byte optimizable strings, as well as rstrip_offset.
1051 [ruby-core:77392] [Feature #12788]
1053 Mon Sep 26 12:00:12 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1055 * gems/bundled_gems: update to minitest-5.9.1.
1057 Mon Sep 26 11:50:03 2016 Kazuki Yamaguchi <k@rhe.jp>
1059 * tool/rbinstall.rb (gem): Don't install gemspec if no files will be
1060 installed for the gem. This happens when the extension library is not
1063 Mon Sep 26 11:06:47 2016 Kazuki Yamaguchi <k@rhe.jp>
1065 * string.c (enc_strlen, rb_enc_strlen_cr): Avoid signed integer
1066 overflow. The result type of a pointer subtraction may have the same
1067 size as long. This fixes String#size returning an negative value on
1068 i686-linux environment:
1070 str = "\x00" * ((1<<31)-2))
1072 str.force_encoding("UTF-32BE")
1076 Sun Sep 25 22:48:06 2016 namusyaka <namusyaka@gmail.com>
1078 * lib/erb.rb (ERB::Compiler::TrimScanner#stag): The :stag accessor
1079 has already been available because it is defined in parent
1080 Scanner class. [Fix GH-1445]
1082 Sun Sep 25 19:21:26 2016 Kazuki Tsujimoto <kazuki@callcc.net>
1084 * node.c (dump_array): remove duplicate header of NODE_ARRAY/
1087 Sat Sep 24 22:26:20 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1089 * ext/extmk.rb (extract_makefile, extmake, configuration): store
1090 extra libraries to be installed.
1092 * tool/rbinstall.rb (ext-arch): install extra libraries.
1094 * ext/zlib/extconf.rb: install zlib if built.
1096 Sat Sep 24 14:24:55 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
1098 * spec/README: update URL.
1100 Sat Sep 24 11:28:22 2016 Koichi ITO <koic.ito@gmail.com>
1102 * fix typos, "a" before "Integer" to "an". [Fix GH-1438]
1104 Sat Sep 24 10:19:41 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1106 * test/misc/test_ruby_mode.rb (assert_indent): since write-region
1107 in Emacs 25.1 no longer displays the "Wrote file" message, shows
1108 the explicit message to check if successfully finished.
1109 [ruby-core:77355] [Bug #12785]
1111 * test/misc/test_ruby_mode.rb (EXPR_SAVE): use a numeric prefix
1112 argument of 0, not to make the previous version into a backup
1113 file, instead of backup-inhibited.
1115 * test/misc/test_ruby_mode.rb (run_emacs): always save the buffer
1118 Fri Sep 23 23:57:40 2016 Shugo Maeda <shugo@ruby-lang.org>
1120 * vm_method.c (make_method_entry_refined): fix wrong use of ||.
1122 Fri Sep 23 21:38:58 2016 Akinori MUSHA <knu@iDaemons.org>
1124 * tool/mdoc2man.rb (Mdoc2Man#parse_macro): Add support for the
1127 * tool/mdoc2man.rb (Mdoc2Man#shift_arg): A new function to extract
1128 a possibly quoted argument.
1130 Fri Sep 23 20:36:05 2016 Shugo Maeda <shugo@ruby-lang.org>
1132 * eval.c (rb_mod_refine): refine modules as well.
1133 [ruby-core:76199] [Feature #12534]
1135 Fri Sep 23 20:19:09 2016 Akinori MUSHA <knu@iDaemons.org>
1137 * man/ruby.1: Update the paragraphs in "Rich Libraries" which
1138 included a dead link.
1140 Fri Sep 23 20:05:27 2016 Akinori MUSHA <knu@iDaemons.org>
1142 * man/ruby.1, man/erb.1, man/irb.1, man/ri.1: Use the `Lk` macro
1143 for hyperlinks, which has been available since mdocml 1.5.1
1144 (released more than seven years ago).
1146 Fri Sep 23 15:47:04 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1148 * lib/forwardable.rb (_delegator_method): allow private methods to
1149 be delegated, with warnings. [ruby-core:77341] [Bug #12782]
1151 Fri Sep 23 12:15:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1153 * compile.c (iseq_peephole_optimize): enable tail call
1154 optimization inside a conditional block.
1156 Thu Sep 22 13:00:04 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
1158 * gc.c (gc_start_internal): [DOC] methods without arguments
1159 like r56194. [Bug #12777]
1161 Wed Sep 21 17:43:53 2016 NARUSE, Yui <naruse@ruby-lang.org>
1163 * process.c (InitVM_process): Support CLOCK_MONOTONIC_RAW_APPROX,
1164 CLOCK_UPTIME_RAW, and CLOCK_UPTIME_RAW_APPROX which are introduced
1167 Wed Sep 21 13:47:33 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1169 * parse.y (brace_body, do_body): preserve cmdarg_stack so that
1170 `do` after cmdarg in a block should be `do_block` and bound to
1171 the outer method. [ruby-core:72482] [Bug #11873]
1173 * parse.y: `do` after cmdarg in parentheses should be `do_block`
1174 and bound to the outer method. [ruby-core:72482] [Bug #11873]
1176 * parse.y (brace_body, do_body): extract block bodies.
1178 Tue Sep 20 23:02:50 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1180 * gc.c (gc_start_internal): [DOC] add ObjectSpace.garbage_collect
1181 and fix GC#garbage_collect. [Bug #12777]
1183 Tue Sep 20 21:24:01 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
1185 * doc/extension.ja.rdoc: translate r56189 (rb_gc_adjust_memory_usage).
1187 Tue Sep 20 17:52:28 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
1189 * gems/bundled_gems: Update rake-11.3.0
1191 Tue Sep 20 16:52:23 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1193 * gc.c (rb_gc_adjust_memory_usage): notify memory usage to the GC
1194 engine by extension libraries, to trigger GC. [Feature #12690]
1196 Mon Sep 19 17:05:22 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1198 * numeric.c (Init_Numeric), bignum.c (Init_Bignum): deprecate
1199 Fixnum and Bignum. this may be reverted after previews.
1202 Mon Sep 19 10:36:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1204 * enumerator.c (lazy_init_yielder): directly call stored functions.
1207 * enumerator.c (lazy_add_method): create lazy enumerator which
1208 uses lazy_init_yielder().
1210 Sun Sep 18 22:48:54 2016 Kouhei Sutou <kou@cozmixng.org>
1212 * lib/rss/rss.rb (RSS::BaseModel): Remove needless codes.
1213 [Bug #12773][ruby-dev:49813]
1214 Reported by Kazuhiro NISHIYAMA. Thanks!!!
1216 Sun Sep 18 19:23:47 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
1218 * lib/sync.rb: Fix NameError when error.
1220 Sat Sep 17 22:46:02 2016 Koichi ITO <koic.ito@gmail.com>
1222 * vm_insnhelper.c (vm_throw_start): Remove too much ";"
1225 Sat Sep 17 19:19:06 2016 Kazuki Yamaguchi <k@rhe.jp>
1227 * test/openssl/test_ssl.rb (test_ctx_options): Fix test failure on
1228 Ubuntu 16.04. The fix in r56147 was incomplete. This is a cherry-pick
1229 of the commit b039f3e268c2 at ruby/openssl.
1231 Sat Sep 17 10:49:35 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
1233 * doc/extension.ja.rdoc: translate r56130 (rb_check_arity).
1235 Sat Sep 17 02:40:52 2016 Aaron Patterson <tenderlove@ruby-lang.org>
1237 * ext/objspace/objspace_dump.c: Fix stream processing support for heap
1238 dumps. Full heap dumps should use JSON lines (http://jsonlines.org)
1239 so that we can process very large heaps without loading the entire
1240 heap dump in to memory at once.
1242 Fri Sep 16 22:10:31 2016 Naohisa Goto <ngotogenome@gmail.com>
1244 * ext/openssl/ossl_ssl.c (ssl_npn_select_cb_common): Fix compile error
1245 with old version of fcc (Fujitsu C Compiler) on Solaris 10.
1246 [Bug #12769] [ruby-dev:49809]
1248 Fri Sep 16 21:28:25 2016 Naohisa Goto <ngotogenome@gmail.com>
1250 * internal.h (MAYBE_UNUSED): The fallback definition is needed.
1251 Fix compile error with some non-GCC compilers such as
1252 Oracle Solaris Studio 12.3 on Solaris 10.
1253 [Bug #12767] [ruby-dev:49807]
1255 * internal.h (WARN_UNUSED_RESULT): ditto.
1257 Fri Sep 16 21:19:51 2016 Naohisa Goto <ngotogenome@gmail.com>
1259 * hash.c (each_pair_i_fast): Fix compile error with old version of
1260 fcc on Solaris 10. [Bug #12768] [ruby-dev:49808]
1262 Fri Sep 16 19:46:05 2016 NAKAMURA Usaku <usa@ruby-lang.org>
1264 * win32/Makefile.sub (config.h): fixed compile error with VC introduced
1267 Fri Sep 16 14:54:34 2016 URABE Shyouhei <shyouhei@ruby-lang.org>
1269 * internal.h (WARN_UNUSED_RESULT): moved to configure.in, to
1270 actually check its availability rather to check GCC's version.
1272 * configure.in (WARN_UNUSED_RESULT): moved to here.
1274 * configure.in (RUBY_FUNC_ATTRIBUTE): change function declaration
1275 to return int rather than void, because it makes no sense for a
1276 warn_unused_result attributed function to return void.
1278 Funny thing however is that it also makes no sense for noreturn
1279 attributed function to return int. So there is a fundamental
1280 conflict between them. While I tested this, I confirmed both
1281 GCC 6 and Clang 3.8 prefers int over void to correctly detect
1282 necessary attributes under this setup. Maybe subject to change
1285 * internal.h (UNINITIALIZED_VAR): renamed to MAYBE_UNUSED, then
1286 moved to configure.in for the same reason we move
1289 * configure.in (MAYBE_UNUSED): moved to here.
1291 * internal.h (__has_attribute): deleted, because it has no use now.
1293 * string.c (rb_str_enumerate_lines): refactor macro rename.
1295 * string.c (rb_str_enumerate_bytes): ditto.
1297 * string.c (rb_str_enumerate_chars): ditto.
1299 * string.c (rb_str_enumerate_codepoints): ditto.
1301 * thread.c (do_select): ditto.
1303 * vm_backtrace.c (rb_debug_inspector_open): ditto.
1305 * vsnprintf.c (BSD_vfprintf): ditto.
1307 Fri Sep 16 14:35:55 2016 URABE Shyouhei <shyouhei@ruby-lang.org>
1309 * ChangeLog (add-log-time-format): Not exactly sure when but
1310 recently (25.x maybe), emacs changed its API to take optional
1311 two arguments. We have to follow that.
1313 Fri Sep 16 06:43:25 2016 Aaron Patterson <tenderlove@ruby-lang.org>
1315 * lib/uri/generic.rb (def check_password): don't include bad password
1316 in URI exception output
1318 * test/uri/test_generic.rb (def test_set_component): test for behavior
1320 Thu Sep 15 21:40:03 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
1322 * doc/extension.ja.rdoc: Fix file name.
1324 Thu Sep 15 00:59:30 2016 NARUSE, Yui <naruse@ruby-lang.org>
1326 * benchmark/: add vnmakarov's benchmarks around hash [ruby-core:75265]
1328 Wed Sep 14 07:02:31 2016 NARUSE, Yui <naruse@ruby-lang.org>
1330 * hash.c (each_pair_i_fast): use rb_yield_values2 to avoid var args.
1332 Tue Sep 13 21:32:54 2016 Kazuki Yamaguchi <k@rhe.jp>
1334 * string.c (STR_HEAP_SIZE, RESIZE_CAPA_TERM, str_new0, rb_str_buf_new,
1335 str_shared_replace, rb_str_init, str_make_independent_expand,
1336 rb_str_resize): Avoid overflow by casting the length to size_t. size_t
1337 should be able to represent LONG_MAX+termlen.
1339 * string.c (rb_str_modify_expand): Check that the new length is in the
1340 range of long before resizing. Also refactor to use RESIZE_CAPA_TERM
1343 * string.c (str_buf_cat): Fix so that it does not create a negative
1344 length String. Also fix the condition for 'string sizes too big', the
1345 total length can be up to LONG_MAX.
1347 * string.c (rb_str_plus): Check the resulting String length does not
1350 * string.c (rb_str_dump): Fix integer overflow. The dump result will be
1351 longer then the original String.
1353 Tue Sep 13 21:30:53 2016 Kazuki Yamaguchi <k@rhe.jp>
1355 * gc.c (heap_extend_pages, get_envparam_size, ruby_malloc_size_overflow,
1356 gc_profile_dump_on): Use PRIuSIZE instead of PRIdSIZE as the passed
1357 value is size_t, not ssize_t.
1359 * iseq.c (get_line_info, rb_iseq_disasm_insn): Ditto.
1361 * sprintf.c (rb_str_format): Ditto.
1363 * thread_win32.c (native_thread_create): Ditto.
1365 * vm.c (get_param): Ditto.
1367 * ext/objspace/objspace_dump.c (dump_append_string_content,
1368 dump_object): Ditto.
1370 * ext/socket/raddrinfo.c (host_str, port_str): Ditto.
1372 Tue Sep 13 21:27:35 2016 Kazuki Yamaguchi <k@rhe.jp>
1374 * string.c (STR_EMBEDDABLE_P): Renamed from STR_EMBEDABLE_P(). And use
1377 Tue Sep 13 21:23:51 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
1379 * README.md: Drop support for BeOS now that Haiku is stable since
1382 * README.ja.md: ditto.
1384 Tue Sep 13 21:11:56 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1386 * string.c (STR_EMBEDABLE_P): extract the predicate macro to tell
1387 if the given length is capable in an embedded string, and fix
1388 possible integer overflow.
1390 Tue Sep 13 18:37:08 2016 Koichi Sasada <ko1@atdot.net>
1392 * test/ruby/test_exception.rb: fix thread issues.
1393 * use Queue instead of a local variable for synchronization.
1394 * join created thread to solve leaking threads warning.
1396 Tue Sep 13 16:07:26 2016 Kazuki Yamaguchi <k@rhe.jp>
1398 * string.c (rb_str_set_len): The buffer overflow check is wrong. The
1399 space for termlen is allocated outside the capacity returned by
1400 rb_str_capacity(). This fixes r41920 ("string.c: multi-byte
1401 terminator", 2013-07-11). [ruby-core:77257] [Bug #12757]
1403 * test/-ext-/string/test_set_len.rb (test_capacity_equals_to_new_size):
1404 Test for this change. Applying only the test will trigger [BUG].
1406 Tue Sep 13 06:03:34 2016 NARUSE, Yui <naruse@ruby-lang.org>
1408 * common.mk (benchmark): fix lib path.
1410 Tue Sep 13 00:39:47 2016 Aaron Patterson <tenderlove@ruby-lang.org>
1412 * class.c (singleton_class_of): Copy superclass serial number to
1413 singleton class. This improves singleton class IMC hit rates.
1414 [Feature #12364] [ruby-core:75425]
1416 Mon Sep 12 13:46:23 2016 Anton Davydov <mail@davydovanton.com>
1418 * lib/uri/mailto.rb: Removed needless `return` and use `.` instead of `::`
1420 * test/uri/test_mailto.rb: Added tests for coverage.
1421 [fix GH-1426][Misc #12750][ruby-core:77242]
1423 Sun Sep 11 21:30:26 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
1425 * NEWS: News about Module.used_modules.
1427 Sun Sep 11 19:06:49 2016 NAKAMURA Usaku <usa@ruby-lang.org>
1429 * win32/win32.c (rb_w32_write_console): should set written length as the
1430 return value. [Bug #12748] [ruby-dev:49786]
1432 Fri Sep 9 22:43:29 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
1434 * gems/bundled_gems: sort lines.
1436 Fri Sep 9 17:59:46 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1438 * thread.c (rb_threadptr_raise): set cause from the called thread,
1439 but not from the thread to be interrupted.
1440 [ruby-core:77222] [Bug #12741]
1442 Fri Sep 9 13:50:05 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1444 * doc/extension.rdoc, doc/extension.ja.rdoc: fix file name.
1445 pointed out by @takkanm in the RubyKaigi talk.
1447 Fri Sep 9 13:14:53 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
1449 * News: Announcing update to Unicode version 9.0.0 [ci skip]
1451 Fri Sep 9 10:10:00 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1453 * variable.c (rb_const_search): warn with the actual class/module
1454 name which defines the deprecated constant.
1456 * variable.c (rb_const_search): raise with the actual class/module
1457 name which defines the private constant.
1459 Thu Sep 8 17:47:18 2016 Kazuki Tsujimoto <kazuki@callcc.net>
1461 * array.c (flatten): use rb_obj_class instead of rb_class_of
1462 because rb_class_of may return a singleton class.
1463 [ruby-dev:49781] [Bug #12738]
1465 Thu Sep 8 17:40:15 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1467 * tool/rbinstall.rb (gem): use the bindir of each gemspec instead
1468 of hardcoded 'bin', since rdoc 5.0.0 overrides it.
1470 Thu Sep 8 16:47:03 2016 Shugo Maeda <shugo@ruby-lang.org>
1472 * eval.c (rb_mod_s_used_modules): rename Module.used_refinements to
1473 Module.used_modules. [Feature #7418] [ruby-core:49805]
1475 Thu Sep 8 14:21:48 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
1477 * ext/psych/psych.gemspec, lib/rdoc/rdoc.gemspec: Use file list instead of
1478 git output. It shows warning message when invoke `make install`
1479 [Bug #12736][ruby-dev:49778]
1481 Thu Sep 8 13:41:46 2016 Shugo Maeda <shugo@ruby-lang.org>
1483 * insns.def (setclassvariable, setconstant): warn when self is a
1484 refinement. [Bug #10103] [ruby-core:64143]
1486 Thu Sep 8 11:29:00 2016 Kenta Murata <mrkn@mrkn.jp>
1488 * hash.c (rb_hash_transform_values, rb_hash_transform_values_bang):
1489 Rename map_v to transform_values.
1490 [Feature #12512] [ruby-core:76095]
1492 * test/ruby/test_hash.rb: ditto.
1494 Thu Sep 8 10:08:35 2016 Kazuki Yamaguchi <k@rhe.jp>
1496 * {ext,test}/openssl: Import Ruby/OpenSSL 2.0.0.beta.2. The full commit
1497 history since v2.0.0.beta.1 can be found at:
1498 https://github.com/ruby/openssl/compare/v2.0.0.beta.1...v2.0.0.beta.2
1500 Thu Sep 8 07:23:34 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
1502 * lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0.beta2
1503 Fixed ri parse defect with left-hand matched classes.
1504 https://github.com/rdoc/rdoc/pull/420
1506 Thu Sep 8 01:12:47 2016 Shugo Maeda <shugo@ruby-lang.org>
1508 * eval.c (rb_mod_s_used_refinements): new method
1509 Module.used_refinements. based on the patch by Charlie
1510 Somerville. [Feature #7418] [ruby-core:49805]
1512 Wed Sep 7 17:50:38 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1514 * include/ruby/util.h (setenv): remove POSIX-noncompliant
1515 definition with 2 arguments.
1517 Wed Sep 7 17:35:37 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
1519 * unicode/8.0.0/casefold.h, name2ctype.h, unicode/data/8.0.0:
1520 removing directories/files related to Unicode version 8.0.0
1522 Wed Sep 7 17:21:55 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1524 * lib/timeout.rb (Timeout#timeout): add custom error message
1525 argument. [Feature #11650]
1527 Wed Sep 7 17:13:05 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
1529 * common.mk: Updated Unicode version to 9.0.0 [Feature #12513]
1531 * unicode/9.0.0/casefold.h, name2ctype.h, unicode/data/9.0.0:
1532 new directories/files for Unicode version 9.0.0
1534 Wed Sep 7 16:00:45 2016 Tanaka Akira <akr@fsij.org>
1536 * lib/open-uri.rb: Allow http to https redirection.
1537 Note that https to http is still forbidden.
1538 [ruby-core:20485] [Feature #859] by Roman Shterenzon.
1540 Wed Sep 7 14:56:59 2016 Kazuki Tsujimoto <kazuki@callcc.net>
1542 * lib/csv.rb (CSV::{Row,Table}#{each,delete_if}): returns an enumerator
1543 if no block is given. [ruby-core:75346] [Feature #12347]
1545 * test/csv/test_row.rb: add test for above.
1547 * test/csv/test_table.rb: ditto.
1549 Wed Sep 7 14:50:01 2016 Kazuki Tsujimoto <kazuki@callcc.net>
1551 * gems/bundled_gems: update to power_assert 0.3.1.
1553 Wed Sep 7 12:16:09 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
1555 * ext/psych/*, test/psych/*: Update psych-2.1.1
1556 This version fixed following pull requests.
1557 https://github.com/tenderlove/psych/pull/284
1558 https://github.com/tenderlove/psych/pull/276
1560 Wed Sep 7 11:51:06 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
1562 * lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0.beta1
1563 This version is mostly same as r56072. It contains to remove code
1566 Tue Sep 6 09:23:06 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
1568 * lib/rdoc/rdoc.gemspec: partly reverted for default gem installer.
1569 upstream configuration is not working on ruby core repository.
1571 Mon Sep 5 19:35:22 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
1573 * lib/rdoc/*, test/rdoc/*: Update rdoc/rdoc master(f191513)
1574 https://github.com/rdoc/rdoc/blob/master/History.rdoc#423--2016--
1575 https://github.com/rdoc/rdoc/blob/master/History.rdoc#422--2016-02-09
1577 Sun Sep 4 00:17:55 2016 Sho Hashimoto <sho-h@ruby-lang.org>
1579 * proc.c: [DOC] fix Object#define_singleton_method and
1580 main.define_method return value. [ci skip]
1582 Sat Sep 3 11:28:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1584 * thread_pthread.c (ruby_init_stack): check stack bounds even if
1585 get_main_stack succeeded, on the "co-routine" case.
1586 https://github.com/ruby/ruby/commit/53953ee#commitcomment-18887413
1588 Fri Sep 2 16:06:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1590 * internal.h (MEMO_V1_SET, MEMO_V2_SET): fix typos. use the macro
1591 parameter, not the local variable.
1593 Fri Sep 2 00:55:11 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1595 * ext/extmk.rb (timestamp_file): move extmk.rb specific tricks
1596 from lib/mkmf.rb. keep RUBYCOMMONDIR prefix not to conflict
1597 with a timestamp file in the toplevel.
1599 Thu Sep 1 14:24:16 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1601 * ext/extmk.rb (gems): move dirty hacks for bundled gems from
1604 * lib/mkmf.rb (create_makefile): yield all configuration strings.
1606 Wed Aug 31 17:39:19 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1608 * ext/extmk.rb (create_makefile): make gem.build_complete file
1609 under TARGET_SO_DIR and install it only when the gem build
1610 succeeded. [ruby-core:77057] [Bug #12681]
1612 Wed Aug 31 15:36:10 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1614 * ext/extmk.rb: move TARGET_SO_DIR stuffs to mkmf.rb.
1616 * lib/mkmf.rb (create_makefile): create target shared object files
1617 under $(TARGET_SO_DIR) which is $sodir if it is defined with
1618 $extout. [ruby-core:77058] [Bug #12681]
1620 Wed Aug 31 01:56:55 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
1622 * doc/extension.ja.rdoc: [DOC] Fix a typo. [ci skip]
1624 Wed Aug 31 00:52:23 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1626 * ext/extmk.rb: make the gems target directory under the expanded
1627 name. [ruby-core:77102] [Bug #12714]
1629 Tue Aug 30 15:27:27 2016 Kouhei Yanagita <yanagi@shakenbu.org>
1631 * ext/json/lib/json/add/ostruct.rb (OpenStruct.json_create):
1632 Correct documentation, fix the name of values. [Fix GH-1421]
1634 Tue Aug 30 14:53:34 2016 NAKAMURA Usaku <usa@ruby-lang.org>
1636 * io.c (nogvl_fsync, nogvl_fdatasync): on Windows, just ignore if the
1637 fd is associated to non-disk device. if call fsync and/or fdatasync
1638 with such fds, it causes Errno::EBADF exception and the behavior is
1639 incompatible with ruby 2.1 and earlier unintentionally introduced.
1641 Tue Aug 30 03:38:35 2016 NARUSE, Yui <naruse@ruby-lang.org>
1643 * vm_dump.c (backtrace): use rip in the saved context for the case
1644 the SIGSEGV is received when the process is in userland.
1645 Note that ip in the stack should be used if the signal is received
1646 when it is in kernel (when it is calling syscall) [Bug #12711]
1648 Sat Aug 27 10:26:14 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1650 * array.c (rb_ary_concat_multi): take multiple arguments. based
1651 on the patch by Satoru Horie. [Feature #12333]
1653 * string.c (rb_str_concat_multi, rb_str_prepend_multi): ditto.
1655 Thu Aug 25 00:42:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1657 * win32/file.c (append_wstr): remove a codepage argument, and use
1658 INVALID_CODE_PAGE for conversion by econv.
1660 * win32/file.c (append_wstr): exclude the terminator from the
1661 result length when input len == -1.
1663 Wed Aug 24 22:41:30 2016 Kouhei Sutou <kou@cozmixng.org>
1665 * gc.c (gc_reset_malloc_info): Remove too much ";".
1667 Wed Aug 24 20:07:57 2016 Naohisa Goto <ngotogenome@gmail.com>
1669 * include/ruby/defines.h (ALWAYS_INLINE): Add alternative definition.
1670 Fix compile error with compilers that do not have force inline
1671 attribute, including old version of fcc on Solaris 10.
1672 [ruby-dev:49773] [Bug #12701]
1674 Wed Aug 24 16:56:26 2016 NARUSE, Yui <naruse@ruby-lang.org>
1676 * .gdbinit: follow r55766's VM change.
1678 Wed Aug 24 12:57:56 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1680 * object.c (rb_mod_initialize, rb_class_initialize): [DOC] these
1681 methods do not invoke module_eval/class_eval, just eval the
1682 given block under the new module/class but sharing the context
1683 with the surrounding scope like those methods.
1684 [ruby-core:77023] [Bug #12696]
1686 Tue Aug 23 10:34:40 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1688 * test/psych/test_psych.rb (test_load_file_with_fallback): fix
1689 Tempfile leak. https://github.com/tenderlove/psych/pull/288
1691 Tue Aug 23 10:15:01 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1693 * string.c (rb_fs_setter): check and convert $; value at
1696 Tue Aug 23 02:09:57 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1698 * string.c (rb_str_split_m): show $; name in error message when it
1701 Mon Aug 22 16:29:52 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1703 * lib/csv.rb (CSV#shift): store partial quoted strings in an array
1704 and join at last, to improve performance with very long quoted
1705 lines. [ruby-core:76987] [Bug #12691]
1707 Mon Aug 22 14:35:57 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1709 * man/irb.1: remove useless -width option.
1710 [ruby-dev:49767] [Bug #12692]
1712 Mon Aug 22 09:02:56 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1714 * iseq.c (Init_ISeq): undefine allocator of InstructionSequence,
1715 to get rid of segfaults at method call on uninitialized object.
1717 Sat Aug 21 05:47:00 2016 Kenta Murata <mrkn@mrkn.jp>
1719 * enum.c (enum_sort): prevent wasteful array duplication.
1721 Sat Aug 20 11:20:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1723 * rubystub.c: generalize win32/stub.c.
1725 Fri Aug 19 11:39:06 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1727 * parse.y (primary): allow parenthesised statement as a method
1728 argument. [Feature #12686]
1730 Fri Aug 19 09:12:45 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1732 * vm.c (vm_set_main_stack): TOPLEVEL_BINDING must be built.
1733 http://www.viva64.com/en/b/0414/#ID0EQ1CI [ruby-core:76973]
1735 Fri Aug 19 01:00:53 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
1737 * proc.c (mnew_missing): Remove an unused argument.
1738 After r51126 rid is not used.
1740 Thu Aug 18 09:26:52 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
1742 * gems/bundled_gems: bump to test-unit-3.2.1
1744 Thu Aug 18 02:36:26 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1746 * tool/rbinstall.rb: skip gems which failed to build extensions.
1747 [ruby-dev:49764] [Bug #12683]
1749 Wed Aug 17 23:35:12 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1751 * gems/bundled_gems (tk): bump up to 0.1.1.
1753 Wed Aug 17 23:14:42 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1755 * ext/extmk.rb: build gem extensions into separate directories
1757 * tool/rbinstall.rb: install pre-built gem extension files gem
1758 extension directories. [ruby-core:76931] [Bug #12681]
1760 Tue Aug 16 21:04:30 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1762 * common.mk (UNICODE_HDR_DIR): separate unicode header files from
1763 unicode data files. [ruby-core:76879] [Bug #12677]
1765 Tue Aug 16 11:17:51 2016 Koichi ITO <koic.ito@gmail.com>
1767 * lib/net/http/header.rb: Fix typo. [ci skip][fix GH-1407]
1768 * transcode.c: ditto.
1770 Tue Aug 16 11:02:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1772 * tool/make-snapshot (package): save generated header files from
1773 unicode data. [ruby-core:76879] [Bug #12677]
1775 Mon Aug 15 20:31:34 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1777 * node.c (dump_array): show nd_alen field in NODE_ARRAY only in
1778 the first node. it is nd_end in the rest nodes.
1780 Mon Aug 15 16:41:32 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
1782 * appveyor.yml: Update libressl version to 2.3.7.
1784 Mon Aug 15 11:46:50 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1786 * ext/extmk.rb (extmake): extension libraries in gems cannot link
1789 Sun Aug 14 22:35:40 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1791 * id_table.c (hash_table_extend): should not shrink the table than
1792 the previous capacity. [ruby-core:76534] [Bug #12614]
1794 Sun Aug 14 18:51:24 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1796 * gems/bundled_gems: add gemified tk 0.1.0.
1797 this needs `extract-gems` to build.
1799 Sun Aug 14 14:54:14 2016 Kouhei Sutou <kou@cozmixng.org>
1801 * object.c (InitVM_Object): Update referenced document path.
1803 Sat Aug 13 23:08:01 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1805 * numeric.c (num_funcall0, num_funcall1): get rid of infinite
1806 recursion in fallback methods of Numeric.
1808 Sat Aug 13 11:10:08 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1810 * parse.y (command_asgn, arg): fix syntax errors with chained
1811 assignment with op assign. [Bug #12669]
1813 Sat Aug 13 10:52:19 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1815 * parse.y (stmt, arg): rescue modifier in command op assignment
1816 should be limited to rhs only. [ruby-core:75621] [Bug #12402]
1818 Sat Aug 13 07:51:40 2016 Masaki Suketa <masaki.suketa@nifty.ne.jp>
1820 * ext/win32ole/win32ole.c (ole_val2variant): fix integer conversion in
1823 Fri Aug 12 21:05:19 2016 NARUSE, Yui <naruse@ruby-lang.org>
1825 * lib/webrick/config.rb (WEBrick::Config::General):
1826 disable reverse lookup by default. [ruby-core:45514] [Feature #6559]
1827 Socket.do_not_reverse_lookup is true by default but WEBrick
1829 patch by Eric Hodel [ruby-core:45527]
1831 Fri Aug 12 12:50:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1833 * error.c (rb_syntax_error_append): fix newline in syntax error
1834 message to the beginning, not after file name and line number.
1837 Thu Aug 11 16:24:23 2016 Ferdinand Niedermann <nerdinand@nerdinand.com>
1839 * compar.c (cmp_clamp): Introduce Comparable#clamp. [Feature #10594]
1841 Thu Aug 11 03:16:59 2016 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
1843 * lib/prime.rb: Optimize prime?
1844 Adapted from patch by Jabari Zakiya [#12665]
1846 * test/test_prime.rb: Improve test
1848 Wed Aug 10 22:37:01 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1850 * parse.y (command_rhs, arg_rhs): introduce new rules to reduce
1851 repeated rules with rescue modifier.
1853 Wed Aug 10 17:26:43 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1855 * parse.y (command_asgn): rescue modifier in command assignment
1856 should be limited to rhs only. [ruby-core:75621] [Bug #12402]
1858 Wed Aug 10 15:35:03 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1860 * ext/win32/resolv/resolv.c: needs windows.h for iphlpapi.h on
1861 cygwin. [ruby-core:76791] [Bug #12663]
1863 * ext/win32/resolv/resolv.c (w32error_make_error): use
1864 Win32::Resolv::Error, an alias of Win32::Registry::Error.
1866 Tue Aug 9 17:50:00 2016 Kenta Murata <mrkn@mrkn.jp>
1868 * hash.c (rb_hash_map_v, rb_hash_map_v_bang): implement Hash#map_v and
1869 Hash#map_v! [Feature #12512] [ruby-core:76095]
1871 * test/ruby/test_hash.rb: add tests for above change.
1873 Tue Aug 9 16:09:03 2016 NARUSE, Yui <naruse@ruby-lang.org>
1875 * vm_insnhelper.c (vm_getivar): use always_inline because
1876 gcc7 doesn't inline this without always_inline.
1878 Tue Aug 9 15:41:24 2016 NARUSE, Yui <naruse@ruby-lang.org>
1880 * ext/tk: Tk is removed from stdlib. [Feature #8539]
1881 https://github.com/ruby/tk is the new upstream.
1883 Tue Aug 9 00:12:31 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
1885 * doc/maintainers.rdoc: Remove moved file section.
1887 Mon Aug 8 20:56:46 2016 Masaki Suketa <masaki.suketa@nifty.ne.jp>
1889 * ext/win32ole/sample/excel1.rb, ext/win32ole/sample/excel2.rb,
1890 ext/win32ole/sample/excel3.rb, ext/win32ole/sample/ie.rb,
1891 ext/win32ole/sample/ienavi.rb, ext/win32ole/sample/ienavi2.rb: use
1892 true instead of deprecated TRUE. [ci skip]
1894 Mon Aug 8 12:51:12 2016 Zarko Todorovski <zarko@ca.ibm.com>
1896 * internal.h (RBASIC_CLEAR_CLASS): Reroute ANSI C's strict
1898 [ruby-core:74427][Bug #12191][ruby-core:76747][Bug #12657]
1900 Sun Aug 7 18:08:27 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1902 * object.c (InitVM_Object): deprecate toplevel constants TRUE,
1903 FALSE, and NIL. [Feature #12574]
1905 Sun Aug 7 06:48:21 2016 Eric Wong <e@80x24.org>
1907 * ext/openssl/ossl_ssl.c (ossl_ssl_write_internal):
1908 avoid undefined behavior
1909 * test/openssl/test_pair.rb (test_write_zero): new test
1910 [ruby-core:76751] [Bug #12660]
1912 Sat Aug 6 09:35:30 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1914 * id_table.h (rb_id_table_iterator_result): add dummy sentinel
1915 member because C standard prohibits a trailing comma.
1917 Sat Aug 6 00:39:44 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1919 * hash.c (env_enc_str_new): make string for an environment
1920 variable name or value.
1922 * hash.c (env_name_new): make environment value string with the
1923 encoding for its name.
1925 Fri Aug 5 23:18:35 2016 NAKAMURA Usaku <usa@ruby-lang.org>
1927 * hash.c (env_str_new): taint the string. get rid of a test failure
1928 introduced at r55811.
1930 Fri Aug 5 17:04:02 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1932 * hash.c (w32_getenv): call rb_w32_getenv and rb_w32_ugetenv via
1933 this pointer without further comparisons.
1935 Thu Aug 4 11:54:30 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1937 * hash.c (env_assoc): the encoding of the value should be the
1938 locale, as well as other methods, [], fetch, values, etc.
1940 Wed Aug 3 21:31:23 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1942 * parse.y (reg_fragment_enc_error): compile_error is different
1943 between parser and ripper. [ruby-core:76397] [Bug #12651]
1945 Wed Aug 3 17:15:06 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1947 * object.c (rb_obj_clone2): restrict freeze option to true other
1948 than false which only has the effect. [Feature #12300]
1950 Wed Aug 3 10:47:07 2016 Koichi Sasada <ko1@atdot.net>
1952 * vm_core.h: introduce VM_FRAME_RUBYFRAME_P()
1953 and VM_FRAME_CFRAME_P().
1954 Most of case, RUBY_VM_NORMAL_ISEQ_P() is no
1957 * vm_core.h: introduce rb_obj_is_iseq().
1959 * cont.c, vm.c: VM_FRAME_MAGIC_DUMMY with
1960 VM_FRAME_FLAG_CFRAME.
1962 Wed Aug 3 09:25:16 2016 Koichi Sasada <ko1@atdot.net>
1964 * vm_core.h: rename macros and make them inline functions.
1966 * rename VM_FRAME_TYPE_FINISH_P() to VM_FRAME_FINISHED_P().
1967 * rename VM_FRAME_TYPE_BMETHOD_P() to VM_FRAME_BMETHOD_P().
1969 Wed Aug 03 09:15:02 2016 Koichi Sasada <ko1@atdot.net>
1971 * vm_core.h: introduce VM_FRAME_FLAG_CFRAME to represent cfp->iseq
1974 Tue Aug 2 21:42:40 2016 Chia-sheng Chen <qitar888@gmail.com>
1976 * math.c (tanh): make faster by the extract form if three
1977 hyperbolic functions are unavailable. [Feature #12647]
1979 Tue Aug 2 12:37:00 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1981 * ext/socket/option.c, ext/socket/rubysocket.h (inet_ntop): share
1982 the fallback definition. [ruby-core:76646] [Bug #12645]
1984 Tue Aug 2 04:07:29 2016 NAKAMURA Usaku <usa@ruby-lang.org>
1986 * win32/win32.c (set_pioinfo_extra): use more reliable way to search
1987 the position of pioinfo of VC14, and also support debug library of it.
1988 patched by davispuh AT gmail.com
1989 [ruby-core:76644] [Bug #12644]
1990 this fixes also [Bug #12631]
1992 Mon Aug 1 21:39:52 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
1994 * ext/extmk.rb: [EXPERIMENTAL] build extension libraries in
1997 Mon Aug 1 16:07:18 2016 URABE Shyouhei <shyouhei@ruby-lang.org>
1999 * include/ruby/ruby.h (struct RStruct): no longer.
2001 * internal.h (struct RStruct): moved here.
2003 * struct.c (rb_struct_ptr): a compensation function for the lack
2004 of RSTRUCT_PTR. But now that we have RSTRUCT_GET/SET, that must
2005 not be used anyway. I mark this deprecated. Dont use it.
2007 Mon Aug 1 14:50:06 2016 Jeremy Evans <code@jeremyevans.net>
2009 * object.c (rb_obj_clone2): Allow Object#clone to take freeze:
2010 false keyword argument to not freeze the clone.
2011 [ruby-core:75017][Feature #12300]
2013 * test/ruby/test_object.rb (TestObject): test for it.
2015 Mon Aug 1 12:16:19 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
2017 * ext/json/*, test/json/json_parser_test.rb: Update json-2.0.2.
2019 Sun Jul 31 16:17:23 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2021 * ext/win32/resolv/resolv.c (get_dns_server_list): [Win32] get DNS
2022 servers only for connected network devices by GetNetworkParams
2025 Sat Jul 30 12:13:26 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2027 * string.c (String#downcase), NEWS: Mentioned that case mapping for all
2028 of ISO-8859-1~16 is now supported. [ci skip]
2030 Sat Jul 30 12:00:01 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2032 * enc/iso_8859_2.c, test/ruby/enc/test_case_comprehensive.rb:
2033 Implement non-ASCII case conversion for ISO-8859-2, by Yushiro Ishii.
2035 Fri Jul 29 20:57:12 2016 chuanshuo <lilijreey@126.com>
2037 * *.c: rename rb_funcall2 to rb_funcallv, except for extensions
2038 which are/will be/may be gems. [Fix GH-1406]
2040 Fri Jul 29 10:51:34 2016 Koichi Sasada <ko1@atdot.net>
2042 * proc.c (env_write): remove unused function.
2044 Fri Jul 29 10:49:52 2016 Koichi Sasada <ko1@atdot.net>
2046 * vm_core.h (VM_LOCAL_P): should return an integer value.
2048 http://d.hatena.ne.jp/nagachika/20160728/ruby_trunk_changes_55764_55770
2050 Fri Jul 29 04:23:08 2016 Koichi Sasada <ko1@atdot.net>
2052 * vm_core.h (VM_ENV_LOCAL_P): return truthy (0 or not) value.
2054 * vm.c (rb_vm_make_proc_lambda): use VM_ENV_ESCAPED_P() macro.
2056 Fri Jul 29 03:49:04 2016 Koichi Sasada <ko1@atdot.net>
2058 * vm.c, internal.h: remove RubyVM::Env class and all of env objects
2059 are imemo objects (imemo_env).
2061 * NEWS: describe this change. I believe nobody touch these objects
2062 because there are no method defined.
2064 * vm_core.h: remove the following definitions.
2066 * GetEnvPtr() because Env is no longer T_DATA object.
2068 * vm_core.h (rb_env_t): fix layout for imemo values.
2070 * vm_core.h (vm_assert_env): added.
2072 * vm_core.h (vm_env_new): added.
2074 Thu Jul 28 19:53:21 2016 Koichi Sasada <ko1@atdot.net>
2076 * vm_core.h: revisit the structure of frame, block and env.
2079 This patch introduce many changes.
2081 * Introduce concept of "Block Handler (BH)" to represent
2084 * move rb_control_frame_t::flag to ep[0] (as a special local
2085 variable). This flags represents not only frame type, but also
2086 env flags such as escaped.
2088 * rename `rb_block_t` to `struct rb_block`.
2090 * Make Proc, Binding and RubyVM::Env objects wb-protected.
2092 Check [Bug #12628] for more details.
2094 Thu Jul 28 15:05:12 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2096 * include/ruby/ruby.h (ruby_fl_type): use __extension__ to get rid
2097 of pedantic warning against RUBY_FL_USER19.
2098 https://github.com/skylightio/skylight-ruby/issues/64
2100 * include/ruby/ruby.h (rb_mul_size_overflow): ditto for use of
2103 Wed Jul 27 10:32:59 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2105 * enc/windows_1253.c: Remove dead code found by Coverity Scan.
2107 Tue Jul 26 22:43:36 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2109 * gc.c (run_finalizer): make saved running finalizer state
2110 volatile to ensure not to be clobbered by longjmp.
2112 Tue Jul 26 19:26:00 2016 Koichi Sasada <ko1@atdot.net>
2114 * vm_insnhelper.c: introduce rb_vm_pop_frame() and use it
2115 instead of setting rb_thread_t::cfp directly.
2117 * vm_insnhelper.c (vm_pop_frame): return the result of
2118 finish frame or not.
2120 Tue Jul 26 19:06:39 2016 Koichi Sasada <ko1@atdot.net>
2122 * gc.c (rb_raw_obj_info): support to show Proc obj.
2124 Tue Jul 26 18:55:55 2016 Koichi Sasada <ko1@atdot.net>
2126 * gc.c (gc_mark): add `inline' explicitly.
2127 I expected to inline this function implicitly at the loop
2128 (ex: marking T_ARRAY objects) but sometimes it remains as
2131 Tue Jul 26 16:33:16 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2133 * enc/windows_1257.c, test/ruby/enc/test_case_comprehensive.rb:
2134 Implement non-ASCII case conversion for Windows-1257, by Sho Koike.
2136 Tue Jul 26 16:19:41 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2138 * enc/windows_1250.c, test/ruby/enc/test_case_comprehensive.rb:
2139 Implement non-ASCII case conversion for Windows-1250, by Sho Koike.
2141 * ChangeLog: Fixed order of previous two entries.
2143 Tue Jul 26 15:54:17 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2145 * enc/windows_1253.c, test/ruby/enc/test_case_comprehensive.rb:
2146 Implement non-ASCII case conversion for Windows-1253, by Takumi Koyama.
2148 Tue Jul 26 15:30:37 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2150 * enc/windows_1251.c, test/ruby/enc/test_case_comprehensive.rb:
2151 Implement non-ASCII case conversion for Windows-1251, by Shunsuke Sato.
2153 Tue Jul 26 13:04:59 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2155 * test/ruby/enc/test_case_comprehensive.rb: Add explicit skip test for
2156 availability of Unicode data files.
2158 Mon Jul 25 21:33:13 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2160 * range.c (check_step_domain): check step argument domain by <=>
2161 method, instead of < and >.
2163 Mon Jul 25 21:11:32 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
2165 * doc/maintainers.rdoc: fix filenames.
2167 Mon Jul 25 16:59:00 2016 Koichi Sasada <ko1@atdot.net>
2169 * debug.c (ruby_debug_printf): use rb_raw_obj_info()
2170 instead of rb_inspect() because it is more robust way
2171 to see object internal.
2173 Sun Jul 24 16:33:13 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2175 * regenc.h/c, include/ruby/oniguruma.h, enc/ascii.c, big5.c, cp949.c,
2176 emacs_mule.c, euc_jp.c, euc_kr.c, euc_tw.c, gb18030.c, gbk.c,
2177 iso_8859_1|2|3|4|5|6|7|8|9|10|11|13|14|15|16.c, koi8_r.c, koi8_u.c,
2178 shift_jis.c, unicode.c, us_ascii.c, utf_16|32be|le.c, utf_8.c,
2179 windows_1250|51|52|53|54|57.c, windows_31j.c, unicode.c:
2180 Remove conditional compilation macro ONIG_CASE_MAPPING. [Feature #12386].
2182 Sun Jul 24 12:53:42 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
2184 * doc/maintainers.rdoc: xmlrpc is bundled gem from Ruby 2.4.
2186 Sun Jul 24 12:07:39 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
2188 * doc/maintainers.rdoc: Update OpenSSL maintainer.
2190 Sat Jul 23 22:43:41 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2192 * internal.h (Check_Type): inline check for the object type.
2194 Sat Jul 23 04:06:04 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2196 * include/ruby/ruby.h (RTEST, NIL_P): use RUBY prefixed name in
2199 Sat Jul 23 01:41:29 2016 Eric Wong <e@80x24.org>
2201 * lib/webrick/httpservlet/cgihandler.rb (do_GET): delete HTTP_PROXY
2202 * test/webrick/test_cgi.rb (test_cgi_env): new test
2203 * test/webrick/webrick.cgi (do_GET): new endpoint to dump env
2204 [ruby-core:76511] [Bug #12610]
2206 Fri Jul 22 19:55:20 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2208 * vm.c (vm_set_main_stack): remove unnecessary check. toplevel
2209 binding must be initialized. [Bug #12611] (N1)
2211 * win32/win32.c (w32_symlink): fix return type. [Bug #12611] (N3)
2213 * string.c (rb_str_split_m): simplify the condition.
2216 Fri Jul 22 17:13:37 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2218 * string.c (String#dump): Change escaping of non-ASCII characters in
2219 UTF-8 to use upper-case four-digit hexadecimal escapes without braces
2220 where possible [Feature #12419].
2222 * test/ruby/test_string.rb (test_dump): Add tests for above.
2224 Fri Jul 22 10:35:35 2016 Kouhei Sutou <kou@cozmixng.org>
2226 * lib/rexml/attribute.rb (REXML::Attribute#to_string): Fix wrong
2227 entry reference name of double quote.
2228 [Bug #12609][ruby-core:76509]
2229 Patch by Joseph Marrero. Thanks!!!
2231 Fri Jul 22 10:32:13 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2233 * template/unicode_norm_gen.tmpl: Remove
2234 UnicodeNormalize::UNICODE_VERSION at origin [Feature #12546].
2236 Fri Jul 22 09:23:51 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
2238 * LEGAL: Added entries for files under the USD license.
2239 [Bug #12598][ruby-core:76428][ci skip]
2241 Fri Jul 22 09:19:57 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
2243 * LEGAL: Added entry for `lib/rdoc/generator/template/darkfish/css/fonts.css`
2244 [Misc #12550][ruby-core:76255][ci skip]
2246 Fri Jul 22 06:28:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2248 * gc.c (run_finalizer): push and exec tag just once, instead of
2249 protecting for each finalizer.
2251 * gc.c (gc_start_internal, rb_gc_start): set finalizing flag
2252 whenever calling deferred finalizers not to recurse.
2254 Thu Jul 21 22:26:40 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
2256 * missing/strl{cat,cpy}.c: Update latest upstream files.
2257 [Misc #12205][ruby-core:74487]
2258 * LEGAL: Update license for missing/strl{cat,cpy}.c.
2260 Thu Jul 21 21:53:30 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
2262 * LEGAL: added file list with Public domain license.
2263 [ruby-core:76254][Bug #12549]
2265 Wed Jul 20 17:44:07 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2267 * enumerator.c (lazy_uniq): new method Enumerator::Lazy#uniq.
2270 * enum.c (enum_uniq): new method Enumerable#uniq.
2273 Wed Jul 20 17:35:23 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2275 * hash.c (rb_hash_add_new_element): add new element or do nothing
2276 if it is contained already.
2278 * array.c (ary_add_hash, ary_add_hash_by): use
2279 rb_hash_add_new_element.
2281 Tue Jul 19 18:21:17 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2283 * lib/unicode_normalize/tables.rb: Remove
2284 UnicodeNormalize::UNICODE_VERSION (#12546).
2286 Tue Jul 19 15:38:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2288 * variable.c (rb_local_constants_i): exclude private constants
2289 when excluding inherited constants too. [Bug #12345]
2291 Sun Jul 17 23:42:00 2016 Kenta Murata <mrkn@mrkn.jp>
2293 * numeric.c (num_finite_p, num_infinite_p): Add Numeric#finite? and
2294 Numeric#infinite? [Feature #12039] [ruby-core:73618]
2296 * complex.c (rb_complex_finite_p): Add Complex#finite?
2298 * complex.c (rb_complex_infinite_p): Add Complex#infinite?
2300 * test/ruby/test_bignum.rb: Add test for Integer#finite? and
2303 * test/ruby/test_fixnum.rb: ditto.
2305 * test/ruby/test_rational.rb: Add test for Rational#finite? and
2308 * test/ruby/test_complex.rb: Add test for Complex#finite? and
2311 Sun Jul 17 20:59:24 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2313 * common.mk, enc/depend (casefold.h, name2ctype.h): move to
2314 unicode data directory per version.
2316 Sat Jul 16 06:26:00 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2318 * common.mk, enc/Makefile.in: moved timestamp files for
2319 directories under the specific directory, to get rid of match
2320 with files under the source directory.
2322 Fri Jul 15 22:05:13 2016 Naohisa Goto <ngotogenome@gmail.com>
2324 * string.c (str_buf_cat): Fix potential integer overflow of capa.
2325 In addition, termlen is used instead of +1.
2327 Fri Jul 15 21:30:38 2016 Naohisa Goto <ngotogenome@gmail.com>
2329 * string.c (str_buf_cat): Fix capa size for embed string.
2330 Fix bug in r55547. [Bug #12536]
2332 Fri Jul 15 18:13:15 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
2334 * gems/bundled_gems: update latest gems.
2336 Fri Jul 15 17:08:57 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2338 * util.c (ruby_strtod): do not underflow only by preceding zeros,
2339 which may be canceled out by the exponent.
2340 http://twitter.com/kazuho/status/753829998767714305
2342 Fri Jul 15 09:53:48 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2344 * enc/unicode/case-folding.rb, tool/enc-unicode.rb: check if
2345 Unicode versions are consistent with each other.
2347 Fri Jul 15 08:25:15 2016 Jeremy Evans <code@jeremyevans.net>
2349 * string.c (STR_BUF_MIN_SIZE): reduce from 128 to 127
2350 [ruby-core:76371] [Feature #12025]
2351 * string.c (rb_str_buf_new): adjust for above reduction
2353 Thu Jul 14 17:26:00 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2355 * Makefile.in (enc/unicode/name2ctype.h): remove stale recipe,
2356 which did not support Unicode age properties.
2358 * common.mk (enc/unicode/name2ctype.h): update by --header option
2359 of tool/enc-unicode.rb. enc/unicode/name2ctype.kwd file has not
2362 * common.mk (enc/unicode/name2ctype.kwd): rule to create from
2363 Unicode data files, used only when the target does not exist.
2365 Thu Jul 14 13:10:54 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2367 * ext/json/lib/json/ext: remove stale directory. bundled
2368 extension libraries are placed under the directory for each
2369 architectures, but not mixed with plain text script libraries.
2371 Thu Jul 14 12:48:47 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
2373 * ext/json/**/*.rb: merge original files from upstream repository.
2374 It only fixes styles of frozen string literal.
2376 Wed Jul 13 22:23:03 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
2378 * test/json/json_common_interface_test.rb: use assert_raise instead of
2381 Wed Jul 13 22:14:23 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
2383 * test/lib/test/unit.rb: added test files with `_test` suffix for json
2385 * test/json: merge original test files from json upstream.
2387 Wed Jul 13 18:09:42 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2389 * enc/iso_8859_9.c, test/ruby/enc/test_case_comprehensive.rb:
2390 Implement non-ASCII case conversion for ISO-8859-9, by Kazuki Iijima.
2392 * enc/iso_8859_9.c: Exclude dotless i/I with dot from case-insensitive
2393 matching because they are not a case pair.
2395 * test/ruby/enc/test_iso_8859.rb: Make test coverage for ISO-8859-9
2396 a bit more complete.
2398 Wed Jul 13 17:21:24 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2400 * enc/windows_1252.c, test/ruby/enc/test_case_comprehensive.rb:
2401 Implement non-ASCII case conversion for Windows-1252, by Serina Tai.
2403 * test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings.
2405 Wed Jul 13 16:19:14 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2407 * enc/iso_8859_7.c, test/ruby/enc/test_case_comprehensive.rb:
2408 Implement non-ASCII case conversion for ISO-8859-7, by Kosuke Kurihara.
2410 * test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings.
2412 Wed Jul 13 16:08:08 2016 Koichi Sasada <ko1@atdot.net>
2414 * gc.c (gc_mark_roots): should mark the VM object itself to mark
2415 singleton class of the VM object.
2416 Before this patch, we only set mark bit for the VM object and
2417 invoke mark function separately.
2420 * test/ruby/test_gc.rb: add a test.
2422 Wed Jul 13 15:59:59 2016 NAKAMURA Usaku <usa@ruby-lang.org>
2424 * math.c (_USE_MATH_DEFINES): it must be set before including internal.h
2425 because internal.h includes ruby.h, ruby.h includes win32.h, and
2426 win32.h includes system's math.h.
2427 this change is to get rid of a compiler warning (redefinition of
2428 a macro) introduced at r55641.
2430 Wed Jul 13 15:19:03 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2432 * enc/iso_8859_1.c, enc/iso_8859_4.c: Avoid setting modification flag if
2433 there is no modification.
2435 Wed Jul 13 14:40:04 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2437 * enc/iso_8859_5.c, test/ruby/enc/test_case_comprehensive.rb:
2438 Implement non-ASCII case conversion for ISO-8859-5, by Masaru Onodera.
2440 * test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings.
2442 Wed Jul 13 14:28:33 2016 NARUSE, Yui <naruse@ruby-lang.org>
2444 * math.c (rb_math_sqrt): r55646 must use f_signbit.
2446 Wed Jul 13 14:22:50 2016 Koichi Sasada <ko1@atdot.net>
2448 * iseq.c (Init_ISeq): undef ISeq.translate and ISeq.load_iseq
2449 to prevent calling super classes' methods.
2451 Without this patch, you can write workaround like:
2453 class << RubyVM::InstructionSequence
2458 * test/ruby/test_iseq.rb: add a test.
2460 Wed Jul 13 14:16:03 2016 Koichi Sasada <ko1@atdot.net>
2462 * vm_method.c (method_entry_get_without_cache): check
2463 undefined method even if ruby_running is FALSE.
2465 We haven't call "undef"ed methods before ruby_running.
2466 So that this issue does not make troubles.
2468 Wed Jul 13 14:15:22 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2470 * enc/windows_1254.c: Adjust variable/macro names.
2472 Wed Jul 13 13:19:12 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2474 * enc/iso_8859_9.c, enc/windows_1254.c: Split Windows-1254 from
2475 ISO-8859-9 to be able to implement different case conversions.
2477 Wed Jul 13 13:08:30 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2479 * enc/iso_8859_7.c, enc/windows_1253.c: Split Windows-1253 from
2480 ISO-8859-7 to be able to implement different case conversions.
2482 Wed Jul 13 10:50:12 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2484 * enc/iso_8859_13.c, test/ruby/enc/test_case_comprehensive.rb:
2485 Implement non-ASCII case conversion for ISO-8859-13, by Kanon Shindo.
2487 Wed Jul 13 10:31:39 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2489 * enc/iso_8859_13.c, enc/windows_1257.c: Split Windows-1257 from
2490 ISO-8859-13 to be able to implement different case conversions.
2492 Wed Jul 13 09:02:30 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2494 * enc/iso_8859_3.c, test/ruby/enc/test_case_comprehensive.rb:
2495 Implement non-ASCII case conversion for ISO-8859-3, by Takuya Miyamoto.
2497 * test/ruby/enc/test_case_comprehensive.rb: Extend special treatment
2500 * enc/iso_8859_3.c: Exclude dotless i/I with dot from case-insensitive
2501 matching because they are not a case pair.
2503 Wed Jul 13 08:40:21 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2505 * test/ruby/enc/test_iso_8859.rb: Exclude dotless i/I with dot from
2506 case-insensitive matching because they are not a case pair.
2508 Tue Jul 12 23:13:43 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2510 * math.c (rb_math_sqrt): [EXPERIMENTAL] move Complex sqrt support
2513 Tue Jul 12 01:25:09 2016 NAKAMURA Usaku <usa@ruby-lang.org>
2515 * configure.in, lib/mkmf.rb, win32/Makefile.sub (CSRCFLAG): make the
2516 compiler option replacable in Makefile.
2518 * win32/Makefile.sub (OUTFLAG, COUTFLAG): ditto.
2520 * win32/Makeile.sub, win32/setup.mak (CC): should not append `-nologo`
2523 Mon Jul 11 18:05:40 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2525 * enc/iso_8859_1.c: Moved test for lowercase characters without
2526 uppercase equivalent.
2528 Mon Jul 11 17:49:25 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2530 * enc/iso_8859_4.c, enc/iso_8859_10.c, enc/iso_8859_14.c,
2531 enc/iso_8859_15.c, enc/iso_8859_16.c: Replace case-by-case code with
2532 lookup in ENC_ISO_8859_xx_TO_LOWER_CASE table.
2534 Mon Jul 11 16:00:56 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2536 * ext/stringio/stringio.c (strio_each, strio_readlines): convert
2537 arguments just once before reading, instead of conversions for
2538 each lines, as r55603.
2540 Sun Jul 10 19:53:41 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2542 * enc/iso_8859_10.c, test/ruby/enc/test_case_comprehensive.rb:
2543 Implement non-ASCII case conversion for ISO-8859-10, by Toya Hosokawa.
2545 Sun Jul 10 19:33:47 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2547 * test/ruby/enc/test_case_comprehensive.rb: Changed testing logic to
2548 catch unintended modifications of characters that do not have a case
2549 equivalent in the respective encoding.
2550 * enc/iso_8859_1.c, enc/iso_8859_15.c: Fixed unintended modifications of
2551 micro sign and y with diaeresis.
2553 Sun Jul 10 17:05:36 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2555 * enc/iso_8859_4.c, test/ruby/enc/test_case_comprehensive.rb:
2556 Implement non-ASCII case conversion for ISO-8859-4, by Kotaro Yoshida.
2558 Sun Jul 10 16:17:47 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2560 * test/ruby/enc/test_case_comprehensive.rb: Fixed a comment
2561 (message belongs to last commit). [ci skip]
2563 Sun Jul 10 14:27:25 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2565 * util.c (ruby_dtoa): [EXPERIMENTAL] adjust the case that the
2566 Float value is close to the exact but unrepresentable middle
2567 value of two values in the given precision, as r55604.
2569 Sun Jul 10 08:57:20 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
2571 * thread.c: Fixed implicit conversion error with Apple clang-800.0.31
2573 Sat Jul 9 12:43:09 2016 Shugo Maeda <shugo@ruby-lang.org>
2575 * lib/getoptlong.rb: use false instead of FALSE.
2577 Fri Jul 8 21:49:28 2016 Naohisa Goto <ngotogenome@gmail.com>
2579 * thread.c (rb_wait_for_single_fd): Clean up fds.revents every time
2580 before calling ppoll(2). [Bug #12575] [ruby-dev:49725]
2582 Fri Jul 8 14:16:48 2016 Shugo Maeda <shugo@ruby-lang.org>
2584 * vm_args.c (vm_caller_setup_arg_block): call rb_sym_to_proc()
2585 directly to reduce method dispatch overhead.
2587 Fri Jul 8 08:43:31 2016 Shugo Maeda <shugo@ruby-lang.org>
2589 * io.c (rb_io_s_read): add description of pipes to the documentation
2592 Fri Jul 8 03:54:22 2016 NARUSE, Yui <naruse@ruby-lang.org>
2594 * vm_args.c (setup_parameters_complex): don't raise ArgumentError
2595 if an array is given for instance_exec with optional argument.
2596 [ruby-core:76300] [Bug #12568]
2597 https://github.com/rails/rails/pull/25699
2599 Fri Jul 8 00:47:36 2016 NARUSE, Yui <naruse@ruby-lang.org>
2601 * vm_eval.c (yield_under): change prototype to get argc/argv.
2603 * vm_eval.c (specific_eval): change for above.
2605 * vm_eval.c (rb_obj_instance_exec): avoid object allocation.
2607 * vm_eval.c (rb_mod_module_exec): ditto.
2609 Thu Jul 7 20:08:37 2016 Shugo Maeda <shugo@ruby-lang.org>
2611 * vm_args.c (vm_caller_setup_arg_block): disable symbol block
2612 argument optimization when tail call optimization is enabled,
2613 in order to avoid SEGV. [ruby-core:76288] [Bug #12565]
2615 Thu Jul 7 16:37:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2617 * numeric.c (flo_round): [EXPERIMENTAL] adjust the case that the
2618 receiver is close to the exact but unrepresentable middle value
2619 of two values in the given precision.
2620 http://d.hatena.ne.jp/hnw/20160702
2622 Thu Jul 7 16:31:07 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2624 * io.c (rb_io_s_foreach, rb_io_s_readlines): convert arguments
2625 just once before reading, instead of conversions for each lines.
2627 Wed Jul 6 19:54:17 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2629 * enc/iso_8859_14.c, test/ruby/enc/test_case_comprehensive.rb:
2630 Implement non-ASCII case conversion for ISO-8859-14, by Yutaro Tada.
2632 Wed Jul 6 19:24:48 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2634 * enc/iso_8859_1.c, enc/iso_8859_15.c, enc/iso_8859_16.c:
2635 Align indenting to onigmo convention.
2637 Wed Jul 6 18:59:13 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2639 * enc/iso_8859_15.c, test/ruby/enc/test_case_comprehensive.rb:
2640 Implement non-ASCII case conversion for ISO-8859-15, by Maho Harada.
2642 Wed Jul 6 18:34:21 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2644 * enc/iso_8859_16.c, test/ruby/enc/test_case_comprehensive.rb:
2645 Implement non-ASCII case conversion for ISO-8859-16, by Satoshi Kayama.
2647 Wed Jul 6 14:44:56 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2649 * lib/mkmf.rb (create_makefile): store $headers in LOCAL_HDRS for
2652 * ext/digest/digest_conf.rb (digest_conf): add implementation
2653 specific headers to $header.
2655 * ext/digest/{md5,rmd160,sha1,sha2}/depend: add LOCAL_HDRS to the
2658 Wed Jul 6 08:59:35 2016 Shugo Maeda <shugo@ruby-lang.org>
2660 * lib/net/http/generic_request.rb (write_header): A Request-Line must
2661 not contain CR or LF.
2663 Wed Jul 6 07:11:27 2016 Shugo Maeda <shugo@ruby-lang.org>
2665 * lib/net/ftp.rb (putline): raise an ArgumentError when
2666 CR or LF is included in a line.
2668 Tue Jul 5 20:49:30 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
2670 * ext/json/*, test/json/*: Update json-2.0.1.
2671 Changes of 2.0.0: https://github.com/flori/json/blob/f679ebd0c69a94e3e70a897ac9a229f5779c2ee1/CHANGES.md#2015-09-11-200
2672 Changes of 2.0.1: https://github.com/flori/json/blob/f679ebd0c69a94e3e70a897ac9a229f5779c2ee1/CHANGES.md#2016-07-01-201
2673 [Feature #12542][ruby-dev:49706][fix GH-1395]
2675 Tue Jul 5 19:39:49 2016 Naohisa Goto <ngotogenome@gmail.com>
2677 * string.c (rb_str_change_terminator_length): New function to change
2678 termlen and resize heap for the terminator. This is split from
2679 rb_str_fill_terminator (str_fill_term) because filling terminator
2680 and changing terminator length are different things. [Bug #12536]
2682 * internal.h: declaration for rb_str_change_terminator_length.
2684 * string.c (str_fill_term): Simplify only to zero-fill the terminator.
2685 For non-shared strings, it assumes that (capa + termlen) bytes of
2686 heap is allocated. This partially reverts r55557.
2688 * encoding.c (rb_enc_associate_index): rb_str_change_terminator_length
2689 is used, and it should be called whenever the termlen is changed.
2691 * string.c (str_capacity): New static function to return capacity
2692 of a string with the given termlen, because the termlen may
2693 sometimes be different from TERM_LEN(str) especially during
2694 changing termlen or filling terminator with specific termlen.
2696 * string.c (rb_str_capacity): Use str_capacity.
2698 Tue Jul 5 11:07:14 2016 NARUSE, Yui <naruse@ruby-lang.org>
2700 * pack.c (pack_pack): use union instead of bare variable to ease
2701 optimizations and avoid assigning x87 floating point number.
2702 [ruby-core:74496] [Bug #12209]
2704 * pack.c (pack_unpack): ditto.
2706 Mon Jul 4 13:56:34 2016 NARUSE, Yui <naruse@ruby-lang.org>
2708 * process.c: define sig_t if not exist.
2709 at least Solaris 10 and 11 doesn't have sig_t.
2711 Mon Jul 4 13:08:48 2016 NARUSE, Yui <naruse@ruby-lang.org>
2713 * random.c (random_ulong_limited): avoid left shift count >= width of
2714 type on 32bit environment.
2716 Sun Jul 3 18:51:42 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
2718 * test/ruby/enc/test_case_comprehensive.rb, test_regex_casefold.rb,
2719 test/test_unicode_normalize.rb: Replace UNICODE_VERSION from
2720 UnicodeNormalize with RbConfig::CONFIG['UNICODE_VERSION'] from
2723 Sun Jul 3 06:04:09 2016 Eric Wong <e@80x24.org>
2725 * process.c (disable_child_handler_fork_child): simplify
2726 [ruby-core:75781] [Misc #12439]
2728 Sun Jul 3 05:25:46 2016 Eric Wong <e@80x24.org>
2730 * tool/asm_parse.rb: add description
2731 * tool/change_maker.rb: ditto
2732 * tool/downloader.rb: ditto
2733 * tool/eval.rb: ditto
2734 * tool/expand-config.rb: ditto
2735 * tool/extlibs.rb: ditto
2736 * tool/fake.rb: ditto
2737 * tool/file2lastrev.rb: ditto
2738 * tool/gem-unpack.rb: ditto
2739 * tool/gen_dummy_probes.rb: ditto
2740 * tool/gen_ruby_tapset.rb: ditto
2741 * tool/generic_erb.rb: ditto
2742 * tool/id2token.rb: ditto
2743 * tool/ifchange: ditto
2744 * tool/insns2vm.rb: ditto
2745 * tool/instruction.rb: ditto
2746 * tool/jisx0208.rb: ditto
2747 * tool/merger.rb: ditto
2748 * tool/mkrunnable.rb: ditto
2749 * tool/node_name.rb: ditto
2750 * tool/parse.rb: ditto
2751 * tool/rbinstall.rb: ditto
2752 * tool/rbuninstall.rb: ditto
2753 * tool/rmdirs: ditto
2754 * tool/runruby.rb: ditto
2755 * tool/strip-rdoc.rb: ditto
2756 * tool/vcs.rb: ditto
2757 * tool/vtlh.rb: ditto
2758 * tool/ytab.sed: ditto
2759 * tool/enc-unicode.rb: fix typo
2760 * tool/mk_call_iseq_optimized.rb: ditto
2761 * tool/update-deps: ditto
2762 [ruby-core:76215] [Bug #12539]
2763 by Noah Gibbs <the.codefolio.guy@gmail.com>
2765 Sat Jul 2 18:04:24 2016 NARUSE, Yui <naruse@ruby-lang.org>
2767 * lib/uri/mailto.rb (initialize): RFC3986_Parser#split sets opaque
2768 only if the URI has path-rootless, not path-empty.
2769 [ruby-core:76055] [Bug #12498]
2770 patched by Chris Heisterkamp <cheister@squareup.com>
2772 Sat Jul 2 04:26:14 2016 NARUSE, Yui <naruse@ruby-lang.org>
2774 * regcomp.c (noname_disable_map): don't optimize out group 0
2775 Ruby's Regexp doesn't allow normal numbered groups if the regexp
2776 has named groups. On such case it optimizes out related NT_ENCLOSE.
2777 But even on the case it can use \g<0>.
2778 This fix not to remove NT_ENCLOSE whose regnum is 0.
2779 [ruby-core:75828] [Bug #12454]
2781 Sat Jul 2 03:09:27 2016 Naohisa Goto <ngotogenome@gmail.com>
2783 * string.c: Partially reverts r55547 and r55555.
2784 ChangeLog about the reverted changes are also deleted in this file.
2785 [Bug #12536] [ruby-dev:49699] [ruby-dev:49702]
2787 Sat Jul 2 02:22:22 2016 Naohisa Goto <ngotogenome@gmail.com>
2789 * string.c (str_fill_term): When termlen increases, re-allocation
2790 of memory for termlen should always be needed.
2791 In this fix, if possible, decrease capa instead of realloc.
2792 [Bug #12536] [ruby-dev:49699]
2794 Fri Jul 1 20:20:20 2016 Naohisa Goto <ngotogenome@gmail.com>
2796 * string.c: Specify termlen as far as possible.
2797 Additional fix for [Bug #12536] [ruby-dev:49699].
2799 * string.c (str_new_static): Specify termlen from the given encoding
2800 when creating a new String object is needed.
2802 * string.c (rb_tainted_str_new_with_enc): New function to create a
2803 tainted String object with the given encoding. This means that
2804 the termlen is correctly specified. Currently static function.
2805 The function name might be renamed to rb_tainted_enc_str_new
2806 or rb_enc_tainted_str_new.
2808 * string.c (rb_external_str_new_with_enc): Use encoding by using the
2809 above rb_tainted_str_new_with_enc().
2811 Fri Jul 1 19:38:57 2016 Naohisa Goto <ngotogenome@gmail.com>
2813 * test/fiddle/test_pointer.rb (test_to_str, test_to_s, test_aref_aset):
2814 Attempt to use independent strings for destructive tests that
2815 directly modify values on memory by using Fiddle::Pointer.
2816 [Bug #12537] [ruby-dev:49700]
2818 Fri Jul 1 18:20:00 2016 NARUSE, Yui <naruse@ruby-lang.org>
2820 * .gdbinit (rb_ps_thread): show the detail of cfunc in ruby level
2823 Fri Jul 1 13:26:39 2016 Naohisa Goto <ngotogenome@gmail.com>
2825 * string.c (rb_str_subseq, str_substr): When RSTRING_EMBED_LEN_MAX
2826 is used, TERM_LEN(str) should be considered with it because
2827 embedded strings are also processed by TERM_FILL.
2828 Additional fix for [Bug #12536] [ruby-dev:49699].
2830 Fri Jul 1 12:11:01 2016 NARUSE, Yui <naruse@ruby-lang.org>
2832 * .gdbinit (rb_count_objects): added gdb version of count_objects().
2834 Fri Jul 1 04:32:52 2016 NARUSE, Yui <naruse@ruby-lang.org>
2836 * .gdbinit (rb_ps_thread): show ruby level backtrace.
2837 Usually you can call `rb_ps` to show ruby level backtraces
2838 for all living threads.
2839 Note that it can call with core file like `gcore <pid>`
2840 and `gdb ruby core.<pid>`.
2842 Thu Jun 30 19:15:13 2016 Naohisa Goto <ngotogenome@gmail.com>
2844 * string.c: Fix memory corruptions when using UTF-16/32 strings.
2845 [Bug #12536] [ruby-dev:49699]
2847 * string.c (rb_str_new_with_class): Use TERM_LEN of the "obj".
2849 * string.c (rb_str_plus, rb_str_justify): Use str_new0 which is aware
2852 * string.c (str_shared_replace): Copy +termlen bytes instead of +1.
2854 * string.c (rb_str_times): termlen should not be included in capa.
2856 * string.c (RESIZE_CAPA_TERM): When using RSTRING_EMBED_LEN_MAX,
2857 termlen should be counted with it because embedded strings are
2858 also processed by TERM_FILL.
2860 * string.c (rb_str_capacity, str_shared_replace, str_buf_cat): ditto.
2862 * string.c (rb_str_drop_bytes, rb_str_setbyte, str_byte_substr): ditto.
2864 Wed Jun 29 22:24:37 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
2866 * ext/psych/lib/psych_jars.rb: removed needless file required to JRuby.
2868 Wed Jun 29 22:21:38 2016 Kazuki Yamaguchi <k@rhe.jp>
2870 * ext/openssl/ossl_ocsp.c: The "reuse" behavior of d2i_ functions does
2871 not work well with OpenSSL 1.0.0t. So avoid it.
2873 Wed Jun 29 15:18:28 2016 NARUSE, Yui <naruse@ruby-lang.org>
2875 * insns.def (opt_succ): optimize like r55515. (but this argument is
2878 Wed Jun 29 12:41:58 2016 Shugo Maeda <shugo@ruby-lang.org>
2880 * test/ruby/test_refinement.rb: skip
2881 test_prepend_after_refine_wb_miss on ARM or MIPS.
2882 [ruby-core:76031] [Bug #12491]
2884 Wed Jun 29 08:45:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2886 * proc.c (passed_block): convert passed block symbol to proc.
2887 based on the patch by Daisuke Sato in [ruby-dev:49695].
2890 Wed Jun 29 03:34:41 2016 NARUSE, Yui <naruse@ruby-lang.org>
2892 * bignum.c (rb_big2ulong): the old logic seems to try to avoid
2893 calculating `-(long)(num-1)-1` if `num` is not LONG_MIN. (Note that
2894 `-LONG_MIN` may be larger than LONG_MAX) But C compilers can
2895 optimize it into single NEG instruction.
2896 Therefore those two conditions can be single if-body.
2898 * bignum.c (rb_big2long): ditto.
2900 * bignum.c (rb_big2ull): ditto.
2902 * bignum.c (rb_big2ll): ditto.
2904 Tue Jun 28 22:55:00 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2906 * lib/pstore.rb (PStore::CHECKSUM_ALGO): extract the algorithm for
2907 checksum, instead of qualified names for each times.
2909 Tue Jun 28 22:29:36 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2911 * bootstraptest/runner.rb: do not use safe navigation operator.
2912 this runner may run on older ruby. partially revert r53110
2913 (GH-1142 patched by @mlarraz).
2915 Tue Jun 28 22:09:09 2016 Akio Tajima <artonx@yahoo.co.jp>
2917 * lib/fileutils.rb: rescue Errno:EACCES for chown.
2920 Tue Jun 28 18:38:09 2016 Naohisa Goto <ngotogenome@gmail.com>
2922 * ext/digest/md5/md5ossl.h: Remove excess semicolons.
2923 Suppress warning on Solaris with Oracle Solaris Studio 12.
2924 [ruby-dev:49692] [Bug #12524]
2926 * ext/digest/md5/md5cc.h: ditto.
2927 * ext/digest/sha1/sha1cc.h: ditto.
2928 * ext/digest/sha1/sha1ossl.h: ditto.
2929 * ext/digest/sha2/sha2cc.h: ditto.
2930 * ext/digest/sha2/sha2ossl.h: ditto.
2931 * ext/openssl/ossl_pkey_rsa.c: ditto.
2933 Tue Jun 28 15:56:48 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2935 * test/ruby/enc/test_case_comprehensive.rb: noting to test if
2936 Unicode data files are available.
2937 [ruby-core:76160] [Bug #12433]
2939 * test/test_unicode_normalize.rb: ditto.
2941 Tue Jun 28 15:20:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2943 * lib/net/http.rb (Net::HTTP#proxy_uri): cache the case no proxy
2946 Tue Jun 28 09:56:29 2016 Stefan Schussler <mail@stefanschuessler.de>
2948 * object.c (rb_mod_eqq): [DOC] Fix typo in RDoc. [Fix GH-1393]
2950 Tue Jun 28 02:41:32 2016 NARUSE, Yui <naruse@ruby-lang.org>
2952 * insns.def (opt_plus): use `- 1` instead of `& (~1)` to allow
2953 compilers to use x86 LEA instruction (3 operand).
2954 Even if 3 operand LEA's latency is 3 cycle after SandyBridge,
2955 it reduces code size and can be faster because of super scalar.
2957 * insns.def (opt_plus): calculate and use rb_int2big.
2958 On positive Fixnum overflow, `recv - 1 + obj` doesn't carry
2959 because recv's msb and obj's msb are 0, and resulted msb is 1.
2960 Therefore simply rshift and cast as signed long works fine.
2961 On negative Fixnum overflow, it will carry because both arguments'
2962 msb are 1, and resulted msb is also 1.
2963 In this case it needs to restore carried sign bit after rshift.
2965 Mon Jun 27 16:58:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2967 * lib/fileutils.rb (FileUtils#install): accecpt symbolic mode, as
2970 * lib/fileutils.rb (FileUtils#install): add owner and group
2973 Mon Jun 27 08:56:55 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2975 * compile.c (ADD_TRACE): ignore trace instruction on non-positive
2978 * parse.y (coverage): get rid of ArgumentError when the starting
2979 line number is not positive. [ruby-core:76141] [Bug #12517]
2981 Sun Jun 26 10:20:25 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2983 * ext/win32/lib/Win32API.rb (Win32API#initialize): Cygwin
2984 2.5.2-1 (perhaps) seems to no longer append ".dll" suffix
2987 * ext/win32/lib/win32/resolv.rb (Win32::Resolv): ditto. Fix the
2988 error reported by yamataka AT u08.itscom.net in
2989 [ruby-list:50339], and pointed out and patched by cerberus AT
2990 m3.kcn.ne.jp in [ruby-list:50341].
2992 Sat Jun 25 10:07:52 2016 Kazuki Yamaguchi <k@rhe.jp>
2994 * test/openssl/test_ocsp.rb: Ignore errors caused by bugs that exist in
2997 Sat Jun 25 02:33:33 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
2999 * vm_method.c (vm_respond_to): try method_missing if respond_to?
3000 is undefined, as if it is the default definition.
3001 [ruby-core:75377] [Bug #12353]
3003 Fri Jun 24 17:04:21 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
3005 * ext/psych/*, test/psych/*: Update psych 2.1.0
3006 This version fixed [Bug #11988][ruby-core:72850]
3008 Fri Jun 24 13:12:41 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
3010 * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*:
3011 Update rubygems 2.6.5 and 2.6.6.
3012 Release note of 2.6.5: https://github.com/rubygems/rubygems/commit/656f5d94dc888d78d0d00f3598a4fa37391aac80
3013 Release note of 2.6.6: https://github.com/rubygems/rubygems/commit/ccb9c3300c063f5b5656669972d24a10ef8afbf5
3015 Fri Jun 24 09:17:15 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3017 * common.mk (lib/unicode_normalize/tables.rb): should not depend
3018 on Unicode data files unless ALWAYS_UPDATE_UNICODE=yes, to get
3019 rid of downloading Unicode data unnecessary. [ruby-dev:49681]
3021 * common.mk (enc/unicode/casefold.h): update Unicode files in a
3022 sub-make, not to let the header depend on the files always.
3024 * enc/unicode/case-folding.rb: if gperf is not usable, assume the
3025 existing file is OK.
3027 Tue Jun 21 19:44:54 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3029 * test/ruby/enc/test_regex_casefold.rb: Add Windows-1251, KOI8-R, and
3030 KOI8-U to encodings; definitely removed EUC-JP.
3032 Tue Jun 21 19:32:23 2016 Mark St.Godard <markstgodard@gmail.com>
3034 * lib/webrick/httprequest.rb (setup_forwarded_info): Use the first
3035 value in X-Forwarded-Proto, if header contains multiple comma
3036 separated values. Some middlewares may add these values to the
3037 list, not replacing. [Fix GH-1386]
3039 Tue Jun 21 17:17:42 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3041 * test/ruby/test_io.rb: Skip test_readpartial_with_not_empty_buffer,
3042 test_read_buffer_error, test_read_unlocktmp_ensure,
3043 test_readpartial_unlocktmp_ensure, and
3044 test_sysread_unlocktmp_ensure on cygwin,
3045 because these tests repeatedly hang. This makes test_io.rb
3046 complete in finite time on cygwin.
3048 * ChangeLog: Fix test_in.rb -> test_io.rb (two instances).
3050 Tue Jun 21 16:38:14 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3052 * string.c (rb_str_casemap): do not put code with side effects
3053 inside RSTRING_PTR() macro which evaluates the argument multiple
3056 Tue Jun 21 16:13:45 2016 NARUSE, Yui <naruse@ruby-lang.org>
3058 * string.c (rb_str_casemap): fix memory leak.
3060 Tue Jun 21 16:12:21 2016 NARUSE, Yui <naruse@ruby-lang.org>
3062 * string.c (rb_str_casemap): int is too small for string size.
3064 Tue Jun 21 15:42:22 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3066 * test/ruby/test_io.rb: Skip test_read_buffer_error on cygwin,
3067 because this test repeatedly hangs.
3069 Tue Jun 21 15:35:14 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3071 * LEGAL: Added filenames and copyrights for some files in
3074 Tue Jun 21 00:56:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3076 * win32/win32.c (get_special_folder): fix calling convention of
3077 SHGetPathFromIDListEx, which should be WINAPI. pointed out by
3078 @arton at http://twitter.com/arton/status/744884064277016576
3080 Tue Jun 21 00:22:02 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3082 * configure.in, include/ruby/defines.h (RUBY_USE_SETJMPEX):
3083 include setjmpex.h only when using setjmpex() for RUBY_SETJMP.
3084 the header of mingw32 overrides setjmp() by setjmpex().
3086 Mon Jun 20 18:39:16 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3088 * test/ruby/test_io.rb: Skip test_open_fifo_does_not_block_other_threads
3089 on cygwin. Fifos seem to work okay in cygwin, but this test repeatedly
3092 Mon Jun 20 13:35:06 2016 Shugo Maeda <shugo@ruby-lang.org>
3094 * vm.c (invoke_bmethod, invoke_block_from_c_0): revert r52104
3095 partially to avoid "self has wrong type to call super in this
3097 [ruby-core:72724] [Bug #11954]
3099 Mon Jun 20 12:53:38 2016 Kazuki Yamaguchi <k@rhe.jp>
3101 * test/rubygems/test_gem_remote_fetcher.rb: OpenSSL::PKey::DH#priv_key=
3102 is not defined when ext/openssl is built with OpenSSL 1.1.0.
3103 https://github.com/rubygems/rubygems/pull/1648
3104 [ruby-core:75225] [Feature #12324]
3106 Sun Jun 19 21:25:43 2016 Kazuki Yamaguchi <k@rhe.jp>
3108 * ext/openssl/ossl_ocsp.c: Add OCSP::SingleResponse that represents an
3109 OCSP SingleResponse structure. Also add two new methods #responses
3110 and #find_response to OCSP::BasicResponse. A BasicResponse has one or
3111 more SingleResponse. We have OCSP::BasicResponse#status that returns
3112 them as an array of arrays, each containing the content of a
3113 SingleResponse, but this is not useful. When validating an OCSP
3114 response, we need to look into the each SingleResponse and check their
3115 validity but it is not simple. For example, when validating for a
3116 certificate 'cert', the code would be like:
3118 # certid_target is an OpenSSL::OCSP::CertificateId for cert
3120 result = basic.status.any? do |ary|
3121 ary[0].cmp(certid_target) &&
3122 ary[4] <= Time.now && (!ary[5] || Time.now <= ary[5])
3125 Adding OCSP::SingleResponse at the same time allows exposing
3126 OCSP_check_validity(). With this, the code above can be rewritten as:
3129 single = basic.find_response(certid_target)
3130 result = single.check_validity
3132 * test/openssl/test_ocsp.rb: Test this.
3134 Sun Jun 19 18:40:19 2016 Kazuki Yamaguchi <k@rhe.jp>
3136 * ext/openssl/ossl_ocsp.c (ossl_ocspbres_add_status): Allow specifying
3137 the times (thisUpdate, nextUpdate and revocationTime) with Time
3138 objects. Currently they accepts only relative seconds from the current
3139 time. This is inconvenience, especially for revocationTime. When
3140 Integer is passed, they are still treated as relative times. Since the
3141 type check is currently done with rb_Integer(), this is a slightly
3142 incompatible change. Hope no one passes a relative time as String or
3144 Also, allow passing nil as nextUpdate. It is optional.
3146 * ext/openssl/ruby_missing.h: Define RB_INTEGER_TYPE_P() if not defined.
3147 openssl gem will be released before Ruby 2.4.0.
3149 Sun Jun 19 18:39:38 2016 Kazuki Yamaguchi <k@rhe.jp>
3151 * ext/openssl/ossl_ocsp.c: Implement OCSP::{CertificateId,Request,
3152 BasicResponse,Response}#initialize_copy.
3153 [ruby-core:75504] [Bug #12381]
3155 * test/openssl/test_ocsp.rb: Test them.
3157 Sun Jun 19 18:29:50 2016 Kazuki Yamaguchi <k@rhe.jp>
3159 * ext/openssl/ossl_pkey_dh.c, ext/openssl/ossl_pkey_dsa.c,
3160 ext/openssl/ossl_pkey_ec.c, ext/openssl/ossl_pkey_rsa.c: Implement
3161 initialize_copy method for OpenSSL::PKey::*.
3162 [ruby-core:75504] [Bug #12381]
3164 * test/openssl/test_pkey_dh.rb, test/openssl/test_pkey_dsa.rb,
3165 test/openssl/test_pkey_ec.rb, test/openssl/test_pkey_rsa.rb: Test they
3166 actually copy the OpenSSL objects, and modifications to cloned object
3167 don't affect the original object.
3169 Sun Jun 19 16:55:16 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3171 * test/ruby/test_dir_m17n.rb: Skip tests with non-UTF-8 encodings
3172 on cygwin. Cygwin can use the Unicode PUA (private use area) to store
3173 bytes from non-UTF-8 filenames (see
3174 https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-specialchars),
3175 but we are not supporting this. [Bug #12443]
3177 Sun Jun 19 15:01:18 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3179 * localeinit.c: Fix filesystem encoding for cygwin to UTF-8 (see
3180 https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-unusual)
3182 Sun Jun 19 14:31:07 2016 Kazuki Yamaguchi <k@rhe.jp>
3184 * ext/openssl/ossl_pkey.h, ext/openssl/ossl_pkey_dh.c,
3185 ext/openssl/ossl_pkey_dsa.c, ext/openssl/ossl_pkey_rsa.c: A few days
3186 ago, OpenSSL changed {DH,DSA,RSA}_get0_*() to take const BIGNUM **.
3187 https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=fd809cfdbd6e32b6b67b68c59f6d55fbed7a9327
3188 [ruby-core:75225] [Feature #12324]
3190 Sun Jun 19 11:19:43 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3192 * variable.c (rb_path_to_class): consider the string length
3193 instead of a terminator.
3195 * variable.c (rb_path_to_class): search the constant at once
3196 instead of checking if defined and then getting it.
3198 Sat Jun 18 14:01:40 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
3200 * test/rubygems/test_gem_installer.rb: Fixed broken test with extension
3201 build. https://github.com/rubygems/rubygems/pull/1645
3203 Sat Jun 18 13:59:54 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
3205 * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems
3206 HEAD(2c6d256). It contains to update vendored Molinillo to 0.5.0.
3207 https://github.com/rubygems/rubygems/pull/1638
3209 Sat Jun 18 10:13:37 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3211 * common.mk (build-ext), ext/extmk.rb: use variable EXTENCS
3212 different than ENCOBJS, to get rid of circular dependency.
3213 build libencs when linking encodings statically.
3214 [ruby-core:75618] [Bug #12401]
3216 Sat Jun 18 08:52:46 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3218 * ext/stringio/stringio.c (strio_getline): fix pointer index
3219 overflow. reported by Guido Vranken <guido AT guidovranken.nl>.
3221 Thu Jun 16 16:35:35 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3223 * class.c (Init_class_hierarchy): prevent rb_cObject which is the
3224 class tree root, from GC. [ruby-dev:49666] [Bug #12492]
3226 Thu Jun 16 12:17:52 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3228 * string.c (tr_trans): adjust buffer size by processed and rest
3229 lengths, instead of doubling repeatedly.
3231 Thu Jun 16 11:15:25 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3233 * string.c (tr_trans): consider terminator length and fix heap
3234 overflow. reported by Guido Vranken <guido AT guidovranken.nl>.
3236 Thu Jun 16 00:02:32 2016 Kazuki Yamaguchi <k@rhe.jp>
3238 * ext/openssl/ossl_ocsp.c (ossl_ocspreq_verify, ossl_ocspbres_verify):
3239 Use ossl_clear_error() so that they don't print warnings to stderr and
3240 leak errors in the OpenSSL error queue. Also, check the return value
3241 of OCSP_*_verify() correctly. They can return -1 on verification
3244 Wed Jun 15 19:52:23 2016 Kazuki Yamaguchi <k@rhe.jp>
3246 * ext/openssl/ossl_ocsp.c (ossl_ocspreq_sign, ossl_ocspbres_sign): Allow
3247 specifying hash algorithm used in signing. They are hard coded to use
3249 Based on a patch provided by Tim Shirley <tidoublemy@gmail.com>.
3250 [ruby-core:70915] [Feature #11552] [GH ruby/openssl#28]
3252 * test/openssl/test_ocsp.rb: Test sign-verify works.
3254 Wed Jun 15 01:46:16 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3256 * numeric.c: [DOC] fix rdoc directive, and an example of negative
3257 value. [ruby-core:76025] [Bug #12487]
3259 Wed Jun 15 01:44:42 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3261 * tool/mkconfig.rb: provide Unicode Version information as
3262 RbConfig::CONFIG['UNICODE_VERSION'].
3263 [ruby-core:75845] [Feature #12460]
3265 Wed Jun 15 00:01:18 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
3267 * test/ruby/enc/test_case_comprehensive.rb
3268 (TestComprehensiveCaseFold::read_data): use \A and \z instead of
3271 Tue Jun 14 23:43:00 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3273 * include/ruby/backward.h (rb_cFixnum, rb_cBignum): remove the
3274 backward compatibility macros, to fail incompatible extension
3275 libraries early. [Bug #12427]
3277 Tue Jun 14 22:22:07 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3279 * strftime.c (rb_strftime_with_timespec): limit the result string
3280 size by the format length, to get rid of unlimited memory use.
3282 Tue Jun 14 22:11:11 2016 Kazuki Yamaguchi <k@rhe.jp>
3284 * ext/openssl/ossl_ocsp.c (ossl_ocspcid_get_issuer_name_hash,
3285 ossl_ocspcid_get_issuer_key_hash, ossl_ocspcid_get_hash_algorithm):
3286 Add accessor methods OCSP::CertificateId#issuer_name_hash,
3287 #issuer_key_hash, #hash_algorithm.
3288 Based on a patch provided by Paul Kehrer <paul.l.kehrer@gmail.com>.
3289 [ruby-core:48062] [Feature #7181]
3291 * test/openssl/test_ocsp.rb: Test these new methods.
3293 Tue Jun 14 22:07:25 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3295 * ext/date/date_strftime.c (date_strftime_with_tmx): reject too
3296 large precision to get rid of buffer overflow.
3297 reported by Guido Vranken <guido AT guidovranken.nl>.
3299 Tue Jun 14 21:40:42 2016 Kazuki Yamaguchi <k@rhe.jp>
3301 * ext/openssl/ossl_ocsp.c (ossl_ocspbres_to_der, ossl_ocspcid_to_der):
3302 Implement #to_der methods for OCSP::BasicResponse and
3303 OCSP::CertificateId.
3305 (ossl_ocspreq_initialize, ossl_ocspres_initialize): Use GetOCSP*()
3306 instead of raw DATA_PTR().
3308 (ossl_ocspbres_initialize, ossl_ocspcid_initialize): Allow
3309 initializing from DER string.
3311 (Init_ossl_ocsp): Define new #to_der methods.
3313 * test/openssl/test_ocsp.rb: Test these changes. Also add missing tests
3314 for OCSP::{Response,Request}#to_der.
3316 Tue Jun 14 21:35:00 2016 Kazuki Yamaguchi <k@rhe.jp>
3318 * ext/openssl/openssl_missing.h (DH_set0_pqg, RSA_set0_key):
3319 DH_set0_pqg() allows 'q' to be NULL. Fix a typo in RSA_set0_key().
3320 Fixes r55285. [ruby-core:75225] [Feature #12324]
3322 Mon Jun 14 10:19:00 2016 Kenta Murata <mrkn@mrkn.jp>
3324 * NEWS: describe Integer#digits.
3326 Mon Jun 13 21:09:40 2016 NARUSE, Yui <naruse@ruby-lang.org>
3328 * thread.c (debug_deadlock_check): show thread lock dependency and
3329 backtrace [Feature #8214] [ruby-dev:47217]
3331 * thread.c (thread_status_name): show "sleep_forever" instead of
3332 "sleep" if called from inspect.
3334 Mon Jun 13 20:50:07 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3336 * parse.y (reg_named_capture_assign_iter): remove named capture
3337 conflict warnings. it is just annoying rather than useful.
3338 [ruby-core:75416] [Bug #12359]
3340 Mon Jun 13 20:04:00 2016 Kenta Murata <mrkn@mrkn.jp>
3342 * numeric.c (rb_int_digits, rb_fix_digits, rb_int_digits_bigbase):
3343 Add Integer#digits to extract columns in place-value notation
3344 [Feature #12447] [ruby-core:75799]
3346 * test/ruby/test_integer.rb: Add tests for the above change.
3348 * test/ruby/test_bignum.rb: ditto.
3350 Mon Jun 13 20:34:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3352 * include/ruby/ruby.h (RUBY_INTEGER_UNIFICATION): macro to tell if
3353 Integer is integrated. [ruby-core:75718][Bug #12427]
3355 * include/ruby/backward.h, internal.h (rb_cFixnum, rb_cBignum):
3356 fallback to rb_cInteger.
3358 * bignum.c, numeric.c, ext/json/generator/generator.{c,h}: use the
3361 Mon Jun 13 16:58:53 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3363 * test/ruby/enc/test_case_comprehensive.rb: Add tests for full Unicode
3366 Sun Jun 12 14:48:00 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3368 * test/ruby/enc/test_case_comprehensive.rb: Add tests for ASCII-only
3369 swapcase; store calculated values in hashes.
3371 Sun Jun 12 14:05:45 2016 Kazuki Yamaguchi <k@rhe.jp>
3373 * ext/openssl/ossl_cipher.c (ossl_cipher_get_auth_tag,
3374 ossl_cipher_set_auth_tag): Check if the cipher flags retrieved by
3375 EVP_CIPHER_CTX_flags() includes EVP_CIPH_FLAG_AEAD_CIPHER to see if
3376 the cipher supports AEAD. AES-GCM was the only supported in OpenSSL
3379 (Init_ossl_cipher): Fix doc; OpenSSL::Cipher::AES.new(128, :GCM) can't
3382 * ext/openssl/openssl_missing.h: Define EVP_CTRL_AEAD_{GET,SET}_TAG if
3383 missing. They are added in OpenSSL 1.1.0, and have the same value as
3384 EVP_CTRL_GCM_{GET,SET}_TAG and EVP_CTRL_CCM_{GET,SET}_TAG.
3386 Sun Jun 12 13:47:42 2016 Kazuki Yamaguchi <k@rhe.jp>
3388 * test/openssl/test_engine.rb (test_openssl_engine_builtin,
3389 test_openssl_engine_by_id_string): Skip test if 'openssl' engine is
3390 already loaded. And test the number increased by Engine.load{_by_id,},
3391 not the total count of loaded engines. Previously, we called
3392 OpenSSL::Engine.cleanup every time running a test case, but we no
3394 [ruby-core:75225] [Feature #12324]
3396 Sun Jun 12 09:24:34 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3398 * file.c (append_fspath): normalize directory name to be appended
3399 on OS X. [ruby-core:75957] [Ruby trunk Bug#12483]
3400 https://github.com/rails/rails/issues/25303#issuecomment-224834804
3402 Sat Jun 11 23:07:32 2016 NAKAMURA Usaku <usa@ruby-lang.org>
3404 * lib/forwardable.rb (_delegator_method): get rid of a warning which
3405 causes test failures introduced at r55376.
3407 Sat Jun 11 18:37:58 2016 Marcus Stollsteimer <sto.mar@web.de>
3409 * ext/json/lib/*.rb: Removed some comments. Because these are unnecessary
3410 class description. [ci skip][Bug #12255][ruby-core:74835]
3412 Sat Jun 11 15:19:38 2016 takiy33 <takiy33@users.noreply.github.com>
3414 * lib/net/smtp.rb: [DOC] Remove dead link on documentation for
3415 Japanese of SMTP. [Fix GH-1380]
3417 Sat Jun 11 15:02:45 2016 Grant Hutchins <github@nertzy.com>
3419 * string.c (rb_str_oct): [DOC] fix typo, hornored -> honored.
3422 Sat Jun 11 14:04:19 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3424 * ext/objspace/objspace_dump.c: generate valid JSON for dump_all.
3426 Sat Jun 11 13:52:33 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3428 * lib/forwardable.rb (_delegator_method): remove __send__ call if
3429 possible, so that more optimizations will be enabled.
3431 Sat Jun 11 11:24:36 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3433 * enc/iso_8859.h (SHARP_s): name frequently used codepoint.
3435 Sat Jun 11 09:58:45 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3437 * enc/iso_8859_1.c: Revert to older version of code.
3439 Sat Jun 11 09:46:17 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3441 * enc/iso_8859_1.c: Implement non-ASCII case mapping.
3443 * test/ruby/enc/test_case_comprehensive.rb: Tests for above.
3445 * string.c: Add iso-8859-1 to supported encodings.
3447 Sat Jun 11 09:31:28 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3449 * lib/forwardable.rb (_delegator_method): leave the backtrace
3450 untouched during accessor. forwardable.rb does not appear in
3451 the backtrace during delegated method because of tail-call
3454 Sat Jun 11 01:38:31 2016 Naohisa Goto <ngotogenome@gmail.com>
3456 * include/ruby/defines.h (GCC_VERSION_SINCE): Fix logic error by
3457 adding parentheses. Fix failures of TestMkmf::TestConvertible
3458 with GCC 3.4.3 on Solaris 10. [Bug #12479] [ruby-dev:49660]
3460 Fri Jun 10 21:54:24 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3462 * lib/forwardable.rb (Forwardable._delegator_method): extract
3463 method generator and deal with non-module objects.
3464 [ruby-dev:49656] [Bug #12478]
3466 Fri Jun 10 17:35:11 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3468 * string.c: Special-case :ascii option in rb_str_capitalize_bang and
3469 rb_str_swapcase_bang.
3471 Fri Jun 10 17:12:24 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3473 * string.c: Special-case :ascii option in rb_str_upcase_bang (retry).
3475 Fri Jun 10 14:48:36 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3477 * hash.c (get_env_cstr): ensure NUL-terminated.
3478 [ruby-dev:49655] [Bug #12475]
3480 * string.c (rb_str_fill_terminator): return the pointer to the
3481 NUL-terminated content.
3483 Thu Jun 9 21:42:00 2016 Kazuki Yamaguchi <k@rhe.jp>
3485 * ext/openssl/ossl_asn1.c (asn1integer_to_num): Use
3486 ASN1_ENUMERATED_to_BN() to convert an ASN1_ENUMERATED to a BN.
3487 Starting from OpenSSL 1.1.0, ASN1_INTEGER_to_BN() rejects
3488 non-ASN1_INTEGER objects. The format of INTEGER and ENUMERATED are
3489 almost identical so they behaved in the same way in OpenSSL <= 1.0.2.
3490 [ruby-core:75225] [Feature #12324]
3492 * test/openssl/test_asn1.rb (test_decode_enumerated): Test that it
3495 Thu Jun 9 21:10:04 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
3497 * tool/ifchange: fix timestamp error when target without
3500 Thu Jun 9 19:46:22 2016 Kazuki Yamaguchi <k@rhe.jp>
3502 * ext/openssl/ossl_ssl.c: Add define guards for OPENSSL_NO_EC.
3503 SSL_CTX_set_ecdh_auto() is defined even when ECDH is disabled in
3504 OpenSSL's configuration. This fixes r55214.
3506 * test/openssl/test_pair.rb (test_ecdh_curves): Skip if the OpenSSL does
3509 * test/openssl/utils.rb (start_server): Ignore error in
3510 SSLContext#ecdh_curves=.
3512 Thu Jun 9 18:12:42 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3514 * Makefile.in (un-runnable): fail with proper error message.
3515 [ruby-core:75905] [Bug #12472]
3517 Thu Jun 9 15:32:17 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3519 * common.mk (RBCONFIG): use ifchange tool to see if the content is
3520 changed and update the timestamp file.
3522 * tool/mkconfig.rb: remove ifchange features.
3524 * tool/ifchange: make target directory if it does not exist with
3525 its parent directories.
3527 * win32/ifchange.bat: drop support for command.com used on old
3530 Thu Jun 9 15:03:35 2016 Kazuki Yamaguchi <k@rhe.jp>
3532 * ext/openssl/extconf.rb: Check for CRYPTO_malloc() and SSL_new().
3533 OpenSSL_add_all_digests() and SSL_library_init() are deprecated and
3534 converted to macros in OpenSSL 1.1.0.
3535 [ruby-core:75225] [Feature #12324]
3537 Wed Jun 8 23:09:51 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
3539 * string.c (rb_str_ascii_casemap): fix compile error.
3541 Wed Jun 8 22:22:24 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3543 * string.c: Revert previous commit (possibility of endless loop).
3545 Wed Jun 8 21:57:41 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3547 * string.c: Special-case :ascii option in rb_str_upcase_bang.
3549 Wed Jun 8 21:28:36 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3551 * string.c: New static function rb_str_ascii_casemap; special-casing
3552 :ascii option in rb_str_upcase_bang and rb_str_downcase_bang.
3554 * regenc.c: Fix a bug (wrong use of unnecessary slack at end of string).
3556 * regenc.h -> include/ruby/oniguruma.h: Move declaration of
3557 onigenc_ascii_only_case_map so that it is visible in string.c.
3559 Wed Jun 8 20:33:44 2016 Naohisa Goto <ngotogenome@gmail.com>
3561 * include/ruby/intern.h: Remove excess semicolons in PUREFUNC().
3562 Fix failure of TestMkmf::TestConvertible on Solaris with
3563 Oracle Solaris Studio 12. [ruby-dev:49651] [Bug #12470]
3564 * internal.h: ditto.
3566 Wed Jun 8 16:03:09 2016 Shugo Maeda <shugo@ruby-lang.org>
3568 * lib/net/smtp.rb (getok, get_response): raise an ArgumentError when
3569 CR or LF is included in a line, because they are not allowed in
3570 RFC5321. Thanks, Jeremy Daer.
3572 Tue Jun 7 21:27:25 2016 Kazuki Yamaguchi <k@rhe.jp>
3574 * test/rubygems/*_{cert,cert_32}.pem: Regenerate test certificates for
3575 OpenSSL 1.1.0. This is already in upstream.
3576 https://github.com/rubygems/rubygems/commit/9be5c53939440a61c4bba73cfffbeb5cfadf72be
3577 [ruby-core:75225] [Feature #12324]
3579 Tue Jun 7 21:27:17 2016 Kazuki Yamaguchi <k@rhe.jp>
3581 * test/open-uri/test_ssl.rb: Regenerate test certificates. The test CA
3582 certificate was incorrectly generated. A CA certificate must have the
3583 basic constraints extension with cA bit set to TRUE. OpenSSL <= 1.0.2
3584 allowed the error when the certificate is in the trusted store but
3585 OpenSSL 1.1.0 no longer does.
3586 [ruby-core:75225] [Feature #12324]
3588 Tue Jun 7 21:20:38 2016 Kazuki Yamaguchi <k@rhe.jp>
3590 * test/openssl/test_x509name.rb: Don't register OID for 'emailAddress'
3591 and 'serialNumber'. A recent change in OpenSSL made OBJ_create()
3592 reject an already existing OID. They were needed to run tests with
3593 OpenSSL 0.9.6 which is now unsupported.
3594 https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=52832e470f5fe8c222249ae5b539aeb3c74cdb25
3595 [ruby-core:75225] [Feature #12324]
3597 * test/openssl/test_ssl_session.rb (test_server_session): Duplicate
3598 SSL::Session before re-adding to the session store. OpenSSL 1.1.0
3599 starts rejecting SSL_SESSION once removed by SSL_CTX_remove_session().
3600 https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=7c2d4fee2547650102cd16d23f8125b76112ae75
3602 * test/openssl/test_pkey_ec.rb (setup): Remove X25519 from @keys. X25519
3603 is new in OpenSSL 1.1.0 but this is for key agreement and not for
3606 * test/openssl/test_pair.rb, test/openssl/test_ssl.rb,
3607 test/openssl/utils.rb: Set security level to 0 when using aNULL cipher
3610 * test/openssl/utils.rb: Use 1024 bits DSA key for client certificates.
3612 * test/openssl/test_engine.rb: Run each test in separate process.
3613 We can no longer cleanup engines explicitly as ENGINE_cleanup() was
3615 https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=6d4fb1d59e61aacefa25edc4fe5acfe1ac93f743
3617 * ext/openssl/ossl_engine.c (ossl_engine_s_cleanup): Add a note to the
3618 RDoc for Engine.cleanup.
3620 * ext/openssl/lib/openssl/digest.rb: Don't define constants for DSS,
3621 DSS1 and SHA(-0) when using with OpenSSL 1.1.0. They are removed.
3623 * test/openssl/test_digest.rb, test/openssl/test_pkey_dsa.rb,
3624 test/openssl/test_pkey_dsa.rb, test/openssl/test_ssl.rb,
3625 test/openssl/test_x509cert.rb, test/openssl/test_x509req.rb: Don't
3626 test unsupported hash functions.
3628 Tue Jun 7 17:49:52 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3630 * test/ruby/enc/test_case_comprehensive: Change test for encodings
3631 without any non-ASCII case conversions from ASCII-only test
3634 Tue Jun 7 17:18:39 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3636 * string.c (rb_str_upcase_bang, rb_str_capitalize_bang,
3637 rb_str_swapcase_bang): Switch to use primitive.
3639 Tue Jun 7 16:44:16 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3641 * string.c (rb_str_downcase_bang): Switch to use primitive except if
3642 conversion can be done ASCII-only.
3644 Tue Jun 7 16:13:36 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3646 * test/ruby/enc/test_case_comprehensive: Add regression tests for
3647 current ASCII-only case conversion.
3649 Tue Jun 7 15:28:38 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3651 * test/ruby/enc/test_case_comprehensive: Fix method name
3652 (generate_casefold_tests -> generate_case_mapping_tests).
3654 Tue Jun 7 15:05:13 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3656 * regenc.h/c: Rename onigenc_not_support_case_map to
3657 onigenc_ascii_only_case_map.
3659 * regenc.h: Add definition of onigenc_single_byte_ascii_only_case_map.
3661 * enc/iso_8859_X.c, windows_125X.c, ascii.c, us-ascii.c, koi8_x.c:
3662 Replace onigenc_not_support_case_map by
3663 onigenc_single_byte_ascii_only_case_map.
3665 * enc/big5.c, cp949.c, emacs_mule.c, euc_X.c, gbX.c, shift_jis.c,
3666 windows_31j.c: Replace onigenc_not_support_case_map by
3667 onigenc_ascii_only_case_map.
3669 Tue Jun 7 14:57:09 2016 Kazuki Yamaguchi <k@rhe.jp>
3671 * ext/openssl/extconf.rb: Check for SSL_CTX_set_min_proto_version()
3672 macro added in OpenSSL 1.1.0. Version-specific methods, such as
3673 TLSv1_method(), are deprecated in OpenSSL 1.1.0. We need to use
3674 version-flexible methods (TLS_*method() or SSLv23_*method()) and
3675 disable other protocol versions as necessary.
3676 [ruby-core:75225] [Feature #12324]
3678 * ext/openssl/ossl_ssl.c: Use SSL_CTX_set_{min,max}_proto_version() to
3679 fix the protocol version.
3681 Tue Jun 7 12:55:34 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3683 * regenc.c (onigenc_not_support_case_map): Move to end of file;
3684 (onigenc_single_byte_ascii_only_case_map): Add new function.
3686 Tue Jun 7 09:26:37 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3688 * regenc.c (onigenc_not_support_case_map): Rewrite to work correctly
3691 Mon Jun 6 23:00:00 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
3693 * appveyor.yml: Update libressl version to 2.3.5.
3695 Mon Jun 6 18:37:57 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3697 * vm_insnhelper.c (vm_throw_start): check if the iseq is symbol
3698 proc, class definition should not be a symbol proc.
3699 [ruby-core:75856] [Bug #12462]
3701 Mon Jun 6 18:36:34 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3703 * string.c: Added UTF-16BE/LE and UTF-32BE/LE to supported encodings
3704 for Unicode case mapping.
3706 * test/ruby/enc/test_case_comprehensive.rb: Tests for above
3707 functionality; fixed an encoding issue in assertion error message.
3709 Mon Jun 6 17:29:35 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3711 * test/ruby/enc/test_case_comprehensive.rb: Speed up testing for small
3712 encodings by preselecting codepoints.
3714 Mon Jun 6 17:10:50 2016 Kazuki Yamaguchi <k@rhe.jp>
3716 * ext/openssl/ossl_cipher.c (ossl_cipher_free): Use EVP_CIPHER_CTX_free()
3717 to free EVP_CIPHER_CTX allocated by EVP_CIPHER_CTX_new().
3718 [ruby-core:75225] [Feature #12324]
3720 Mon Jun 6 13:37:08 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3722 * string.c Change rb_str_casemap to use encoding primitive
3723 case_map instead of directly calling onigenc_unicode_case_map.
3725 Mon Jun 6 13:16:46 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3727 * test/ruby/enc/test_case_mapping.rb:
3728 Remove :lithuanian guard for Unicode case mapping.
3730 Mon Jun 6 10:39:56 2016 Kazuki Yamaguchi <k@rhe.jp>
3732 * ext/openssl/openssl_missing.h: Include ruby/config.h. r55285 added
3733 some inline functions but VC does not recognize 'inline' keyword.
3735 Mon Jun 6 09:25:34 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3737 * thread.c (thread_start_func_2): report raised exception if
3738 report_on_exception flag is set. [Feature #6647]
3740 Mon Jun 6 01:36:24 2016 Kazuki Yamaguchi <k@rhe.jp>
3742 * ext/openssl/extconf.rb: Check existence of SSL_is_server(). This
3743 function was introduced in OpenSSL 1.0.2.
3744 [ruby-core:75225] [Feature #12324]
3746 * ext/openssl/openssl_missing.h: Implement SSL_is_server() if missing.
3748 * ext/openssl/ossl_ssl.c (ssl_info_cb): Use SSL_is_server() to see if
3749 the SSL is server. The state machine in OpenSSL was rewritten and
3750 SSL_get_state() no longer returns SSL_ST_ACCEPT.
3752 (ossl_ssl_cipher_to_ary, ossl_sslctx_session_get_cb): Add some
3753 `const`s to suppress warning.
3755 Mon Jun 6 01:18:10 2016 Kazuki Yamaguchi <k@rhe.jp>
3757 * ext/openssl/ossl_asn1.c (decode_bool): Do the same thing as
3758 d2i_ASN1_BOOLEAN() does by ourselves. This function is removed in
3760 [ruby-core:75225] [Feature #12324]
3762 Mon Jun 6 00:34:16 2016 Kazuki Yamaguchi <k@rhe.jp>
3764 * ext/openssl/extconf.rb: Check existence of accessor functions that
3765 don't exist in OpenSSL 0.9.8. OpenSSL 1.1.0 made most of its
3766 structures opaque and requires use of these accessor functions.
3767 [ruby-core:75225] [Feature #12324]
3769 * ext/openssl/openssl_missing.[ch]: Implement them if missing.
3771 * ext/openssl/ossl*.c: Use these accessor functions.
3773 * test/openssl/test_hmac.rb: Add missing test for HMAC#reset.
3775 Mon Jun 6 00:00:13 2016 Kazuki Yamaguchi <k@rhe.jp>
3777 * ext/openssl/openssl_missing.[ch]: Implement EVP_PKEY_get0_*() and
3778 {RSA,DSA,EC_KEY,DH}_get0_*() functions.
3779 OpenSSL 1.1.0 makes EVP_PKEY/RSA/DSA/DH opaque. We used to provide
3780 setter methods for each parameter of each PKey type, for example
3781 PKey::RSA#e=, but this is no longer possible because the new API
3782 RSA_set0_key() requires the 'n' at the same time. This commit adds
3783 deprecation warning to them and adds PKey::*#set_* methods as direct
3784 wrapper for those new APIs. For example, 'rsa.e = 3' now needs to be
3785 rewritten as 'rsa.set_key(rsa.n, 3, rsa.d)'.
3786 [ruby-core:75225] [Feature #12324]
3788 * ext/openssl/ossl_pkey*.[ch]: Use the new accessor functions. Implement
3789 RSA#set_{key,factors,crt_params}, DSA#set_{key,pqg}, DH#set_{key,pqg}.
3790 Emit a warning with rb_warning() when old setter methods are used.
3792 * test/drb/ut_array_drbssl.rb, test/drb/ut_drb_drbssl.rb,
3793 test/rubygems/test_gem_remote_fetcher.rb: Don't set a priv_key for DH
3794 object that are used in tmp_dh_callback. Generating a new key pair
3795 every time should be fine - actually the private exponent is ignored
3796 in OpenSSL >= 1.0.2f/1.0.1r even if we explicitly set.
3797 https://www.openssl.org/news/secadv/20160128.txt
3799 Sun Jun 5 22:06:00 2016 Kenta Murata <mrkn@mrkn.jp>
3801 * configure.in: Fix the timing to detect the appropriate C++ compiler
3804 Sun Jun 5 21:42:24 2016 Kazuki Yamaguchi <k@rhe.jp>
3806 * ext/openssl/extconf.rb: Check absence of CRYPTO_lock() to see if the
3807 OpenSSL has the new threading API. In OpenSSL <= 1.0.2, an application
3808 had to set locking callbacks to use OpenSSL in a multi-threaded
3809 environment. OpenSSL 1.1.0 now finds pthreads or Windows threads so we
3810 don't need to do something special.
3811 [ruby-core:75225] [Feature #12324]
3813 Also check existence of *_up_ref(). Some structures in OpenSSL have
3814 a reference counter. We used to increment it with CRYPTO_add() which
3815 is a part of the old API.
3817 * ext/openssl/openssl_missing.h: Implement *_up_ref() if missing.
3819 * ext/openssl/ossl.c: Don't set locking callbacks if unneeded.
3821 * ext/openssl/ossl_pkey.c, ext/openssl/ossl_ssl.c,
3822 ext/openssl/ossl_x509cert.c, ext/openssl/ossl_x509crl.c,
3823 ext/openssl/ossl_x509store.c: Use *_up_ref() instead of CRYPTO_add().
3825 Sun Jun 5 21:38:13 2016 Kazuki Yamaguchi <k@rhe.jp>
3827 * ext/openssl/extconf.rb: Check if RAND_pseudo_bytes() is usable. It is
3828 marked as deprecated in OpenSSL 1.1.0.
3829 [ruby-core:75225] [Feature #12324]
3831 * ext/openssl/ossl_rand.c: Disable Random.pseudo_bytes if
3832 RAND_pseudo_bytes() is unavailable.
3834 * test/openssl/test_random.rb: Don't test Random.pseudo_bytes if not
3837 Sun Jun 5 19:06:40 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3839 * NEWS: Add news about Unicode-wide case mapping for
3840 String/Symbol#upcase/downcase/swapcase/capitalize(!).
3842 Sun Jun 5 15:24:33 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3844 * test/ruby/enc/test_case_comprehensive.rb:
3845 Remove :lithuanian guard for Unicode case mapping.
3847 Sun Jun 5 14:46:34 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3849 * string.c: Remove :lithuanian guard for Unicode case mapping.
3851 Sat Jun 4 10:54:52 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3853 * missing/crypt.h (struct crypt_data): remove unnecessary member
3856 * missing/crypt.c (des_setkey_r): nothing to be initialized in
3859 * configure.in (struct crypt_data): check for "initialized" in
3860 struct crypt_data, which may be only in glibc, and isn't on AIX
3863 Sat Jun 4 10:38:39 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3865 * win32/win32.c: unify MAX_PATH, _MAX_PATH, and MAXPATHLEN to
3866 PATH_MAX, except for MAX_PATH in get_special_folder for an API
3869 Fri Jun 3 21:27:22 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3871 * ruby.c (process_options): rb_str_conv_enc() never set encoding
3872 of the source string, but returns the string itself if the
3873 conversion failed. then the instance variable does not need to
3876 Fri Jun 3 18:04:37 2016 NAKAMURA Usaku <usa@ruby-lang.org>
3878 * ruby.c (process_options): need to duplicate path before passing it to
3879 rb_str_conv_enc() because the function might call rb_enc_associate()
3880 internally. this fixes test failures on Windows introduced at r55260.
3882 Fri Jun 3 17:44:25 2016 Reiner Herrmann <reiner@reiner-h.de>
3884 * lib/mkmf.rb (create_makefile): sort lists of source and object
3885 files in generated Makefile, unless given by extconf.rb.
3888 Thu Jun 2 21:18:10 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3890 * win32/win32.c (get_special_folder): use SHGetPathFromIDListEx if
3891 available instead of old SHGetPathFromIDListW, to check the
3894 Thu Jun 2 17:05:19 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3896 * ruby.c (ruby_init_loadpath_safe): remove MAXPATHLEN restriction
3899 Thu Jun 2 16:51:35 2016 Koichi ITO <koic.ito@gmail.com>
3901 * misc/ruby-mode.el (ruby-here-doc-beg-re),
3902 (ruby-here-doc-beg-match, ruby-parse-partial): Support for
3903 `squiggly heredoc' syntax in ruby-mode. [Fix GH-1372]
3905 Thu Jun 2 10:24:48 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3907 * string.c: Raise ArgumentError when invalid string is detected in
3908 case mapping methods.
3910 * enc/unicode.c: Check for invalid string and signal with negative
3913 * test/ruby/enc/test_case_mapping.rb: Add tests for above.
3915 * test/ruby/test_m17n_comb.rb: Add a message to clarify test failure.
3917 Wed Jun 1 21:41:05 2016 Kazuki Yamaguchi <k@rhe.jp>
3919 * ext/openssl/extconf.rb: Check existence of ASN1_TIME_adj(). The old
3920 ASN1_TIME_set() is not Year 2038 ready on sizeof(time_t) == 4
3921 environment. This function was added in OpenSSL 1.0.0.
3922 [ruby-core:45552] [Bug #6571]
3924 * ext/openssl/ossl_asn1.c (ossl_time_split): Added. Split the argument
3925 (Time) into the number of days elapsed since the epoch and the
3926 remainder seconds to conform to ASN1_TIME_adj().
3927 (obj_to_asn1utime, obj_to_asn1gtime): Use ossl_time_split() and
3930 * ext/openssl/ossl_asn1.h: Add the function prototype for
3933 * ext/openssl/ossl_x509.[ch]: Add ossl_x509_time_adjust(). Similarly to
3934 obj_to_asn1*time(), use X509_time_adj_ex() instead of X509_time_adj().
3936 * ext/openssl/ossl_x509cert.c, ext/openssl/ossl_x509crl.c,
3937 ext/openssl/ossl_x509revoked.c: Use ossl_x509_time_adjust().
3939 Wed Jun 1 15:58:20 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3941 * configure.in: revert r55237. replace crypt, not crypt_r, and
3942 check if crypt is broken more.
3944 * missing/crypt.c: move crypt_r.c
3946 * string.c (rb_str_crypt): use crypt_r if provided by the system.
3948 Wed Jun 1 14:07:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3950 * missing/crypt_r.c (a64toi): initialize statically and fix out of
3951 bounds access when salt is not 7bit clean.
3953 Wed Jun 1 11:34:59 2016 NAKAMURA Usaku <usa@ruby-lang.org>
3955 * win32/Makefile.sub (MISSING): fixed build error introduced at r55237.
3957 Wed Jun 1 09:48:06 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3959 * string.c (rb_str_crypt): use reentrant crypt_r.
3961 Wed Jun 1 09:37:26 2016 NAKAMURA Usaku <usa@ruby-lang.org>
3963 * missing/crypt.c (des_setkey): void function never returns any value.
3965 Wed Jun 1 09:16:22 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3967 * crypt.h: separate header file from missing/crypt.c.
3969 * missing/crypt.c (crypt_r, setkey_r, encrypt_r): add reentrant
3972 Wed Jun 1 02:25:38 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3974 * missing/crypt.c: fix size macros to use configured values
3975 for platforms long is larger than 32bit.
3976 [ruby-core:75792] [Bug #12446]
3978 Tue May 31 17:28:46 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
3980 * lib/optparse.rb (OptionParser::Completion.candidate): get rid of
3981 nil as key names. [ruby-core:75773] [Bug #12438]
3983 * lib/optparse.rb (OptionParser#make_switch): char class option
3984 cannot be NoArgument, default to RequiredArgument.
3986 Tue May 31 00:30:11 2016 NAKAMURA Usaku <usa@ruby-lang.org>
3988 * ext/socket/raddrinfo.c (host_str, port_str): Use StringValueCStr
3989 instead of (Safe)StringValue, to detect NUL byte in the string.
3991 Mon May 30 22:02:01 2016 Kazuki Yamaguchi <k@rhe.jp>
3993 * ext/openssl/ossl_asn1.c (time_to_time_t): Use NUM2TIMET() instead of
3994 NUM2LONG(). time_t may be larger than long.
3995 [ruby-core:45552] [Bug #6571]
3997 Mon May 30 21:15:37 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
3999 * string.c: Document current behavior for other case mapping methods
4000 on String. [ci skip]
4002 Mon May 30 20:00:25 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
4004 * string.c: Document current situation for String#downcase. [ci skip]
4006 Mon May 30 18:29:28 2016 Kazuki Yamaguchi <k@rhe.jp>
4008 * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): Enable the automatic
4009 curve selection for ECDH by calling SSL_CTX_set_ecdh_auto(). With
4010 this a TLS server automatically selects a curve which both the client
4011 and the server support to use in ECDH. This changes the default
4012 behavior but users can still disable ECDH by excluding 'ECDH' cipher
4013 suites from the cipher list (with SSLContext#ciphers=). This commit
4014 also deprecate #tmp_ecdh_callback=. It was added in Ruby 2.3.0. It
4015 wraps SSL_CTX_set_tmp_ecdh_callback() which will be removed in OpenSSL
4016 1.1.0. Its callback receives two values 'is_export' and 'keylength'
4017 but both are completely useless for determining a curve to use in
4018 ECDH. The automatic curve selection was introduced to replace this.
4020 (ossl_sslctx_setup): Deprecate SSLContext#tmp_ecdh_callback=. Emit a
4021 warning if this is in use.
4023 (ossl_sslctx_set_ecdh_curves): Add SSLContext#ecdh_curves=. Wrap
4024 SSL_CTX_set1_curves_list(). If it is not available, this falls back
4025 to SSL_CTX_set_tmp_ecdh().
4027 (Init_ossl_ssl): Define SSLContext#ecdh_curves=.
4029 * ext/openssl/extconf.rb: Check the existence of EC_curve_nist2nid(),
4030 SSL_CTX_set1_curves_list(), SSL_CTX_set_ecdh_auto() and
4031 SSL_CTX_set_tmp_ecdh_callback().
4033 * ext/openssl/openssl_missing.[ch]: Implement EC_curve_nist2nid() if
4036 * test/openssl/test_pair.rb (test_ecdh_callback): Use
4037 EnvUtil.suppress_warning to suppress deprecated warning.
4039 (test_ecdh_curves): Test that SSLContext#ecdh_curves= works.
4041 * test/openssl/utils.rb (start_server): Use SSLContext#ecdh_curves=.
4043 Mon May 30 16:28:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4045 * ext/socket/raddrinfo.c (host_str, port_str): use RSTRING_LEN
4046 instead of strlen, since RSTRING_PTR StringValueCStr may not be
4047 NUL-terminated when SHARABLE_MIDDLE_SUBSTRING=1. reported by
4048 @tmtms, http://twitter.com/tmtms/status/736910516229005312
4050 Mon May 30 16:20:26 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4052 * string.c (str_fill_term): return new pointer reallocated by
4055 Mon May 30 14:54:58 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4057 * ext/stringio/stringio.c (enc_subseq): share the return value and
4058 the buffer as possible.
4060 Mon May 30 14:50:25 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4062 * string.c (str_substr, rb_str_aref): refactor not to create
4063 unnecessary empty string.
4065 * string.c (str_byte_substr, str_byte_aref): ditto.
4067 Mon May 30 00:09:37 2016 NAKAMURA Usaku <usa@ruby-lang.org>
4069 * ext/-test-/auto_ext.rb: fixed a heedless bug introduced at r55198.
4070 this change will make RubyCI green.
4072 Sun May 29 22:58:19 2016 NARUSE, Yui <naruse@ruby-lang.org>
4074 * regexec.c (ONIGENC_IS_MBC_ASCII_WORD): redefine optimized one.
4075 WORD of Ruby's ascii compatible encoding is always [a-zA-Z0-9_].
4077 Sun May 29 22:44:19 2016 NARUSE, Yui <naruse@ruby-lang.org>
4079 * regexec.c (match_at): make compilers optimize harder.
4081 Sun May 29 12:08:42 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4083 * ext/-test-/auto_ext.rb (auto_ext): utility method to create
4084 extension libraries for tests.
4086 Sat May 28 20:40:57 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4088 * misc/ruby-additional.el (ruby-insert-heredoc-code-block): insert
4089 here document code block for assert_separately mainly.
4091 Sat May 28 20:34:19 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
4093 * test/test_unicode_normalize.rb: Add test to check for availability of
4094 Unicode data file; refactoring; fix an error with tests for destructive
4095 method (unicode_normalize!).
4097 Sat May 28 19:08:36 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
4099 * test/ruby/enc/test_case_comprehensive.rb: Add error messages to tests
4100 for data file availability; refactoring.
4102 Sat May 28 14:00:10 2016 Kazuki Yamaguchi <k@rhe.jp>
4104 * ext/openssl/lib/openssl/ssl.rb (SSLSocket): Move the implementation of
4105 SSLSocket#initialize to C. Initialize the SSL (OpenSSL object) in it.
4106 Currently this is delayed until ossl_ssl_setup(), which is called from
4107 SSLSocket#accept or #connect. Say we call SSLSocket#hostname= with an
4108 illegal value. We expect an exception to be raised in #hostname= but
4109 actually we get it in the later SSLSocket#connect. Because the SSL is
4110 not ready at #hostname=, the actual call of SSL_set_tlsext_host_name()
4112 This also fixes: [ruby-dev:49376] [Bug #11724]
4114 * ext/openssl/ossl_ssl.c (ossl_ssl_initialize): Added. Almost the same
4115 as the Ruby version but this instantiate the SSL object at the same
4118 (ossl_ssl_setup): Adjust to the changes. Just set the underlying IO to
4121 (ssl_started): Added. Make use of SSL_get_fd(). This returns -1 if not
4122 yet set by SSL_set_fd().
4124 (ossl_ssl_data_get_struct): Removed. Now GetSSL() checks that the SSL
4127 (ossl_ssl_set_session): Don't call ossl_ssl_setup() here as now the
4128 SSL is already instantiated in #initialize.
4130 (ossl_ssl_shutdown, ossl_start_ssl, ossl_ssl_read_internal,
4131 ossl_ssl_write_internal, ossl_ssl_stop, ossl_ssl_get_cert,
4132 ossl_ssl_get_peer_cert, ossl_ssl_get_peer_cert_chain,
4133 ossl_ssl_get_version, ossl_ssl_get_cipher, ossl_ssl_get_state,
4134 ossl_ssl_pending, ossl_ssl_session_reused,
4135 ossl_ssl_get_verify_result, ossl_ssl_get_client_ca_list,
4136 ossl_ssl_npn_protocol, ossl_ssl_alpn_protocol, ossl_ssl_tmp_key): Use
4137 GetSSL() instead of ossl_ssl_data_get_struct(). Use ssl_started().
4139 (Init_ossl_ssl): Add method declarations of SSLSocket#{initialize,
4142 * ext/openssl/ossl_ssl.h (GetSSL): Check that the SSL is not NULL. It
4143 should not be NULL because we now set it in #initialize.
4145 * ext/openssl/ossl_ssl_session.c (ossl_ssl_session_initialize): No need
4146 to check if the SSL is NULL.
4148 Sat May 28 10:47:40 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
4150 * gems/bundled_gems: Update latest releases, power_assert-0.3.0,
4151 test-unit 3.1.9, minitest 5.9.0, did_you_mean 1.0.1
4153 Sat May 28 10:45:40 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
4155 * addr2line.c: drop support for ATARI ST platform. It was
4156 discontinued more than two decades ago. [fix GH-1350] Patch by
4158 * include/ruby/ruby.h: ditto.
4161 Sat May 28 10:39:47 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
4163 * test/ruby/enc/test_case_comprehensive.rb: Converted exception for
4164 unavailable Unicode data files to failed assertion.
4166 Sat May 28 10:26:18 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
4168 * lib/cgi/util.rb: added missing quote.
4169 [fix GH-1363][ci skip] Patch by @dwaller
4171 Fri May 27 17:38:49 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4173 * variable.c (rb_local_constants_i): exclude hidden constants.
4174 [ruby-core:75575] [Bug #12389]
4176 Fri May 27 17:09:44 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4178 * transcode.c (str_transcode0): scrub in the given encoding when
4179 the source encoding is given, not in the encoding of the
4180 receiver. [ruby-core:75732] [Bug #12431]
4182 Fri May 27 15:07:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4184 * include/ruby/ruby.h (rb_scan_args): remove nul padding which
4185 caused syntax error if fmt is not a string literal.
4187 * include/ruby/ruby.h (rb_scan_args_verify): suppress array-bounds
4188 warnings by old clang.
4190 * include/ruby/ruby.h (rb_scan_args0): make extractor macros
4191 inline functions, which do not validate the format and are
4192 unnecessary to be expanded.
4194 Fri May 27 01:00:36 2016 NARUSE, Yui <naruse@ruby-lang.org>
4196 * symbol.c (is_identchar): use ISDIGIT instead of rb_enc_isalnum.
4197 Though rb_enc_isalnum is encoding aware function, its argument here
4198 is *m, which is a single byte. Therefore ISDIGIT is faster.
4200 * symbol.c (is_special_global_name): ditto.
4202 * symbol.c (rb_enc_symname_type): ditto.
4204 Fri May 27 00:39:40 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4206 * include/ruby/ruby.h (rb_scan_args): add nul padding here to
4207 apply to all references.
4209 * include/ruby/ruby.h (rb_scan_args_verify): move length mismatch
4210 check outside conditional operators.
4212 Thu May 26 14:21:10 2016 Kazuki Yamaguchi <k@rhe.jp>
4214 * ext/openssl/ossl_pkey_dh.c (ossl_dh_compute_key): Check that the DH
4215 has 'p' (the prime) before calling DH_size(). We can create a DH with
4216 no parameter but DH_size() does not check and dereferences NULL.
4217 [ruby-core:75720] [Bug #12428]
4219 * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_sign): Ditto. DSA_size() does
4222 * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_public_encrypt,
4223 ossl_rsa_public_decrypt, ossl_rsa_private_encrypt,
4224 ossl_rsa_private_decrypt): Ditto. RSA_size() does not check rsa->n.
4226 Thu May 26 14:13:52 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4228 * include/ruby/ruby.h (rb_scan_args_count): verify length with
4229 counting variables together.
4231 Thu May 26 09:45:41 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
4233 * test/ruby/enc/test_case_comprehensive.rb: Add set of comprehensive
4234 (across most Unicode characters; later across most character encodings)
4235 tests for case mapping.
4237 Thu May 26 05:00:13 2016 Benoit Daloze <eregontp@gmail.com>
4239 * class.c (rb_define_class): Fix documentation.
4241 Wed May 25 20:50:12 2016 NARUSE, Yui <naruse@ruby-lang.org>
4243 * re.c (unescape_nonascii): scan hex up to only 3 characters.
4244 [Bug #12420] [Bug #12423]
4246 Wed May 25 19:07:19 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
4248 * enc/unicode.c: Handle DOTLESS_i by hand because it isn't involved in folding.
4250 Wed May 25 18:30:53 2016 NARUSE, Yui <naruse@ruby-lang.org>
4252 * regparse.c (fetch_token_in_cc): raise error if given octal escaped
4253 character is too big. [Bug #12420] [Bug #12423]
4255 Wed May 25 17:45:15 2016 Kazuki Yamaguchi <k@rhe.jp>
4257 * ext/openssl, test/openssl: Drop OpenSSL < 0.9.8 support.
4259 Wed May 25 17:43:30 2016 Kazuki Yamaguchi <k@rhe.jp>
4261 * ext/openssl/openssl_missing.h, ext/openssl/ossl.h: Remove
4262 unnecessary 'extern "C"' blocks. We don't use C++ and these headers
4263 are local to ext/openssl, so there is no need to enclose with it.
4265 Wed May 25 17:42:58 2016 Kazuki Yamaguchi <k@rhe.jp>
4267 * ext/openssl/extconf.rb: Remove check of OPENSSL_FIPS macro. This is
4268 unneeded because we can check the macro directly in source code,
4269 just as we already do for OPENSSL_NO_* macros.
4271 * ext/openssl/ossl.c: Replace occurrences of HAVE_OPENSSL_FIPS with
4274 Wed May 25 17:13:35 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4276 * class.c (rb_scan_args): merge code for n_trail.
4278 Wed May 25 17:11:34 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4280 * include/ruby/ruby.h (rb_scan_args_validate): move failed
4281 condition to the terminal. [ruby-core:75714] [Bug #12426]
4283 Wed May 25 13:13:37 2016 NARUSE, Yui <naruse@ruby-lang.org>
4285 * regcomp.c: remove condition for debug output because prelude
4286 doesn't use regexp now.
4288 Wed May 25 13:10:30 2016 NARUSE, Yui <naruse@ruby-lang.org>
4290 * regcomp.c (compile_length_tree): return error code immediately
4291 if compile_length_tree raised error [Bug #12418]
4293 Wed May 25 08:01:39 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
4295 * enc/unicode.c: Fix flag error for switch from titlecase to lowercase.
4297 * test/ruby/enc/test_case_mapping.rb: Tests for above error.
4299 Wed May 25 01:13:55 2016 Kazuki Yamaguchi <k@rhe.jp>
4301 * ext/openssl/ossl_pkey_ec.c (ec_key_new_from_group): Create a new
4302 EC_KEY on given EC group. Extracted from ossl_ec_key_initialize().
4303 (ossl_ec_key_s_generate): Added. Create a new EC instance and
4304 generate a random private and public key.
4305 (ossl_ec_key_initialize): Use ec_key_new_from_group().
4306 (Init_ossl_ec): Define the new method EC.generate. This change is
4307 for consistency with other PKey types. [ruby-core:45541] [Bug #6567]
4309 * test/openssl/test_pkey_ec.rb: Test that EC.generate works.
4311 Wed May 25 00:37:16 2016 Kazuki Yamaguchi <k@rhe.jp>
4313 * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_generate_key): Fix up RDoc.
4314 (Init_ossl_ec): Rename EC#generate_key to EC#generate_key!. Make the
4315 old name an alias of #generate_key!. This change is for consistency
4316 with other PKey types. [ruby-core:45541] [Bug #6567]
4318 * test/openssl/test_pkey_ec.rb: Use EC#generate_key! instead of
4321 Wed May 25 00:23:05 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4323 * include/ruby/ruby.h (rb_scan_args_set): check the arity after
4324 adjusting argc for an option hash, for optimization in simpler
4327 Wed May 25 00:21:52 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4329 * configure.in (XCFLAGS): merge flags only for ruby itself from
4332 Tue May 24 22:04:15 2016 Kazuki Yamaguchi <k@rhe.jp>
4334 * ext/openssl/ossl_cipher.c (ossl_cipher_set_key, ossl_cipher_set_iv):
4335 Reject too long values as well as too short ones. Currently they
4336 just truncate the input but this would hide bugs and lead to
4337 unexpected encryption/decryption results.
4339 * test/openssl/test_cipher.rb: Test that Cipher#key= and #iv= reject
4340 Strings with invalid length.
4342 Tue May 24 21:32:21 2016 Kazuki Yamaguchi <k@rhe.jp>
4344 * ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): Use
4345 ASN1_OCTET_STRING_set() instead of M_ASN1_OCTET_STRING_set(). Macros
4346 prefixed by "M_" are discouraged to be used from outside OpenSSL
4348 (ossl_x509ext_get_value): Likewise, use ASN1_STRING_print() instead
4349 of M_ASN1_OCTET_STRING_print().
4350 [1] https://git.openssl.org/gitweb/?p=openssl.git;a=blob;f=CHANGES;h=bf61913d7b01212b4d8b2f3c13d71d645914f67c;hb=b6079a7835f61daa9fb2cbf9addfa86049523933#l878
4352 * ext/openssl/ossl.h: Include openssl/asn1.h instead of
4353 openssl/asn1_mac.h. It just includes openssl/asn1.h and defines some
4354 additional "M_" macros.
4356 Tue May 24 18:52:11 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4358 * include/ruby/ruby.h (rb_scan_args_verify): verify the format to
4359 scan if no invalid chars and variable argument length matching,
4360 at the compile time if possible.
4362 Tue May 24 17:18:46 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4364 * include/ruby/defines.h (ERRORFUNC, WARNINGFUNC): add fallback
4367 Tue May 24 16:37:43 2016 NARUSE, Yui <naruse@ruby-lang.org>
4369 * configure.in (ruby_cflags): separate from optflags [Bug #12409]
4370 -fexcess-precision=standard and -fp-model precise are set to this now.
4372 * configure.in (cflags): use ruby_cflags.
4374 Tue May 24 16:20:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4376 * configure.in (ERRORFUNC, WARNINGFUNC): __error__ and __warning__
4377 attributes take a parenthesized string literal.
4379 Tue May 24 12:35:56 2016 URABE Shyouhei <shyouhei@ruby-lang.org>
4381 * common.mk: sort lines, and add missing dependencies suggested
4384 Mon May 23 21:33:36 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4386 * include/ruby/missing.h (isfinite): move from numeric.c.
4388 Mon May 23 21:09:06 2016 Kazuki Yamaguchi <k@rhe.jp>
4390 * ext/openssl/ossl.c (Init_openssl): Avoid reference to unset global
4391 variable. ossl_raise() may be called before dOSSL is set. Since
4392 global variables default to 0 and the default value of dOSSL set in
4393 Init_openssl() is also Qfalse, there is no real issue but confusing.
4394 Patch by Bertram Scharpf <software@bertram-scharpf.de>
4395 [ruby-core:58264] [Bug #9101]
4397 Mon May 23 20:32:16 2016 Kazuki Yamaguchi <k@rhe.jp>
4399 * ext/openssl/ossl_asn1.c, ext/openssl/ossl_bn.c,
4400 ext/openssl/ossl_cipher.c, ext/openssl/ossl_digest.c
4401 ext/openssl/ossl_engine.c, ext/openssl/ossl_ns_spki.c
4402 ext/openssl/ossl_pkcs12.c, ext/openssl/ossl_pkcs7.c
4403 ext/openssl/ossl_pkey.c, ext/openssl/ossl_pkey_ec.c
4404 ext/openssl/ossl_rand.c, ext/openssl/ossl_ssl.c
4405 ext/openssl/ossl_x509attr.c, ext/openssl/ossl_x509cert.c
4406 ext/openssl/ossl_x509ext.c, ext/openssl/ossl_x509store.c: Use
4407 StringValueCStr() where NUL-terminated string is expected.
4409 Mon May 23 20:20:12 2016 NAKAMURA Usaku <usa@ruby-lang.org>
4411 * ext/bigdecimal/bigdecimal.c (isfinite): get rid of a warning on
4412 cygwin. [Bug #12417][ruby-core:75691]
4414 Mon May 23 19:41:27 2016 Kazuki Yamaguchi <k@rhe.jp>
4416 * ext/openssl/ossl_rand.c (ossl_rand_egd, ossl_rand_egd_bytes):
4417 RAND_egd{_bytes,}() return -1 on failure, not 0.
4418 Patch by cremno phobia <cremno@mail.ru>
4419 [ruby-core:63795] [Bug #10053]
4420 (ossl_pseudo_bytes): Similar, RAND_pseudo_bytes() may return 0 or
4423 Mon May 23 15:52:07 2016 NAKAMURA Usaku <usa@ruby-lang.org>
4425 * ext/bigdecimal/bigdecimal.c (isfinite): isfinite does not always
4426 exist. fixed build error on Windows introduced at r55123.
4428 Mon May 23 13:19:41 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4430 * include/ruby/ruby.h (rb_scan_args0): make compile error if the
4431 format is wrong or does not match with the variable argument
4434 Mon May 23 12:47:09 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4436 * include/ruby/ruby.h (rb_scan_args0): raise fatal error if
4437 variable argument length does not match, it is a bug in the code
4438 which uses rb_scan_args, not a runtime error.
4440 Mon May 23 12:30:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4442 * ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): consider
4443 non-finite float values not to raise FloatDomainError.
4444 [ruby-core:75682] [Bug #12414]
4446 Mon May 23 12:21:18 2016 NARUSE, Yui <naruse@ruby-lang.org>
4448 * array.c (rb_ary_fill): suppress warnings: 'item' may be used
4449 uninitialized in this function
4451 Mon May 23 07:41:49 2016 Eric Wong <e@80x24.org>
4453 * dir.c (dir_close): update RDoc for 2.3 #close change
4454 [ruby-core:75679] [Bug #12413]
4456 Sun May 22 20:01:21 2016 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
4458 * lib/drb/timeridconv.rb: use finalizer trick instead of thread.
4460 * test/drb/ut_timerholder.rb: ditto.
4462 Sun May 22 17:25:18 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
4464 * test/ruby/enc/test_case_options.rb: adjust test class name
4467 Sun May 22 17:24:07 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
4469 * rename test/ruby/enc/test_casing_options.rb to test_case_options.rb
4472 Sun May 22 17:06:55 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4474 * transcode.c (enc_arg, str_transcode_enc_args, econv_args):
4475 remove volatile, and add GC guards in callers.
4476 [ruby-core:75664] [Bug #12411]
4478 Sun May 22 16:27:00 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4480 * ext/-test-/integer/core_ext.c: move testutil/integer.c.
4482 * test/lib/-test-/integer.rb: extract implementation details from
4483 test/unit/assertions.rb. [Bug #12408]
4485 Sun May 22 14:57:43 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
4487 * include/ruby/oniguruma.h: Extend OnigEncodingTypeDefine to define a
4488 new encoding primitive 'case_map' for case mapping
4490 * enc/utf-8.c, utf_16be/le.c, utf_32be/le.c:
4491 add onigenc_unicode_case_map as case_map primitive
4493 * enc/ascii.c, big5.c, cp949.c, emacs_mule.c, euc_jp/kr/tw.c, gb18030.c,
4494 gbk.c, iso_8859_1/2/3/4/5/6/7/8/9/10/11/13/14/15/16.c, koi8_r/u.c,
4495 shift_jis.c, us_ascii.c, windows_1250/1251/1252.c:
4496 add onigenc_not_support_case_map as case_map primitive
4498 Sun May 22 14:45:45 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
4500 * regenc.h/c: Define new function onigenc_not_support_case_map
4502 Sun May 22 12:14:06 2016 NARUSE, Yui <naruse@ruby-lang.org>
4504 * include/ruby/ruby.h (rb_scan_args): use original rb_scan_args
4505 when fmt is dynamic.
4507 Sun May 22 11:41:12 2016 NARUSE, Yui <naruse@ruby-lang.org>
4509 * class.c (rb_scan_args): moved to bottom of the file to make the
4510 effect of `#undef rb_scan_args` the minimum.
4512 * include/ruby/ruby.h (rb_scan_args): overwrite only if GCC and
4513 optimized. Visual C++ 14 or later can compile it but make it
4516 Sat May 21 22:45:50 2016 NAKAMURA Usaku <usa@ruby-lang.org>
4518 * include/ruby/ruby.h (rb_scan_args): don't use ALWAYS_INLINE with
4519 `inline`. if gcc needs this duplication, do in ALWAYS_INLINE macro.
4521 Sat May 21 21:11:56 2016 NARUSE, Yui <naruse@ruby-lang.org>
4523 * include/ruby/ruby.h (rb_scan_args): use __VA_ARGS__ instead of
4524 va_arg to allow compilers optimize more aggressive.
4525 https://gustedt.wordpress.com/2011/07/10/avoid-writing-va_arg-functions/
4526 rb_scan_args is now expected to be statically resolved.
4528 Sun May 22 02:41:52 2016 NARUSE, Yui <naruse@ruby-lang.org>
4530 * ext/zlib/zlib.c: remove hacky macro introduced at r30437.
4532 * ext/zlib/zlib.c (gzfile_make_header): cast as long (instead of int).
4534 * ext/zlib/zlib.c (gzfile_make_footer): ditto.
4536 Sat May 21 21:07:18 2016 NARUSE, Yui <naruse@ruby-lang.org>
4538 * configure.in (ALWAYS_INLINE): force compilers the function inlined.
4540 Sat May 21 16:16:03 2016 Kazuki Yamaguchi <k@rhe.jp>
4542 * ext/openssl/ossl_ssl.c (ossl_ssl_stop): Don't free the SSL struct
4543 here. Since some methods such as SSLSocket#connect releases GVL,
4544 there is a chance of use after free if we free the SSL from another
4545 thread. SSLSocket#stop was documented as "prepares it for another
4546 connection" so this is a slightly incompatible change. However when
4547 this sentence was added (r30090, Add toplevel documentation for
4548 OpenSSL, 2010-12-06), it didn't actually. The current behavior is
4549 from r40304 (Correct shutdown behavior w.r.t GC., 2013-04-15).
4550 [ruby-core:74978] [Bug #12292]
4552 * ext/openssl/lib/openssl/ssl.rb (sysclose): Update doc.
4554 * test/openssl/test_ssl.rb: Test this.
4556 Sat May 21 14:41:14 2016 Kazuki Yamaguchi <k@rhe.jp>
4558 * ext/openssl/ossl.c: [DOC] Fix SSL client example. The variable name
4559 was wrong. Patch by Andreas Tiefenthaler <at@an-ti.eu> (@pxlpnk).
4560 [GH ruby/openssl#32]
4562 Sat May 21 14:25:38 2016 Kazuki Yamaguchi <k@rhe.jp>
4564 * ext/openssl/ossl_pkey_ec.c: rename PKey::EC#private_key? and
4565 #public_key? to #private? and #public? for consistency with other
4566 PKey types. Old names remain as alias. [ruby-core:45541] [Bug #6567]
4568 * test/openssl/test_pkey_ec.rb (test_check_key): check private? and
4569 public? works correctly.
4571 Sat May 21 12:40:36 2016 Kazuki Yamaguchi <k@rhe.jp>
4573 * ext/openssl/lib/openssl/buffering.rb (read_nonblock, readpartial):
4574 Remove impossible EOFError raise. Patch by Zach Anker
4575 <zanker@squareup.com>. [GH ruby/openssl#23]
4577 Sat May 21 11:18:42 2016 Evgeni Golov <evgeni@golov.de>
4579 * lib/ipaddr.rb: [DOC] fix documentation of IN6MASK to mention
4582 Sat May 21 11:12:53 2016 Dan Martinez <dfm@razorwind.org>
4584 * io.c (Init_IO): [DOC] define dummy ARGF instead of ARGF.class to
4585 re-enable the generation of ARGF documentation. [Fix GH-1358]
4587 Sat May 21 11:07:29 2016 0x01f7 <souk.0x01f7@gmail.com>
4589 * doc/syntax/methods.rdoc (Method Names): add proper closing tag.
4592 Sat May 21 09:26:28 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4594 * configure.in (RUBY_CHECK_SETJMP): fix missing macro definition
4595 for the configured result. fix up r55021.
4597 Sat May 21 00:36:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4599 * process.c (rb_execarg_commandline): build command line string
4600 from argument vector in rb_execarg.
4601 [ruby-core:75611] [Bug #12398]
4603 Fri May 20 23:25:42 2016 Kazuki Yamaguchi <k@rhe.jp>
4605 * ext/openssl/ossl.c (ossl_pem_passwd_value): Added. Convert the
4606 argument to String with StringValue() and validate the length is in
4607 4..PEM_BUFSIZE. PEM_BUFSIZE is a macro defined in OpenSSL headers.
4608 (ossl_pem_passwd_cb): When reading/writing encrypted PEM format, we
4609 used to pass the password to PEM_def_callback() directly but it was
4610 problematic. It is not NUL character safe. And surprisingly, it
4611 silently truncates the password to 1024 bytes. [GH ruby/openssl#51]
4613 * ext/openssl/ossl.h: Add function prototype declaration of newly
4614 added ossl_pem_passwd_value().
4616 * ext/openssl/ossl_pkey.c (ossl_pkey_new_from_data): Use
4617 ossl_pem_passwd_value() to validate the password String.
4619 * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize, ossl_dsa_export):
4622 * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_initialize,
4623 ossl_ec_key_to_string): ditto.
4625 * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_initialize, ossl_rsa_export):
4628 * test/openssl/test_pkey_{dsa,ec,rsa}.rb: test this.
4630 Fri May 20 23:45:53 2016 Naohisa Goto <ngotogenome@gmail.com>
4632 * id_table.c (list_id_table_init): When unaligned word access is
4633 prohibited and sizeof(VALUE) is 8 (64-bit machines),
4634 capa should always be even number for 8-byte word alignment
4635 of the values of a table. This code assumes that sizeof(ID) is 4,
4636 sizeof(VALUE) is 8, and xmalloc() returns 8-byte aligned memory.
4637 This fixes bus error on 64-bit SPARC Solaris 10.
4638 [Bug #12406][ruby-dev:49631]
4640 Fri May 20 22:30:09 2016 Naohisa Goto <ngotogenome@gmail.com>
4642 * symbol.h (rb_id2sym): Use HAVE_BUILTIN___BUILTIN_CONSTANT_P
4644 Fri May 20 22:19:00 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
4646 * ext/date/date_core.c: [DOC] fix typos.
4647 [fix GH-1360] patched by @soundasleep
4649 Fri May 20 21:26:58 2016 Naohisa Goto <ngotogenome@gmail.com>
4651 * include/ruby/defines.h (RB_GNUC_EXTENSION, RB_GNUC_EXTENSION_BLOCK):
4652 macros for skipping __extension__ on non-GCC compilers.
4653 * eval_error.c (warn_print): use RB_GNUC_EXTENSION_BLOCK instead of
4654 __extension__ because __extension__ is a GNU extension.
4655 Fix compile error on Solaris 10 with Oracle Solaris Studio 12.x.
4656 [Bug #12397] [ruby-dev:49629].
4657 * internal.h (rb_fstring_cstr, rb_fstring_enc_cstr): ditto
4658 * include/ruby/encoding.h (rb_enc_str_new, rb_enc_str_new_cstr): ditto
4659 * include/ruby/intern.h (rb_str_new, rb_str_new_cstr,
4660 rb_usascii_str_new, rb_utf8_str_new, rb_tainted_str_new_cstr,
4661 rb_usascii_str_new_cstr, rb_utf8_str_new_cstr,
4662 rb_external_str_new_cstr, rb_locale_str_new_cstr,
4663 rb_str_buf_new_cstr, rb_str_cat_cstr, rb_exc_new_cstr): ditto
4665 Fri May 20 21:17:13 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4667 * ext/win32ole/win32ole.c (fole_missing): make substring or dup to
4668 share the content if possible.
4670 Fri May 20 19:48:48 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4672 * internal.h (NEW_PARTIAL_MEMO_FOR): shrink buffer array not to
4673 mark non-VALUE fields. fix check_rvalue_consistency abort with
4674 RGENGC_CHECK_MODE=2.
4676 * internal.h (NEW_CMP_OPT_MEMO): exclude struct cmp_opt_data from
4677 the valid array range.
4679 * enum.c (slicewhen_i): exclude inverted too.
4681 Thu May 19 21:21:57 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
4683 * re.c (rb_reg_match_m_p): [DOC] fix return value in rdoc.
4685 * test/ruby/test_regexp.rb (TestRegexp#test_match_p): add some
4686 tests from document.
4688 Thu May 19 13:22:44 2016 Kazuki Yamaguchi <k@rhe.jp>
4690 * ext/openssl/ossl.c (Init_openssl): register an ex_data index for
4691 X509_STORE and X509_STORE_CTX respectively. Since they don't share
4692 the ex_data index registry, we can't use the same index.
4693 (ossl_verify_cb): use the correct index.
4695 * ext/openssl/ossl_ssl.c (ossl_ssl_verify_callback): ditto.
4697 * ext/openssl/ossl_x509store.c (ossl_x509store_set_vfy_cb): ditto.
4698 (ossl_x509stctx_verify): ditto.
4700 * ext/openssl/ossl.h (void ossl_clear_error): add extern declarations
4701 of ossl_store_{ctx_,}ex_verify_cb_idx.
4703 * ext/openssl/openssl_missing.c: remove X509_STORE_set_ex_data and
4704 X509_STORE_get_ex_data.
4706 * ext/openssl/openssl_missing.h: implement X509_STORE_get_ex_data,
4707 X509_STORE_set_ex_data and X509_STORE_get_ex_new_index as macros.
4709 Thu May 19 13:11:35 2016 Kazuki Yamaguchi <k@rhe.jp>
4711 * ext/openssl/ossl_x509attr.c (ossl_x509attr_set_value): check that the
4712 argument is an OpenSSL::ASN1::Data before converting to ASN1_TYPE.
4713 This fixes SEGV on OpenSSL::X509::Attribute#value=(non-asn1-value).
4715 * test/openssl/test_x509attr.rb: add tests for OpenSSL::X509::Attribute.
4717 Thu May 19 12:10:10 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4719 * re.c (rb_reg_match_m_p): fix match against empty string.
4720 rb_str_offset returns the end when the position exceeds the
4721 length. fix the range parameter of onig_search.
4722 [ruby-core:75604] [Bug #12394]
4724 Thu May 19 11:37:36 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4726 * re.c (rb_reg_match_m_p): should return false if no match, as the
4727 document says. [Feature #8110]
4729 Thu May 19 00:17:01 2016 NARUSE, Yui <naruse@ruby-lang.org>
4731 * re.c (reg_names_iter): specify capacify
4733 Wed May 18 21:29:59 2016 NAKAMURA Usaku <usa@ruby-lang.org>
4735 * thread.c (recursive_list_access): a object id may be a Bignum. so,
4736 the list must be a objhash, instead of a identhash.
4737 this fixes many test errors on mswin64 CI.
4739 Wed May 18 19:33:54 2016 NARUSE, Yui <naruse@ruby-lang.org>
4741 * re.c (rb_reg_match_m_p): Introduce Regexp#match?, which returns
4742 bool and doesn't save backref.
4744 Wed May 18 16:52:03 2016 Kazuki Yamaguchi <k@rhe.jp>
4746 * ext/openssl/ossl_pkcs12.c (ossl_pkcs12_initialize): pop errors
4747 leaked by PKCS12_parse(). This is a bug in OpenSSL, which exists
4748 in the versions before the version 1.0.0t, 1.0.1p, 1.0.2d.
4750 Wed May 18 16:04:54 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4752 * tool/downloader.rb (Downloader::RubyGems.download): verify gems
4753 only if RubyGems is 2.4 or later. old RubyGems fails to verify
4754 almost all of bundled gems.
4756 Wed May 18 14:52:38 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4758 * string.c (rb_str_modify_expand): check integer overflow.
4759 [ruby-core:75592] [Bug #12390]
4761 Wed May 18 13:11:44 2016 NARUSE, Yui <naruse@ruby-lang.org>
4763 * re.c (match_ary_subseq): get subseq of match array without creating
4766 * re.c (match_ary_aref): get element(s) of match array without creating
4769 * re.c (match_aref): Use match_ary_subseq with handling irregulars.
4771 * re.c (match_values_at): Use match_ary_aref.
4773 Wed May 18 13:03:07 2016 Kazuki Yamaguchi <k@rhe.jp>
4775 * ext/openssl/ossl_x509cert.c (ossl_x509_verify): X509_verify()
4776 family may put errors on 0 return (0 means verification failure).
4777 Clear OpenSSL error queue before return to Ruby. Since the queue is
4778 thread global, remaining errors in the queue can cause an unexpected
4779 error in the next OpenSSL operation. [ruby-core:48284] [Bug #7215]
4781 * ext/openssl/ossl_x509crl.c (ossl_x509crl_verify): ditto.
4783 * ext/openssl/ossl_x509req.c (ossl_x509req_verify): ditto.
4785 * ext/openssl/ossl_x509store.c (ossl_x509stctx_verify): ditto.
4787 * ext/openssl/ossl_pkey_dh.c (dh_generate): clear the OpenSSL error
4788 queue before re-raising exception.
4790 * ext/openssl/ossl_pkey_dsa.c (dsa_generate): ditto.
4792 * ext/openssl/ossl_pkey_rsa.c (rsa_generate): ditto.
4794 * ext/openssl/ossl_ssl.c (ossl_start_ssl): ditto.
4796 * test/openssl: check that OpenSSL.errors is empty every time after
4797 running a test case.
4799 Wed May 18 12:07:42 2016 Kazuki Yamaguchi <k@rhe.jp>
4801 * ext/openssl/ossl.c (ossl_clear_error): Extracted from
4802 ossl_make_error(). This prints errors in the OpenSSL error queue if
4803 OpenSSL.debug is true, and clears the queue.
4804 (ossl_make_error): use ossl_clear_error().
4806 * ext/openssl/ossl.h: add prototype declaration of ossl_make_error().
4807 (OSSL_BIO_reset) use ossl_clear_error() to clear the queue. Clearing
4808 silently makes debugging difficult.
4810 * ext/openssl/ossl_engine.c (ossl_engine_s_by_id): ditto.
4812 * ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): ditto.
4814 * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_verify): ditto.
4816 * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize): ditto.
4818 * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_initialize): ditto.
4819 (ossl_ec_group_initialize): ditto.
4821 * ext/openssl/ossl_ssl.c (ossl_ssl_shutdown): ditto.
4823 Wed May 18 11:53:49 2016 Kazuki Yamaguchi <k@rhe.jp>
4825 * ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): Validate the
4826 arguments before passing to EC_POINT(s)_mul(). Add description of this
4827 method. [ruby-core:65152] [Bug #10268]
4829 * test/openssl/test_pkey_ec.rb (test_ec_point_mul): Test that
4830 OpenSSL::PKey::EC::Point#mul works.
4832 Wed May 18 11:19:59 2016 Kazuki Yamaguchi <k@rhe.jp>
4834 * ext/openssl/ossl_bn.c (try_convert_to_bnptr): Extracted from
4835 GetBNPtr(). This doesn't raise exception but returns NULL on error.
4836 (GetBNPtr): Raise TypeError if conversion fails.
4837 (ossl_bn_eq): Implement BN#==.
4838 (ossl_bn_eql): #eql? should not raise TypeError even if the argument
4839 is not compatible with BN.
4840 (ossl_bn_hash): Implement BN#hash.
4842 * ext/openssl/ossl_bn.c (Init_ossl_bn): Define #== and #hash.
4844 * test/openssl/test_bn.rb: Test BN#eql?, #== and #hash
4846 Wed May 18 10:17:41 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4848 * include/ruby/ruby.h (RB_INTEGER_TYPE_P): new macro and
4849 underlying inline function to check if the object is an
4850 Integer (Fixnum or Bignum).
4852 Wed May 18 09:52:00 2016 Kenta Murata <mrkn@mrkn.jp>
4854 * enum.c (enum_sum, hash_sum, hash_sum_i, enum_sum_i, sum_iter):
4855 Optimize for hashes when each method isn't redefined.
4857 Wed May 18 09:14:00 2016 Kenta Murata <mrkn@mrkn.jp>
4859 * enum.c (enum_sum, int_range_sum): Extract int_range_sum from
4862 Wed May 18 03:16:06 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4864 * re.c (match_values_at): fix regression at r55036.
4865 MatchData#values_at accepts Range.
4867 Wed May 18 02:02:58 2016 NARUSE, Yui <naruse@ruby-lang.org>
4869 * re.c (match_aref): remove useless condition and call rb_fix2int.
4870 rb_reg_nth_match handles negative index.
4872 Wed May 18 01:57:43 2016 NARUSE, Yui <naruse@ruby-lang.org>
4874 * re.c (match_values_at): MatchData#values_at supports named captures
4877 * re.c (namev_to_backref_number): separated.
4879 Wed May 18 00:05:00 2016 Kenta Murata <mrkn@mrkn.jp>
4881 * enum.c (enum_sum): Optimize for a range from int to int.
4883 * test/ruby/test_enum.rb (test_range_sum): Move from test_range.rb,
4884 and add assertions for some conditions.
4886 * test/ruby/test_enum.rb (test_hash_sum): Move from test_hash.rb.
4888 * test/ruby/test_hash.rb, test/ruby/test_range.rb: Remove test_sum.
4890 Tue May 17 23:08:00 2016 Kenta Murata <mrkn@mrkn.jp>
4892 * enum.c (enum_sum): [DOC] Write documentation.
4894 Tue May 17 22:53:00 2016 Kenta Murata <mrkn@mrkn.jp>
4896 * enum.c (enum_sum): Implement Enumerable#sum.
4898 * test/ruby/test_enum.rb (test_sum): Test sum for Enumerable.
4900 * test/ruby/test_hash.rb (test_sum): Test sum for Hash.
4902 * test/ruby/test_range.rb (test_sum): Test sum for Range.
4904 Tue May 17 22:11:41 2016 Tanaka Akira <akr@fsij.org>
4906 * object.c, numeric.c, enum.c, ext/-test-/bignum/mul.c,
4907 lib/rexml/quickpath.rb, lib/rexml/text.rb, lib/rexml/xpath_parser.rb,
4908 lib/rubygems/specification.rb, lib/uri/generic.rb,
4909 bootstraptest/test_eval.rb, basictest/test.rb,
4910 test/-ext-/bignum/test_big2str.rb, test/-ext-/bignum/test_div.rb,
4911 test/-ext-/bignum/test_mul.rb, test/-ext-/bignum/test_str2big.rb,
4912 test/csv/test_data_converters.rb, test/date/test_date.rb,
4913 test/json/test_json_generate.rb, test/minitest/test_minitest_mock.rb,
4914 test/openssl/test_cipher.rb, test/rexml/test_jaxen.rb,
4915 test/ruby/test_array.rb, test/ruby/test_basicinstructions.rb,
4916 test/ruby/test_bignum.rb, test/ruby/test_case.rb,
4917 test/ruby/test_class.rb, test/ruby/test_complex.rb,
4918 test/ruby/test_enum.rb, test/ruby/test_eval.rb,
4919 test/ruby/test_iseq.rb, test/ruby/test_literal.rb,
4920 test/ruby/test_math.rb, test/ruby/test_module.rb,
4921 test/ruby/test_numeric.rb, test/ruby/test_range.rb,
4922 test/ruby/test_rational.rb, test/ruby/test_refinement.rb,
4923 test/ruby/test_rubyvm.rb, test/ruby/test_struct.rb,
4924 test/ruby/test_variable.rb, test/rubygems/test_gem_specification.rb,
4925 test/thread/test_queue.rb: Use Integer instead of Fixnum and Bignum.
4927 Tue May 17 15:26:10 2016 Tanaka Akira <akr@fsij.org>
4929 * [Feature #12005] Unify Fixnum and Bignum into Integer
4931 * include/ruby/ruby.h (rb_class_of): Return rb_cInteger for fixnums.
4933 * insns.def (INTEGER_REDEFINED_OP_FLAG): Unified from
4934 FIXNUM_REDEFINED_OP_FLAG and BIGNUM_REDEFINED_OP_FLAG.
4938 * vm_insnhelper.c (opt_eq_func): Use INTEGER_REDEFINED_OP_FLAG instead
4939 of FIXNUM_REDEFINED_OP_FLAG.
4941 * vm.c (vm_redefinition_check_flag): Use rb_cInteger instead of
4942 rb_cFixnum and rb_cBignum.
4943 (C): Use Integer instead of Fixnum and Bignum.
4945 * numeric.c (fix_succ): Removed.
4946 (Init_Numeric): Define Fixnum as Integer.
4948 * bignum.c (bignew): Use rb_cInteger instead of rb_cBignum.
4949 (rb_int_coerce): replaced from rb_big_coerce and return fixnums
4951 (Init_Bignum): Define Bignum as Integer.
4954 * error.c (builtin_class_name): Return "Integer" for fixnums.
4956 * sprintf.c (ruby__sfvextra): Use rb_cInteger instead of rb_cFixnum.
4958 * ext/-test-/testutil: New directory to test.
4959 Currently it provides utilities for fixnum and bignum.
4961 * ext/json/generator/generator.c: Define mInteger_to_json.
4963 * lib/mathn.rb (Fixnum#/): Redefinition removed.
4965 Tue May 17 11:58:58 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4967 * configure.in (RUBY_CHECK_BUILTIN_SETJMP): declare t as NORETURN
4968 to suppress warnings by -Wsuggest-attribute=noreturn.
4969 [ruby-core:75510] [Bug #12383]
4971 Tue May 17 10:40:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4973 * configure.in (RUBY_CHECK_SETJMP): needs the header and proper
4974 arguments for builtin setjmp functions.
4976 Mon May 16 20:00:30 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
4978 * enc/unicode.h: Additional uses of ONIG_CASE_MAPPING compilation switch
4980 Mon May 16 19:46:33 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
4982 * include/ruby/oniguruma.h: Introducing ONIG_CASE_MAPPING compilation
4985 * include/ruby/oniguruma.h, enc/unicode.h: Using ONIG_CASE_MAPPING
4988 Mon May 16 19:29:31 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
4990 * gems/bundled_gems: Update xmlrpc-0.1.1. xmlrpc-0.1.0 didn't allow
4991 to install on 2.4.0dev.
4993 Mon May 16 13:28:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
4995 * configure.in (FUNC_STDCALL, FUNC_CDECL, FUNC_FASTCALL): set
4996 macro names explicitly to the old names, which are accidentally
4997 changed at r54985, for backward compatibilities.
4998 fiddle also depends on these names to fallback to ANSI names.
4999 [ruby-core:75494] [Bug #12377]
5001 Mon May 16 11:39:02 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
5003 * lib/xmlrpc.rb, lib/xmlrpc/*, test/xmlrpc: XMLRPC is bundled gem
5004 on Ruby 2.4. It is extracted to https://github.com/ruby/xmlrpc
5005 [Feature #12160][ruby-core:74239]
5006 * gems/bundled_gems: ditto.
5008 Mon May 16 06:06:21 2016 Eric Wong <e@80x24.org>
5010 * proc.c: fix RDoc of Proc#===/call/yield/[]
5013 Sun May 15 20:55:31 2016 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
5015 * lib/drb/timeridconv.rb: don't use keeper thread. [Bug #12342]
5017 * test/drb/ut_timerholder.rb: ditto.
5019 Sun May 15 16:15:25 2016 NARUSE, Yui <naruse@ruby-lang.org>
5021 * array.c (rb_ary_entry): extract rb_ary_elt to organize if-conditions
5022 and check whether is embedded at once.
5024 Sun May 15 10:57:26 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5026 * vm_insnhelper.c (vm_get_ev_const): warn deprecated constant even
5027 in the class context. [ruby-core:75505] [Bug #12382]
5029 Sun May 15 03:13:01 2016 NARUSE, Yui <naruse@ruby-lang.org>
5031 * iseq.h (struct iseq_compile_data): use struct rb_id_table
5032 instead of st_table.
5034 * iseq.c (prepare_iseq_build): don't allocate ivar_cache_table
5035 until it has at least one element.
5037 * iseq.c (compile_data_free): free ivar_cache_table only if it
5040 * compile.c (get_ivar_ic_value): allocate if the table is not
5043 Sat May 14 09:04:34 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5045 * lib/mkmf.rb (pkg_config): use xsystem consistently to set up
5046 library path environment variable as well as latter pkg-config
5047 calls. [ruby-dev:49619] [Bug #12379]
5049 Sat May 14 00:16:54 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5051 * random.c (make_seed_value): append leading-zero-guard and get
5052 rid of making a local copy of the seed.
5054 Fri May 13 08:46:42 2016 cremno <cremno@mail.ru>
5056 * NEWS: drop FreeBSD < 4 support. [Fix GH-1339]
5057 The most recent version affected by this is 3.5 and was released
5059 https://www.freebsd.org/releases/3.5R/announce.html
5060 https://en.wikipedia.org/wiki/History_of_FreeBSD#Version_history
5062 Fri May 13 03:12:09 2016 NARUSE, Yui <naruse@ruby-lang.org>
5064 * include/ruby/defines.h (GCC_VERSION_SINCE): moved from internal.h.
5066 Fri May 13 03:11:20 2016 NARUSE, Yui <naruse@ruby-lang.org>
5068 * configure.in (__builtin_constant_p): check.
5070 * internal.h: Use HAVE_BUILTIN___BUILTIN_CONSTANT_P
5072 Fri May 13 03:10:39 2016 NARUSE, Yui <naruse@ruby-lang.org>
5074 * configure.in: use alternative keyword
5075 to avoid macros conflicts with them.
5077 Thu May 12 01:54:08 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5079 * lib/mkmf.rb (try_func): get rid of conflict of declarations of
5080 main(). checking local symbol reference does not make sense.
5082 Thu May 12 00:18:19 2016 NAKAMURA Usaku <usa@ruby-lang.org>
5084 * win32/Makefile.sub (HAVE_QSORT_S): use qsort_s only for Visual Studio
5085 2012 or later, because VS2010 seems to causes a SEGV in
5086 test/ruby/test_enum.rb.
5088 Wed May 11 23:59:47 2016 Masaya Tarui <tarui@ruby-lang.org>
5090 * vm_insnhelper.c (vm_getivar): describe fast-path explicit
5091 (compiler friendly). [Bug #12274].
5093 Wed May 11 21:30:07 2016 Masaya Tarui <tarui@ruby-lang.org>
5095 * compile.c (iseq_compile_each): share InlineCache during same
5096 instance variable accesses. Reducing memory consumption,
5097 rising cache hit rate and rising branch prediction hit rate
5098 are expected. A part of [Bug #12274].
5100 * iseq.h (struct iseq_compile_data): introduce instance
5101 variable IC table for sharing.
5103 * iseq.c (prepare_iseq_build, compile_data_free):
5104 construct/destruct above table.
5106 Wed May 11 17:18:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5108 * util.c (ruby_qsort): use qsort_s if available, for Microsoft
5109 Visual Studio 2005 (msvcr80.dll) and mingw.
5111 Wed May 11 10:33:26 2016 Marcus Stollsteimer <sto.mar@web.de>
5113 * COPYING: Remove trailing-whitespaces.
5114 [ci skip][fix GH-1348]
5116 Tue May 10 21:05:45 2016 Benoit Daloze <eregontp@gmail.com>
5118 * insns.def (defineclass): Also raise an error when redeclaring the
5119 superclass of a class as Object and it has another superclass.
5120 [Bug #12367] [ruby-core:75446]
5122 * test/ruby/test_class.rb: test for above.
5124 Tue May 10 14:57:09 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5126 * random.c (obj_random_bytes): base on bytes method instead of
5127 rand method, not to call toplevel rand method.
5129 Tue May 10 13:07:28 2016 NARUSE, Yui <naruse@ruby-lang.org>
5131 * configure.in (-fexcess-precision=standard): before r54895 -std=c99
5132 is specified and it implied -fexcess-precision=standard.
5133 Now with -std=gnu99, it should be explicitly specified.
5134 https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
5136 Mon May 9 10:51:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5138 * thread.c (rb_thread_atfork_internal): move th to an argument.
5140 * thread.c (rb_thread_atfork): do not repeat GET_THREAD().
5142 Mon May 9 10:46:36 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5144 * thread.c (rb_thread_atfork, rb_thread_atfork_before_exec): do
5145 nothing unless working fork is available.
5147 * thread_sync.c (rb_mutex_abandon_all): define only if working
5150 * thread_sync.c (rb_mutex_abandon_keeping_mutexes): ditto.
5152 * thread_sync.c (rb_mutex_abandon_locking_mutex): ditto.
5154 * thread_win32.c (gvl_init): never used.
5156 Mon May 9 07:18:06 2016 NAKAMURA Usaku <usa@ruby-lang.org>
5158 * include/ruby/{defines,ruby}.h: need to define function attributes
5159 alternatives in defines.h instead of ruby.h, because they are used
5160 in oniguruma.h and the header used without including ruby.h at
5161 encoding library sources.
5163 Mon May 9 06:30:12 2016 NAKAMURA Usaku <usa@ruby-lang.org>
5165 * include/ruby/ruby.h (CONSTFUNC, PUREFUNC): fixed build errors on
5166 non-gcc build environments introduced at r54952.
5168 Mon May 9 02:51:51 2016 NARUSE, Yui <naruse@ruby-lang.org>
5170 * gc.c (rb_gc_unprotect_logging): throw rb_memerror when it cannot
5171 allocate memory. This is pointed out by Facebook's Infer.
5173 * gc.c (gc_prof_setup_new_record): ditto.
5175 * regparse.c (parse_regexp): ditto.
5177 * util.c (MALLOC): use xmalloc and xfree like above.
5179 Mon May 9 02:39:16 2016 NARUSE, Yui <naruse@ruby-lang.org>
5181 * configure.in: check function attribute const and pure,
5182 and define CONSTFUNC and PUREFUNC if available.
5183 Note that I don't add those options as default because
5184 it still shows many false-positive (it seems not to consider
5187 * vm_eval.c (stack_check): get rb_thread_t* as an argument
5188 to avoid duplicate call of GET_THREAD().
5190 Sun May 8 21:01:14 2016 NARUSE, Yui <naruse@ruby-lang.org>
5192 * ext/openssl/extconf.rb: assume it doesn't have SSLv2 related
5193 functions when OPENSSL_NO_SSL2 is defined.
5194 Usually openssl's header and the library (libssl) have the same
5195 set of functions, but on some environment the library has functions
5196 whose headers doesn't declare. (openssl/opensslconf.h and libssl.so
5197 aren't be synchronized)
5198 To detect such case explicitly check feature macro and remove
5201 Sun May 8 18:51:33 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5203 * file.c (rb_home_dir_of): return the default home path if the
5204 user name is the current user name, on platforms where struct
5205 pwd is not supported. a temporary measure against
5208 Sun May 8 08:51:38 2016 NARUSE, Yui <naruse@ruby-lang.org>
5210 * configure.in: add -Wsuggest-attribute=format and suppress warnings.
5212 Sun May 8 08:31:03 2016 NARUSE, Yui <naruse@ruby-lang.org>
5214 * configure.in: add -Wsuggest-attribute=noreturn and suppress warnings.
5216 Sun May 8 08:19:16 2016 NARUSE, Yui <naruse@ruby-lang.org>
5218 * configure.in: add -Werror=implicit-int to avoid missing type of
5219 function declaration.
5221 Sat May 7 22:22:37 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
5223 * lib/webrick/ssl.rb: Accept string value for SSLCertName. It is used
5224 to invoke ssl server with command line.
5225 [fix GH-1329] Patch by @kerlin
5226 * test/webrick/test_ssl_server.rb: Added test for GH-1329
5228 Sat May 7 21:55:12 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
5230 * test/webrick/test_ssl_server.rb: Added basic test for `webrick/ssl`
5232 Sat May 7 16:22:13 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5234 * random.c (int_pair_to_real_inclusive): optimize to multiply
5237 Sat May 7 07:58:02 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5239 * process.c (rb_exec_getargs): honor the expected argument types
5240 over the conversion method. the basic language functionality
5241 should be robust. [ruby-core:75388] [Bug #12355]
5243 Fri May 6 08:16:26 2016 David Silva <david.silva@digital.cabinet-office.gov.uk>
5245 * enum.c (enum_find): [DOC] add more examples to the documentation
5246 of Enumerable#detect, to show that it equals to Enumerable#find.
5249 Thu May 5 18:08:31 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
5251 * test/ruby/test_complexrational.rb: Remove duplicated raise.
5253 Thu May 5 14:41:05 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
5255 * string.c (rb_str_sub): Fix a special match variable name.
5258 Thu May 5 12:22:17 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5260 * vm_eval.c (rb_eval_cmd, rb_catch_obj): use TH_JUMP_TAG with the
5261 same rb_thread_t used for TH_PUSH_TAG, instead of JUMP_TAG with
5262 the current thread global variable.
5264 Thu May 5 10:49:33 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5266 * random.c (fill_random_bytes_syscall): use arc4random_buf if
5269 Wed May 4 23:13:58 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
5271 * numeric.c (fix_plus): Remove rb_nucomp_add prototype
5274 * numeric.c (fix_mul): Remove rb_nucomp_mul prototype
5277 * internal.h (rb_nucomp_add, rb_nucomp_mul): add prototype
5280 Wed May 4 18:38:00 2016 Kazuki Tsujimoto <kazuki@callcc.net>
5282 * lib/net/http/header.rb (Net::HTTPHeader#{each_header,each_name,
5283 each_capitalized_name,each_value,each_capitalized}): Return
5286 * test/net/http/test_httpheader.rb: add test for above.
5288 Wed May 4 17:53:15 2016 Kazuki Tsujimoto <kazuki@callcc.net>
5290 * lib/set.rb (Set#{delete_if,keep_if,collect!,reject!,select!,classify,divide},
5291 SortedSet#{delete_if,keep_if}): Return sized enumerators.
5293 * test/test_set.rb: add test for above.
5295 Tue May 3 23:25:48 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
5297 * numeric.c: [DOC] Update result of 123456789 ** -2.
5298 [ruby-dev:49606] [Bug #12339]
5300 Tue May 3 23:13:16 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
5302 * internal.h (RCOMPLEX_SET_IMAG): undef RCOMPLEX_SET_IMAG
5303 instead of duplicated undef RCOMPLEX_SET_REAL.
5305 Tue May 3 22:55:07 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
5307 * complex.c (rb_complex_set_imag): Fix to properly set imag
5310 Tue May 3 22:19:55 2016 NARUSE, Yui <naruse@ruby-lang.org>
5312 * configure.in (warnflags): use -std=gnu99 instead of
5313 -std=iso9899:1999. [Feature #12336]
5315 Tue May 3 22:10:09 2016 NARUSE, Yui <naruse@ruby-lang.org>
5317 * string.c (count_utf8_lead_bytes_with_word): Use __builtin_popcount
5318 only if it can use SSE 4.2 POPCNT whose latency is 3 cycle.
5320 * internal.h (rb_popcount64): use __builtin_popcountll because now
5323 Tue May 3 14:19:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5325 * parse.y (new_if_gen): set newline flag to NODE_IF to trace all
5326 if/elsif statements. [ruby-core:67720] [Bug #10763]
5328 Tue May 3 05:35:54 2016 Eric Wong <e@80x24.org>
5330 * process.c (disable_child_handler_fork_child):
5331 initialize handler for SIGPIPE for !POSIX_SIGNAL
5333 Mon May 2 23:03:42 2016 NAKAMURA Usaku <usa@ruby-lang.org>
5335 * win32/win32.c, include/ruby/win32.h (rb_w32_utruncate): implements new
5336 truncate alternative which accepts UTF-8 path.
5338 * file.c (truncate): use above function.
5341 Mon May 2 20:59:21 2016 NARUSE, Yui <naruse@ruby-lang.org>
5343 * re.c (str_coderange): to avoid function call when the string already
5344 has coderange information.
5346 * re.c (rb_reg_prepare_enc): add shortcut path when the regexp has
5347 the same encoding of given string.
5349 * re.c (rb_reg_prepare_re): avoid duplicated allocation of
5353 Mon May 2 12:34:52 2016 Tanaka Akira <akr@fsij.org>
5355 * test/ruby/test_refinement.rb (test_inspect): Use Integer instead of
5358 Mon May 2 06:58:38 2016 Tanaka Akira <akr@fsij.org>
5360 * complex.c: Don't refer rb_cFixnum and rb_cBignum.
5361 (k_fixnum_p): Use FIXNUM_P.
5362 (k_bignum_p): Use RB_TYPE_P.
5364 Mon May 2 01:27:59 2016 Tanaka Akira <akr@fsij.org>
5366 * test/ruby/test_numeric.rb (test_step): Use Integer::FIXNUM_MAX.
5368 Mon May 2 01:15:01 2016 Tanaka Akira <akr@fsij.org>
5370 * test/ruby/test_module.rb (test_name): Use Integer instead of Fixnum.
5372 Mon May 2 01:00:04 2016 Tanaka Akira <akr@fsij.org>
5374 * test/lib/test/unit/assertions.rb (assert_fixnum): Defined.
5375 (assert_bignum): Defined.
5377 * test/ruby/test_bignum.rb: Use assert_bignum.
5379 * test/ruby/test_integer_comb.rb: Use assert_fixnum and assert_bignum.
5381 * test/ruby/test_optimization.rb: Ditto.
5383 Mon May 2 00:41:53 2016 Tanaka Akira <akr@fsij.org>
5385 * vm_trace.c (recalc_remove_ruby_vm_event_flags): Add a cast to
5386 avoid signed integer overflow.
5388 Mon May 2 00:06:04 2016 Tanaka Akira <akr@fsij.org>
5390 * test/lib/envutil.rb: Define Integer::{FIXNUM_MIN,FIXNUM_MAX}.
5392 * test/ruby/test_bignum.rb: Use Integer::{FIXNUM_MIN,FIXNUM_MAX}.
5394 * test/ruby/test_bignum.rb: Ditto.
5396 * test/ruby/test_integer_comb.rb: Ditto.
5398 * test/ruby/test_marshal.rb: Ditto.
5400 * test/ruby/test_optimization.rb: Ditto.
5402 Sun May 1 23:59:59 2016 Kenta Murata <mrkn@mrkn.jp>
5404 * array.c (rb_ary_sum): fix for mathn
5406 * test/ruby/test_array.rb (test_sum): ditto.
5408 Sun May 1 23:51:54 2016 NAKAMURA Usaku <usa@ruby-lang.org>
5410 * test/lib/test/unit.rb (Options#non_options): fixed wrong regexp.
5411 if both positives and negatives were specified, positives had to
5412 be specified from the beginning.
5414 Sun May 1 21:00:07 2016 NAKAMURA Usaku <usa@ruby-lang.org>
5416 * win32/win32.c: drop Win2K support.
5418 Sun May 1 20:39:47 2016 NAKAMURA Usaku <usa@ruby-lang.org>
5420 * cont.c, hash.c, random.c, win32/win32.c: cleanup some Win9x/ME/NT4
5422 [fix GH-1328] patched by @cremno
5424 Sun May 1 07:30:44 2016 NARUSE, Yui <naruse@ruby-lang.org>
5426 * string.c (search_nonascii): use nlz on big endian environments.
5428 * internal.h (nlz_intptr): defined.
5430 Sun May 1 00:03:30 2016 NARUSE, Yui <naruse@ruby-lang.org>
5432 * configure.in (__builtin_ctz): check.
5434 * configure.in (__builtin_ctzll): check.
5436 * internal.h (rb_popcount32): defined for ntz_int32.
5437 it can use __builtin_popcount but this function is not used on
5438 GCC environment because it uses __builtin_ctz.
5439 When another function uses this, using __builtin_popcount
5440 should be re-considered.
5442 * internal.h (rb_popcount64): ditto.
5444 * internal.h (ntz_int32): defined for ntz_intptr.
5446 * internal.h (ntz_int64): defined for ntz_intptr.
5448 * internal.h (ntz_intptr): defined as ntz for uintptr_t.
5450 * string.c (search_nonascii): unroll and use ntz.
5452 Sat Apr 30 21:54:13 2016 Tanaka Akira <akr@fsij.org>
5454 * numeric.c (Init_Numeric): Gather Fixnum method definitions.
5456 Sat Apr 30 21:28:14 2016 Tanaka Akira <akr@fsij.org>
5458 * numeric.c (rb_int_div): Define Integer#/.
5460 * bignum.c (rb_big_div): Don't define Bignum#/.
5462 * lib/mathn.rb (Integer#/): Replace Integer#/ instead of Bignum#/.
5464 Sat Apr 30 21:11:08 2016 Tanaka Akira <akr@fsij.org>
5466 * numeric.c (rb_int_plus): Define Integer#+.
5468 * bignum.c (rb_big_plus): Don't define Bignum#+.
5470 Sat Apr 30 21:01:20 2016 Tanaka Akira <akr@fsij.org>
5472 * numeric.c (rb_int_minus): Define Integer#-.
5474 * bignum.c (rb_big_minus): Don't define Bignum#-.
5476 Sat Apr 30 20:53:33 2016 Tanaka Akira <akr@fsij.org>
5478 * numeric.c (rb_int_mul): Define Integer#*.
5480 * bignum.c (rb_big_mul): Don't define Bignum#*.
5482 Sat Apr 30 20:30:44 2016 Tanaka Akira <akr@fsij.org>
5484 * numeric.c (rb_int_modulo): Define Integer#%.
5486 * bignum.c (rb_big_modulo): Don't define Bignum#%.
5488 Sat Apr 30 20:17:08 2016 Tanaka Akira <akr@fsij.org>
5490 * numeric.c (int_equal): Define Integer#==.
5492 * bignum.c (rb_big_eq): Don't define Bignum#==.
5494 Sat Apr 30 19:41:15 2016 Tanaka Akira <akr@fsij.org>
5496 * numeric.c (int_gt): Define Integer#>.
5498 * bignum.c (rb_big_gt): Don't define Bignum#>.
5499 Renamed from big_gt.
5501 * internal.h (rb_big_gt): Declared.
5503 Sat Apr 30 19:24:40 2016 Tanaka Akira <akr@fsij.org>
5505 * numeric.c (int_ge): Define Integer#>=.
5507 * bignum.c (rb_big_ge): Don't define Bignum#>=.
5508 Renamed from big_ge.
5510 * internal.h (rb_big_ge): Declared.
5512 Sat Apr 30 19:20:40 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
5514 * doc/standard_library.rdoc: Remove obsoleted classes and modules.
5516 Sat Apr 30 19:09:23 2016 Tanaka Akira <akr@fsij.org>
5518 * numeric.c (int_lt): Define Integer#<.
5520 * bignum.c (rb_big_lt): Don't define Bignum#<.
5521 Renamed from big_lt.
5523 * internal.h (rb_big_lt): Declared.
5525 Sat Apr 30 18:44:05 2016 Tanaka Akira <akr@fsij.org>
5527 * numeric.c (int_le): Define Integer#<=.
5529 * bignum.c (rb_big_le): Don't define Bignum#<=.
5530 Renamed from big_le.
5532 * internal.h (rb_big_le): Declared.
5534 Sat Apr 30 18:11:44 2016 Tanaka Akira <akr@fsij.org>
5536 * bignum.c (Init_Bignum): Define Integer::GMP_VERSION.
5538 Sat Apr 30 16:58:18 2016 Tanaka Akira <akr@fsij.org>
5540 * numeric.c (int_remainder): Define Integer#remainder.
5542 * bignum.c (rb_big_remainder): Don't define Bignum#remainder.
5544 * internal.h (rb_big_remainder): Declared.
5546 Sat Apr 30 15:29:24 2016 Tanaka Akira <akr@fsij.org>
5548 * numeric.c (rb_int_uminus): {Fixnum,Bignum}#-@ is unified into
5551 * bignum.c (rb_big_uminus): Don't define Bignum#-@.
5553 Sat Apr 30 14:42:20 2016 Tanaka Akira <akr@fsij.org>
5555 * numeric.c (rb_int_idiv): {Fixnum,Bignum}#div is unified into
5558 * bignum.c (rb_big_idiv): Don't define Bignum#div.
5560 Sat Apr 30 14:25:55 2016 Tanaka Akira <akr@fsij.org>
5562 * numeric.c (rb_int_modulo): {Fixnum,Bignum}#modulo is unified into
5565 * bignum.c (rb_big_modulo): Don't define Bignum#modulo.
5567 Sat Apr 30 14:04:30 2016 Tanaka Akira <akr@fsij.org>
5569 * numeric.c (int_divmod): {Fixnum,Bignum}#divmod is unified into
5572 * bignum.c (rb_big_divmod): Don't define Bignum#divmod.
5574 Sat Apr 30 13:20:00 2016 Tanaka Akira <akr@fsij.org>
5576 * numeric.c (int_fdiv): {Fixnum,Bignum}#fdiv is unified into
5579 * bignum.c (rb_big_fdiv): Don't define Bignum#fdiv.
5581 Sat Apr 30 12:25:43 2016 Tanaka Akira <akr@fsij.org>
5583 * numeric.c (rb_int_pow): {Fixnum,Bignum}#** is unified into
5586 * bignum.c (rb_big_pow): Don't define Bignum#**.
5588 Sat Apr 30 12:28:59 2016 Tanaka Akira <akr@fsij.org>
5590 * bignum.c (rb_big_comp): Renamed from rb_big_neg.
5592 * numeric.c (fix_comp): Renamed from fix_rev.
5594 Sat Apr 30 12:25:43 2016 Tanaka Akira <akr@fsij.org>
5596 * numeric.c (int_comp): {Fixnum,Bignum}#~ is unified into
5599 * bignum.c (rb_big_neg): Don't define Bignum#~.
5601 * internal.h (rb_big_neg): Declared.
5603 Sat Apr 30 12:07:42 2016 Tanaka Akira <akr@fsij.org>
5605 * numeric.c (int_and): {Fixnum,Bignum}#& is unified into
5608 * bignum.c (rb_big_and): Don't define Bignum#&.
5610 Sat Apr 30 11:56:15 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5612 * ext/thread: removed dummy extension library. thread_sync.c
5613 provides "thread.rb" already.
5615 Sat Apr 30 11:53:48 2016 Tanaka Akira <akr@fsij.org>
5617 * numeric.c (int_or): {Fixnum,Bignum}#| is unified into
5620 * bignum.c (rb_big_or): Don't define Bignum#|.
5622 Sat Apr 30 11:18:47 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
5624 * vm_trace.c: Fix typos. [ci skip]
5626 Sat Apr 30 10:09:04 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5628 * ext/pty/pty.c (establishShell): honor USER environment variable
5629 and login name over uid, one uid can be shared by some login
5632 Fri Apr 29 22:40:28 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5634 * doc/maintainers.rdoc (ext/io/nonblock): still maintained, as
5635 well as ext/io/wait, which is the origin.
5637 Fri Apr 29 21:18:12 2016 NAKAMURA Usaku <usa@ruby-lang.org>
5639 * doc/maintainers.rdoc (ext/win32): of course, it's still maintained.
5641 Fri Apr 29 21:03:10 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
5643 * gems/bundled_gems: Update latest gems, test-unit-3.1.8 and rake-11.1.2.
5645 Fri Apr 29 20:43:02 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
5647 * doc/maintainers.rdoc: Update latest maintainers list on Ruby 2.4
5649 Fri Apr 29 19:52:45 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
5651 * doc/maintainers.rdoc: Removed deprecated entries. These are already deleted.
5653 Fri Apr 29 19:48:45 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
5655 * doc/maintainers.rdoc: Removed Ruby 1.8 entries. It's not necessary to
5658 Thu Apr 28 17:03:17 2016 Nicholas Maccharoli <nmaccharoli@gmail.com>
5660 * hash.c (rb_hash_update_{block,func}_callback): dry up hash
5661 update callback code. [Fix GH-1338]
5663 Thu Apr 28 16:52:05 2016 NARUSE, Yui <naruse@ruby-lang.org>
5665 * re.c (rb_reg_prepare_enc): use rb_enc_asciicompat(enc) instead of
5666 rb_enc_str_asciicompat_p(str) to avoid useless rb_enc_get(str) call.
5668 Thu Apr 28 16:33:41 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5670 * lib/optparse.rb: [DOC] fix example code. base on the code by
5671 Semyon Gaivoronskiy in [ruby-core:75224]. [Bug #12323]
5673 Thu Apr 28 09:33:03 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
5675 * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.4.
5676 Please see entries of 2.6.4 on
5677 https://github.com/rubygems/rubygems/blob/master/History.txt
5679 Thu Apr 28 04:49:07 2016 Rei Odaira <Rei.Odaira@gmail.com>
5681 * configure.in (rb_cv_lgamma_r_pm0): check if lgamma_r(+0.0)
5682 returns positive infinity, in addition to lgamma_r(-0.0).
5683 AIX returns an incorrect result of negative infinity.
5685 * math.c (ruby_lgamma_r): handle +0.0, in addition to -0.0.
5687 Thu Apr 28 01:11:14 2016 NARUSE, Yui <naruse@ruby-lang.org>
5689 * time.c: define _DEFAULT_SOURCE because glibc 2.20 deprecates
5691 https://sourceware.org/glibc/wiki/Release/2.20
5693 Thu Apr 28 00:27:55 2016 Tanaka Akira <akr@fsij.org>
5695 * numeric.c (int_xor): {Fixnum,Bignum}#^ is unified into
5698 * bignum.c (rb_big_xor): Don't define Bignum#^.
5700 Wed Apr 27 20:53:59 2016 Tanaka Akira <akr@fsij.org>
5702 * numeric.c (int_aref): {Fixnum,Bignum}#[] is unified into
5705 * bignum.c (rb_big_aref): Don't define Bignum#<<.
5707 * internal.h (rb_big_aref): Declared.
5709 Wed Apr 27 16:10:35 2016 NARUSE, Yui <naruse@ruby-lang.org>
5711 * tool/instruction.rb: fix to follow current implementation.
5713 Wed Apr 27 15:47:54 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5715 * ext/stringio/stringio.c (strio_s_new): warn if a block is given,
5718 Wed Apr 27 14:29:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5720 * error.c (ruby_only_for_internal_use): raise fatal error when
5721 deprecated function only for internal use is called, not just a
5724 Tue Apr 26 23:42:30 2016 NAKAMURA Usaku <usa@ruby-lang.org>
5726 * tool/redmine-backporter.rb (rel): should not raise exceptions even if
5727 the user input is wrong. only reports the error and continue process.
5729 Tue Apr 26 23:35:23 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5731 * ruby.c (process_options): convert -e script to the encoding
5732 given by a command line option on Windows. assume it is the
5733 expected encoding. [ruby-dev:49461] [Bug #11900]
5735 Tue Apr 26 21:11:02 2016 Tanaka Akira <akr@fsij.org>
5737 * numeric.c (rb_int_lshift): {Fixnum,Bignum}#<< is unified into
5740 * bignum.c (rb_big_lshift): Don't define Bignum#<<.
5742 Tue Apr 26 20:59:40 2016 Tanaka Akira <akr@fsij.org>
5744 * numeric.c (rb_int_rshift): {Fixnum,Bignum}#>> is unified into
5747 * bignum.c (rb_big_rshift): Don't define Bignum#>>.
5749 Tue Apr 26 20:46:16 2016 Tanaka Akira <akr@fsij.org>
5751 * numeric.c (int_size): {Fixnum,Bignum}#size is unified into Integer.
5753 * bignum.c (rb_big_size_m): Don't define Bignum#size.
5755 * internal.h (rb_big_size_m): Declared.
5757 Tue Apr 26 20:09:08 2016 Tanaka Akira <akr@fsij.org>
5759 * numeric.c (rb_int_bit_length): {Fixnum,Bignum}#bit_length is
5760 unified into Integer.
5762 * bignum.c (rb_big_bit_length): Don't define Bignum#bit_length.
5764 * internal.h (rb_big_bit_length): Declared.
5766 Tue Apr 26 19:56:16 2016 Tanaka Akira <akr@fsij.org>
5768 * numeric.c (int_abs): Integer#{abs,magnitude} moved from
5771 * bignum.c (rb_big_abs): Don't define Bignum#{abs,magnitude}.
5773 * internal.h (rb_big_abs): Declared.
5775 Mon Apr 25 14:39:11 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5777 * ext/rbconfig/sizeof/extconf.rb: just check the existence of each
5778 types, to reduce configuration time, especially cross-compiling.
5780 * template/sizes.c.tmpl: calculate sizes of checked types at
5783 Mon Apr 25 11:27:27 2016 Marcus Stollsteimer <sto.mar@web.de>
5785 * doc/extension.rdoc: Improvements to english grammars.
5786 [Bug #12246][ruby-core:74792][ci skip]
5788 Mon Apr 25 11:17:50 2016 Marcus Stollsteimer <sto.mar@web.de>
5790 * encoding.c: Fix return value of `Encoding::ISO8859_1.name`
5791 [Bug #12313][ruby-core:75147][ci skip]
5792 * ext/bigdecimal/bigdecimal.c: Fix code sample of `BigDecimal.new`
5794 Sun Apr 24 23:29:16 2016 Rei Odaira <Rei.Odaira@gmail.com>
5796 * configure.in: add missing -lm for AIX.
5798 Sun Apr 24 18:33:58 2016 Kazuki Tsujimoto <kazuki@callcc.net>
5800 * vm_insnhelper.c (INLINE): disable r54738 if __NO_INLINE__ is defined.
5801 It caused "undefined reference to `vm_getivar'".
5803 Sun Apr 24 09:32:12 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
5805 * test/ruby/test_array.rb: Add test cases for Array#sum with
5806 non-numeric objects.
5808 Sun Apr 24 04:21:27 2016 NARUSE, Yui <naruse@ruby-lang.org>
5810 * vm_insnhelper.c (INLINE): define as `inline` when it is optimized.
5811 define as `static inline` when it is not optimized to keep
5812 the symbol generated.
5814 * vm_insnhelper.c (vm_getivar): use `INLINE` to force inline
5815 so that a compiler inlines it into vm_getinstancevariable
5816 and optimizes out is_attr and related branches.
5818 * vm_insnhelper.c (vm_getivar): use `inline` to recommend inline.
5819 Without this vm1_ivar_set is degraded.
5822 minimum results in each 5 measurements.
5823 Execution time (sec)
5824 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
5825 loop_whileloop 0.641 0.642 0.646
5826 vm1_ivar* 1.002 0.999 0.831
5827 vm1_ivar_set* 0.369 1.106 0.362
5829 Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23
5830 trunk 54727) [x86_64-linux]' (greater is better)
5831 name ruby 2.4.0dev (2016-04-23 trunk 54733) [x86_64-linux]
5840 Sat Apr 23 18:01:21 2016 NARUSE, Yui <naruse@ruby-lang.org>
5842 * vm_insnhelper.c (vm_getivar): specify inline instead of static inline.
5843 vm_getivar is called by vm_call_ivar and vm_getinstancevariable.
5844 At least with GCC 4.8 and 5.3 on Linux, they are inlining it into
5845 vm_call_ivar but not vm_getinstancevariable.
5846 By `inline`, they correctly inline it and gains performance.
5848 Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23
5849 trunk 54727) [x86_64-linux]' (greater is better)
5851 loop_whileloop 1.001
5855 Note the `inline`'s meaning is different between old GCC
5856 and C99. Old GCC's inline means C99's extern inline.
5857 https://gcc.gnu.org/onlinedocs/gcc/Inline.html
5858 Since Ruby specify -std=iso9899:1999, it works like C99.
5860 Sat Apr 23 16:11:39 2016 NARUSE, Yui <naruse@ruby-lang.org>
5862 * include/ruby/ruby.h (rb_mul_size_overflow): use UNLIKELY
5863 by user side to improve generality.
5865 Sat Apr 23 16:10:02 2016 NARUSE, Yui <naruse@ruby-lang.org>
5867 * include/ruby/ruby.h (RB_LIKELY): use prefix in ruby.h.
5869 * intern.h (LIKELY): define with RB_LIKELY.
5871 Sat Apr 23 13:27:25 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
5873 * NEWS: Add descriptions for Time#to_time updates.
5876 Sat Apr 23 13:21:24 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
5878 * NEWS: Add descriptions for DateTime#to_time updates.
5881 Sat Apr 23 11:21:27 2016 Marcus Stollsteimer <sto.mar@web.de>
5883 * ext/date/date_core.c (Init_date_core): [DOC] Convert DateTime
5884 documentation to RDoc from Markdown.
5885 [ruby-core:75136] [Bug #12311]
5887 Sat Apr 23 09:03:35 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5889 * ruby.c: cygwin does not use w32_cmdvector, command line can be
5890 other than UTF-8. [ruby-dev:49519] [Bug #12184]
5892 Sat Apr 23 01:00:03 2016 Rei Odaira <Rei.Odaira@gmail.com>
5894 * configure.in: don't use the system-provided round(3) on AIX.
5895 In AIX, round(0.49999999999999994) returns 1.0.
5896 Use round() in numeric.c instead.
5898 Fri Apr 22 21:00:44 2016 Tanaka Akira <akr@fsij.org>
5900 * test/ruby/test_time_tz.rb: Tests depends on Europe/Moscow removed
5901 to avoid test failures due to the tzdata change.
5902 https://github.com/eggert/tz/commit/8ee11a301cf173afb0c76e0315b9f9ec8ebb9d95
5905 Fri Apr 22 20:18:40 2016 NARUSE, Yui <naruse@ruby-lang.org>
5907 * include/ruby/ruby.h (rb_mul_size_overflow): added to handle
5908 mul overflow efficiently.
5910 * include/ruby/ruby.h (rb_alloc_tmp_buffer2): use rb_mul_size_overflow
5911 and avoid division where it can define DSIZE_T.
5913 * gc.c (xmalloc2_size): moved from ruby.h and use rb_mul_size_overflow.
5915 Fri Apr 22 20:34:04 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5917 * time.c (time_asctime): [DOC] add ctime example, not only
5918 asctime. [ruby-core:75126] [Bug #12310]
5920 Fri Apr 22 18:44:32 2016 NARUSE, Yui <naruse@ruby-lang.org>
5922 * variable.c: use uint32_t instead of long to avoid confusion about
5923 the type of ivtbl->numiv.
5925 Fri Apr 22 15:09:27 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5927 * eval_jump.c (exec_end_procs_chain): restore previous error info
5928 for each end procs. [ruby-core:75038] [Bug #12302]
5930 Fri Apr 22 15:04:56 2016 NAKAMURA Usaku <usa@ruby-lang.org>
5932 * tool/redmine-backporter.rb: the fullpath of merger.rb is too long to
5933 copy&paste on Windows. show shorter name instead on the platform.
5934 I'm sure that the user of this command on Windows is only me.
5936 Fri Apr 22 14:52:04 2016 NAKAMURA Usaku <usa@ruby-lang.org>
5938 * tool/merger.rb: remove temporary file.
5940 Fri Apr 22 11:27:03 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
5942 * lib/net/http.rb: Improve documentation for SSL requests via GET method.
5943 [fix GH-1325][ci skip] Patch by @jsyeo
5945 Fri Apr 22 10:51:13 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
5947 * lib/webrick/ssl.rb: Support to add SSLCiphers option.
5948 [fix GH-1321] Patch by @rhadoo
5950 Fri Apr 22 10:43:19 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
5952 * file.c, win32/file.c: Removed obsoleted safe level checks.
5953 [fix GH-1327] Patch by @cremno
5955 Fri Apr 22 10:01:48 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
5957 * benchmark/bm_so_meteor_contest.rb: fix a typo.
5958 [fix GH-1330][ci skip] Patch by @sachin21
5960 Fri Apr 22 04:57:01 2016 NARUSE, Yui <naruse@ruby-lang.org>
5962 * gc.c (rb_alloc_tmp_buffer_with_count): added like xmalloc2 to
5963 avoid duplicated check of size.
5965 * gc.c (ruby_xmalloc2): added to keep separate layers.
5967 * include/ruby/ruby.h (rb_alloc_tmp_buffer2): added to check
5968 the size more statically.
5970 Fri Apr 22 04:54:40 2016 NARUSE, Yui <naruse@ruby-lang.org>
5972 * include/ruby/ruby.h (LIKELY): moved from internal.h.
5974 * include/ruby/ruby.h (UNLIKELY): ditto.
5976 Thu Apr 21 01:44:19 2016 NARUSE, Yui <naruse@ruby-lang.org>
5978 * gc.c (objspace_malloc_prepare): remove size check because it is
5979 used by objspace_xmalloc and objspace_xcalloc.
5980 objspace_xmalloc introduces its own check in this commit.
5981 objspace_xcalloc checks with xmalloc2_size (ruby_xmalloc2_size).
5983 * gc.c (objspace_xmalloc0): common xmalloc function.
5985 * gc.c (objspace_xmalloc): introduce its own size check.
5987 * gc.c (objspace_xmalloc2): separated from ruby_xmalloc2 to clarify
5988 the layer who has the responsibility to check the size.
5990 * gc.c (objspace_xrealloc): remove duplicated size check.
5992 * gc.c (ruby_xmalloc2): use objspace_xmalloc2.
5994 * include/ruby/ruby.h (ruby_xmalloc2_size): follow the size limit
5995 as SSIZE_MAX. Note that ISO C says size_t is unsigned integer.
5997 Thu Apr 21 12:14:04 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
5999 * configure.in: check if succeeded in creating config.h.
6001 * tool/ifchange: ignore failures when TEST_COLORS unmatched. just
6002 use the default value if expected name is not contained in it.
6003 [ruby-core:75046] [Bug #12303]
6005 Wed Apr 20 17:33:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6007 * ext/cgi/escape/escape.c (cgiesc_unescape): define unescape
6008 method instead of _unescape, and should pass the optional
6009 argument to the super method.
6011 * lib/cgi/util.rb (CGI::Util#_unescape): remove intermediate
6014 Wed Apr 20 15:52:28 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6016 * error.c (syntax_error_initialize): move the default message,
6017 "compile error", from parse.y. the default parameter should
6018 belong to the class definition.
6020 * parse.y (yycompile0): use the default parameter.
6022 Wed Apr 20 10:25:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6024 * compile.c (append_compile_error): use rb_syntax_error_append.
6026 * error.c (rb_syntax_error_append): append messages into a
6027 SyntaxError exception instance.
6029 * parse.y (yycompile0): make new SyntaxError instance in main
6030 mode, otherwise error_buffer should be a SyntaxError if error
6033 Tue Apr 19 17:42:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6035 * error.c (err_vcatf): rename, and separate appending message from
6036 creating a string buffer.
6038 * error.c (rb_syntax_error_append): merge rb_error_vsprintf and
6039 rb_compile_err_append.
6041 * parse.y (parser_compile_error): use rb_syntax_error_append.
6043 Tue Apr 19 13:46:19 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6045 * compile.c (append_compile_error, compile_bug): pass iseq and get
6046 error info and file from it, not by the thread error info.
6048 * error.c (rb_report_bug_valist): take va_list instead of variadic
6049 arguments, and just report the bug but not abort.
6051 Tue Apr 19 13:18:12 2016 Naotoshi Seo <sonots@gmail.com>
6053 * lib/time.rb: revert r54167 because it would break
6054 backward compatibilities, and it is documented that
6055 Time.parse does not take into account time zone
6056 abbreations other than ones described in RFC 822
6058 Tue Apr 19 13:12:03 2016 Naotoshi Seo <sonots@gmail.com>
6060 * ChangeLog: Fix dates of previous commits
6062 Tue Apr 19 12:45:03 2016 Naotoshi Seo <sonots@gmail.com>
6064 * ChangeLog: Add descriptions for logger updates
6065 * NEWS: Add descriptions for logger updates
6067 Tue Apr 19 12:45:02 2016 Naotoshi Seo <sonots@gmail.com>
6069 * lib/logger.rb: Add shift_period_suffix option
6071 Tue Apr 19 12:45:01 2016 Naotoshi Seo <sonots@gmail.com>
6073 * lib/logger.rb: Allow specifying logger parameters in constructor
6074 such as level, progname, datetime_format, formatter.
6076 Mon Apr 18 16:07:01 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6078 * compile.c (iseq_peephole_optimize): should not replace the
6079 current target INSN, not to follow the replaced dangling link in
6080 the caller. [ruby-core:74993] [Bug #11816]
6082 Mon Apr 18 12:56:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6084 * numeric.c (flo_truncate): add an optional parameter, digits, as
6085 well as Float#round. [Feature #12245]
6087 * numeric.c (int_truncate): add an optional parameter, digits, as
6088 well as Integer#round. [Feature #12245]
6090 Sun Apr 17 04:18:56 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
6092 * tool/redmine-backporter.rb: revisions are strings.
6094 Sat Apr 16 14:26:49 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
6096 * ext/date/date_core.c : remove not used f_getlocal macro.
6097 After r54553 f_getlocal macro is not used.
6099 Sat Apr 16 14:15:24 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
6101 * ext/date/date_core.c : remove not used f_utc6 macro.
6102 After r54169 f_utc6 macro is not used.
6104 Sat Apr 16 10:00:11 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6106 * struct.c (struct_make_members_list, rb_struct_s_def): member
6107 names should be unique. [ruby-core:74971] [Bug #12291]
6109 * struct.c (struct_make_members_list): extract making member name
6110 list from char* va_list, with creating symbols without
6113 Sat Apr 16 01:33:27 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
6115 * tool/redmine-backporter.rb: sort revisions.
6117 Sat Apr 16 01:16:02 2016 Tanaka Akira <akr@fsij.org>
6119 * array.c (rb_ary_sum): Don't yield same element twice.
6122 Sat Apr 16 01:03:32 2016 Tanaka Akira <akr@fsij.org>
6124 * array.c (rb_ary_sum): Fix SEGV by [1/2r, 1].sum.
6126 Fri Apr 15 23:52:00 2016 Kenta Murata <mrkn@mrkn.jp>
6128 * rational.c (rb_rational_plus): rename from rb_rational_add
6129 to be aligned with rb_fix_plus.
6131 * array.c (rb_ary_sum): ditto.
6133 * internal.h: ditto.
6135 Fri Apr 15 23:42:00 2016 Kenta Murata <mrkn@mrkn.jp>
6137 * rational.c (rb_rational_add): rename from nurat_add.
6139 * array.c (rb_ary_sum): use rb_rational_add directly.
6141 * test/ruby/test_array.rb (test_sum): add assertions for an array of
6144 Fri Apr 15 22:31:00 2016 Kenta Murata <mrkn@mrkn.jp>
6146 * array.c (rb_ary_sum): apply the precision compensated algorithm
6147 for an array in which Rational and Float values are mixed.
6149 * test/ruby/test_array.rb (test_sum): add assertions for the above
6152 Fri Apr 15 22:30:01 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6154 * thread.c (rb_thread_setname): defer setting native thread name
6155 set in initialize until the native thread is created.
6156 [ruby-core:74963] [Bug #12290]
6158 Fri Apr 15 20:27:16 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
6160 * lib/irb/ext/save-history.rb: Fix NoMethodError when method is not defined.
6162 Fri Apr 15 15:38:58 2016 NARUSE, Yui <naruse@ruby-lang.org>
6164 * common.mk (benchmark): order options for built-ruby and compare-ruby.
6166 Fri Apr 15 14:14:00 2016 Kenta Murata <mrkn@mrkn.jp>
6168 * test/ruby/test_array.rb (test_sum): add assertions for Rational and
6171 Fri Apr 15 10:07:11 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6173 * ext/io/console/console.c (console_key_pressed_p): raise the same
6174 exception, "unknown virtual key code", for names with nul chars.
6175 though console_win32_vk() considers the length and can deal with
6176 nul chars, rb_sprintf() raised at PRIsVALUE previously, so quote
6177 it if it is unprintable.
6179 Fri Apr 15 09:02:58 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6181 * ext/io/console/console.c (rb_sym2str): fallback definition for
6182 older ruby. [ruby-core:74953] [Bug #12284]
6184 Thu Apr 14 21:46:36 2016 Tanaka Akira <akr@fsij.org>
6186 * array.c (rb_ary_sum): Support the optional argument, init, and
6189 Thu Apr 14 19:02:41 2016 NARUSE, Yui <naruse@ruby-lang.org>
6191 * lib/irb/ext/save-history.rb: suppress warning: method redefined;
6192 discarding old save_history=.
6194 Thu Apr 14 14:58:14 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6196 * ext/tk/tkutil/tkutil.c (tk_hash_kv): the third argument can be
6197 nil not only an Array. reported by @windwiny at
6198 https://github.com/ruby/ruby/commit/cdaa94e#commitcomment-17096618
6200 Thu Apr 14 14:28:55 2016 cremno phobia <cremno@mail.ru>
6202 * cont.c (fiber_initialize_machine_stack_context): fix wrong
6203 _MSC_VER check, should be decimal but not hexadecimal.
6204 [ruby-core:74936] [Bug #12279]
6206 Wed Apr 13 22:51:38 2016 Tanaka Akira <akr@fsij.org>
6208 * array.c (rb_ary_sum): Array#sum is implemented.
6209 Kahan's compensated summation algorithm for precise sum of float
6210 numbers is moved from ary_inject_op in enum.c.
6212 * enum.c (ary_inject_op): Don't specialize for float numbers.
6214 [ruby-core:74569] [Feature #12217] proposed by mrkn.
6216 Wed Apr 13 15:56:35 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6218 * numeric.c (flo_ceil): add an optional parameter, digits, as
6219 well as Float#round. [Feature #12245]
6221 * numeric.c (flo_floor): add an optional parameter, digits, as
6222 well as Float#round. [Feature #12245]
6224 * numeric.c (int_ceil): add an optional parameter, digits, as
6225 well as Integer#round. [Feature #12245]
6227 * numeric.c (int_floor): add an optional parameter, digits, as
6228 well as Integer#round. [Feature #12245]
6230 Wed Apr 13 14:47:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6232 * file.c (Init_File): add alias File.empty? to File.zero?.
6235 Wed Apr 13 14:36:24 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6237 * parse.y (assign_in_cond): allow multiple assignment in
6238 conditional expression. [Feature #10617]
6240 Wed Apr 13 14:11:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6242 * bignum.c (rb_big_size): add wrapper function of BIGSIZE and
6243 rename the method function with _m suffix.
6245 * numeric.c (int_round_zero_p): extracted from rb_int_round.
6246 optimize for Bignum, and convert VALUE returned by Numeric#size
6249 Wed Apr 13 12:00:08 2016 Koichi Sasada <ko1@atdot.net>
6251 * test/ruby/test_basicinstructions.rb: add a test to check access
6252 instance variables on special const objects.
6254 All of such objects are frozen, so that we can not set instance
6255 variables for them. But we can read instance variables and return
6256 default value (nil).
6258 Tue Apr 12 20:40:35 2016 Kaneko Yuichiro <spiketeika@gmail.com>
6260 * ext/date/date_core.c (time_to_time): should preserve timezone
6261 info. [ruby-core:74889] [Bug #12271]
6263 Tue Apr 12 11:51:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6265 * compile.c (new_label_body): initialize bit fields, since
6266 compile_data_alloc does not clear the memory. [Bug #12082]
6268 Mon Apr 11 20:18:43 2016 Koichi Sasada <ko1@atdot.net>
6270 * vm_backtrace.c (frame2klass): filter only for imemo_ment.
6271 T_IMEMO/imemo_iseq can be passed here.
6273 Mon Apr 11 17:43:04 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6275 * compile.c (iseq_optimize): disable tail call optimization in
6276 rescued, rescue, and ensure blocks.
6277 [ruby-core:73871] [Bug #12082]
6279 Mon Apr 11 06:54:39 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6281 * file.c (apply2files): apply to a VALUE vector instead of a
6284 Sun Apr 10 20:54:16 2016 Joe Swatosh <joe.swatosh@gmail.com>
6286 * ext/win32/lib/win32/registry.rb (DeleteValue, DeleteKey): fix
6287 API names. [ruby-core:74863] [Bug #12264]
6289 Sun Apr 10 17:47:42 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6291 * file.c (rb_realpath_internal): no argument conversions since
6292 this internal function does not need to_path and encoding
6293 conversions, not to be affected by the default internal
6296 Sat Apr 9 10:03:12 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6298 * load.c (rb_f_load): raise with the original path name before
6299 encoding conversion.
6301 Sat Apr 9 02:05:10 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6303 * bignum.c (rb_cstr_parse_inum): [EXPERIMENTAL] new function to
6304 parse integer in C-string with length. the name and the
6305 arguments may be changed in the future.
6307 * bignum.c (rb_str_to_inum): preserve encoding of the argument in
6308 error messages, and no longer needs to copy non-terminated
6311 * bignum.c (rb_str2big_{poweroftwo,normal,karatsuba,gmp}): ditto.
6313 Thu Apr 7 19:04:03 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6315 * doc/regexp.rdoc (comments): [DOC] terminators cannot appear in
6316 comments. [ruby-core:74838] [Bug #12256]
6318 Thu Apr 7 11:24:14 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6320 * ext/tk/tkutil/tkutil.c (cbsubst_initialize): fix out-of-bound
6321 access when no arguments given. `p Tk::Event.new` crashed.
6323 Fri Apr 1 01:26:00 2016 Benoit Daloze <eregontp@gmail.com>
6325 * ext/coverage/coverage.c: Fully reset coverage to not persist global state.
6326 It was returning old file coverages as empty arrays to the user.
6327 [ruby-core:74596] [Bug #12220]
6329 * ext/coverage/coverage.c (rb_coverages): remove unused static state.
6331 * thread.c: Moved and renamed coverage_clear_result_i to reset_coverage_i.
6333 * test/coverage/test_coverage.rb: improve precision of tests.
6335 Wed Apr 6 22:41:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6337 * configure.in (rb_cv_lgamma_r_m0): fix the condition for
6338 lgamma_r(-0.0). [Bug #12249]
6340 Wed Apr 6 17:38:42 2016 NAKAMURA Usaku <usa@ruby-lang.org>
6342 * tool/downloader.rb (RubyGems.download): follow the change of the
6343 rubygems ssl_certs directory tree introduced by previous commit.
6345 Wed Apr 6 15:00:27 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
6347 * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.3.
6348 Please see entries of 2.6.3 on
6349 https://github.com/rubygems/rubygems/blob/master/History.txt
6351 Wed Apr 6 14:13:28 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6353 * configure.in (rb_cv_lgamma_r_m0): check if lgamma_r(-0.0)
6354 returns negative infinity. [Bug #12249]
6356 * math.c (ruby_lgamma_r): define by the configured result.
6358 Wed Apr 6 10:56:15 2016 Anton Davydov <antondavydov.o@gmail.com>
6360 * lib/logger.rb (Logger#level=): remove unnecessary local
6363 * lib/logger.rb (Logger#initialize, Logger#reopen): [DOC] mention
6364 the default values. cherrypicked from [GH-1319].
6366 Wed Apr 6 10:17:53 2016 cremno phobia <cremno@mail.ru>
6368 * math.c (ruby_lgamma_r): missing/lgamma_r.c is used on Windows,
6369 since msvcrt does not provide it.
6371 * missing/lgamma_r.c (lgamma_r): fix lgamma(-0.0).
6372 [ruby-core:74823] [Bug #12249]
6374 Wed Apr 6 01:22:55 2016 NAKAMURA Usaku <usa@ruby-lang.org>
6376 * math.c (ruby_lgamma_r): mswin's lgamma_r also seems to be wrong.
6379 Wed Apr 6 00:53:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6381 * math.c (ruby_lgamma_r): fix lgamma(-0.0) on mingw and OSX.
6383 * math.c (ruby_tgamma): fix tgamma(-0.0) on mingw.
6384 [ruby-core:74817] [Bug #12249]
6386 Tue Apr 5 14:50:28 2016 NARUSE, Yui <naruse@ruby-lang.org>
6388 * ext/nkf/nkf-utf8/nkf.c (mime_putc): fix typo.
6389 [Bug #12202] [ruby-core:74802]
6391 Tue Apr 5 00:06:44 2016 Aeris <aeris@imirhil.fr>
6393 * ext/openssl/ossl_ssl.c (ossl_ssl_tmp_key): Access to ephemeral
6394 TLS session key in case of forward secrecy cipher. Only
6395 available since OpenSSL 1.0.2. [Fix GH-1318]
6397 * ext/openssl/extconf.rb: Check for SSL_get_server_tmp_key.
6399 Mon Apr 4 23:37:05 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6401 * vm_core.h (rb_vm_struct): make at_exit a single linked list but
6402 not RArray, not to mark the registered functions by the write
6403 barrier. based on the patches by Evan Phoenix.
6404 [ruby-core:73908] [Bug #12095]
6406 Mon Apr 4 17:43:45 2016 Koichi Sasada <ko1@atdot.net>
6408 * gc.c: change default value of
6409 RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO 0.3 -> 0.2
6410 RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO 0.8 -> 0.65
6412 These values are same as Ruby 2.0.0.
6414 This change cause GC counts.
6415 However, generational GC reduced each (minor) GC time and
6416 increase memory locality. So that not so big impact on my
6417 benchmarking results.
6418 (surprisingly, this fix speed up programs on some cases)
6420 You can change these values by environment variables
6423 Mon Apr 4 17:36:52 2016 Koichi Sasada <ko1@atdot.net>
6425 * gc.c (get_envparam_double): take an upper_bound.
6427 And also take an accept_zero flag which allow to accept zero
6428 even if lower_bound is set.
6430 * gc.c (ruby_gc_set_params): fix parameters.
6432 RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO set 0.9 as *lower_bound*, so that
6433 it should be upper_bound.
6434 Set RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO as lower bound.
6436 Also set lower/upper bound of RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO to
6437 RUBY_GC_HEAP_FREE_SLOTS_MIN/MAX_RATIO.
6439 Mon Apr 4 16:41:32 2016 Koichi Sasada <ko1@atdot.net>
6441 * vm.c (Init_VM): should pass tokens.
6443 Sun Apr 3 09:34:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6445 * numeric.c (flodivmod): round division if it is a finite number
6446 and module is required.
6448 * numeric.c (dbl2ival): do not round here.
6450 * numeric.c (flo_ceil): use dbl2ival.
6452 * numeric.c (flo_round): round explicitly.
6454 Sat Apr 2 15:24:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6456 * include/ruby/intern.h (rb_check_arity): returns argc.
6458 Fri Apr 1 20:58:33 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
6460 * enc/unicode/case-folding.rb, casefold.h: Data generation to implement
6461 swapcase functionality for titlecase characters. Swapcase isn't defined
6462 by Unicode, because the purpose/usage of swapcase is unclear anyway.
6463 The implementation follows a proposal from Nobu, swapping the case of
6464 each component of a titlecase character individually.
6465 This means that the titlecase characters have to be decomposed.
6467 * enc/unicode.c: Code using the above data.
6469 * test/ruby/enc/test_case_mapping.rb: Tests for the above.
6471 Fri Apr 1 14:55:28 2016 Kazuki Yamaguchi <k@rhe.jp>
6473 * configure.in (AC_CONFIG_FILES): $srcdir/.git can be a file pointing
6474 the real git_dir, such as when the git working tree is a "linked
6475 working tree" (a working tree created by git-worktree). So use
6476 git-rev-parse --git-dir to check if $srcdir is the top-level of a git
6477 repository, not just checking if the $srcdir/.git directory does exist
6478 or not. [ruby-core:74759] [Bug #12239]
6480 * tool/change_maker.rb: use tool/vcs.rb to detect VCS. This used to have
6481 its own VCS detection code, while we have tool/vcs.rb.
6483 * tool/vcs.rb (detect): remove code duplication
6485 Fri Apr 1 04:50:44 2016 Eric Wong <e@80x24.org>
6487 * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc):
6488 enable SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER by default
6491 Fri Apr 1 01:13:55 2016 Benoit Daloze <eregontp@gmail.com>
6493 * thread.c (update_coverage): Do not track coverage in loaded files
6494 after Coverage.result. Avoids out-of-bounds access. [Bug #12237]
6496 * ext/coverage/coverage.c (coverage_clear_result_i): document.
6498 Thu Mar 31 19:16:16 2016 Koichi Sasada <ko1@atdot.net>
6500 * gc.c: need to set initial value of GC_HEAP_FREE_SLOTS_GOAL_RATIO.
6502 Thu Mar 31 17:50:27 2016 Koichi Sasada <ko1@atdot.net>
6504 * gc.c: change additional allocation policy.
6506 Introduce new environment variable
6507 RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO (goal_ratio) to calculate the
6508 ratio of additional memory.
6510 Before this change, we add pages with the following formula
6511 (when free_slots < total_pages * RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO):
6512 next_pages = total_pages * RUBY_GC_HEAP_GROWTH_FACTOR
6514 This addition can allocate too much.
6516 With this change, we increase pages to satisfy the following formula:
6517 next_free_slots = next_total_slots * goal_ratio
6519 next_free_slots = free_slots + adding_slots
6520 next_total_slots = total_slots + adding_slots.
6522 If you want to prepare many free slots, increase this ratio.
6524 If this variable is 0, then simply multiply
6525 RUBY_GC_HEAP_GROWTH_FACTOR.
6527 * gc.c (get_envparam_double): enable to accept 0.
6529 Thu Mar 31 17:48:25 2016 Koichi Sasada <ko1@atdot.net>
6531 * gc.c (gc_marks_finish): fix syntax error.
6533 Thu Mar 31 16:49:36 2016 Koichi Sasada <ko1@atdot.net>
6535 * gc.c: simplify allocate/free detecting logic at the end of marking.
6537 Before this change, heap_pages_min_slots are calculated at the
6538 beginning sweeping phase. And this value is used at the end of
6539 *next* marking phase.
6541 To simplify it, we use this value at the end of this marking phase.
6542 It means that we don't need to store this value as global state.
6544 Also heap_pages_max_slots is calculated at the begging of sweeping
6545 phase and used at the end of sweeping phase.
6546 To simplify this logic, we introduced new global value
6547 heap_pages_freeable_pages it means extra pages count we can free.
6548 gc_sweep_step() checks this value and moves empty pages to tomb_heap
6549 not more than this value.
6551 Because of this fix, heap_pages_swept_slots is no longer needed.
6553 * gc.c (rb_objspace_t::heap_pages): restruct the objspace global
6556 remove the following fields
6557 * swept_slots (and heap_pages_swept_slots)
6558 * min_free_slots (and heap_pages_min_free_slots)
6559 * max_free_slots (and heap_pages_max_free_slots)
6560 And add the following filed.
6561 * freeable_pages (and heap_pages_freeable_pages)
6563 * gc.c (heap_pages_free_unused_pages): unlink tomb heap pages
6564 because tomb heap should have only freeable pages.
6566 * gc.c (heap_extend_pages): add parameters for future extension.
6568 Thu Mar 31 16:43:02 2016 Koichi Sasada <ko1@atdot.net>
6570 * gc.c: add GC parameters to configure the following values:
6571 * RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO:
6572 allocate additional pages when free slots is lower than
6573 the value (total_slots * (this ratio)).
6574 * RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO:
6575 allow to free pages when free slots is greater than
6576 the value (total_slots * (this ratio)).
6578 Before this change, these values are hard coded.
6580 * gc.c (ruby_gc_params_t): ditto.
6582 * gc.c (ruby_gc_set_params): ditto.
6584 Thu Mar 31 15:59:17 2016 Koichi Sasada <ko1@atdot.net>
6586 * gc.c (gc_verify_heap_page): check the number of zombies.
6588 * gc.c (gc_verify_heap_pages): check also tomb heap.
6590 Thu Mar 31 15:48:18 2016 Koichi Sasada <ko1@atdot.net>
6592 * gc.c (gc_page_sweep): return free slots count.
6594 * gc.c (gc_sweep_step): use returned free slots count.
6596 * gc.c (gc_sweep_step): change variable name `next'
6597 to `next_sweep_page'.
6599 Thu Mar 31 11:33:49 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6601 * ext/date/date_core.c (d_lite_strftime, dt_lite_strftime): [DOC]
6602 fix indent not to be a big sole verbatim.
6604 Thu Mar 31 11:18:19 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6606 * ext/date/date_core.c (Init_date_core): [DOC] fix misplaced doc
6607 of DateTime. [ruby-core:74729] [Bug #12233]
6609 Thu Mar 31 03:41:02 2016 NARUSE, Yui <naruse@ruby-lang.org>
6611 * ext/nkf/nkf-utf8/nkf.c: Merge upstream 69f7e74dde.
6614 Wed Mar 30 16:33:19 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6616 * extension.rdoc, extension.ja.rdoc: [DOC] Fix some errors.
6617 Renamed files, wrong method names or argument types; the example
6618 GetDBM macro is now updated to the current version of the actual
6619 code. patch by Marcus Stollsteimer in [ruby-core:74690].
6622 Wed Mar 30 09:46:01 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
6624 * lib/open-uri.rb: Use `userinfo` for authenticated proxy.
6625 [fix GH-1148] Patch by @SokichiFujita
6626 * test/open-uri/test_open-uri.rb: ditto.
6627 [fix GH-1309] Patch by @jdamick
6629 Wed Mar 30 01:56:06 2016 NARUSE, Yui <naruse@ruby-lang.org>
6631 * ext/nkf/nkf-utf8/nkf.c: Merge upstream 4f3edf80a0.
6632 patched by Anton Sivakov [Bug #12201] [Bug #12202]
6634 Wed Mar 30 01:54:30 2016 NARUSE, Yui <naruse@ruby-lang.org>
6636 * tool/redmine-backporter.rb: add given revision to current changesets
6637 on associating the revision to the related ticket.
6639 Wed Mar 30 01:53:17 2016 NARUSE, Yui <naruse@ruby-lang.org>
6641 * tool/merger.rb: update revision.h before merge.
6643 Tue Mar 29 19:33:54 2016 NARUSE, Yui <naruse@ruby-lang.org>
6645 * addr2line.c: define toupper for its use. fix r54391.
6647 Tue Mar 29 19:23:46 2016 NARUSE, Yui <naruse@ruby-lang.org>
6649 * include/ruby/ruby.h (rb_isupper, rb_islower, rb_isalpha, rb_isdigit,
6650 rb_isalnum, rb_isxdigit, rb_isblank, rb_isspace, rb_isblank,
6651 rb_iscntrl, rb_isprint, rb_ispunct, rb_isgraph,
6652 rb_tolower, rb_toupper): use inline function to avoid function call.
6654 * include/ruby/ruby.h (rb_isascii): use inline function to clarify
6657 Tue Mar 29 18:56:55 2016 NARUSE, Yui <naruse@ruby-lang.org>
6659 * tool/redmine-backporter.rb (backport): show merger.rb's path.
6661 * tool/redmine-backporter.rb (show): show current issue again if no
6662 ticket number is given.
6664 * tool/redmine-backporter.rb (rel): show error message if current
6665 bugs.ruby-lang.org doesn't support the API.
6667 Tue Mar 29 18:54:34 2016 NARUSE, Yui <naruse@ruby-lang.org>
6669 * tool/merger.rb: support to backport header as backport identifier.
6670 Now you can specify by 'merge revision(s) 49254: [Backport #10738]'.
6672 Tue Mar 29 16:53:44 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
6674 * enc/unicode/case-folding.rb, casefold.h: Tweaked handling of 6
6675 special cases in CaseUnfold_11_Table.
6677 * enc/unicode.c: Adjustments for above.
6679 * test/ruby/enc/test_case_mapping.rb: Tests for the above: Some tests in
6680 test_titlecase activated; test_greek added. A test in test_cherokee fixed.
6682 Tue Mar 29 13:31:00 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
6684 * enc/unicode.c: Cleaned up some comments.
6686 Tue Mar 29 13:24:56 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
6688 * enc/unicode/case-folding.rb, casefold.h: Removing data for idempotent
6691 * enc/unicode.c: Adjust code to data removal.
6693 Tue Mar 29 12:45:18 2016 Laurent Arnoud <laurent@spkdev.net>
6695 * lib/webrick/httpresponse.rb: Move error_body to method. It allow to
6696 override the body more easily. [fix GH-1307]
6697 * test/webrick/test_httpresponse.rb: ditto.
6699 Tue Mar 29 06:40:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6701 * error.c (rb_compile_err_append): rb_thread_t::base_block is no
6704 * iseq.c (rb_iseq_compile_with_option): ditto, no protection is
6707 Tue Mar 29 06:39:22 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6709 * parse.y (struct parser_params): move parse_in_eval flag from
6712 * parse.y (rb_parser_set_context): set parsing context, not only
6715 * iseq.c (rb_iseq_compile_with_option): the parser now refers no
6716 thread local states to be restored.
6718 * vm_eval.c (eval_string_with_cref): ditto.
6720 Mon Mar 28 21:24:02 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
6722 * numeric.c (int_pos_p): fix typos.
6724 Mon Mar 28 14:54:49 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
6726 * enc/unicode.c: Refactoring in preparation for data reduction for
6729 Mon Mar 28 14:36:36 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
6731 * enc/unicode.c: Minor refactoring for I WITH DOT ABOVE.
6733 Mon Mar 28 14:26:24 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
6735 * enc/unicode.c: Removed code now covered by data from table.
6737 Mon Mar 28 11:49:21 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
6739 * enc/unicode.c: Adding comments. [ci skip]
6741 Mon Mar 28 11:30:23 2016 Shinichi Maeshima <netwillnet@gmail.com>
6743 * lib/rubygems.rb: Fix `Gem.find_spec_for_exe` picks oldest gem.
6744 https://github.com/travis-ci/travis-ci/issues/5798
6745 https://github.com/rubygems/rubygems/pull/1566
6746 * test/rubygems/test_gem.rb: ditto.
6748 Mon Mar 28 11:26:31 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
6750 * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.2.
6751 Please see entries of 2.6.2 on
6752 https://github.com/rubygems/rubygems/blob/master/History.txt
6754 Mon Mar 28 11:02:31 2016 Hiroshi Shirosaki <h.shirosaki@gmail.com>
6756 * lib/rubygems/test_case.rb: Fix test on Windows for inconsistent temp path.
6757 https://github.com/rubygems/rubygems/pull/1554
6758 [Bug #12193][ruby-core:74431]
6760 Mon Mar 28 08:19:49 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6762 * sprintf.c (rb_str_format): refactor floating point format of
6763 Rational by using generic Integer functions.
6765 * sprintf.c (rb_str_format): fix buffer overflow, length must be
6766 greater than precision. reported by William Bowling <will AT
6769 Sun Mar 27 12:13:37 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6771 * sprintf.c (rb_str_format): convert Rational to floating point
6772 format by using generic Integer functions, not by methods which
6775 Sat Mar 26 10:55:12 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6777 * numeric.c (rb_int2str): conversion function to String for
6780 * numeric.c (rb_int_round): rounding function for generic
6783 * numeric.c (rb_int_{uminus,plus,minus,mul,idiv,modulo}): basic
6784 arithmetic functions for generic Integers.
6786 * numeric.c (FIXNUM_{POSITIVE,NEGATIVE,ZERO}_P): predict macros
6789 Sat Mar 26 06:34:24 2016 NARUSE, Yui <naruse@ruby-lang.org>
6791 * localeinit.c (rb_locale_charmap_index): fix prototype.
6792 patched by Andreas Schwab [Bug #12218]
6794 Fri Mar 25 16:40:48 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
6796 * test/ruby/enc/test_case_mapping.rb: Additional tests title case;
6797 some not yet activated.
6799 Fri Mar 25 13:38:11 2016 Kazuki Yamaguchi <k@rhe.jp>
6801 * ext/openssl/extconf.rb: check SSL_CTX_set_next_proto_select_cb
6802 function rather than OPENSSL_NPN_NEGOTIATED macro. it exists
6803 even if it is disabled by OpenSSL configuration.
6804 [ruby-core:74384] [Bug #12182]
6806 * ext/openssl/ossl_ssl.c: update #ifdef(s) as above.
6808 * test/openssl/test_ssl.rb: skip NPN tests if NPN is disabled.
6810 Fri Mar 25 11:08:37 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6812 * lib/uri/http.rb (URI::HTTP#initialize): [DOC] fix example,
6813 missing mandatory arguments. [ruby-core:74540] [Bug #12215]
6815 Fri Mar 25 01:50:58 2016 NARUSE, Yui <naruse@ruby-lang.org>
6817 * thread_pthread.c (reserve_stack): fix reserving position where
6818 the stack growing bottom to top. [Bug #12118]
6820 Fri Mar 25 01:10:42 2016 Sebastian Schuberth <sschuberth@gmail.com>
6822 * lib/mkmf.rb (find_executable0): On Windows, it is actually valid
6823 to surround individual PATH directory entries with double
6824 quotes. Remove these before joining the path as otherwise the
6825 literal quotes would become part of the path, resulting in the
6826 executable not to be found. [Fix GH-1305]
6828 Thu Mar 24 22:38:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6830 * strftime.c (FMT, FMTV): remove recursive-assignments to get rid
6831 of undefined behavior. [ruby-core:74532] [Bug #12213]
6833 Thu Mar 24 17:44:02 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6835 * strftime.c (FMT_PADDING): extract format for padding.
6837 * strftime.c (FMT_PRECISION): extract precision formula.
6839 * strftime.c (FMTV): append formatted string to expand the result.
6841 Thu Mar 24 14:20:21 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6843 * strftime.c (STRFTIME): deal with case conversion flags for
6846 Thu Mar 24 12:43:26 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6848 * ext/date/date_core.c (dt_lite_iso8601): strftimev() always
6849 returns a String, so append them directly.
6851 * ext/date/date_core.c (d_lite_jisx0301, iso8601_timediv),
6852 (dt_lite_jisx0301): format by the format string in local buffer
6853 to prevent intermediate strings from GC.
6855 * ext/date/date_core.c (mk_inspect_raw, mk_inspect): inspect by
6856 "%+"PRIsVALUE, to prevent intermediate strings from GC.
6858 Thu Mar 24 11:43:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6860 * strftime.c (rb_strftime_with_timespec): remove unnecessary
6861 check, as `s` equals to `endp` when recursed STRFTIME resized
6862 the capacity same as the size.
6864 Wed Mar 23 21:48:00 2016 Kenta Murata <mrkn@mrkn.jp>
6866 * enum.c (ary_inject_op): put subtract operation out of if-clause.
6868 Wed Mar 23 21:38:00 2016 Kenta Murata <mrkn@mrkn.jp>
6870 * enum.c (ary_inject_op): Use Kahan's compensated summation algorithm
6871 for summing up float values.
6873 Wed Mar 23 20:56:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6875 * strftime.c (rb_strftime_with_timespec): append formatted results
6876 to the given string with expanding, and also deal with NUL chars.
6878 * strftime.c (rb_strftime, rb_strftime_timespec): return formatted
6879 string, not the length put in the given buffer.
6881 * time.c (rb_strftime_alloc): no longer needs to retry with
6882 reallocating buffers.
6884 * time.c (time_strftime): no longer needs to split by NUL chars.
6886 Wed Mar 23 14:23:54 2016 NARUSE, Yui <naruse@ruby-lang.org>
6888 * lib/rdoc/ri/driver.rb (interactive): rescue NotFoundError raised in
6889 expand_name. (display_name rescues NotFoundError by itself,
6890 the original logic looks buggy...)
6892 Wed Mar 23 11:44:53 2016 cremno <cremno@mail.ru>
6894 * marshal.c (r_long): cast to `signed char`, which is used
6895 already, instead of SIGN_EXTEND_CHAR.
6897 * parse.y: SIGN_EXTEND_CHAR is no longer used. [Fix GH-1302]
6899 Wed Mar 23 11:38:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6901 * cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL_PARAM):
6902 * add missing parentheses and remove double quotes.
6903 * rename to get rid of recursive references.
6904 * as --excludes-dir option is for a path name, its argument
6905 should be converted.
6906 [ruby-dev:49526] [Bug #12199]
6908 Wed Mar 23 10:39:38 2016 Koichi ITO <koic.ito@gmail.com>
6910 * variable.c: Added documentation about order of `Module#constants`
6911 [ci skip][Bug #12121][ruby-dev:49505][fix GH-1301]
6913 Tue Mar 22 21:08:30 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
6915 * include/ruby/oniguruma.h: Additional flag for characters that are titlecase.
6917 * enc/unicode/case-folding.rb, casefold.h: Using above flag in data.
6919 * enc/unicode.c: Marking capitalized character as unmodified if it is
6922 * test/ruby/enc/test_case_mapping.rb: Tests for above functionality.
6924 Tue Mar 22 14:18:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6926 * parse.y (lambda_body, parser_yylex): warn mismatched indentation
6929 Tue Mar 22 11:36:49 2016 NAKAMURA Usaku <usa@ruby-lang.org>
6931 * time.c (wmul): wrong condition.
6932 fixed many test failures on 32bit and LLP64 platforms.
6934 Tue Mar 22 10:31:34 2016 NAKAMURA Usaku <usa@ruby-lang.org>
6936 * time.c (wdiv, wmod): wdivmod0() assumes the 3rd and the 4th arguments
6938 maybe checking them in wdivmod0() is better manner, but I guess that
6939 passing real dummy pointers may be faster than checking and branching
6941 this commit fixes SEGV on 32bit and LLP64 platforms.
6943 Tue Mar 22 10:24:04 2016 NAKAMURA Usaku <usa@ruby-lang.org>
6945 * time.c (divmodv): void function never returns any value.
6947 Tue Mar 22 10:11:01 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6949 * test/lib/test/unit.rb (Test::Unit::StatusLine#failed): print
6950 failed messages only if replacing mode, otherwise defer them
6951 until the end, to get rid of interleaving failures with progress
6952 messages. refix r54195.
6954 Tue Mar 22 03:45:03 2016 NARUSE, Yui <naruse@ruby-lang.org>
6956 * time.c (MUL_OVERFLOW_FIXWV_P): defined for FIXWV.
6958 * time.c (wmul): use MUL_OVERFLOW_FIXWV_P and only switch.
6960 * time.c (wmul): use mul which has Fixnum optimization.
6962 * time.c (rb_time_magnify): If WIDEVALUE_IS_WIDER, wmul() has the same
6963 optimized logic, else mul() has also the similar logic for Fixnum.
6965 * time.c (rb_time_unmagnify): almost ditto.
6967 Tue Mar 22 03:10:09 2016 NARUSE, Yui <naruse@ruby-lang.org>
6969 * time.c (divmodv): add the case both arguments are Fixnum.
6971 * time.c (wquo): use quo which has Fixnum optimization.
6973 * time.c (wdivmod0): added for WIDEVALUE_IS_WIDER.
6975 * time.c (wdivmod): use wdivmod0 and divmodv.
6976 divmodv has Fixnum optimization.
6978 * time.c (wdiv): use wdivmod0 and div to avoid the use of divmodv which
6979 calls id_quo whose return value is array.
6981 * time.c (wmod): use wdivmod0 and mod to avoid the use of divmodv which
6982 calls id_quo whose return value is array.
6984 Mon Mar 21 22:32:50 2016 NARUSE, Yui <naruse@ruby-lang.org>
6986 * internal.h (rb_fix_divmod_fix): like r54213, use FIX2NUM only if
6987 x == FIXNUM_MIN && y == -1. This must be a rare case and it is
6988 expected compiler to handle well.
6990 Mon Mar 21 22:15:11 2016 NARUSE, Yui <naruse@ruby-lang.org>
6992 * time.c (mod): Add Fixnum case.
6994 * time.c (quo): c can be Fixnum except a == FIXNUM_MIN && b == -1.
6995 Such case can be optimized out because quo()'s argument is constant.
6997 Mon Mar 21 22:09:24 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
6999 * internal.h (rb_fix_mul_fix): multiply converted values, not
7002 Mon Mar 21 20:18:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7004 * common.mk (TEST_EXCLUDES, EXCLUDE_TESTFRAMEWORK): use full spell
7007 * cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL): suppress path name
7008 conversions by msys2. [ruby-dev:49525] [Bug #12199]
7010 Mon Mar 21 19:09:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7012 * string.c (enc_succ_alnum_char): try to skip an invalid character
7013 gap between GREEK CAPITAL RHO and SIGMA.
7014 [ruby-core:74478] [Bug #12204]
7016 Mon Mar 21 18:55:49 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7018 * node.c (rb_gc_mark_node): NODE_MATCH2 can have nd_args, u3,
7021 Sun Mar 20 21:17:13 2016 NAKAMURA Usaku <usa@ruby-lang.org>
7023 * internal.h (rb_int128t2big): declare only when HAVE_INT128_T.
7024 fixed a compile error with VC++ introduced at r54203.
7026 Sun Mar 20 20:10:14 2016 NARUSE, Yui <naruse@ruby-lang.org>
7028 * internal.h (DLONG): defined if long is 32bit (and LONG_LONG is 64bit;
7029 but LONG_LONG is always defined as 64bit), or there's int128_t.
7031 * internal.h (DL2NUM): defined if DLONG is defined.
7033 * internal.h (rb_fix_mul_fix): defined for `Fixnum * Fixnum`.
7035 * insns.def (opt_mul): use rb_fix_mul_fix().
7037 * numeric.c (fix_mul): ditto.
7039 * time.c (mul): ditto.
7041 Sun Mar 20 18:53:49 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7043 * numeric.c (fix_gt, fix_ge, fix_lt, fix_le): optimize comparisons
7044 Fixnum against Bignum by rb_big_cmp in inversed order without
7045 new Bignum instance.
7047 Sun Mar 20 18:44:52 2016 NARUSE, Yui <naruse@ruby-lang.org>
7049 * time.c (add): remove FIXABLE() which is in LONG2NUM().
7051 * time.c (sub): ditto.
7053 * time.c (mul): ditto.
7055 Sun Mar 20 04:46:02 2016 NARUSE, Yui <naruse@ruby-lang.org>
7057 * bignum.c (rb_big_cmp): reduce the code.
7059 * bignum.c (rb_big_eq): If normalized bignum is still bignum,
7060 it must be larger than fixnum.
7062 Sat Mar 20 00:58:00 2016 Kenta Murata <mrkn@mrkn.jp>
7064 * include/ruby/intern.h (rb_big_odd_p, rb_big_even_p): move to
7065 internal.h so that they are exported only for ruby itself.
7067 * internal.h (rb_big_odd_p, rb_big_even_p): ditto.
7069 Sat Mar 19 21:56:23 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7071 * test/lib/test/unit.rb (Test::Unit::StatusLine#failed): defer
7072 failed messages until the end in verbose mode, to get rid of
7073 interleaving failures with progress messages.
7075 Sat Mar 19 21:53:35 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7077 * numeric.c (fix_cmp): invert the result as the comparison is
7080 Sat Mar 19 18:32:00 2016 Kenta Murata <mrkn@mrkn.jp>
7082 * numeric.c (int_to_f): raise NotImplementedError when a receiver
7085 * test/-ext-/integer/test_my_integer.rb (test_my_integer_to_f): modify
7086 a test for the above change.
7088 Sat Mar 19 18:21:00 2016 Kenta Murata <mrkn@mrkn.jp>
7090 * bignum.c (Bignum#<=>): remove it because they are unified with
7093 * numeric.c (Integer#<=>, Fixnum#<=>): move <=> method from Fixnum to
7096 * numeric.c (int_cmp): add this method for Integer#<=>.
7098 * test/-ext-/integer/test_my_integer.rb (test_my_integer_cmp): add a
7099 test to examine Integer#<=> for unknown subclasses.
7101 Sat Mar 19 14:46:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7103 * iseq.c (rb_iseq_compile_with_option): make the parser in mild
7106 * load.c (rb_load_internal0): ditto.
7108 * parse.y (yycompile0): return the error message within the error
7109 to be raised. [Feature #11951]
7111 * parse.y (parser_compile_error): accumulate error messages in the
7114 Sat Mar 19 03:57:13 2016 NARUSE, Yui <naruse@ruby-lang.org>
7116 * time.c (LOCALTIME): organize #ifdefs.
7118 * time.c (GMTIME): define only ifndef HAVE_STRUCT_TM_TM_GMTOFF.
7120 Sat Mar 19 03:53:31 2016 NARUSE, Yui <naruse@ruby-lang.org>
7122 * configure.in (rb_cv_member_struct_tm_tm_gmtoff): For Linux (glibc)
7123 define _BSD_SOURCE for time.h to define struct tm.tm_gmtoff.
7125 * time.c: define _BSD_SOURCE at the top.
7127 Sat Mar 19 03:00:50 2016 Rei Odaira <Rei.Odaira@gmail.com>
7129 * test/-ext-/time/test_new.rb (test_timespec_new): change a gmtoff
7130 test to a better one that does not depend on whether the current
7131 time is in summer time or not.
7133 Fri Mar 19 00:00:00 2016 Kenta Murata <mrkn@mrkn.jp>
7135 * bignum.c (rb_big_to_f, Bignum#to_f): removed them because they are
7136 unified with int_to_f and Integer#to_f.
7138 * numeric.c (int_to_f): treat Bignum values directly.
7140 Fri Mar 18 23:41:00 2016 Kenta Murata <mrkn@mrkn.jp>
7142 * numeric.c (int_to_f, fix_to_f): rename fix_to_f to int_to_f, and add
7143 treatment for subclasses which don't have definitions of to_f method.
7145 * numeric.c (Integer#to_f, Fixnum#to_f): move to_f method from Fixnum
7148 * ext/-test-/integer/my_integer.c: define helper class for testing
7149 to_f method for a subclass of Integer.
7151 * ext/-test-/integer/extconf.rb: ditto.
7153 * ext/-test-/integer/init.c: ditto.
7155 * test/-ext-/integer/test_my_integer.rb: examine to_f method for a
7156 subclass of Integer.
7158 Fri Mar 18 22:32:00 2016 Kenta Murata <mrkn@mrkn.jp>
7160 * include/ruby/intern.h (rb_big_hash): Move to internal.h.
7162 * internal.h: ditto.
7164 Fri Mar 18 22:10:00 2016 Kenta Murata <mrkn@mrkn.jp>
7166 * bignum.c (Bignum#eql?): remove its definition because it is unified
7169 * numeric.c (num_eql): treat Bignum values directly.
7171 Fri Mar 18 21:57:00 2016 Kenta Murata <mrkn@mrkn.jp>
7173 * bignum.c (rb_big_to_s, Bignum#to_s): remove its definition because
7174 it is unified with Integer#to_s.
7176 * numeric.c (int_to_s): treat Bignum values directly.
7178 Fri Mar 18 21:30:00 2016 Kenta Murata <mrkn@mrkn.jp>
7180 * numeric.c (int_to_s): Move from fix_to_s.
7182 * numeric.c (Integer#to_s): Move from Fixnum#to_s.
7184 Fri Mar 18 16:22:24 2016 Victor Nawothnig <Victor.Nawothnig@gmail.com>
7186 * parse.y (parse_numvar): NTH_REF must be less than a half of
7187 INT_MAX, as it is left-shifted to be ORed with back-ref flag.
7188 [ruby-core:74444] [Bug#12192] [Fix GH-1296]
7190 Fri Mar 18 12:25:30 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7192 * gc.c (tick): fix missing close parenthesis. [Fix GH-1291]
7194 Fri Mar 18 10:24:12 2016 Naotoshi Seo <sonots@gmail.com>
7196 * ext/date/date_core.c (datetime_to_time): preserve timezone info
7197 [Bug #12189] [Fix GH-1295]
7199 Fri Mar 18 10:17:00 2016 Kenta Murata <mrkn@mrkn.jp>
7201 * bignum.c (rb_big_hash): make it public function to be available in
7202 other source files, and remove documentation comment for Bignum#hash.
7204 * bignum.c (Bignum#hash): remove its definition because it is unified
7207 * include/ruby/intern.h (rb_big_hash): add a prototype declaration.
7209 * hash.c (any_hash): treat Bignum values directly.
7211 Fri Mar 18 02:35:12 2016 Naotoshi Seo <sonots@gmail.com>
7213 * lib/time.rb (parse, strptime): Fix Time.parse/strptime does not
7214 have compatibility with DateTime.parse/strptime in terms of parsing
7215 timezone [Bug #12190] [Fix GH-1297]
7217 Fri Mar 18 02:17:00 2016 Kenta Murata <mrkn@mrkn.jp>
7219 * numeric.c (fix_zero_p, fix_even_p, fix_odd_p): remove needless
7222 Fri Mar 18 02:15:00 2016 Kenta Murata <mrkn@mrkn.jp>
7224 * numeric.c (int_even_p): treat Fixnum and Bignum values directly.
7226 Fri Mar 18 02:07:00 2016 Kenta Murata <mrkn@mrkn.jp>
7228 * bignum.c (Bignum#even?, Bignum#odd?): remove definitions
7229 because they are unified with Integer#even? and Integer#odd?.
7231 * numeric.c (Fixnum#zero?, Fixnum#even?, Fixnum#odd?): remove
7232 definitions because they are unified with Numeric#zero?,
7233 Integer#even?, and Integer#odd?.
7235 * numeric.c (num_zero_p, int_odd_p): treat Fixnum and
7236 Bignum values directly.
7238 * test/ruby/test_integer.rb (test_odd_p_even_p): remove meaningless
7241 Fri Mar 18 01:51:00 2016 Kenta Murata <mrkn@mrkn.jp>
7243 * bignum.c (rb_big_even_p, rb_big_odd_p): make them public functions
7244 to be available in other source files.
7246 * include/ruby/intern.h (rb_big_even_p, rb_big_odd_p): add prototype
7249 Fri Mar 18 00:25:56 2016 Tanaka Akira <akr@fsij.org>
7251 * enum.c (ary_inject_op): Implement the specialized code for sum of
7254 Fri Mar 18 00:15:05 2016 Yusuke Endoh <mame@ruby-lang.org>
7256 * numeric.c (num_step): use rb_equal for zero check. rb_num_coerce_cmp
7257 created an object which caused extra overhead.
7259 Thu Mar 17 22:21:34 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7261 * include/ruby/ruby.h (RB_GC_GUARD_PTR): remove intermediate
7262 macro, and expand for each RB_GC_GUARD. [Fix GH-1293]
7264 Thu Mar 17 22:08:33 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7266 * compile.c (iseq_specialized_instruction): move specialization
7267 for opt_newarray_max/min from translation phase.
7269 Thu Mar 17 21:52:09 2016 Yusuke Endoh <mame@ruby-lang.org>
7271 * array.c, enum.c: make rdoc format consistent.
7273 Thu Mar 17 21:47:57 2016 Yusuke Endoh <mame@ruby-lang.org>
7275 * NEWS: add Array#max, #min, and the optimization. [Feature #12172]
7277 Thu Mar 17 21:45:02 2016 Yusuke Endoh <mame@ruby-lang.org>
7279 * compile.c (NODE_CALL): add optimization shortcut for Array#max/min.
7280 Now `[x, y].max` is optimized so that a temporal array object is not
7281 created in some condition. [Feature #12172]
7283 * insns.def (opt_newarray_max, opt_newarray_min): added.
7285 Thu Mar 17 21:35:52 2016 Yusuke Endoh <mame@ruby-lang.org>
7287 * array.c (rb_ary_max, rb_ary_min): implement Array#max and min with
7288 arguments. replace super call with rb_nmin_run.
7290 * enum.c (nmin_run): exported (as rb_nmin_run).
7292 * internal.h: added a prototype for rb_nmin_run.
7294 Thu Mar 17 21:24:52 2016 Yusuke Endoh <mame@ruby-lang.org>
7296 * array.c (rb_ary_max, rb_ary_min): implement a block by itself instead
7297 of delegating Enumerable#max/min.
7299 Thu Mar 17 21:09:34 2016 Yusuke Endoh <mame@ruby-lang.org>
7301 * array.c (rb_ary_max, rb_ary_min): Array#max and Array#min added.
7304 * internal.h (OPTIMIZED_CMP): moved from enum.c so that array.c can
7307 * test/ruby/test_array.rb (test_max, test_min): tests for Array#max
7310 * test/ruby/test_enum.rb (test_max, test_min): revised a bit to test
7311 Enumerable#max and #min explicitly.
7313 Thu Mar 17 21:02:42 2016 Yusuke Endoh <mame@ruby-lang.org>
7315 * internal.c: struct cmp_opt_data added for refactoring out a data
7316 structure for CMP_OPTIMIZABLE
7318 * array.c (struct ary_sort_data): use struct cmp_opt_data.
7320 * enum.c (struct min_t, max_t, min_max_t): use struct cmp_opt_data.
7322 Thu Mar 17 20:55:21 2016 Tanaka Akira <akr@fsij.org>
7324 * enum.c (ary_inject_op): Extracted from enum_inject.
7326 Thu Mar 17 18:39:04 2016 Tanaka Akira <akr@fsij.org>
7328 * enum.c (enum_inject): Implement the specialized code for sum of
7329 integers including Bignums.
7331 * internal.h (rb_fix_plus): Declared to be usable from enum_inject.
7333 * numeric.c (rb_fix_plus): Defined.
7335 Thu Mar 17 17:20:28 2016 Anton Davydov <antondavydov.o@gmail.com>
7337 * thread_sync.c: [DOC] Update documentation for Queue class
7338 description. [Fix GH-1292]
7340 Thu Mar 17 17:14:51 2016 Dinar Valeev <dvaleev@suse.com>
7342 * gc.c (tick): Use __builtin_ppc_get_timebase for POWER arch.
7345 Thu Mar 17 11:51:48 2016 NARUSE, Yui <naruse@ruby-lang.org>
7347 * lib/securerandom.rb (gen_random): to avoid blocking on Windows.
7348 On Windows OpenSSL RAND_bytes (underlying implementation is
7349 RAND_poll in crypto/rand/rand_win.c) may be blocked at
7351 https://wiki.openssl.org/index.php/Random_Numbers#Windows_Issues
7352 Instead of this, use Random.raw_seed directly (whose implementation
7353 CryptGenRandom is one of the source of
7354 entropy of RAND_poll on Windows).
7355 https://wiki.openssl.org/index.php/Random_Numbers
7356 Note: CryptGenRandom function is PRNG and doesn't check its entropy,
7357 so it won't block. [Bug #12139]
7358 https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa379942.aspx
7359 https://tools.ietf.org/html/rfc4086#section-7.1.3
7360 https://eprint.iacr.org/2007/419.pdf
7361 http://www.cs.huji.ac.il/~dolev/pubs/thesis/msc-thesis-leo.pdf
7363 Thu Mar 17 12:09:00 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7365 * enc/unicode.c: Fixed two macro definitions.
7366 * test/ruby/enc/test_case_mapping.rb: Test cases that detected
7369 Thu Mar 17 11:36:27 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7371 * ext/socket/option.c (inspect_tcpi_msec): more accurate condition
7372 for TCPI msec member inspection function.
7373 [ruby-core:74388] [Bug #12185]
7375 Thu Mar 17 08:13:43 2016 Rei Odaira <Rei.Odaira@gmail.com>
7377 * test/-ext-/time/test_new.rb (test_timespec_new): Time#gmtoff values
7378 are the same only when both or neither of the Time objects are in
7379 summer time (daylight-saving time).
7381 Thu Mar 17 07:17:36 2016 Eric Hodel <drbrain@segment7.net>
7383 * marshal.c (r_object0): raise ArgumentError when linking to undefined
7386 Thu Mar 17 00:45:00 2016 Kenta Murata <mrkn@mrkn.jp>
7388 * test/ruby/test_bignum.rb: Make sure to use Bignum values in the tests.
7390 Wed Mar 16 23:10:25 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7392 * defs/keywords (alias, undef): symbol literals are allowed.
7394 * parse.y (parse_percent): should parse symbol literals for alias
7395 and undef. [ruby-dev:47681] [Bug #8851]
7397 Wed Mar 16 21:39:39 2016 NARUSE, Yui <naruse@ruby-lang.org>
7399 * enc/trans/JIS: update Unicode's notice. [Bug #11844]
7401 Wed Mar 16 20:03:35 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7403 * proc.c (proc_binding): proc from symbol can not make a binding.
7404 [ruby-core:74100] [Bug #12137]
7406 Wed Mar 16 18:42:45 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7408 * test/ruby/enc/test_case_mapping.rb: Fixed and activated a test for Cherokee.
7410 Wed Mar 16 17:58:56 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7412 * test/ruby/enc/test_case_mapping.rb: Fixed a logical error.
7414 Wed Mar 16 17:57:34 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7416 * test/ruby/enc/test_case_mapping.rb: Adding tests for Cherokee.
7417 One test not yet working.
7418 (with Kimihito Matsui)
7420 Wed Mar 16 15:44:05 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7422 * test/ruby/enc/test_case_mapping.rb: Adding tests for actual Unicode
7423 case mapping. Fixing some aliasing issues.
7424 (with Kimihito Matsui)
7426 Tue Mar 15 21:38:28 2016 Tanaka Akira <akr@fsij.org>
7428 * enum.c (enum_inject): Consider redefinition of Fixnum#+.
7429 [ruby-dev:49510] [Bug#12178] Reported by usa.
7431 Tue Mar 15 20:32:57 2016 Tanaka Akira <akr@fsij.org>
7433 * enum.c (enum_inject): Implement the specialized code for :+ operator
7436 Tue Mar 15 20:21:01 2016 Tanaka Akira <akr@fsij.org>
7438 * enum.c (enum_inject): Implement the specialized code for self is an
7439 array and a symbol operator is given.
7441 Tue Mar 15 16:29:51 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7443 * enc/unicode.c: Eliminating common code.
7444 (with Kimihito Matsui)
7446 Tue Mar 15 16:17:09 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7448 * enc/unicode.c: Expansion of some code repetition in preparation for
7449 elimination of common code pieces.
7450 (with Kimihito Matsui)
7452 Tue Mar 15 13:49:23 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7454 * enc/unicode.c: Additional macros and code to use mapping data in
7455 CaseMappingSpecials array.
7456 (with Kimihito Matsui)
7458 Tue Mar 15 13:41:22 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7460 * internal.h (rb_gc_mark_global_tbl): should be private,
7461 but was accidentally exported.
7463 Tue Mar 15 12:51:06 2016 Marcus Stollsteimer <sto.mar@web.de>
7465 * doc/extension.ja.rdoc: Fix RDoc markup in doc/extension*.rdoc.
7466 [ci skip][Bug #12143][ruby-core:74143]
7467 * doc/extension.rdoc: ditto.
7469 Tue Mar 15 09:56:41 2016 Ian Lunderskov <ian.lunderskov@gmail.com>
7471 * time.c: Minor typo in Time#dst? documentation.
7472 [ci skip][fix GH-1290]
7474 Tue Mar 15 04:36:41 2016 Charles Oliver Nutter <headius@headius.com>
7476 * test/ruby/test_rubyoptions.rb (test_disable): add tests for
7477 --disable-gems and --disable-did_you_mean.
7479 Tue Mar 15 03:35:04 2016 Eric Hodel <drbrain@segment7.net>
7481 * marshal.c (r_object0): Fix Marshal crash for corrupt extended object.
7483 Tue Mar 15 01:22:27 2016 Charles Oliver Nutter <headius@headius.com>
7485 * test/ruby/test_rubyoptions.rb: make version matching support
7486 JRuby's version output.
7488 Mon Mar 14 19:05:39 2016 NARUSE, Yui <naruse@ruby-lang.org>
7490 * bignum.c (big2str_2bdigits): reduce div instruction.
7492 Mon Mar 14 18:39:53 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7494 * include/ruby/oniguruma.h, enc/unicode.c: Adjusting flag assignments
7495 and macros to work with unified CaseMappingSpecials array.
7496 (with Kimihito Matsui)
7498 Mon Mar 14 16:53:37 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7500 * compile.c (compile_named_capture_assign): optimize named capture
7501 assignments, by replacing repeating global variable accesses
7502 with `dup`, and by returning the matched result instead of
7503 re-getting it from the MatchData.
7505 * parse.y (reg_named_capture_assign_gen): build just assignment
7506 nodes for the optimization.
7508 Mon Mar 14 16:02:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7510 * file.c (ruby_is_fd_loadable): now return -1 if loadable but
7513 * ruby.c (open_load_file): wait to read by the result of
7514 ruby_is_fd_loadable, without fstat.
7516 Mon Mar 14 13:38:38 2016 NARUSE, Yui <naruse@ruby-lang.org>
7518 * numeric.c (fix2str): improve r54092 like rb_int2big().
7520 Mon Mar 14 10:02:23 2016 Eric Wong <e@80x24.org>
7522 * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): document as MT-unsafe
7523 [ruby-core:73803] [Bug #12069]
7525 Sun Mar 13 09:43:23 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7527 * include/ruby/win32.h (O_SHARE_DELETE): change to fit Fixnum
7528 limit. [ruby-core:74285] [Bug #12171]
7530 Sun Mar 13 09:15:45 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7532 * numeric.c (rb_fix2str): fix edge case, accidentally generated
7533 wrong Fixnum from LONG_MIN.
7535 Sat Mar 12 09:50:27 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7537 * vm_eval.c (rb_f_catch): [DOC] fix malformed RDoc syntax, "+...+"
7538 cannot enclose non-identifier characters.
7539 a patch by Sebastian S in [ruby-core:74278]. [Bug#12170]
7541 Sat Mar 12 02:44:48 2016 Tanaka Akira <akr@fsij.org>
7543 * test/lib/test/unit.rb: describe !/REGEXP/ in the help message.
7545 Fri Mar 11 17:03:09 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7547 * test/lib/test/unit.rb (Options#non_options): make regexp name
7548 options prefixed with "!" negative filters.
7550 * common.mk (TEST_EXCLUDES): use negative filter to exclude memory
7551 leak tests. -x option excludes test files, not test methods.
7553 Fri Mar 11 16:11:27 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7555 * enc/unicode/case-folding.rb, casefold.h: Streamlining approach to
7556 case mapping data not available from case folding by unifying all
7557 three cases (special title, special upper, special lower).
7558 * enc/unicode.c: Adjust macro names for above (macros are currently inactive).
7559 (with Kimihito Matsui)
7561 Thu Mar 10 17:34:16 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7563 * iseq.c (prepare_iseq_build): enable coverage by coverage_enabled
7564 option, not by parse_in_eval flag in the thread context.
7566 * iseq.h (rb_compile_option_struct): add coverage_enabled flag.
7568 * parse.y (yycompile0): set coverage_enabled flag if coverage
7571 Thu Mar 10 15:19:54 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7573 * node.c (dump_option): nd_compile_option is a hidden hash object,
7574 cannot call inspect on it.
7576 Thu Mar 10 09:49:54 2016 Rei Odaira <Rei.Odaira@gmail.com>
7578 * test/socket/test_socket.rb (test_udp_recvmsg_truncation):
7579 AIX does not set the MSG_TRUNC flag for a message partially read
7580 by recvmsg(2) with the MSG_PEEK flag set.
7582 Wed Mar 9 16:48:45 2016 Koichi Sasada <ko1@atdot.net>
7584 * benchmark/driver.rb: fix my last commit (syntax error).
7586 Wed Mar 9 16:41:44 2016 Koichi Sasada <ko1@atdot.net>
7588 * benchmark/driver.rb: fix output messages.
7590 * benchmark/memory_wrapper.rb: use respond_to? because
7591 member? does not work well.
7593 Wed Mar 9 16:20:25 2016 Koichi Sasada <ko1@atdot.net>
7595 * benchmark/driver.rb: support memory usage benchmark.
7596 use `--measure-target=[target]'.
7597 Now, we can use the following targets:
7598 * real (default): real time which returns process time in sec.
7599 * peak: peak memory usage (physical memory) in bytes.
7600 * size: last memory usage (physical memory) in bytes.
7602 * benchmark/memory_wrapper.rb: ditto.
7604 Wed Mar 9 15:04:22 2016 Koichi Sasada <ko1@atdot.net>
7606 * benchmark/bm_vm3_gc_old_full.rb: add GC.start benchmark.
7608 * benchmark/bm_vm3_gc_old_immediate.rb: ditto.
7610 * benchmark/bm_vm3_gc_old_lazy.rb: ditto.
7612 Wed Mar 9 14:59:11 2016 Koichi Sasada <ko1@atdot.net>
7614 * benchmark/driver.rb: exit benchmarking if a benchmark process
7617 Wed Mar 9 13:22:49 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7619 * test/lib/memory_status.rb: make Memory::Status independent of
7622 * test/lib/test/unit/assertions.rb (assert_no_memory_leak): skip
7623 if Memory::Status is not available.
7625 Wed Mar 9 09:19:55 2016 Rei Odaira <Rei.Odaira@gmail.com>
7627 * test/io/wait/test_io_wait.rb (test_wait_readwrite_timeout):
7628 select(2) in AIX returns "readable" for the write-side fd
7629 of a pipe, so it is not possible to use a pipe to test
7630 the read-write timeout of IO#wait on AIX.
7632 Wed Mar 9 03:35:22 2016 Charles Oliver Nutter <headius@headius.com>
7634 * test/ruby/test_require.rb (test_require_with_loaded_features_pop):
7635 Only remove PATH so threads don't accidentally double-pop.
7637 Wed Mar 9 00:29:46 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7639 * vm_method.c (rb_alias): the original name should be properly
7640 available method_added method, set the name before calling the
7643 Wed Mar 9 00:07:03 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7645 * lib/logger.rb (Logger::LogDevice#initialize): define using
7648 Tue Mar 8 23:37:07 2016 Charles Oliver Nutter <headius@headius.com>
7650 * test/ruby/test_array.rb: split out the test for no stack error
7651 on large input for test_permutation, test_repeated_permutation,
7652 and test_repeated_combination, and make them all timeout:30.
7654 Tue Mar 8 17:20:21 2016 NARUSE, Yui <naruse@ruby-lang.org>
7656 * intern.h (rb_divmod): assume compilers `/` and `%` comply C99
7657 and reduce branching. If a compiler doesn't comply, add #ifdefs.
7659 * intern.h (rb_div): added for Ruby's behavior.
7661 * intern.h (rb_mod): added for Ruby's behavior.
7663 * insns.def (opt_div): use rb_div.
7665 * insns.def (opt_mod): use rb_mod.
7667 * numeric.c (fixdivmod): removed.
7669 * numeric.c (fix_divide): use rb_div.
7671 * numeric.c (fix_mod): use rb_mod.
7673 * numeric.c (fix_divmod): use rb_divmod.
7675 Tue Mar 8 17:53:09 2016 NARUSE, Yui <naruse@ruby-lang.org>
7677 * insns.def (opt_mod): show its method name on ZeroDivisionError.
7680 Tue Mar 8 17:33:38 2016 NAKAMURA Usaku <usa@ruby-lang.org>
7682 * win32/win32.c (rb_w32_write_console): now no need to check
7683 ERROR_CALL_NOT_IMPLEMENTED because it is for old Win9X.
7685 Tue Mar 8 16:54:29 2016 NAKAMURA Usaku <usa@ruby-lang.org>
7687 * win32/win32.c (rb_w32_write_console): stop the VT100 emulation if the
7688 console supports it natively.
7690 Tue Mar 8 08:13:01 2016 Rei Odaira <Rei.Odaira@gmail.com>
7692 * test/net/imap/test_imap.rb (test_idle_timeout): Because of the
7693 timeout specified in "imap.idle(0.2)", there is no guarantee that
7694 the server thread has done all the work before the client thread
7695 performs the assertions. It depends on the thread scheduling.
7696 Add checks to avoid false positives (on AIX, particularly).
7698 Tue Mar 8 00:42:22 2016 NAKAMURA Usaku <usa@ruby-lang.org>
7700 * ruby.c (warn_cr_in_shebang): meaningless check on DOSISH platforms.
7701 fixed a test failure introduced at r53998.
7703 Tue Mar 8 00:27:53 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
7705 * ext/tk/lib/tkextlib/tcllib/tablelist_tile.rb: fix method name typo.
7706 [ruby-core:72513] [Bug #11893] The patch provided by Akira Matsuda.
7709 Tue Mar 8 00:25:08 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
7711 * ext/tk/lib/tkextlib/tcllib/toolbar.rb: fix method name typo.
7712 [ruby-core:72511] [Bug #11891] The patch provided by Akira Matsuda.
7715 Tue Mar 8 00:21:58 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
7717 * ext/tk/lib/tkextlib/blt/tree.rb: fix method name typo.
7718 [ruby-core:72510] [Bug #11890] The patch provided by Akira Matsuda.
7721 Tue Mar 8 00:11:47 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
7723 * ext/tk/lib/tk/menubar.rb: fix a typo in font name. [ruby-core:72505]
7724 [Bug #11886] The patch provided by Akira Matsuda.
7726 * ext/tk/sample/*.rb: ditto.
7728 Mon Mar 7 13:32:58 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7730 * class.c (rb_define_class, rb_define_class_id_under): raise
7731 ArgumentError if super is 0, deprecated behavior which has been
7734 Mon Mar 7 13:28:30 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7736 * internal.h: move function declarations for class internals from
7737 include/ruby/intern.h.
7739 Mon Mar 7 10:58:07 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7741 * ext/win32ole/win32ole_event.c (rescue_callback): use
7742 rb_write_error_str instead of rb_write_error, to respect
7743 the encoding and prevent the message from GC.
7745 * internal.h (rb_write_error_str): export.
7747 Mon Mar 7 01:38:41 2016 Rei Odaira <Rei.Odaira@gmail.com>
7749 * test/ruby/test_process.rb (test_execopts_gid): Skip a test
7750 that is known to fail on AIX. AIX allows setgid to
7751 a supplementary group, but Ruby does not allow the "-e"
7752 option when setgid'ed, so the test does not work as intended.
7754 Sun Mar 6 22:43:41 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7756 * io.c (rb_obj_display): [DOC] fix output of Array, as Array#to_s
7757 is same as Array#inspect since 1.9.
7759 Sat Mar 5 09:50:58 2016 Rei Odaira <Rei.Odaira@gmail.com>
7761 * test/socket/test_addrinfo.rb (test_ipv6_address_predicates):
7762 IN6_IS_ADDR_V4COMPAT and IN6_IS_ADDR_V4MAPPED are broken
7763 on AIX, so skip related tests.
7765 Sat Mar 5 09:17:54 2016 Rei Odaira <Rei.Odaira@gmail.com>
7767 * test/rinda/test_rinda.rb (test_make_socket_ipv4_multicast):
7768 The fifth argument to getsockopt(2) should be modified to
7769 indicate the actual size of the value on return,
7770 but not in AIX. This is a know bug. Skip related tests.
7771 * test/rinda/test_rinda.rb (test_ring_server_ipv4_multicast):
7773 * test/rinda/test_rinda.rb (test_make_socket_unicast): ditto.
7774 * test/socket/test_basicsocket.rb (test_getsockopt): ditto.
7775 * test/socket/test_sockopt.rb (test_bool): ditto.
7777 Sat Mar 5 07:36:27 2016 Rei Odaira <Rei.Odaira@gmail.com>
7779 * test/-ext-/float/test_nextafter.rb: In AIX,
7780 nextafter(+0.0,-0.0)=+0.0, and nextafter(-0.0,+0.0)=-0.0,
7781 but they should return -0.0 and +0.0, respectively. This is
7782 a known bug in nextafter(3) on AIX, so skip related tests.
7784 Sat Mar 5 07:14:10 2016 Rei Odaira <Rei.Odaira@gmail.com>
7786 * test/zlib/test_zlib.rb (test_adler32_combine, test_crc32_combine):
7787 Skip two tests on AIX because zconf.h in zlib does not correctly
7788 recognize _LARGE_FILES in AIX. The problem was already reported
7789 to zlib, and skip these tests until it is fixed.
7791 Sat Mar 5 03:07:40 2016 Rei Odaira <Rei.Odaira@gmail.com>
7793 * thread_pthread.c (getstack): __pi_stacksize returned by
7794 pthread_getthrds_np() is wrong on AIX. Use
7795 __pi_stackend - __pi_stackaddr instead.
7797 Fri Mar 4 19:19:42 2016 Koichi Sasada <ko1@atdot.net>
7799 * gc.c: use 2 bits with unsigned int for rb_objspace::flags::mode
7800 because it always returns 0 to 2 (non-negative value).
7802 Fri Mar 4 18:42:08 2016 Koichi Sasada <ko1@atdot.net>
7804 * gc.c: rename "enum gc_stat" to "enum gc_mode"
7805 because there is a same name (no related) function gc_stat().
7807 Also gc_stat_* are renamed to gc_mode_*,
7808 gc_stat_transition() to gc_mode_transition(),
7809 rb_objspace::flags::stat is renamed to rb_objspace::flags::mode.
7811 Change rb_objspace::flags::mode from 2 bits to 3 bits because VC++
7812 returns negative enum value with 2 bits.
7814 * gc.c (gc_mode): add a macro to access rb_objspace::flags::mode
7815 with verification code (verification is enabled only on
7816 RGENGC_CHECK_MODE > 0).
7818 * gc.c (gc_mode_set): same macro for setter.
7820 Fri Mar 4 09:28:18 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
7822 * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.1.
7823 Please see entries of 2.6.0 and 2.6.1 on
7824 https://github.com/rubygems/rubygems/blob/master/History.txt
7825 [fix GH-1270] Patch by @segiddins
7827 Thu Mar 3 14:09:00 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7829 * lib/ostruct.rb (modifiable?, new_ostruct_member!, table!):
7830 rename methods for internal use with suffixes and make private,
7831 [ruby-core:71069] [Bug #11587]
7833 Wed Mar 2 16:28:48 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7835 * vm_eval.c (method_missing): call by found method entry and get
7836 rid of searching the same method entry twice.
7838 * vm_eval.c (vm_call0_body): calling method_missing method is
7841 Wed Mar 2 15:13:33 2016 herwinw <herwin@quarantainenet.nl>
7843 * lib/xmlrpc.rb: Removed broken parser named XMLScanStreamParser.
7844 It's not works with current Ruby version.
7845 [fix GH-1271][ruby-core:59588][Bug #9369]
7846 * lib/xmlrpc/config.rb: ditto.
7847 * lib/xmlrpc/parser.rb: ditto.
7849 Wed Mar 2 15:08:33 2016 herwinw <herwin@quarantainenet.nl>
7851 * lib/xmlrpc.rb: Removed broken parser named XMLTreeParser.
7852 Required gem of its parser didn't compile on newer Ruby versions.
7853 [fix GH-1271][ruby-core:59590][Bug #9370]
7854 * lib/xmlrpc/config.rb: ditto.
7855 * lib/xmlrpc/parser.rb: ditto.
7857 Tue Mar 1 11:25:48 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7859 * lib/fileutils.rb: use keyword arguments instead of option
7862 Mon Feb 29 16:50:20 2016 hanachin <hanachin@gmail.com>
7864 * array.c (rb_ary_push_m): [DOC] Remove trailing comma from
7865 Array#push example, as other Array examples doesn't put trailing
7866 comma. [Fix GH-1279]
7868 Mon Feb 29 16:31:01 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7870 * common.mk, tool/mkconfig.rb: set cross_compiling option from
7871 Makefile, but not from rbconfig.rb, which is just going to be
7872 created by this command.
7874 Sun Feb 28 23:13:49 2016 C.J. Collier <cjcollier@linuxfoundation.org>
7876 * configure.in: Add summary to end of configure output.
7879 Sun Feb 28 20:23:36 2016 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
7881 * lib/drb/drb.rb (error_print): Add verbose failure messages and
7882 avoid infamous DRb::DRbConnError. [Feature #12101]
7884 Sun Feb 28 13:40:46 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7886 * error.c (nometh_err_initialize): add private_call? parameter.
7888 * error.c (nometh_err_private_call_p): add private_call? method,
7889 to tell if the exception raised in private form FCALL or VCALL.
7892 * vm_eval.c (make_no_method_exception): append private_call?
7895 * vm_insnhelper.c (ci_missing_reason): copy FCALL flag.
7897 Sun Feb 28 10:19:47 2016 Ryan T. Hosford <tad.hosford@gmail.com>
7899 * array.c (rb_ary_and): clarify that set intersection returns the
7900 unique elements common to both arrays.
7902 * array.c (rb_ary_or): clarify that union preserves the order from
7905 Sat Feb 27 17:05:29 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7907 * enc/unicode/case-folding.rb, casefold.h: Reducing size of TitleCase
7908 table by eliminating duplicates.
7909 (with Kimihito Matsui)
7911 Fri Feb 26 14:40:48 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7913 * numeric.c (num_step_scan_args): comparison String with Numeric
7914 should raise TypeError. it is an invalid type, but not a
7915 mismatch the number of arguments. [ruby-core:62430] [Bug #9810]
7917 Fri Feb 26 14:39:39 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
7919 * doc/extension.rdoc, doc/extension.ja.rdoc: add editor local
7920 variables, with commenting out by :enddoc: directives which are
7921 just ignored unless code object mode. [Bug #12111]
7923 Fri Feb 26 12:25:56 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
7925 * doc/extension.ja.rdoc: removed rendering error caused by editor specific
7926 configuration on http://docs.ruby-lang.org/en/trunk/extension_rdoc.html .
7927 [Bug #12111][ruby-core:73990]
7929 Fri Feb 26 11:21:41 2016 herwinw <herwin@quarantainenet.nl>
7931 * lib/xmlrpc.rb: Removed references to NQXML. It's obsoleted parser.
7932 [fix GH-1245][ruby-core:59593][Feature #9371]
7933 * lib/xmlrpc/config.rb: ditto.
7934 * lib/xmlrpc/parser.rb: ditto.
7936 Fri Feb 26 11:10:19 2016 Rick Salevsky <rsalevsky@suse.com>
7938 * lib/tmpdir.rb: Unify to coding-style for method definition.
7941 Fri Feb 26 11:02:04 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
7943 * README.md: update markdown syntax for anchor tag.
7944 [fix GH-1265] Patch by @lukBarros
7946 Fri Feb 26 10:52:29 2016 Alex Boyd <alex@opengroove.org>
7948 * lib/irb.rb: avoid to needless truncation when using back_trace_limit option.
7949 [fix GH-1205][ruby-core:72773][Bug #11969]
7951 Fri Feb 26 08:11:58 2016 Aaron Patterson <tenderlove@ruby-lang.org>
7953 * gem_prelude.rb: Reduce system calls by activating the `did_you_mean`
7954 gem before requiring the gem. Activating the gem puts the gem on
7955 the load path, where simply requiring the file will search every gem
7956 that's installed until it can find a gem that contains the
7957 `did_you_mean` file.
7959 Thu Feb 25 19:04:13 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7961 * enc/unicode/case-folding.rb: Adding possibility for debugging output
7962 for TitleCase table in casefold.h.
7963 (with Kimihito Matsui)
7965 Wed Feb 24 22:31:13 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7967 * include/ruby/oniguruma.h: Rearranging flag assignments and making
7968 space for titlecase indices; adding additional macros to add or
7969 extract titlecase index; adding comments for better documentation.
7970 * enc/unicode.c: Moving some macros to include/ruby/oniguruma.h;
7971 activating use of titlecase indices.
7972 (with Kimihito Matsui)
7974 Wed Feb 24 21:03:04 2016 Tanaka Akira <akr@fsij.org>
7976 * random.c (limited_rand): Add a specialized path for when the limit fits
7979 Tue Feb 23 21:52:24 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7981 * enc/unicode/case-folding.rb, casefold.h: Outputting actual titlecase
7982 data (new table, with indices from other tables).
7983 * enc/unicode.c: Ignoring titlecase data indices for the moment.
7984 (with Kimihito Matsui)
7986 Tue Feb 23 15:21:14 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7988 * enc/unicode/case-folding.rb, casefold.h: Reading casing data from
7990 (with Kimihito Matsui)
7992 Mon Feb 22 18:33:55 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
7994 * enc/unicode/case-folding.rb, casefold.h: Adding flag for title-case,
7995 not yet operational.
7996 (with Kimihito Matsui)
7998 Mon Feb 22 18:17:03 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8000 * enc/unicode/case-folding.rb, casefold.h: Fixed bug that avoided inclusion
8001 of compatibility characters in upper-/lower-case mappings.
8002 (with Kimihito Matsui)
8004 Sun Feb 21 13:57:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8006 * cgi/escape/escape.c: Optimize CGI.unescape performance by C ext
8007 for ASCII-compatible encodings. [Fix GH-1250]
8009 Sun Feb 21 13:56:57 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8011 * cgi/escape/escape.c: Optimize CGI.unescapeHTML performance by C
8012 ext for ASCII-compatible encodings. [Fix GH-1242]
8014 Sat Feb 20 15:38:16 2016 Eric Wong <e@80x24.org>
8016 * doc/extension.rdoc: update paths for defs/ directory
8018 Sat Feb 20 14:44:15 2016 Lucas Buchala <lucasbuchala@gmail.com>
8020 * vm_eval.c (rb_mod_module_eval): [DOC] Fix documentation
8021 signature for Module#module_eval. [Fix GH-1258]
8023 Sat Feb 20 14:40:44 2016 Adam O'Connor <northband@gmail.com>
8025 * README.md: a few grammatical changes to the main Ruby README.md.
8028 Sat Feb 20 13:04:22 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8030 * dir.c (push_pattern, push_glob): deal with read paths as UTF-8
8031 to stat later, on Windows as well as OS X.
8032 [ruby-core:73868] [Bug #12081]
8034 Sat Feb 20 01:53:33 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8036 * object.c (rb_mod_const_get): make error message at uninterned
8037 string consistent with symbols. [ruby-dev:49498] [Bug #12089]
8039 Fri Feb 19 23:37:52 2016 Masahiro Tomita <tommy@tmtm.org>
8041 * lib/find.rb (Find#find): raise with the given path name if it
8042 does not exist. [ruby-dev:49497] [Bug #12087]
8044 Fri Feb 19 12:44:57 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8046 * enc/unicode.c: Activated use of case mapping data in CaseUnfold_11 array.
8047 (with Kimihito Matsui)
8049 Fri Feb 19 11:08:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8051 * ext/extmk.rb: add cygwin case, nothing excluded.
8052 [ruby-core:73806] [Bug#12071]
8054 Thu Feb 18 21:32:15 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
8056 * man/irb.1: fix output in EXAMPLES.
8058 Thu Feb 18 21:05:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8060 * string.c (sym_match_m): delegate to String#match but not
8061 String#=~. [ruby-core:72864] [Bug #11991]
8063 Thu Feb 18 14:15:38 2016 Shota Fukumori <her@sorah.jp>
8065 * re.c: Add MatchData#named_captures
8066 [Feature #11999] [ruby-core:72897]
8068 * test/ruby/test_regexp.rb(test_match_data_named_captures): Test for above.
8070 * NEWS: News about MatchData#named_captures.
8072 Wed Feb 17 21:41:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8074 * defs/id.def (predefined): add idLASTLINE and idBACKREF for $_
8075 and $~ respectively.
8077 * parse.y: use idLASTLINE and idBACKREF instead of rb_intern.
8079 Wed Feb 17 20:23:38 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8081 * string.c (rb_str_init): fix segfault and memory leak, consider
8082 wide char encoding terminator.
8084 Wed Feb 17 12:14:59 2016 NARUSE, Yui <naruse@ruby-lang.org>
8086 * string.c (rb_str_init): introduce String.new(capacity: size)
8089 Tue Feb 16 19:10:08 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8091 * enc/unicode/case-folding.rb, casefold.h: Used only first element
8092 (rather than all) of target in CaseUnfold_11 array.
8093 (with Kimihito Matsui)
8095 Tue Feb 16 18:24:38 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8097 * numeric.c (compare_with_zero): fix variable name, rb_cmperr
8098 requires VALUEs but not an ID.
8100 Tue Feb 16 17:34:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8102 * dir.c (rb_dir_s_empty_p): add Dir.empty? method, which tells the
8103 argument is the name of an empty directory. [Feature #10121]
8105 Tue Feb 16 09:51:20 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8107 * tool/rbinstall.rb (without_destdir): just strip a drive letter
8108 which is prepended by with_destdir.
8109 pointed out by @DavidEGrayson.
8110 https://github.com/ruby/ruby/commit/0e5f9ae#commitcomment-16101763
8112 Tue Feb 16 04:42:13 2016 NARUSE, Yui <naruse@ruby-lang.org>
8114 * insns.def (opt_plus): simply use LONG2NUM() instead of wrongly
8115 complex overflow case.
8117 * insns.def (opt_sub): ditto.
8119 Tue Feb 16 02:49:41 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8121 * tool/rbinstall.rb (without_destdir): compare with the destdir
8122 after stripping a drive letter, on dosish platforms.
8123 pointed out by @DavidEGrayson.
8124 https://github.com/ruby/ruby/commit/d0cf23b#commitcomment-16100407
8126 Mon Feb 15 15:44:09 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8128 * parse.y (parse_ident): allow keyword arguments just after a
8129 method where the same name local variable is defined.
8130 [ruby-core:73816] [Bug#12073]
8132 Mon Feb 15 14:43:28 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8134 * enc/unicode/case-folding.rb: Added debugging option
8135 (with Kimihito Matsui)
8137 Sun Feb 14 17:31:50 2016 Lars Kanis <lars@greiz-reinsdorf.de>
8139 * lib/mkmf.rb (with_{cpp,c,ld}flags): copy caller strings not to
8140 be modified, in append_{cpp,c,ld}flags respectively.
8143 Sun Feb 14 16:18:57 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8145 * eval.c (setup_exception): set the cause only if it is explicitly
8146 given or not set yet. [Bug #12068]
8148 Sat Feb 13 21:44:58 2016 Tanaka Akira <akr@fsij.org>
8150 * hash.c (rb_hash_invert): [DOC] more examples.
8152 Sat Feb 13 17:30:49 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8154 * lib/uri/generic.rb (URI::Generic#find_proxy): support CIDR in
8155 no_proxy. [ruby-core:73769] [Feature#12062]
8157 Sat Feb 13 17:11:58 2016 Fabian Wiesel <fabian.wiesel@sap.com>
8159 * lib/uri/generic.rb (find_proxy): exclude white-spaces and allow
8160 for a leading dot in the domain name in no_proxy.
8161 [ruby-core:54542] [Feature #8317]
8163 Fri Feb 12 12:20:56 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8165 * error.c (name_err_initialize, nometh_err_initialize): [DOC] fix
8166 argument positions. optional parameters except for the message
8167 are placed at the last.
8169 Fri Feb 12 11:49:49 2016 Anthony Dmitriyev <antstorm@gmail.com>
8171 * net/ftp.rb: add NullSocket#closed? to fix closing not opened
8172 connection. [Fix GH-1232]
8174 Fri Feb 12 11:17:38 2016 Bogdan <bogdanvlviv@gmail.com>
8176 * re.c (rb_reg_initialize_m): [DOC] fix missing right bracket.
8179 Thu Feb 11 14:57:58 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8181 * configure.in (RUBY_CHECK_SIZEOF, RUBY_DEFINT): fix for types
8182 which are conditionally available depending on architectures
8183 when universal binary, e.g., __int128.
8185 Thu Feb 11 06:26:18 2016 NARUSE, Yui <naruse@ruby-lang.org>
8187 * configure.in (RUBY_DEFINT): use Parameter Expansion.
8189 Thu Feb 11 05:33:24 2016 NARUSE, Yui <naruse@ruby-lang.org>
8191 * configure.in (int128_t): don't check HAVE_XXX (for example
8192 HAVE___INT128) because RUBY_CHECK_SIZEOF() don't define it for
8193 config.h and use of $ac_cv_sizeof___int128 alternates the check.
8194 (and don't need to define because users shouldn't know that)
8196 Wed Feb 10 12:03:41 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8198 * configure.in (ARFLAGS): check if deterministic mode flag is
8199 effective, which is on by default on Ubuntu.
8201 Tue Feb 9 16:36:23 2016 Naotoshi Seo <sonots@gmail.com>
8203 * lib/logger.rb: Remove block from Logger.add as it's not needed
8204 patch provided by Daniel Lobato Garcia [fix GH-1240] [Bug #12054]
8206 Tue Feb 9 14:32:23 2016 Zachary Scott <zzak@ruby-lang.org>
8208 * ext/zlib/zlib.c: Document mtime header behavior with patch by @schneems
8209 Fixes [GH-1129]: https://github.com/ruby/ruby/pull/1129
8211 Tue Feb 9 13:52:49 2016 Zachary Scott <zzak@ruby-lang.org>
8213 * re.c: Remove deprecated kcode argument from Regexp.new and compile
8214 patch provided by Dylan Pulliam [Bug #11495]
8216 Mon Feb 8 21:26:19 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8218 * enc/unicode/case-folding.rb, enc/unicode/casefold.h: Flags for
8219 upper/lower conversion added (titlecase and SpecialCasing still missing)
8220 (with Kimihito Matsui)
8222 Mon Feb 8 20:43:57 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8224 * string.c, enc/unicode.c: Disassociating ONIGENC_CASE_FOLD flag from
8225 ONIGENC_CASE_DOWNCASE.
8226 (with Kimihito Matsui)
8228 Mon Feb 8 13:00:17 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8230 * enc/unicode.c: Shortened macros for enc/unicode/casefold.h to
8231 single-letter; use flags in casefold.h for logic.
8233 * enc/unicode/case-folding.rb: Added flag for case folding.
8234 Changed parameter passing.
8236 * enc/unicode/casefold.h: New flags added.
8237 (with Kimihito Matsui)
8239 Mon Feb 8 10:30:10 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8241 * ruby.c (feature_option): raise a runtime error if ambiguous
8242 feature name is given, in the future. [Bug #12050]
8244 Mon Feb 8 09:43:57 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8246 * common.mk: Removed enc/unicode/casefold.h from automatic build because
8247 some CI systems don't have gperf. Creation of enc/unicode/casefold.h
8248 is now possible with make unicode-up. This is intended as a temporary measure.
8250 Sun Feb 7 22:10:08 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8252 * common.mk: Added two more precondition files for enc/unicode/casefold.h
8254 * enc/unicode.c: Added shortening macros for enc/unicode/casefold.h
8256 * enc/unicode/case-folding.rb: Fixed file encoding for CaseFolding.txt
8257 to ASCII-8BIT (should fix some ci errors). Clarified usage. Created
8258 class MapItem. Partially implemented class CaseMapping.
8259 (with Kimihito Matsui)
8261 Sun Feb 7 14:12:32 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8263 * enc/unicode/case-folding.rb: Fixing parameter passing.
8264 (with Kimihito Matsui)
8266 Sun Feb 7 11:44:03 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8268 * enc/unicode/case-folding.rb: New classes CaseMapping/CaseMappingDummy
8269 to pass as parameters; not yet implemented or used.
8270 (with Kimihito Matsui)
8272 Sun Feb 7 11:16:00 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8274 * common.mk: using new option in recipe for enc/unicode/casefold.h
8276 * enc/unicode/case-folding.rb: Correctly specify argument to new option.
8277 (with Kimihito Matsui)
8279 Sun Feb 7 10:43:27 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8281 (this commit message applies to the previous commit)
8282 * common.mk: explicit recipe for enc/unicode/casefold.h
8284 * enc/unicode/case-folding.rb: Adding -m option to prepare for using
8285 multiple data files.
8286 (with Kimihito Matsui)
8288 Sat Feb 6 22:30:57 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8290 * lib/cgi/util.rb (escapeHTML, unescapeHTML): consider
8291 ASCII-incompatible encodings. [Fix GH-1239]
8293 Sat Feb 6 15:18:28 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8295 * test/ruby/enc/test_regex_casefold.rb: Added data-based testing for
8296 String#downcase :fold.
8298 * enc/unicode.c: Fixed a range error (lowest non-ASCII character affected
8299 by case operations is U+00B5, MICRO SIGN)
8301 * test/ruby/enc/test_case_mapping.rb: Explicit test for case folding of
8302 MICRO SIGN to Greek mu.
8303 (with Kimihito Matsui)
8305 Sat Feb 6 14:51:23 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8307 * test/ruby/enc/test_regex_casefold.rb: Tests for three case folding
8308 primitives (mbc_case_fold, get_case_fold_codes_by_str,
8309 apply_all_case_fold) in the various encodings. Currently only known
8310 good encodings are tested to avoid test failures. For bug hunting,
8311 start by adding more encodings with
8312 generate_test_casefold encoding
8313 (with Kimihito Matsui)
8315 Sat Feb 6 14:37:16 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8317 * enc/unicode.c, test/ruby/enc/test_case_mapping.rb: Implemented :fold
8318 option for String#downcase by using case folding data from
8319 regular expression engine, and added a few simple tests.
8320 (with Kimihito Matsui)
8322 Fri Feb 5 20:08:59 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8324 * test/ruby/enc/test_case_mapping.rb: added tests for :ascii option.
8325 (with Kimihito Matsui)
8327 Fri Feb 5 12:22:20 2016 NARUSE, Yui <naruse@ruby-lang.org>
8329 * insns.def (opt_mult): Use int128_t for overflow detection.
8331 * bignum.c (rb_uint128t2big): added for opt_mult.
8333 * bignum.c (rb_uint128t2big): added for rb_uint128t2big..
8335 * configure.in: define int128_t, uint128_t and related MACROs.
8336 Initially introduced by r41379 but reverted by r50749.
8338 Thu Feb 4 21:05:17 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8340 * enc/unicode.c: Activated :ascii flag for ASCII-only case conversion
8341 (with Kimihito Matsui)
8343 Thu Feb 4 17:38:01 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8345 * re.c (reg_set_source): make source string frozen without
8348 * re.c (rb_reg_initialize_m): refactor initialization with
8351 Thu Feb 4 15:35:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8353 * string.c (rb_fstring_enc_new, rb_fstring_enc_cstr): functions to
8354 make fstring with encoding.
8356 Thu Feb 4 14:42:29 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8358 * common.mk: Added Unicode data file SpecialCasing.txt to be additionally
8359 downloaded (with Kimihito Matsui)
8361 Thu Feb 4 12:39:08 2016 joker1007 <kakyoin.hierophant@gmail.com>
8363 * cgi/escape/escape.c: Optimize CGI.escape performance by C ext
8364 for ASCII-compatible encodings. [Fix GH-1238]
8366 Thu Feb 4 11:53:56 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8368 * common.mk: Introduce two variables (UNICODE_DATA_DIR and
8369 UNICODE_SRC_DATA_DIR) to eliminate repetitions.
8371 Wed Feb 3 12:13:20 2016 NARUSE, Yui <naruse@ruby-lang.org>
8373 * string.c (str_new_frozen): if the given string is embeddedable
8374 but not embedded, embed a new copied string. [Bug #11946]
8376 Wed Feb 3 08:25:38 2016 boshan <boshan@subsplash.com>
8378 * ext/openssl/ossl_pkey.c (Init_ossl_pkey): [DOC] Fix typo
8379 "encrypted" to "decrypted". [Fix GH-1235]
8381 Wed Feb 3 08:21:32 2016 Seiei Miyagi <hanachin@gmail.com>
8383 * ext/ripper/lib/ripper/lexer.rb (on_heredoc_dedent): Fix
8384 Ripper.lex error in dedenting squiggly heredoc. heredoc tree is
8385 also an array of Elem in the outer tree. [Fix GH-1234]
8387 Wed Feb 3 02:33:39 2016 NARUSE, Yui <naruse@ruby-lang.org>
8389 * re.c (rb_reg_prepare_enc): use already compiled US-ASCII regexp
8390 if given string is ASCII only.
8391 121.2s to 113.9s on my x86_64-freebsd10.2 Intel Core i5 661
8393 Tue Feb 2 13:02:03 2016 NARUSE, Yui <naruse@ruby-lang.org>
8395 * re.c: Introduce RREGEXP_PTR.
8397 partially merge https://github.com/ruby/ruby/pull/497
8399 * include/ruby/ruby.h: ditto.
8403 * ext/strscan/strscan.c: ditto.
8409 Tue Feb 2 09:08:27 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
8411 * lib/rubygems/specification.rb: `coding` is effective only first
8412 line except shebang.
8414 * lib/rubygems/package.rb, lib/rubygems/package/*: ditto.
8416 Mon Feb 1 21:41:58 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
8418 * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.5.2.
8419 It supports to enable frozen string literal and add `--norc` option for
8420 disable to `.gemrc` configuration.
8421 See 2.5.2 release notes for other fixes and enhancements.
8422 https://github.com/rubygems/rubygems/blob/a8aa3bac723f045c52471c7b9328310a048561e0/History.txt#L3
8424 Sun Jan 31 12:33:13 2016 Dan Kreiger <dan@dankreiger.com>
8426 * test/drb/ut_large.rb (multiply, avg, median): add additional
8427 math operations to DRbLarge. [Fix GH-1086]
8429 Sun Jan 31 12:19:15 2016 Kuniaki IGARASHI <igaiga@gmail.com>
8431 * test/ruby/test_file_exhaustive.rb (test_lstat): Add lacking test
8432 for File#lstat. [Fix GH-1231]
8434 Sun Jan 31 12:15:33 2016 Prayag Verma <prayag.verma@gmail.com>
8436 * doc/standard_library.rdoc: fix typo [Fix GH-1230]
8438 outputing > outputting
8441 Sat Jan 30 15:18:07 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8443 * vm_eval.c (rb_check_funcall_with_hook): also should call the
8444 given hook before returning Qundef when overridden respond_to?
8445 method returned false. [ruby-core:73556] [Bug #12030]
8447 Fri Jan 29 17:40:07 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8449 * win32/file.c (rb_readlink): drop garbage after the substitute
8450 name, as rb_w32_read_reparse_point returns the expected buffer
8451 size but "\??\" prefix is dropped from the result.
8453 * win32/win32.c (w32_readlink): ditto, including NUL-terminator.
8455 Fri Jan 29 17:07:27 2016 NAKAMURA Usaku <usa@ruby-lang.org>
8457 * win32/win32.c (fileattr_to_unixmode, rb_w32_reparse_symlink_p): volume
8458 mount point should be treated as directory, not symlink.
8459 [ruby-core:72483] [Bug #11874]
8461 * win32/win32.c (rb_w32_read_reparse_point): check the reparse point is
8462 a volume mount point or not.
8464 * win32/file.c (rb_readlink): follow above change (but this pass won't
8467 Fri Jan 29 16:17:07 2016 Lucas Buchala <lucasbuchala@gmail.com>
8469 * enum.c (enum_take_while, enum_drop_while): rename block
8470 parameter to obj, since they are generic objects. [Fix GH-1226]
8472 Fri Jan 29 14:15:26 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8474 * lib/erb.rb (ERB::Compiler#detect_magic_comment): allow
8475 frozen-string-literal in comment as well as encoding.
8477 * lib/erb.rb (ERB#def_method): insert def line just before the
8478 first non-comment and non-empty line, not to leave duplicated
8479 and stale magic comments.
8481 Fri Jan 29 11:13:33 2016 Jeremy Evans <code@jeremyevans.net>
8483 * lib/erb.rb (ERB#set_eoutvar): explicitly make mutable string as
8484 a buffer to make ERB work with --enable-frozen-string-literal.
8485 [ruby-core:73561] [Bug #12031]
8487 Fri Jan 29 10:44:56 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
8489 * lib/net/http/header.rb: Warn nil variable on HTTP Header.
8490 It caused to NoMethodError. [fix GH-952][fix GH-641] Patch by @teosz
8491 * test/net/http/test_httpheader.rb: Added test for nil HTTP Header.
8493 Thu Jan 28 17:31:43 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8495 * ext/socket/socket.c (sock_gethostname): support unlimited size
8498 Wed Jan 27 21:03:45 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
8500 * test/-ext-/string/test_capacity.rb: Added missing library.
8502 Wed Jan 27 18:53:40 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8504 * enc/unicode.c: Fixed bit mask in macro OnigCodePointCount
8506 Wed Jan 27 17:54:42 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8508 * enc/unicode.c: Protect code point count by macro, in order to
8509 be able to use the remaining bits for flags.
8510 (with Kimihito Matsui)
8512 Wed Jan 27 16:34:35 2016 boshan <boshan@subsplash.com>
8514 * lib/tempfile.rb (Tempfile#initialize): [DOC] the first parameter
8515 `basename` is optional and defaulted to an empty string since
8516 [GH-523]. [Fix GH-1225]
8518 Wed Jan 27 16:25:54 2016 Koichi ITO <koic.ito@gmail.com>
8520 * array.c (rb_ary_dig): [DOC] fix the exception class to be raised
8521 when intermediate object does not have dig method. TypeError
8522 will be raised now. [Fix GH-1224]
8524 Tue Jan 26 19:36:15 2016 Aggelos Avgerinos <evaggelos.avgerinos@gmail.com>
8526 * array.c (permute0, rpermute0): [DOC] Substitute indexes ->
8527 indices in documentation for consistency. [Fix GH-1222]
8529 Tue Jan 26 15:21:37 2016 Eric Wong <e@80x24.org>
8531 * compile.c (caller_location): use rb_fstring_cstr for "<compiled>"
8532 (it is converted to fstring anyways inside rb_iseq_new_with_opt)
8533 * iseq.c (iseqw_s_compile): ditto
8534 * iseq.c (rb_iseq_new_main): use rb_fstring_cstr for "<main>"
8535 * vm.c (Init_VM): ditto, share with with above
8536 * iseq.c (iseqw_s_compile_file): rb_fstring before rb_io_t->pathv
8537 share "<main>" with above
8538 * vm.c (rb_binding_add_dynavars): fstring "<temp>" immediately
8540 Tue Jan 26 15:14:01 2016 Kazuki Yamaguchi <k@rhe.jp>
8542 * compile.c (iseq_peephole_optimize): don't apply tailcall
8543 optimization to send/invokesuper instructions with blockiseq.
8544 This is a follow-up to the changes in r51903; blockiseq is now
8545 the third operand of send/invokesuper instructions.
8546 [ruby-core:73413] [Bug #12018]
8548 Tue Jan 26 14:26:46 2016 Eric Wong <e@80x24.org>
8550 * signal.c (sig_list): use fstring for hash key
8551 * test/ruby/test_signal.rb (test_signal_list_dedupe_keys): added
8553 Tue Jan 26 13:08:34 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8555 * signal.c (rb_f_kill): should immediately deliver reserved
8556 signals SIGILL and SIGFPE, not only SIGSEGV and SIGBUS.
8558 Tue Jan 26 07:57:28 2016 Joseph Tibbertsma <josephtibbertsma@gmail.com>
8560 * gc.c (RVALUE_PAGE_WB_UNPROTECTED): fix a typo of argument name.
8563 Mon Jan 25 17:26:54 2016 Eric Wong <e@80x24.org>
8565 * ruby_assert.h (RUBY_ASSERT_WHEN): fix reference to macro name
8566 * vm_core.h: include ruby_assert.h before using
8569 Mon Jan 25 15:55:30 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8571 * symbol.c (sym_check_asciionly): more informative error message
8572 with the encoding name and the inspected content.
8573 [ruby-core:73398] [Feature #12016]
8575 Mon Jan 25 09:38:26 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
8577 * test/ruby/test_string.rb: added testcase for next!, succ and succ!
8578 [fix GH-1213] Patch by @K0mAtoru
8580 Mon Jan 25 09:32:25 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
8582 * lib/webrick/httpservlet/filehandler.rb: fix documentation for namespace.
8583 [fix GH-1219][ci skip] Patch by @leafac
8585 Sun Jan 24 19:34:23 2016 Eric Wong <e@80x24.org>
8587 * vm_insnhelper.c (vm_check_if_namespace): tiny size reduction
8589 Sun Jan 24 18:12:36 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8591 * common.mk: Simplifying Unicode data file download logic to make
8592 it more reliable (including additional fix not in r53633) [Bug #12007]
8594 Sun Jan 24 16:54:11 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8596 * ext/io/wait/wait.c (io_wait_readwrite): [EXPERIMENTAL] allow to
8597 wait for multiple modes, readable and writable, at once. the
8598 arguments may change in the future. [Feature #12013]
8600 Sat Jan 23 22:30:59 2016 K0mA <mctj1218@gmail.com>
8602 * test/ruby/test_array.rb (test_keep_if): Add test for
8603 Array#keep_if separate from Array#select! [Fix GH-1218]
8605 Sat Jan 23 20:54:26 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
8607 * common.mk: revert r53633. It broke rubyci and travis.
8608 https://travis-ci.org/ruby/ruby/builds/104259623
8610 Sat Jan 23 20:10:29 2016 Shugo Maeda <shugo@ruby-lang.org>
8612 * range.c (range_eqq): revert r51585 because rb_call_super() is
8613 called in range_include() and thus r51585 doesn't work when the
8614 receiver Range object consists of non linear objects such as Date
8616 [ruby-core:72908] [Bug #12003]
8618 Sat Jan 23 18:37:37 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8620 * ChangeLog: Fixing wrong time on previous commit, and adding
8621 previous commit message to svn [ci skip]
8623 Sat Jan 23 18:30:30 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8625 * common.mk: Simplifying Unicode data file download logic to make
8626 it more reliable [Bug #12007]
8628 Sat Jan 23 16:29:42 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8630 * tool/downloader.rb: Fixed a logical error, improved documentation
8632 Sat Jan 23 11:42:43 2016 Peter Suschlik <ps@neopoly.de>
8634 * README.md: Use SVG Travis badge over PNG for better quality and
8635 device support. [Fix GH-1214] [Fix GH-1216]
8637 Sat Jan 23 11:29:16 2016 Pascal Betz <pascal.betz@simplificator.com>
8639 * lib/csv.rb: Update documentation of CSV header converter for
8640 r45498, [GH-575]. [Fix GH-1215]
8642 Fri Jan 22 17:36:46 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8644 * vm_core.h (VM_ASSERT): use RUBY_ASSERT instead of rb_bug.
8646 * error.c (rb_assert_failure): assertion with stack dump.
8648 * ruby_assert.h (RUBY_ASSERT): new header for the assertion.
8650 Fri Jan 22 00:25:57 2016 NARUSE, Yui <naruse@ruby-lang.org>
8652 * regparse.c (fetch_name_with_level): allow non word characters
8653 at the first character. [Feature #11949]
8655 * regparse.c (fetch_name): ditto.
8657 Thu Jan 21 17:34:01 2016 NARUSE, Yui <naruse@ruby-lang.org>
8659 * marshal.c (r_object0): honor Marshal.load post proc
8660 value for TYPE_LINK. by Hiroshi Nakamura <nahi@ruby-lang.org>
8661 https://github.com/ruby/ruby/pull/1204 fix GH-1204
8663 Thu Jan 21 16:37:50 2016 NARUSE, Yui <naruse@ruby-lang.org>
8665 * Makefile.in (update-rubyspec): fix r53208 like r53451.
8667 Wed Jan 20 20:58:25 2016 NAKAMURA Usaku <usa@ruby-lang.org>
8669 * common.mk, Makefile.in: update-config_files is only for Unix
8672 Wed Jan 20 17:13:39 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8674 * tool/extlibs.rb: add --cache option to change cache directory.
8676 Tue Jan 19 17:03:40 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8678 * common.mk: Added Unicode data file CaseFolding.txt to be additionally
8679 downloaded (with Kimihito Matsui)
8681 Tue Jan 19 10:09:58 2016 Sho Hashimoto <sho-h@ruby-lang.org>
8683 * lib/shell.rb (Shell.debug_output_exclusive_unlock): remove
8684 because Mutex#exclusive_unlock was already deleted. [fix GH-1185]
8686 Tue Jan 19 09:38:27 2016 Nick Cox <nick@nickcox.me>
8688 * vm_method.c: fix grammar in respond_to? warning.
8691 Mon Jan 18 14:37:07 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8693 * parse.y (parser_here_document): an escaped newline is not an
8694 actual newline, and the rest part should not be dedented.
8695 [ruby-core:72855] [Bug #11989]
8697 Mon Jan 18 12:04:34 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
8699 * test/ruby/test_string.rb: Added extra testcase for test_rstrip_bang
8700 and test_lstrip_bang. [fix GH-1178] Patch by @Matrixbirds
8702 Mon Jan 18 11:47:27 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
8704 * string.c: fix a typo. [fix GH-1202][ci skip] Patch by @sunboshan
8706 Sun Jan 17 21:15:30 2016 NARUSE, Yui <naruse@ruby-lang.org>
8708 * configure.in: improve ICC (Intel C Compiler) support.
8710 * configure.in (CXX): The name of icc's c++ compiler is `icpc`.
8712 * configure.in (warnings): Add `-diag-disable=2259` to suppress
8713 noisy warnings: "non-pointer conversion from "..." to "..." may
8714 lose significant bits".
8716 * configure.in (optflags): Add `-fp-model precise` like -fno-fast-math.
8718 * lib/mkmf.rb: icc supports -Werror=division-by-zero
8719 and -Werror=deprecated-declarations, but doesn't support
8720 -Wdivision-by-zero and -Wdeprecated-declarations.
8722 Sun Jan 17 20:40:10 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8724 * string.c: Any kind of option is now taking the new code path for
8725 upcase/downcase/capitalize/swapcase. :lithuanian can be used for
8726 testing if no specific option is desired.
8727 * test/ruby/enc/test_case_mapping.rb: Adjusted to above.
8728 (with Kimihito Matsui)
8730 Sun Jan 17 20:10:10 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8732 * enc/unicode.c: Fixed a logical error and some comments.
8733 * test/ruby/enc/test_case_mapping.rb: Made tests more general.
8734 (with Kimihito Matsui)
8736 Sun Jan 17 17:41:41 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8738 * enc/unicode.c: Removed artificial expansion for Turkic,
8739 added hand-coded support for Turkic, fixed logic for swapcase.
8740 * string.c: Made use of new case mapping code possible from upcase,
8741 capitalize, and swapcase (with :lithuanian as a guard).
8742 * test/ruby/enc/test_case_mapping.rb: Adjusted for above.
8743 (with Kimihito Matsui)
8745 Sun Jan 17 15:30:57 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8747 * ext/socket/option.c (sockopt_bool): relax boolean size to be one
8748 too not only sizeof(int). Winsock getsockopt() returns a single
8749 byte as a boolean socket option. [ruby-core:72730] [Bug #11958]
8751 Sun Jan 17 14:43:01 2016 Kuniaki IGARASHI <igaiga@gmail.com>
8753 * test/ruby/test_env.rb: [Fix GH-1201]
8754 * Extract test code for ENV#keep_if from ENV#select_bang
8755 * Add a test case for ENV#select_bang,keep_if
8757 Sun Jan 17 14:42:25 2016 Kuniaki IGARASHI <igaiga@gmail.com>
8759 * test/ruby/test_env.rb: [Fix GH-1201]
8760 * Extract test code for ENV#delete_if from ENV#reject_bang
8761 * Add a test case for ENV#reject_bang,delete_if
8763 Sun Jan 17 14:40:22 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8765 * ext/socket/option.c (check_size): extract a macro to check
8766 binary data size, with a consistent message.
8768 * ext/socket/option.c (sockopt_byte): fix error message,
8769 sizeof(int) differs from sizeof(unsigned char) in general.
8771 Sat Jan 16 21:16:21 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8773 * parse.y (xstring): reset heredoc indent after dedenting,
8774 so that following string literal would not be dedented.
8775 [ruby-core:72857] [Bug #11990]
8777 Sat Jan 16 17:24:24 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8779 * enc/unicode.c: Artificial mapping to test buffer expansion code.
8780 * string.c: Fixed buffer expansion logic.
8781 * test/ruby/enc/test_case_mapping.rb: Tests for above.
8782 (with Kimihito Matsui)
8784 Sat Jan 16 16:47:14 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
8786 * ext/openssl/lib/openssl/pkey.rb: Added 2048 bit DH parameter.
8787 * test/openssl/test_pkey_dh.rb: ditto.
8789 Sat Jan 16 10:51:19 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
8791 * enc/unicode.c: fix implicit conversion error with clang. fixup r53548.
8794 Sat Jan 16 10:31:00 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
8796 * common.mk: test-sample was changed to test-basic.
8797 [Feature #11982][ruby-core:72823]
8798 * basictest/runner.rb: ditto. rename from tool/rubytest.rb.
8799 * basictest/test.rb: ditto. rename from sample/test.rb.
8800 * defs/gmake.mk: picked from r53540
8801 * sample/test.rb: backward compatibility for chkbuild.
8803 Sat Jan 16 10:23:23 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8805 * string.c, enc/unicode.c: New code path as a preparation for Unicode-wide
8806 case mapping. The code path is currently guarded by the :lithuanian
8807 option to avoid accidental problems in daily use.
8808 * test/ruby/enc/test_case_mapping.rb: Test for above.
8809 * string.c: function 'check_case_options': fixed logical errors
8810 (with Kimihito Matsui)
8812 Fri Jan 15 20:20:20 2016 Naohisa Goto <ngotogenome@gmail.com>
8814 * regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): The value of
8815 UNALIGNED_WORD_ACCESS should be used to determine whether
8816 unaligned word access is allowed or not. After this commit,
8817 ./configure CPPFLAGS="-DUNALIGNED_WORD_ACCESS=0" disables
8818 unaligned word access even on platforms that support the feature.
8820 Fri Jan 15 16:12:10 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8822 * parse.y (string1): reset heredoc indent for each string literal
8823 so that concatenated string would not be dedented.
8824 [ruby-core:72857] [Bug #11990]
8826 Thu Jan 14 20:01:00 2016 NARUSE, Yui <naruse@ruby-lang.org>
8828 * lib/uri/generic.rb (URI::Generic#to_s): change encoding to
8829 UTF-8 as Ruby 2.2/ by Koichi ITO <koic.ito@gmail.com>
8830 https://github.com/ruby/ruby/pull/1188 fix GH-1188
8832 Thu Jan 14 17:36:16 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8834 * variable.c (rb_f_global_variables): add matched back references
8835 only, as well as defined? operator.
8837 Thu Jan 14 16:12:09 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8839 * sprintf.c (rb_str_format): format exact number more exactly.
8841 Thu Jan 14 15:08:43 2016 Tony Arcieri <bascule@gmail.com>
8843 * Remove 512-bit DH group. It's affected by LogJam Attack.
8845 [fix GH-1196][Bug #11968][ruby-core:72766]
8847 Thu Jan 14 11:44:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8849 * variable.c (rb_f_global_variables): add $1..$9 only if $~ is
8850 set. fix the condition removed at r14014.
8852 Wed Jan 13 17:21:45 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
8854 * .travis.yml: removed commented-out code.
8856 Wed Jan 13 17:14:54 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
8858 * .travis.yml: removed osx code. follow up with r53517
8860 Wed Jan 13 16:56:19 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8862 * iseq.c (rb_iseq_mark): mark parent iseq to prevent dynamically
8863 generated iseq by eval from GC. [ruby-core:72620] [Bug #11928]
8865 Wed Jan 13 03:42:58 2016 Eric Wong <e@80x24.org>
8867 * class.c (Init_class_hierarchy): resolve name for rb_cObject ASAP
8868 * object.c (rb_mod_const_set): move name resolution to rb_const_set
8869 * variable.c (rb_const_set): do class resolution here
8870 [ruby-core:72807] [Bug #11977]
8872 Wed Jan 13 00:37:12 2016 Satoshi Ohmori <sachin21dev@gmail.com>
8874 * man/ruby.1: fix double word typo. [Fix GH-1194]
8876 Tue Jan 12 21:01:09 2016 Benoit Daloze <eregontp@gmail.com>
8878 * common.mk: update URL and name for the Ruby spec suite.
8880 Tue Jan 12 19:52:19 2016 sorah (Shota Fukumori) <her@sorah.jp>
8882 * lib/forwardable.rb: Convert given accessors to String.
8884 r53381 changed to accept only Symbol or String for accessors, but
8885 there are several rubygems that pass classes (e.g. Array,
8886 Hash, ...) as accessors. Prior r53381, it was accepted because Class#to_s
8887 returns its class name. After r53381 given accessors are checked
8888 with define_method, but it accepts only Symbol or String, otherwise
8891 def_delegator Foo, :some_method
8893 This change is to revert unexpected incompatibility. But this behavior
8894 may change in the future.
8896 Mon Jan 12 18:41:41 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8898 * string.c: made a variable name more grammatically correct
8900 Mon Jan 12 18:34:34 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8902 * string.c: minor grammar fix [ci skip]
8904 Mon Jan 12 16:09:09 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8906 * test/ruby/enc/test_casing_options.rb: Tests for option
8907 parsing/checking for upcase/downcase/capitalize/swapcase
8908 (see r53503; with Kimihito Matsui)
8910 Mon Jan 12 16:03:03 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8912 * string.c: Added option parsing/checking for upcase/downcase/
8913 capitalize/swapcase (with Kimihito Matsui)
8915 Mon Jan 11 21:28:28 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
8917 * include/ruby/oniguruma.h: Added flags needed for upcase/downcase
8918 Unicode addition (with Kimihito Matsui)
8920 Mon Jan 11 09:50:24 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8922 * configure.in: check if the API version number is consistent with
8923 the program version number.
8925 Sun Jan 10 20:57:25 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8927 * compile.c (compile_massign_lhs): when index ends with splat,
8928 append rhs value to it like POSTARG, since VM_CALL_ARGS_SPLAT
8929 splats the last argument only. [ruby-core:72777] [Bug #11970]
8931 Sun Jan 10 15:45:10 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8933 * include/ruby/missing.h (explicit_bzero_by_memset_s): remove
8934 inline implementation by memset_s, which needs a macro before
8935 including headers and can cause problems in extension libraries
8936 by the order of the macro and headers.
8938 Sun Jan 10 13:41:36 2016 Eric Wong <e@80x24.org>
8940 * io.c (rb_deferr): remove long obsolete global
8942 Sun Jan 10 09:14:42 2016 Eric Wong <e@80x24.org>
8944 * ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String):
8946 * lib/net/http.rb (connect): eliminate delete
8947 * lib/net/http/header.rb (basic_encode): ditto
8948 * lib/net/imap.rb (authenticate): eliminate gsub
8949 (self.encode_utf7): shorten delete arg
8950 * lib/net/smtp.rb (base64_encode): eliminate gsub
8951 * lib/open-uri.rb (OpenURI.open_http): eliminate delete
8952 * lib/rss/rss.rb: ditto
8953 * lib/securerandom.rb (base64): ditto
8954 (urlsafe_base64): eliminate delete!
8955 * lib/webrick/httpauth/digestauth.rb (split_param_value):
8957 * lib/webrick/httpproxy.rb (do_CONNECT): eliminate delete
8958 (setup_upstream_proxy_authentication): ditto
8959 [ruby-core:72666] [Feature #11938]
8961 Sat Jan 9 23:19:14 2016 Kuniaki IGARASHI <igaiga@gmail.com>
8963 * test/ruby/test_hash.rb (test_try_convert): Add test for
8964 Hash.try_convert. [Fix GH-1190]
8966 Sat Jan 9 23:15:25 2016 Jon Moss <maclover7@users.noreply.github.com>
8968 * ext/openssl/ossl.c: Add missing variables to documentation
8969 examples. [Fix GH-1189]
8971 Sat Jan 9 18:25:57 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8973 * symbol.h (is_attrset_id): ASET is an attrset ID. fix
8974 unexpected safe call instead of an ordinary ASET.
8976 Sat Jan 9 10:44:33 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
8978 * configure.in, win32/setup.mak: extract RUBY_PROGRAM_VERSION from
8979 RUBY_VERSION in version.h instead of RUBY_API_VERSION numbers in
8980 include/ruby/version.h, and cut it into version numbers.
8982 Sat Jan 9 07:13:33 2016 Koichi Sasada <ko1@atdot.net>
8984 * gc.c: rename PAGE_* to HEAP_PAGE_* because PAGE_SIZE is used
8987 * test/ruby/test_gc.rb: catch up this fix.
8989 Sat Jan 9 05:45:40 2016 Koichi Sasada <ko1@atdot.net>
8991 * gc.c: PAGE_BITMAP_PLANES (the number of bitmap) is 4, not 3.
8993 Sat Jan 9 05:42:57 2016 Koichi Sasada <ko1@atdot.net>
8995 * gc.c: rename constant names HEAP_* to PAGE_*.
8997 Keys of GC::INTERNAL_CONSTANTS are also renamed.
8999 * test/ruby/test_gc.rb: catch up this fix.
9001 Fri Jan 8 22:30:06 2016 Akinori MUSHA <knu@iDaemons.org>
9003 * doc/regexp.rdoc: [DOC] Elaborate on the \G anchor. [ci skip]
9005 Fri Jan 8 19:49:27 2016 Koichi Sasada <ko1@atdot.net>
9007 * gc.c: remove heap_page::body. Instead of this field,
9008 heap_page::start field works well.
9010 Fri Jan 8 19:31:52 2016 Koichi Sasada <ko1@atdot.net>
9012 * gc.c: rename rb_heap_t::page_length to rb_heap_t::total_pages.
9014 `page_length' is not clear (we may understand with length of
9017 Fri Jan 8 17:07:14 2016 Koichi Sasada <ko1@atdot.net>
9019 * gc.c: remove heap_page::heap. This field is only used to recognize
9020 whether a page is in a tomb or not. Instead of this field,
9021 heap_page::flags::in_tomb (1 bit field) is added.
9023 Also type of heap_page::(total|free|final)_slots are changed from
9024 int to short. 2B is enough for them.
9026 Fri Jan 8 09:33:59 2016 Shugo Maeda <shugo@ruby-lang.org>
9028 * iseq.c (rb_iseq_compile_with_option): move variable initialization
9029 code to avoid maybe-uninitialized warnings by gcc 4.8.
9031 Fri Jan 8 00:03:22 2016 Shugo Maeda <shugo@ruby-lang.org>
9033 * enum.c (enum_min, enum_max): do the same optimization as r53454.
9035 Thu Jan 7 22:32:21 2016 Kenta Murata <mrkn@mrkn.jp>
9037 * ruby.h: undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P
9038 and HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P on C++.
9039 [ruby-core:72736] [Bug #11962]
9041 Thu Jan 7 22:02:21 2016 Shugo Maeda <shugo@ruby-lang.org>
9043 * enum.c (enum_minmax): optimize object comparison in
9046 Thu Jan 7 14:49:12 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
9048 * thread.c (rb_thread_pending_interrupt_p): no pending interrupt
9049 before initialization.
9051 * thread.c (thread_raise_m, rb_thread_kill): uninitialized thread
9052 cannot interrupt. [ruby-core:72732] [Bug #11959]
9054 Thu Jan 7 11:34:14 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
9056 * include/ruby/backward.h (ruby_show_copyright_to_die): for source
9057 code backward compatibility.
9059 * ruby.c (process_options): return Qtrue to exit the process
9062 * version.c (ruby_show_copyright): no longer exit.
9064 Wed Jan 6 17:22:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
9066 * lib/optparse.rb (OptionParser#order!): add `into` optional
9067 keyword argument to store the results. [Feature #11191]
9069 Tue Jan 5 21:44:37 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
9071 * ChangeLog: fix wrong class name.
9073 Tue Jan 5 21:43:50 2016 Kuniaki IGARASHI <igaiga@gmail.com>
9075 * test/ruby/test_string.rb(test_chr): added test for String#chr
9078 Tue Jan 5 21:32:26 2016 Kuniaki IGARASHI <igaiga@gmail.com>
9080 * test/ruby/test_numeric.rb (test_nonzero_p): added test for Numeric#nonzero?
9083 Tue Jan 5 11:47:23 2016 Damir Gaynetdinov <damir.gaynetdinov@gmail.com>
9085 * doc/marshal.rdoc: Clarify object references example, that the
9086 reference is same object. [Fix GH-1156]
9088 Tue Jan 5 05:06:51 2016 Eric Wong <e@80x24.org>
9090 * ext/stringio/stringio.c (strio_binmode): implement to set encoding
9091 * test/stringio/test_stringio.rb (test_binmode): new test
9092 [ruby-core:72699] [Bug #11945]
9094 Mon Jan 4 15:44:37 2016 Sho Hashimoto <sho-h@ruby-lang.org>
9096 * variable.c (rb_mod_deprecate_constant): [DOC] added
9097 documentation for Module#deprecate_constant. [ci skip]
9099 Mon Jan 4 15:36:38 2016 Sho Hashimoto <sho-h@ruby-lang.org>
9101 * thread_sync.c: [DOC] remove SizedQueue#close argument.
9104 Mon Jan 4 10:14:24 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
9106 * test/coverage/test_coverage.rb: ignored test when enabled to coverage.
9107 It lead to crash with `make test-all`.
9109 Mon Jan 4 08:10:44 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
9111 * insns.def (opt_case_dispatch): Move a comment to the
9112 appropriate position.
9115 Sun Jan 3 23:55:13 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
9117 * lib/rubygems/security.rb (DIGEST_ALGORITHM, KEY_ALGORITHM):
9118 should check same name as the used constants.
9119 [ruby-core:72674] [Bug #11940]
9121 Sun Jan 3 19:22:01 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
9123 * aclocal.m4: add fallback file for non-aclocal environments.
9124 [ruby-core:72683] [Bug #11942]
9126 Sun Jan 3 13:56:49 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
9128 * eval_error.c (rb_print_undef): Use `rb_method_visibility_t`
9130 * eval_intern.h (rb_print_undef): ditto
9131 * proc.c (mnew_internal): ditto
9132 * vm_method.c (rb_export_method): ditto
9133 [Misc #11649] [ruby-core:71311] [fix GH-1078]
9135 Sun Jan 3 12:12:09 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
9137 * acinclude.m4: rename aclocal.m4, which should be generated by
9138 aclocal. [ruby-core:72675] [Bug #11941]
9140 Sat Jan 2 21:07:55 2016 Eric Wong <e@80x24.org>
9142 * thread_sync.c (queue_do_pop): avoid cast with Qfalse
9143 (rb_szqueue_push): ditto, use queue_sleep wrapper
9145 Sat Jan 2 16:16:14 2016 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
9147 * lib/erb.rb: Allow ERB subclass to add token easily.
9150 * test/erb/test_erb.rb: ditto.
9152 Sat Jan 2 14:44:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
9154 * parse.y (regexp): set_yylval_num sets u1, should use nd_tag
9155 instead of nd_state. [ruby-core:72638] [Bug #11932]
9157 Sat Jan 2 02:27:22 2016 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
9159 * lib/ostruct.rb: Fix case of frozen object with initializer.
9160 Bug revealed by RubySpec [ruby-core:72639]
9162 Fri Jan 1 22:01:52 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
9164 * NEWS: mention CSV's liberal_parsing option.
9166 Fri Jan 1 19:38:23 2016 okkez <okkez000@gmail.com>
9168 * doc/NEWS-2.3.0: fix double words typo.
9169 [ci skip][fix GH-1183]
9171 Fri Jan 1 15:28:56 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
9173 * compile.c (remove_unreachable_chunk): decrease count of
9174 call_info in removed instructions. fix up r53402.
9176 Fri Jan 1 12:05:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
9178 * compile.c (remove_unreachable_chunk): remove unreferred label
9179 to optimize away unreachable chunk.
9181 Fri Jan 1 11:42:57 2016 James Edward Gray II <james@graysoftinc.com>
9183 * lib/csv.rb (CSV): Add a liberal_parsing option.
9184 Patch by Braden Anderson. [#11839]
9185 * test/csv/test_features.rb: test liberal_parsing
9187 Fri Jan 1 10:27:28 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
9189 * tool/mkconfig.rb (RbConfig): prefix SDKROOT to oldincludedir
9190 not includedir, the latter is outside the ruby installation.
9191 [ruby-core:72496] [Bug #11881]
9193 Fri Jan 1 08:53:02 2016 Yuki Kurihara <co000ri@gmail.com>
9195 * test/ruby/test_lazy_enumerator.rb (test_take_bad_arg): Add test
9196 code in case of Enumerator::Lazy#take called with negative number.
9197 [ruby-dev:49467] [Bug #11933]
9199 Fri Jan 1 05:06:20 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
9201 * parse.y (parser_here_document): update indent for each line in
9202 indented here document with single-quotes.
9203 [ruby-core:72479] [Bug #11871]
9205 Fri Jan 1 03:26:44 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
9207 * lib/ostruct.rb (freeze): define deferred accessors before
9208 freezing to get rid of an error when just reading frozen
9211 Thu Dec 31 14:36:45 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
9213 * lib/ostruct.rb: Fix new_ostruct_member to correctly avoid
9214 redefinition [#11901]
9216 Thu Dec 31 02:45:12 2015 NARUSE, Yui <naruse@ruby-lang.org>
9218 * test/ruby/test_module.rb (test_classpath): r53376 may change
9219 the order of m.constants.
9220 `make TESTS='-v ruby/test_class.rb ruby/test_module.rb' test-all`
9221 may fail after that.
9222 http://rubyci.s3.amazonaws.com/tk2-243-31075/ruby-trunk/log/20151230T164202Z.log.html.gz
9224 Thu Dec 31 02:20:00 2015 Benoit Daloze <eregontp@gmail.com>
9226 * common.mk (help): Fix typo.
9228 Wed Dec 30 20:53:09 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
9230 * lib/net/http/responses.rb: Added new response class for 451 status code.
9231 * lib/net/http.rb: documentation for HTTPUnavailableForLegalReasons
9233 Wed Dec 30 20:45:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
9235 * lib/webrick/httpstatus.rb: Added HTTP 451 Status Code.
9236 [fix GH-1167] Patch by @MuhammetDilmac
9237 https://tools.ietf.org/html/draft-tbray-http-legally-restricted-status-00
9239 Wed Dec 30 20:25:52 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
9241 * doc/syntax/calling_methods.rdoc: fix old operator for safe navigation
9242 operator. [ci skip][fix GH-1182] Patch by @dougo
9244 Wed Dec 30 16:43:23 2015 Kuniaki IGARASHI <igaiga@gmail.com>
9246 * test/ruby/test_string.rb (test_ord): Add test for String#ord.
9249 Wed Dec 30 11:28:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
9251 * lib/forwardable.rb (def_instance_delegator): adjust backtrace of
9252 method body by tail call optimization. adjusting the delegated
9253 target is still done by deleting backtrace.
9255 * lib/forwardable.rb (def_single_delegator): ditto.
9257 Wed Dec 30 11:18:42 2015 Elliot Winkler <elliot.winkler@gmail.com>
9259 * lib/forwardable.rb (def_instance_delegator) fix delegating to
9260 'args' and 'block', clashing with local variables in generated
9261 methods. [ruby-core:72579] [Bug #11916]
9263 * lib/forwardable.rb (def_single_delegator): ditto.
9265 Wed Dec 30 09:58:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
9267 * object.c (rb_class_inherited_p): search the corresponding
9268 ancestor to prepended module from prepending class itself.
9269 [ruby-core:72493] [Bug #11878]
9271 Wed Dec 30 09:20:00 2015 Yuki Kurihara <co000ri@gmail.com>
9273 * test/stringio/test_io.rb (test_flag): add assertion for error when
9274 text and binary mode are mixed.
9275 [ruby-dev:49465] [Feature #11921]
9277 Wed Dec 30 08:43:59 2015 Yuki Kurihara <co000ri@gmail.com>
9279 * test/stringio/test_stringio.rb (test_initialize): add test for
9280 StringIO#initialize. [ruby-core:72585] [Feature #11920]
9282 Wed Dec 30 05:19:24 2015 Eric Wong <e@80x24.org>
9284 * class.c (struct clone_const_arg): adjust for id_table
9285 (clone_const): ditto
9286 (clone_const_i): ditto
9287 (rb_mod_init_copy): ditto
9288 (rb_singleton_class_clone_and_attach): ditto
9289 (rb_include_class_new): ditto
9290 (include_modules_at): ditto
9291 * constant.h (rb_free_const_table): ditto
9292 * gc.c (free_const_entry_i): ditto
9293 (rb_free_const_table): ditto
9294 (obj_memsize_of): ditto
9295 (mark_const_entry_i): ditto
9296 (mark_const_tbl): ditto
9297 * internal.h (struct rb_classext_struct): ditto
9298 * object.c (rb_mod_const_set): resolve class name on assignment
9299 * variable.c (const_update): replace with const_tbl_update
9300 (const_tbl_update): new function
9301 (fc_i): adjust for id_table
9302 (find_class_path): ditto
9303 (autoload_const_set): st_update => const_tbl_update
9304 (rb_const_remove): adjust for id_table
9306 (rb_local_constants_i): ditto
9307 (rb_local_constants): ditto
9308 (rb_mod_const_at): ditto
9309 (rb_mod_const_set): ditto
9310 (rb_const_lookup): ditto
9311 [ruby-core:72112] [Feature #11614]
9313 Wed Dec 30 04:10:13 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
9315 * thread_pthread.c (rb_thread_create_timer_thread): destroy attr even
9316 if pthread_create() failed.
9318 Wed Dec 30 02:55:09 2015 Eric Wong <e@80x24.org>
9320 * thread_pthread.c (setup_communication_pipe): delay setting owner
9321 (rb_thread_create_timer_thread): until thread creation succeeds
9322 [ruby-core:72590] [Bug #11922]
9324 Tue Dec 29 19:12:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
9326 * ruby.c (proc_options): -W command line option should be able to
9327 override -w in RUBYOPT environment variable.
9329 Tue Dec 29 17:54:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
9331 * eval.c (ignored_block): warn if a block is given to `using`,
9332 which is probably for `Module.new`.
9334 Tue Dec 29 12:48:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
9336 * lib/ostruct.rb (OpenStruct): make respond_to? working on
9337 just-allocated objects for workaround of Psych.
9338 [ruby-core:72501] [Bug #11884]
9340 Tue Dec 29 10:35:00 2015 Kenta Murata <mrkn@mrkn.jp>
9342 * test/mkmf/test_have_func.rb (test_have_func):
9343 Add assertion to examine the existence of HAVE_RUBY_INIT.
9345 * test/mkmf/test_have_func.rb (test_not_have_func):
9346 Add assertion to examine the absence of HAVE_RUBY_INIT.
9348 Tue Dec 29 06:50:42 2015 Eric Wong <e@80x24.org>
9350 * thread_sync.c: static classes
9352 Tue Dec 29 05:30:30 2015 Eric Wong <e@80x24.org>
9354 * lib/resolv.rb (Resolv::IPv6.create): avoid modifying frozen
9355 * test/resolv/test_dns.rb (test_ipv6_create): test for above
9356 [Bug #11910] [ruby-core:72559]
9358 Mon Dec 28 14:55:57 2015 Kuniaki IGARASHI <igaiga@gmail.com>
9360 * test/ruby/test_string.rb (TestString#test_rstrip_bang): Add test
9361 for String#rstrip!. [Fix GH-1176]
9363 Mon Dec 28 09:18:53 2015 Kuniaki IGARASHI <igaiga@gmail.com>
9365 * test/ruby/test_string.rb (TestString#test_lstrip_bang): Add test
9366 for String#lstrip!. [Fix GH-1176]
9368 Sun Dec 27 23:32:26 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp>
9370 * ext/win32ole/win32ole.c (ole_variant2val): refactoring.
9372 Sun Dec 27 21:14:42 2015 NAKAMURA Usaku <usa@ruby-lang.org>
9374 * process.c (rb_execarg_parent_start1): need to convert the encoding to
9377 Sun Dec 27 20:54:22 2015 NAKAMURA Usaku <usa@ruby-lang.org>
9379 * process.c: use rb_w32_uchdir() instead of plain chdir() on Windows.
9380 reported by naruse via twitter.
9382 * process.c (rb_execarg_addopt): need to convert the encoding to
9385 Sun Dec 27 20:00:31 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
9387 * enc/x_emoji.h: fix dead-link.
9389 Sun Dec 27 19:55:55 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
9391 * doc/NEWS-2.3.0: fix a typo.
9393 Sun Dec 27 18:08:15 2015 Kuniaki IGARASHI <igaiga@gmail.com>
9395 * string.c (rb_str_lstrip_bang, rb_str_rstrip_bang): [DOC] Fix
9396 ruby-doc comments for String#rstrip! and lstrip!. It looks like
9397 dropped bang. [Fix GH-1175]
9399 Sun Dec 27 15:14:20 2015 Eric Wong <e@80x24.org>
9401 * io.c (io_getpartial): remove unused kwarg from template
9402 * test/ruby/test_io.rb (test_readpartial_bad_args): new
9405 Sun Dec 27 11:50:53 2015 Kuniaki IGARASHI <igaiga@gmail.com>
9407 * test/ruby/test_string.rb (test_rstrip, test_lstrip): Add tests
9408 for String#lstrip and rstrip. The test cases are used from
9409 string.c ruby-doc comments. [Fix GH-1174]
9411 Sun Dec 27 11:47:46 2015 Kuniaki IGARASHI <igaiga@gmail.com>
9413 * test/ruby/test_string.rb (test_insert): Add test for
9414 String#insert. The test cases are written in string.c
9415 comments as a reference. [Fix GH-1173]
9417 Sun Dec 27 11:03:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
9419 * parse.y (show_bitstack): trace stack_type value if yydebug.
9421 Sun Dec 27 10:03:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
9423 * enc/depend (enc, trans): fix version dependency, shared object
9424 files depend on the RUBY_SO_NAME value for runtime link.
9426 Sun Dec 27 09:47:20 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp>
9428 * ext/win32ole/win32ole.c (ole_vstr2wc, ole_variant2val): fix blank
9431 Thanks Akio Tajima for the patch!
9433 Sun Dec 27 09:34:53 2015 craft4coder <yooobuntu@163.com>
9435 * doc/extension.rdoc: [DOC] `nul` should be uppercase.
9436 change 'nul' => 'NUL'. [Fix GH-1172]
9438 Sat Dec 26 18:29:01 2015 Kouhei Sutou <kou@cozmixng.org>
9440 * lib/xmlrpc/client.rb: Support SSL options in async methods of
9443 Reported by Aleksandar Kostadinov. Thanks!!!
9445 Sat Dec 26 11:26:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
9447 * miniinit.c (Init_enc): add some common aliases of built-in
9448 encodings. [ruby-core:72481] [Bug #11872]
9450 Fri Dec 25 22:43:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
9452 * configure.in: extract RUBY_RELEASE_DAY at generating Makefile.
9454 * version.h (RUBY_RELEASE_DATE): construct from RUBY_RELEASE_YEAR,
9455 RUBY_RELEASE_MONTH, and RUBY_RELEASE_DAY.
9457 Fri Dec 25 21:33:06 2015 Yukihiro Matsumoto <matz@ruby-lang.org>
9459 * version.h (RUBY_VERSION): 2.4.0 development has started.
9461 Fri Dec 25 14:12:12 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
9463 * doc/ChangeLog-2.3.0, ext/tk/lib/tkextlib/SUPPORT_STATUS,
9464 include/ruby/version.h: minor grammar fixes [ci skip]
9466 Fri Dec 25 08:23:22 2015 Tadashi Saito <tad.a.digger@gmail.com>
9468 * compile.c, cont.c, doc, man: fix common misspelling.
9469 [ruby-core:72466] [Bug #11870]
9472 For the changes before 2.3.0, see doc/ChangeLog-2.3.0
9473 For the changes before 2.2.0, see doc/ChangeLog-2.2.0
9474 For the changes before 2.1.0, see doc/ChangeLog-2.1.0
9475 For the changes before 2.0.0, see doc/ChangeLog-2.0.0
9476 For the changes before 1.9.3, see doc/ChangeLog-1.9.3
9477 For the changes before 1.8.0, see doc/ChangeLog-1.8.0
9481 add-log-time-format: (lambda (&optional x y)
9482 (let* ((time (or x (current-time)))
9483 (system-time-locale "C")
9484 (diff (+ (cadr time) 32400))
9486 (hi (+ (car time) (/ diff 65536))))
9487 (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))
9490 change-log-indent-text: 2
9492 vim: tabstop=8 shiftwidth=2