: This changes the minimum buffer size for string buffers from 128 to 127. The underlying C buffer is always 1 more than the ruby buffer, so this changes the actual amount of memory used for the minimum string buffer from 129 to 128. This makes it much easier on the malloc implementation, as evidenced by the following code (note that time -l is used here, but Linux systems may need time -v). $ cat bench_mem.rb i = ARGV.first.to_i Array.new(1000000){" " * i} $ /usr/bin/time -l ruby bench_mem.rb 128 3.10 real 2.19 user 0.46 sys 289080 maximum resident set size 72673 minor page faults 13 block output operations 29 voluntary context switches $ /usr/bin/time -l ruby bench_mem.rb 127 2.64 real 2.09 user 0.27 sys 162720 maximum resident set size 40966 minor page faults 2 block output operations 4 voluntary context switches To try to ensure a power-of-2 growth, when a ruby string capacity needs to be increased, after doubling the capacity, add one. This ensures the ruby capacity will be odd, which means actual amount of memory used will be even, which is probably better than the current case of the ruby capacity being even and the actual amount of memory used being odd. A very similar patch was proposed 4 years ago in feature #5875. It ended up being rejected, because no performance increase was shown. One reason for that is that ruby does not use STR_BUF_MIN_SIZE unless rb_str_buf_new is called, and that previously did not have a ruby API, only a C API, so unless you were using a C extension that called it, there would be no performance increase. With the recently proposed feature #12024, String.buffer is added, which is a ruby API for creating string buffers. Using String.buffer(100) wastes much less memory with this patch, as the malloc implementation can more easily deal with the power-of-2 sized memory usage. As measured above, memory usage is 44% less, and performance is 17% better. ------------------------------------------------------------------------ r55685 | nobu | 2016-07-15 01:32:13 +0900 (Fri, 15 Jul 2016) | 4 lines enc-unicode.rb: check Unicode version * tool/enc-unicode.rb (data_foreach): check Unicode version in data files, and yield each lines. ------------------------------------------------------------------------ r55684 | nobu | 2016-07-15 01:30:01 +0900 (Fri, 15 Jul 2016) | 1 line Download Unicode files just once [ci skip] ------------------------------------------------------------------------ r55683 | svn | 2016-07-15 00:35:39 +0900 (Fri, 15 Jul 2016) | 1 line * 2016-07-15 ------------------------------------------------------------------------ r55682 | kazu | 2016-07-15 00:35:38 +0900 (Fri, 15 Jul 2016) | 2 lines SVK is dead ------------------------------------------------------------------------ r55681 | kazu | 2016-07-14 21:49:26 +0900 (Thu, 14 Jul 2016) | 2 lines Remove empty directory ------------------------------------------------------------------------ r55680 | nobu | 2016-07-14 20:01:59 +0900 (Thu, 14 Jul 2016) | 4 lines common.mk: prefix for nmake * common.mk (incs): prefix to enc/unicode/name2ctype.h and enc/jis/props.h for nmake. ------------------------------------------------------------------------ r55679 | nobu | 2016-07-14 19:45:33 +0900 (Thu, 14 Jul 2016) | 3 lines Makefile.sub: update enc/unicode/name2ctype.h * win32/Makefile.sub (enc/unicode/name2ctype.h): remove stale recipe. ------------------------------------------------------------------------ r55678 | nobu | 2016-07-14 17:26:04 +0900 (Thu, 14 Jul 2016) | 7 lines common.mk: update enc/unicode/name2ctype.h * Makefile.in (enc/unicode/name2ctype.h): remove stale recipe, which did not support Unicode age properties. * common.mk (enc/unicode/name2ctype.h): update by --header option of tool/enc-unicode.rb. enc/unicode/name2ctype.kwd file has not been used. ------------------------------------------------------------------------ r55677 | nobu | 2016-07-14 15:46:53 +0900 (Thu, 14 Jul 2016) | 5 lines make-snapshot: fix VPATH regexp [ci skip] * tool/make-snapshot (package): replace nmake style VPATH in common.mk by regexp same as one for uncommon.mk, not to replace too much, BEGIN and END in awk and ruby. ------------------------------------------------------------------------ r55676 | nobu | 2016-07-14 13:42:50 +0900 (Thu, 14 Jul 2016) | 4 lines common.mk: rule for name2ctype.kwd * common.mk (enc/unicode/name2ctype.kwd): rule to create from Unicode data files, used only when the target does not exist. ------------------------------------------------------------------------ r55675 | nobu | 2016-07-14 13:10:56 +0900 (Thu, 14 Jul 2016) | 5 lines json/ext: remove stale directory * ext/json/lib/json/ext: remove stale directory. bundled extension libraries are placed under the directory for each architectures, but not mixed with plain text script libraries. ------------------------------------------------------------------------ r55674 | nobu | 2016-07-14 13:04:48 +0900 (Thu, 14 Jul 2016) | 3 lines Unicode version check * common.mk (RBCONFIG): check if Unicode versions match. ------------------------------------------------------------------------ r55673 | svn | 2016-07-14 12:48:55 +0900 (Thu, 14 Jul 2016) | 1 line * append newline at EOF. ------------------------------------------------------------------------ r55672 | svn | 2016-07-14 12:48:55 +0900 (Thu, 14 Jul 2016) | 1 line * 2016-07-14 ------------------------------------------------------------------------ r55671 | hsbt | 2016-07-14 12:48:54 +0900 (Thu, 14 Jul 2016) | 2 lines * ext/json/**/*.rb: merge original files from upstream repository. It only fixes styles of frozen string literal. ------------------------------------------------------------------------ r55670 | kazu | 2016-07-13 23:22:22 +0900 (Wed, 13 Jul 2016) | 1 line Fix file name in comment again ------------------------------------------------------------------------ r55669 | hsbt | 2016-07-13 22:27:08 +0900 (Wed, 13 Jul 2016) | 2 lines * test/json/json_common_interface_test.rb: use assert_raise instead of assert_raises. ------------------------------------------------------------------------ r55668 | svn | 2016-07-13 22:27:08 +0900 (Wed, 13 Jul 2016) | 1 line * properties. ------------------------------------------------------------------------ r55667 | hsbt | 2016-07-13 22:27:07 +0900 (Wed, 13 Jul 2016) | 3 lines * test/lib/test/unit.rb: added test files with `_test` suffix for json upstream. * test/json: merge original test files from json upstream. ------------------------------------------------------------------------ r55666 | duerst | 2016-07-13 18:09:47 +0900 (Wed, 13 Jul 2016) | 7 lines * enc/iso_8859_9.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-9, by Kazuki Iijima. * enc/iso_8859_9.c: Exclude dotless i/I with dot from case-insensitive matching because they are not a case pair. * test/ruby/enc/test_iso_8859.rb: Make test coverage for ISO-8859-9 a bit more complete. ------------------------------------------------------------------------ r55665 | duerst | 2016-07-13 17:21:29 +0900 (Wed, 13 Jul 2016) | 4 lines * enc/windows_1252.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for Windows-1252, by Serina Tai. * test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings. ------------------------------------------------------------------------ r55664 | duerst | 2016-07-13 16:19:25 +0900 (Wed, 13 Jul 2016) | 4 lines * enc/iso_8859_7.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-7, by Kosuke Kurihara. * test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings. ------------------------------------------------------------------------ r55663 | ko1 | 2016-07-13 16:08:32 +0900 (Wed, 13 Jul 2016) | 8 lines * gc.c (gc_mark_roots): should mark the VM object itself to mark singleton class of the VM object. Before this patch, we only set mark bit for the VM object and invoke mark function separately. [Bug #12583] * test/ruby/test_gc.rb: add a test. ------------------------------------------------------------------------ r55662 | usa | 2016-07-13 16:03:23 +0900 (Wed, 13 Jul 2016) | 6 lines * math.c (_USE_MATH_DEFINES): it must be set before including internal.h because internal.h includes ruby.h, ruby.h includes win32.h, and win32.h includes system's math.h. this change is to get rid of a compiler warning (redefinition of a macro) introduced at r55641. ------------------------------------------------------------------------ r55661 | nobu | 2016-07-13 15:32:37 +0900 (Wed, 13 Jul 2016) | 1 line Fix file names in comments ------------------------------------------------------------------------ r55660 | duerst | 2016-07-13 15:19:07 +0900 (Wed, 13 Jul 2016) | 3 lines * enc/iso_8859_1.c, enc/iso_8859_4.c: Avoid setting modification flag if there is no modification. ------------------------------------------------------------------------ r55659 | naruse | 2016-07-13 14:47:48 +0900 (Wed, 13 Jul 2016) | 1 line fix type ------------------------------------------------------------------------ r55658 | duerst | 2016-07-13 14:40:12 +0900 (Wed, 13 Jul 2016) | 4 lines * enc/iso_8859_5.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-5, by Masaru Onodera. * test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings. ------------------------------------------------------------------------ r55657 | naruse | 2016-07-13 14:29:30 +0900 (Wed, 13 Jul 2016) | 1 line * math.c (rb_math_sqrt): r55646 must use f_signbit. ------------------------------------------------------------------------ r55656 | ko1 | 2016-07-13 14:26:00 +0900 (Wed, 13 Jul 2016) | 12 lines * iseq.c (Init_ISeq): undef ISeq.translate and ISeq.load_iseq to prevent calling super classes' methods. Without this patch, you can write workaround like: class << RubyVM::InstructionSequence def translate; end undef translate end * test/ruby/test_iseq.rb: add a test. ------------------------------------------------------------------------ r55655 | ko1 | 2016-07-13 14:19:12 +0900 (Wed, 13 Jul 2016) | 6 lines * vm_method.c (method_entry_get_without_cache): check undefined method even if ruby_running is FALSE. We haven't call "undef"ed methods before ruby_running. So that this issue does not make troubles. ------------------------------------------------------------------------ r55654 | duerst | 2016-07-13 14:15:28 +0900 (Wed, 13 Jul 2016) | 2 lines * enc/windows_1254.c: Adjust variable/macro names. ------------------------------------------------------------------------ r55653 | duerst | 2016-07-13 13:19:17 +0900 (Wed, 13 Jul 2016) | 3 lines * enc/iso_8859_9.c, enc/windows_1254.c: Split Windows-1254 from ISO-8859-9 to be able to implement different case conversions. ------------------------------------------------------------------------ r55652 | duerst | 2016-07-13 13:08:36 +0900 (Wed, 13 Jul 2016) | 3 lines * enc/iso_8859_7.c, enc/windows_1253.c: Split Windows-1253 from ISO-8859-7 to be able to implement different case conversions. ------------------------------------------------------------------------ r55651 | duerst | 2016-07-13 10:50:17 +0900 (Wed, 13 Jul 2016) | 3 lines * enc/iso_8859_13.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-13, by Kanon Shindo. ------------------------------------------------------------------------ r55650 | duerst | 2016-07-13 10:31:44 +0900 (Wed, 13 Jul 2016) | 3 lines * enc/iso_8859_13.c, enc/windows_1257.c: Split Windows-1257 from ISO-8859-13 to be able to implement different case conversions. ------------------------------------------------------------------------ r55649 | svn | 2016-07-13 09:02:35 +0900 (Wed, 13 Jul 2016) | 1 line * 2016-07-13 ------------------------------------------------------------------------ r55648 | duerst | 2016-07-13 09:02:34 +0900 (Wed, 13 Jul 2016) | 7 lines * enc/iso_8859_3.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-3, by Takuya Miyamoto. * test/ruby/enc/test_case_comprehensive.rb: Extend special treatment for Turkic. * enc/iso_8859_3.c: Exclude dotless i/I with dot from case-insensitive matching because they are not a case pair. ------------------------------------------------------------------------ r55647 | duerst | 2016-07-13 08:40:26 +0900 (Wed, 13 Jul 2016) | 3 lines * test/ruby/enc/test_iso_8859.rb: Excluded dotless i/I with dot from case-insensitive matching because they are not a case pair. ------------------------------------------------------------------------ r55646 | nobu | 2016-07-12 23:13:46 +0900 (Tue, 12 Jul 2016) | 4 lines math.c: Complex sqrt * math.c (rb_math_sqrt): [EXPERIMENTAL] move Complex sqrt support from mathn.rb. ------------------------------------------------------------------------ r55645 | nobu | 2016-07-12 22:17:04 +0900 (Tue, 12 Jul 2016) | 4 lines complex.c: rb_complex prefix * complex.c (rb_complex_plus, rb_complex_mul): rename to rb_complex prefix. ------------------------------------------------------------------------ r55644 | nobu | 2016-07-12 22:07:51 +0900 (Tue, 12 Jul 2016) | 4 lines math.c: get_double_rshift * math.c (get_double_rshift): extract bignum to double conversion with bit offset. ------------------------------------------------------------------------ r55643 | duerst | 2016-07-12 21:59:46 +0900 (Tue, 12 Jul 2016) | 3 lines * revert r55642 (previous commit) because of test failure at https://travis-ci.org/ruby/ruby/builds/144148780 ------------------------------------------------------------------------ r55642 | duerst | 2016-07-12 21:33:17 +0900 (Tue, 12 Jul 2016) | 5 lines * enc/iso_8859_3.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-3, by Takuya Miyamoto. * test/ruby/enc/test_case_comprehensive.rb: Extend special treatment for Turkic. ------------------------------------------------------------------------ r55641 | nobu | 2016-07-12 20:53:43 +0900 (Tue, 12 Jul 2016) | 4 lines math.c: use common constants * math.c (math_log1, math_log10): use common math constants instead of math function calls. ------------------------------------------------------------------------ r55640 | svn | 2016-07-12 01:30:04 +0900 (Tue, 12 Jul 2016) | 1 line * 2016-07-12 ------------------------------------------------------------------------ r55639 | svn | 2016-07-12 01:30:04 +0900 (Tue, 12 Jul 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55638 | usa | 2016-07-12 01:30:03 +0900 (Tue, 12 Jul 2016) | 8 lines * configure.in, lib/mkmf.rb, win32/Makefile.sub (CSRCFLAG): make the compiler option replacable in Makefile. * win32/Makefile.sub (OUTFLAG, COUTFLAG): ditto. * win32/Makeile.sub, win32/setup.mak (CC): should not append `-nologo` option forcely. ------------------------------------------------------------------------ r55634 | akr | 2016-07-11 23:08:49 +0900 (Mon, 11 Jul 2016) | 2 lines describe RUBY_INTEGER_UNIFICATION. ------------------------------------------------------------------------ r55632 | duerst | 2016-07-11 18:05:53 +0900 (Mon, 11 Jul 2016) | 3 lines * enc/iso_8859_1.c: Moved test for lowercase characters without uppercase equivalent. ------------------------------------------------------------------------ r55631 | duerst | 2016-07-11 17:49:38 +0900 (Mon, 11 Jul 2016) | 4 lines * enc/iso_8859_4.c, enc/iso_8859_10.c, enc/iso_8859_14.c, enc/iso_8859_15.c, enc/iso_8859_16.c: Replace case-by-case code with lookup in ENC_ISO_8859_xx_TO_LOWER_CASE table. ------------------------------------------------------------------------ r55630 | svn | 2016-07-11 16:00:59 +0900 (Mon, 11 Jul 2016) | 1 line * 2016-07-11 ------------------------------------------------------------------------ r55629 | nobu | 2016-07-11 16:00:58 +0900 (Mon, 11 Jul 2016) | 5 lines stringio.c: convert arguments just once * ext/stringio/stringio.c (strio_each, strio_readlines): convert arguments just once before reading, instead of conversions for each lines, as r55603. ------------------------------------------------------------------------ r55628 | nobu | 2016-07-10 23:28:25 +0900 (Sun, 10 Jul 2016) | 1 line enc/iso_8859_4.c: adjust indent [ci skip] ------------------------------------------------------------------------ r55627 | duerst | 2016-07-10 19:53:45 +0900 (Sun, 10 Jul 2016) | 3 lines * enc/iso_8859_10.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-10, by Toya Hosokawa. ------------------------------------------------------------------------ r55626 | duerst | 2016-07-10 19:33:51 +0900 (Sun, 10 Jul 2016) | 6 lines * test/ruby/enc/test_case_comprehensive.rb: Changed testing logic in to catch unintended modifications of characters that do not have a case equivalent in the respective encoding. * enc/iso_8859_1.c, enc/iso_8859_15.c: Fixed unintended modifications of micro sign and y with diaeresis. ------------------------------------------------------------------------ r55625 | svn | 2016-07-10 17:05:40 +0900 (Sun, 10 Jul 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55624 | duerst | 2016-07-10 17:05:39 +0900 (Sun, 10 Jul 2016) | 3 lines * enc/iso_8859_4.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-4, by Kotaro Yoshida. ------------------------------------------------------------------------ r55623 | duerst | 2016-07-10 16:17:51 +0900 (Sun, 10 Jul 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Fixed a comment (message belongs to last commit). [ci skip] ------------------------------------------------------------------------ r55622 | duerst | 2016-07-10 16:14:34 +0900 (Sun, 10 Jul 2016) | 1 line ------------------------------------------------------------------------ r55621 | nobu | 2016-07-10 14:27:27 +0900 (Sun, 10 Jul 2016) | 5 lines util.c: round nearly middle value * util.c (ruby_dtoa): [EXPERIMENTAL] adjust the case that the Float value is close to the exact but unrepresentable middle value of two values in the given precision, as r55604. ------------------------------------------------------------------------ r55620 | svn | 2016-07-10 08:57:54 +0900 (Sun, 10 Jul 2016) | 1 line * 2016-07-10 ------------------------------------------------------------------------ r55619 | hsbt | 2016-07-10 08:57:52 +0900 (Sun, 10 Jul 2016) | 1 line * thread.c: Fixed implicit conversion error with Apple clang-800.0.31 ------------------------------------------------------------------------ r55618 | usa | 2016-07-09 12:51:14 +0900 (Sat, 09 Jul 2016) | 2 lines * ChangeLog: shugo, you lose. ------------------------------------------------------------------------ r55617 | shugo | 2016-07-09 12:47:14 +0900 (Sat, 09 Jul 2016) | 3 lines * tool/mkconfig.rb: use true instead of TRUE. * lib/getoptlong.rb: use false instead of FALSE. ------------------------------------------------------------------------ r55616 | svn | 2016-07-09 11:44:40 +0900 (Sat, 09 Jul 2016) | 1 line * 2016-07-09 ------------------------------------------------------------------------ r55615 | nobu | 2016-07-09 11:44:39 +0900 (Sat, 09 Jul 2016) | 4 lines Use keyword * tool/mkconfig.rb: use keyword true, instead of the toplevel constant. ------------------------------------------------------------------------ r55614 | kazu | 2016-07-08 22:22:23 +0900 (Fri, 08 Jul 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55613 | ngoto | 2016-07-08 21:51:36 +0900 (Fri, 08 Jul 2016) | 3 lines * thread.c (rb_wait_for_single_fd): Clean up fds.revents every time before calling ppoll(2). [Bug #12575] [ruby-dev:49725] ------------------------------------------------------------------------ r55612 | nobu | 2016-07-08 14:38:16 +0900 (Fri, 08 Jul 2016) | 4 lines numeric.c: round as double * numeric.c (flo_round): compare as double, not long double with i387. ------------------------------------------------------------------------ r55611 | shugo | 2016-07-08 14:21:54 +0900 (Fri, 08 Jul 2016) | 2 lines * vm_args.c (vm_caller_setup_arg_block): call rb_sym_to_proc() directly to reduce method dispatch overhead. ------------------------------------------------------------------------ r55610 | shugo | 2016-07-08 08:46:51 +0900 (Fri, 08 Jul 2016) | 2 lines * io.c (rb_io_s_read): add description of pipes to the documentation of IO.read. ------------------------------------------------------------------------ r55609 | naruse | 2016-07-08 03:59:38 +0900 (Fri, 08 Jul 2016) | 4 lines * vm_args.c (setup_parameters_complex): don't raise ArgumentError if an array is given for instance_exec with optional argument. [ruby-core:76300] [Bug #12568] https://github.com/rails/rails/pull/25699 ------------------------------------------------------------------------ r55608 | naruse | 2016-07-08 03:59:38 +0900 (Fri, 08 Jul 2016) | 1 line suppress warnings: unused variables ------------------------------------------------------------------------ r55607 | svn | 2016-07-08 00:49:18 +0900 (Fri, 08 Jul 2016) | 1 line * 2016-07-08 ------------------------------------------------------------------------ r55606 | naruse | 2016-07-08 00:49:17 +0900 (Fri, 08 Jul 2016) | 7 lines * vm_eval.c (yield_under): change prototype to get argc/argv. * vm_eval.c (specific_eval): change for above. * vm_eval.c (rb_obj_instance_exec): avoid object allocation. * vm_eval.c (rb_mod_module_exec): ditto. ------------------------------------------------------------------------ r55605 | shugo | 2016-07-07 20:08:52 +0900 (Thu, 07 Jul 2016) | 3 lines * vm_args.c (vm_caller_setup_arg_block): disable symbol block argument optimization when tail call optimization is enabled, in order to avoid SEGV. [ruby-core:76288] [Bug #12565] ------------------------------------------------------------------------ r55604 | nobu | 2016-07-07 16:37:55 +0900 (Thu, 07 Jul 2016) | 6 lines numeric.c: round nearly middle value * numeric.c (flo_round): [EXPERIMENTAL] adjust the case that the receiver is close to the exact but unrepresentable middle value of two values in the given precision. http://d.hatena.ne.jp/hnw/20160702 ------------------------------------------------------------------------ r55603 | nobu | 2016-07-07 16:31:09 +0900 (Thu, 07 Jul 2016) | 4 lines io.c: convert arguments just once * io.c (rb_io_s_foreach, rb_io_s_readlines): convert arguments just once before reading, instead of conversions for each lines. ------------------------------------------------------------------------ r55602 | naruse | 2016-07-07 03:17:36 +0900 (Thu, 07 Jul 2016) | 3 lines require "rbconfig/sizeof" They may fail parallel test-all ------------------------------------------------------------------------ r55601 | svn | 2016-07-07 01:05:58 +0900 (Thu, 07 Jul 2016) | 1 line * 2016-07-07 ------------------------------------------------------------------------ r55600 | usa | 2016-07-07 01:05:57 +0900 (Thu, 07 Jul 2016) | 2 lines * tool/redmine-backporter.rb: fixed command alias bug. ------------------------------------------------------------------------ r55597 | ngoto | 2016-07-06 22:26:53 +0900 (Wed, 06 Jul 2016) | 3 lines enc/iso_8859_14.c: Fix compile error by old version of fcc on Solaris 10. [Bug #12559] ------------------------------------------------------------------------ r55596 | svn | 2016-07-06 19:54:25 +0900 (Wed, 06 Jul 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55595 | duerst | 2016-07-06 19:54:24 +0900 (Wed, 06 Jul 2016) | 3 lines * enc/iso_8859_14.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-14, by Yutaro Tada. ------------------------------------------------------------------------ r55594 | svn | 2016-07-06 19:24:51 +0900 (Wed, 06 Jul 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55593 | duerst | 2016-07-06 19:24:50 +0900 (Wed, 06 Jul 2016) | 3 lines * enc/iso_8859_1.c, enc/iso_8859_15.c, enc/iso_8859_16.c: Allign indenting to onigmo convention. ------------------------------------------------------------------------ r55592 | svn | 2016-07-06 18:59:24 +0900 (Wed, 06 Jul 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55591 | duerst | 2016-07-06 18:59:23 +0900 (Wed, 06 Jul 2016) | 3 lines * enc/iso_8859_15.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-15, by Maho Harada. ------------------------------------------------------------------------ r55590 | duerst | 2016-07-06 18:34:23 +0900 (Wed, 06 Jul 2016) | 3 lines * enc/iso_8859_16.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-16, by Satoshi Kayama. ------------------------------------------------------------------------ r55589 | nobu | 2016-07-06 14:48:13 +0900 (Wed, 06 Jul 2016) | 5 lines Update dependencies * common.mk (compile.o, loadpath.o): update dependencies. * common.mk (vm_call.o): remove stale object dependencies. ------------------------------------------------------------------------ r55588 | nobu | 2016-07-06 14:44:58 +0900 (Wed, 06 Jul 2016) | 8 lines Local header dependencies * lib/mkmf.rb (create_makefile): store $headers in LOCAL_HDRS for depend files. * ext/digest/digest_conf.rb (digest_conf): add implementation specific headers to $header. * ext/digest/{md5,rmd160,sha1,sha2}/depend: add LOCAL_HDRS to the dependencies. ------------------------------------------------------------------------ r55587 | nobu | 2016-07-06 14:44:35 +0900 (Wed, 06 Jul 2016) | 1 line Ignore -save-temps=obj files ------------------------------------------------------------------------ r55586 | nobu | 2016-07-06 14:37:14 +0900 (Wed, 06 Jul 2016) | 4 lines update-deps: exclude timestamps * tool/update-deps (concentrate): exclude timestamps for directories. ------------------------------------------------------------------------ r55585 | nobu | 2016-07-06 14:37:13 +0900 (Wed, 06 Jul 2016) | 4 lines update-deps: for clang * tool/update-deps (read_single_cc_deps): clang may not include the current working directory name in .i files. ------------------------------------------------------------------------ r55584 | nobu | 2016-07-06 14:03:14 +0900 (Wed, 06 Jul 2016) | 7 lines probes.dmyh: remove preprocessor directives * tool/gen_dummy_probes.rb: remove include and conditional directives from probes.dmyh which are removed by preprocessing. * common.mk: remove unnecessary dependencies on vm_opts.h via probes.dmyh. ------------------------------------------------------------------------ r55583 | nobu | 2016-07-06 14:01:43 +0900 (Wed, 06 Jul 2016) | 1 line Revert ext/json/parser/prereq.mk ------------------------------------------------------------------------ r55582 | shugo | 2016-07-06 09:16:17 +0900 (Wed, 06 Jul 2016) | 1 line Add an assertion. ------------------------------------------------------------------------ r55581 | shugo | 2016-07-06 09:01:20 +0900 (Wed, 06 Jul 2016) | 2 lines * lib/net/http/generic_rquest.rb (write_header): A Request-Line must not contain CR or LF. ------------------------------------------------------------------------ r55580 | svn | 2016-07-06 07:14:18 +0900 (Wed, 06 Jul 2016) | 1 line * 2016-07-06 ------------------------------------------------------------------------ r55579 | shugo | 2016-07-06 07:14:18 +0900 (Wed, 06 Jul 2016) | 2 lines * lib/net/ftp.rb (putline): raise an ArgumentError when CR or LF is included in a line. ------------------------------------------------------------------------ r55578 | svn | 2016-07-05 20:49:40 +0900 (Tue, 05 Jul 2016) | 1 line * properties. ------------------------------------------------------------------------ r55577 | svn | 2016-07-05 20:49:40 +0900 (Tue, 05 Jul 2016) | 1 line * append newline at EOF. ------------------------------------------------------------------------ r55576 | hsbt | 2016-07-05 20:49:39 +0900 (Tue, 05 Jul 2016) | 4 lines * ext/json/*, test/json/*: Update json-2.0.1. Changes of 2.0.0: https://github.com/flori/json/blob/f679ebd0c69a94e3e70a897ac9a229f5779c2ee1/CHANGES.md#2015-09-11-200 Changes of 2.0.1: https://github.com/flori/json/blob/f679ebd0c69a94e3e70a897ac9a229f5779c2ee1/CHANGES.md#2016-07-01-201 [Feature #12542][ruby-dev:49706][fix GH-1395] ------------------------------------------------------------------------ r55575 | ngoto | 2016-07-05 19:45:23 +0900 (Tue, 05 Jul 2016) | 21 lines * string.c (rb_str_change_terminator_length): New function to change termlen and resize heap for the terminator. This is split from rb_str_fill_terminator (str_fill_term) because filling terminator and changing terminator length are different things. [Bug #12536] * internal.h: declaration for rb_str_change_terminator_length. * string.c (str_fill_term): Simplify only to zero-fill the terminator. For non-shared strings, it assumes that (capa + termlen) bytes of heap is allocated. This partially reverts r55557. * encoding.c (rb_enc_associate_index): rb_str_change_terminator_length is used, and it should be called whenever the termlen is changed. * string.c (str_capacity): New static function to return capacity of a string with the given termlen, because the termlen may sometimes be different from TERM_LEN(str) especially during changing termlen or filling terminator with specific termlen. * string.c (rb_str_capacity): Use str_capacity. ------------------------------------------------------------------------ r55574 | svn | 2016-07-05 11:08:56 +0900 (Tue, 05 Jul 2016) | 1 line * 2016-07-05 ------------------------------------------------------------------------ r55573 | naruse | 2016-07-05 11:08:55 +0900 (Tue, 05 Jul 2016) | 5 lines * pack.c (pack_pack): use union instead of bare variable to ease optimizations and avoid assigning x87 floating point number. [ruby-core:74496] [Bug #12209] * pack.c (pack_unpack): ditto. ------------------------------------------------------------------------ r55572 | naruse | 2016-07-04 16:05:00 +0900 (Mon, 04 Jul 2016) | 1 line fix typo ------------------------------------------------------------------------ r55571 | naruse | 2016-07-04 13:57:27 +0900 (Mon, 04 Jul 2016) | 2 lines * process.c: define sig_t if not exist. at least Solaris 10 and 11 doesn't have sig_t. ------------------------------------------------------------------------ r55570 | svn | 2016-07-04 13:09:52 +0900 (Mon, 04 Jul 2016) | 1 line * 2016-07-04 ------------------------------------------------------------------------ r55569 | naruse | 2016-07-04 13:09:51 +0900 (Mon, 04 Jul 2016) | 2 lines * random.c (random_ulong_limited): avoid left shift count >= width of type on 32bit environment. ------------------------------------------------------------------------ r55568 | kazu | 2016-07-03 22:23:27 +0900 (Sun, 03 Jul 2016) | 1 line fix a typo and indent [ci skip] ------------------------------------------------------------------------ r55567 | duerst | 2016-07-03 18:51:46 +0900 (Sun, 03 Jul 2016) | 5 lines * test/ruby/enc/test_case_comprehensive.rb, test_regex_casefold.rb, test/test_unicode_normalize.rb: Replace UNICODE_VERSION from UnicodeNormalize with RbConfig::CONFIG['UNICODE_VERSION'] from feature 12460. ------------------------------------------------------------------------ r55566 | normal | 2016-07-03 06:13:26 +0900 (Sun, 03 Jul 2016) | 14 lines process.c (disable_child_handler_fork_child): simplify signal(2) is portable for SIG_DFL and SIG_IGN, so we do not need the extra code for sigaction(2). Also, execve will reset all signal handlers to default anyways, so there is little sense in preserving old signal handler besides SIG_IGN. Hopefully this makes the code easier-to-understand and maintain. * process.c (disable_child_handler_fork_child): simplify [ruby-core:75781] [Misc #12439] ------------------------------------------------------------------------ r55565 | svn | 2016-07-03 06:01:05 +0900 (Sun, 03 Jul 2016) | 1 line * 2016-07-03 ------------------------------------------------------------------------ r55564 | normal | 2016-07-03 06:01:04 +0900 (Sun, 03 Jul 2016) | 36 lines tool: add descriptions and fix typos * tool/asm_parse.rb: add description * tool/change_maker.rb: ditto * tool/downloader.rb: ditto * tool/eval.rb: ditto * tool/expand-config.rb: ditto * tool/extlibs.rb: ditto * tool/fake.rb: ditto * tool/file2lastrev.rb: ditto * tool/gem-unpack.rb: ditto * tool/gen_dummy_probes.rb: ditto * tool/gen_ruby_tapset.rb: ditto * tool/generic_erb.rb: ditto * tool/id2token.rb: ditto * tool/ifchange: ditto * tool/insns2vm.rb: ditto * tool/instruction.rb: ditto * tool/jisx0208.rb: ditto * tool/merger.rb: ditto * tool/mkrunnable.rb: ditto * tool/node_name.rb: ditto * tool/parse.rb: ditto * tool/rbinstall.rb: ditto * tool/rbuninstall.rb: ditto * tool/rmdirs: ditto * tool/runruby.rb: ditto * tool/strip-rdoc.rb: ditto * tool/vcs.rb: ditto * tool/vtlh.rb: ditto * tool/ytab.sed: ditto * tool/enc-unicode.rb: fix typo * tool/mk_call_iseq_optimized.rb: ditto * tool/update-deps: ditto [ruby-core:76215] [Bug #12539] by Noah Gibbs ------------------------------------------------------------------------ r55563 | naruse | 2016-07-02 18:05:05 +0900 (Sat, 02 Jul 2016) | 4 lines * lib/uri/mailto.rb (initialize): RFC3986_Parser#split sets opaque only if the URI has path-rootless, not path-empty. [ruby-core:76055] [Bug #12498] patched by Chris Heisterkamp ------------------------------------------------------------------------ r55562 | naruse | 2016-07-02 04:37:43 +0900 (Sat, 02 Jul 2016) | 6 lines * regcomp.c (noname_disable_map): don't optimize out group 0 Ruby's Regexp doesn't allow normal numbered groups if the regexp has named groups. On such case it optimizes out related NT_ENCLOSE. But even on the case it can use \g<0>. This fix not to remove NT_ENCLOSE whose regnum is 0. [ruby-core:75828] [Bug #12454] ------------------------------------------------------------------------ r55559 | ngoto | 2016-07-02 03:11:11 +0900 (Sat, 02 Jul 2016) | 4 lines * string.c: Partially reverts r55547 and r55555. ChangeLog about the reverted changes are also deleted in this file. [Bug #12536] [ruby-dev:49699] [ruby-dev:49702] ------------------------------------------------------------------------ r55558 | svn | 2016-07-02 02:32:22 +0900 (Sat, 02 Jul 2016) | 1 line * 2016-07-02 ------------------------------------------------------------------------ r55557 | ngoto | 2016-07-02 02:32:21 +0900 (Sat, 02 Jul 2016) | 5 lines * string.c (str_fill_term): When termlen increases, re-allocation of memory for termlen should always be needed. In this fix, if possible, decrease capa instead of realloc. [Bug #12536] [ruby-dev:49699] ------------------------------------------------------------------------ r55556 | kazu | 2016-07-01 21:00:07 +0900 (Fri, 01 Jul 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55555 | ngoto | 2016-07-01 20:24:11 +0900 (Fri, 01 Jul 2016) | 24 lines * string.c: Specify termlen as far as possible. Additional fix for [Bug #12536] [ruby-dev:49699]. * string.c (rb_usascii_str_new, rb_utf8_str_new): Specify termlen which is apparently 1 for the encodings. * string.c (str_new0_cstr): New static function to create a String object from a C string with specifying termlen. * string.c (rb_usascii_str_new_cstr, rb_utf8_str_new_cstr): Specify termlen by using new str_new0_cstr(). * string.c (str_new_static): Specify termlen from the given encoding when creating a new String object is needed. * string.c (rb_tainted_str_new_with_enc): New function to create a tainted String object with the given encoding. This means that the termlen is correctly specified. Curretly static function. The function name might be renamed to rb_tainted_enc_str_new or rb_enc_tainted_str_new. * string.c (rb_external_str_new_with_enc): Use encoding by using the above rb_tainted_str_new_with_enc(). ------------------------------------------------------------------------ r55554 | ngoto | 2016-07-01 19:43:07 +0900 (Fri, 01 Jul 2016) | 5 lines * test/fiddle/test_pointer.rb (test_to_str, test_to_s, test_aref_aset): Attempt to use independent strings for destructive tests that directly modify values on memory by using Fiddle::Pointer. [Bug #12537] [ruby-dev:49700] ------------------------------------------------------------------------ r55553 | naruse | 2016-07-01 18:24:59 +0900 (Fri, 01 Jul 2016) | 2 lines * .gdbinit (rb_ps_thread): show the detail of cfunc in ruby level backtrace. ------------------------------------------------------------------------ r55552 | ngoto | 2016-07-01 13:50:38 +0900 (Fri, 01 Jul 2016) | 5 lines * string.c (rb_str_subseq, str_substr): When RSTRING_EMBED_LEN_MAX is used, TERM_LEN(str) should be considered with it because embedded strings are also processed by TERM_FILL. Additional fix for [Bug #12536] [ruby-dev:49699]. ------------------------------------------------------------------------ r55551 | ngoto | 2016-07-01 12:58:51 +0900 (Fri, 01 Jul 2016) | 2 lines string.c: Add parentheses to avoid C source code ambiguity. [Bug #12536] ------------------------------------------------------------------------ r55550 | naruse | 2016-07-01 12:13:41 +0900 (Fri, 01 Jul 2016) | 1 line * .gdbinit (rb_count_objects): added gdb version of count_objects(). ------------------------------------------------------------------------ r55549 | svn | 2016-07-01 04:36:39 +0900 (Fri, 01 Jul 2016) | 1 line * 2016-07-01 ------------------------------------------------------------------------ r55548 | naruse | 2016-07-01 04:36:38 +0900 (Fri, 01 Jul 2016) | 5 lines * .gdbinit (rb_ps_thread): show ruby level backtrace. Usually you can call `rb_ps` to show ruby leve backtraces for all living threads. Note that it can call with core file like `gcore ` and `gdb ruby core.`. ------------------------------------------------------------------------ r55547 | ngoto | 2016-06-30 19:20:23 +0900 (Thu, 30 Jun 2016) | 27 lines * string.c: Fix memory corruptions when using UTF-16/32 strings. [Bug #12536] [ruby-dev:49699] * string.c (TERM_LEN_MAX): Macro for the longest TERM_FILL length, the same as largest value of rb_enc_mbminlen(enc) among encodings. * string.c (str_new, rb_str_buf_new, str_shared_replace): Allocate +TERM_LEN_MAX bytes instead of +1. This change may increase memory usage. * string.c (rb_str_new_with_class): Use TERM_LEN of the "obj". * string.c (rb_str_plus, rb_str_justify): Use str_new0 which is aware of termlen. * string.c (str_shared_replace): Copy +termlen bytes instead of +1. * string.c (rb_str_times): termlen should not be included in capa. * string.c (RESIZE_CAPA_TERM): When using RSTRING_EMBED_LEN_MAX, termlen should be counted with it because embedded strings are also processed by TERM_FILL. * string.c (rb_str_capacity, str_shared_replace, str_buf_cat): ditto. * string.c (rb_str_drop_bytes, rb_str_setbyte, str_byte_substr): ditto. ------------------------------------------------------------------------ r55546 | nobu | 2016-06-30 17:24:11 +0900 (Thu, 30 Jun 2016) | 3 lines case-folding.rb: define version numbers * enc/unicode/case-folding.rb: define Unicode version numbers. ------------------------------------------------------------------------ r55545 | nobu | 2016-06-30 17:13:28 +0900 (Thu, 30 Jun 2016) | 4 lines case-folding.rb: check version numbers * enc/unicode/case-folding.rb: check if version numbers in each data files match. ------------------------------------------------------------------------ r55544 | nobu | 2016-06-30 17:13:27 +0900 (Thu, 30 Jun 2016) | 4 lines test_stringio.rb: reduce retry count * test/stringio/test_stringio.rb (test_overflow): reduce maximum retry count to get rid of timeout on some platforms. ------------------------------------------------------------------------ r55543 | nobu | 2016-06-30 16:31:06 +0900 (Thu, 30 Jun 2016) | 5 lines Move unicode tables timestamp * common.mk (.unicode-tables.time): move from the top source directory to the unicode source data directory which contains its version number. ------------------------------------------------------------------------ r55542 | nobu | 2016-06-30 14:45:35 +0900 (Thu, 30 Jun 2016) | 4 lines Magic numbers * ext/cgi/escape/escape.c (optimized_unescape_html): remove magic numbers for literal lengths. ------------------------------------------------------------------------ r55541 | svn | 2016-06-30 13:16:44 +0900 (Thu, 30 Jun 2016) | 1 line * 2016-06-30 ------------------------------------------------------------------------ r55540 | nobu | 2016-06-30 13:16:43 +0900 (Thu, 30 Jun 2016) | 4 lines Initialize ID * ext/cgi/escape/escape.c (accept_charset): initialize the static ID for theha class variable once at first. ------------------------------------------------------------------------ r55539 | hsbt | 2016-06-29 22:24:56 +0900 (Wed, 29 Jun 2016) | 1 line * ext/psych/lib/psych_jars.rb: removed needless file required to JRuby. ------------------------------------------------------------------------ r55538 | rhe | 2016-06-29 22:21:54 +0900 (Wed, 29 Jun 2016) | 4 lines openssl: fix for OpenSSL 1.0.0t * ext/openssl/ossl_ocsp.c: The "reuse" behavior of d2i_ functions does not work well with OpenSSL 1.0.0t. So avoid it. ------------------------------------------------------------------------ r55537 | kazu | 2016-06-29 21:37:37 +0900 (Wed, 29 Jun 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55536 | naruse | 2016-06-29 15:23:38 +0900 (Wed, 29 Jun 2016) | 2 lines * insns.def (opt_succ): optimize like r55515. (but this argument is consntant) ------------------------------------------------------------------------ r55535 | nobu | 2016-06-29 13:37:14 +0900 (Wed, 29 Jun 2016) | 4 lines VC6 error * win32/win32.c (GetSystemWindowsDirectoryW): use GetWindowsDirectoryW for VC6. ------------------------------------------------------------------------ r55534 | nobu | 2016-06-29 13:37:13 +0900 (Wed, 29 Jun 2016) | 5 lines VC6 error * random.c (int_pair_to_real_inclusive): get rid of VC6 compile error C2520: conversion from unsigned __int64 to double not implemented. ------------------------------------------------------------------------ r55533 | nobu | 2016-06-29 13:37:12 +0900 (Wed, 29 Jun 2016) | 4 lines Use LONG_LONG * missing/crypt.h (B64): use LONG_LONG instead of long long directly. ------------------------------------------------------------------------ r55532 | shugo | 2016-06-29 12:45:23 +0900 (Wed, 29 Jun 2016) | 3 lines * test/ruby/test_refinement.rb: skip test_prepend_after_refine_wb_miss on ARM or MIPS. [ruby-core:76031] [Bug #12491] ------------------------------------------------------------------------ r55531 | nobu | 2016-06-29 08:45:55 +0900 (Wed, 29 Jun 2016) | 5 lines Passed block symbol to proc * proc.c (passed_block): convert passed block symbol to proc. based on the patch by Daisuke Sato in [ruby-dev:49695]. [Bug #12531] ------------------------------------------------------------------------ r55530 | nobu | 2016-06-29 07:03:00 +0900 (Wed, 29 Jun 2016) | 6 lines Octal mode in un.rb * lib/fileutils.rb (FileUtils#symbolic_modes_to_i): revert r55524. * lib/un.rb (install, chmod): support octal mode string. fix up r55513. ------------------------------------------------------------------------ r55529 | svn | 2016-06-29 03:42:13 +0900 (Wed, 29 Jun 2016) | 1 line * 2016-06-29 ------------------------------------------------------------------------ r55528 | naruse | 2016-06-29 03:42:12 +0900 (Wed, 29 Jun 2016) | 11 lines * bignum.c (rb_big2ulong): the old logic seems to try to avoid calculating `-(long)(num-1)-1` if `num` is not LONG_MIN. (Note that `-LONG_MIN` may be larger than LONG_MAX) But C compilers can optimize it into single NEG instruction. Therefore those two conditions can be single if-body. * bignum.c (rb_big2long): ditto. * bignum.c (rb_big2ull): ditto. * bignum.c (rb_big2ll): ditto. ------------------------------------------------------------------------ r55527 | nobu | 2016-06-28 22:55:02 +0900 (Tue, 28 Jun 2016) | 4 lines PStore::CHECKSUM_ALGO * lib/pstore.rb (PStore::CHECKSUM_ALGO): extract the algorithm for checksum, instead of qualified names for each times. ------------------------------------------------------------------------ r55526 | nobu | 2016-06-28 22:29:38 +0900 (Tue, 28 Jun 2016) | 5 lines bootstraptest/runner.rb may run on older ruby * bootstraptest/runner.rb: do not use safe navigation operator. this runner may run on older ruby. partially revert r53110 (GH-1142 patched by @mlarraz). ------------------------------------------------------------------------ r55525 | arton | 2016-06-28 22:14:48 +0900 (Tue, 28 Jun 2016) | 4 lines Tue Jun 28 22:09:09 2017 Akio Tajima * lib/fileutils.rb: rescue Errno:EACCES for chown. [Bug #12520] ------------------------------------------------------------------------ r55524 | nobu | 2016-06-28 21:33:28 +0900 (Tue, 28 Jun 2016) | 4 lines Octal mode * lib/fileutils.rb (symbolic_modes_to_i): support octal mode string. fix up r55513. ------------------------------------------------------------------------ r55523 | ngoto | 2016-06-28 18:42:29 +0900 (Tue, 28 Jun 2016) | 11 lines * ext/digest/md5/md5ossl.h: Remove excess semicolons. Suppress warning on Solaris with Oracle Solaris Studio 12. [ruby-dev:49692] [Bug #12524] * ext/digest/md5/md5cc.h: ditto. * ext/digest/sha1/sha1cc.h: ditto. * ext/digest/sha1/sha1ossl.h: ditto. * ext/digest/sha2/sha2cc.h: ditto. * ext/digest/sha2/sha2ossl.h: ditto. * ext/openssl/ossl_pkey_rsa.c: ditto. ------------------------------------------------------------------------ r55522 | nobu | 2016-06-28 16:04:13 +0900 (Tue, 28 Jun 2016) | 4 lines Move CaseTest * test/ruby/enc/test_case_comprehensive.rb (CaseTest): move under the test case not to pollute the global name space. ------------------------------------------------------------------------ r55521 | nobu | 2016-06-28 15:56:50 +0900 (Tue, 28 Jun 2016) | 6 lines Skip unavailable tests * test/ruby/enc/test_case_comprehensive.rb: noting to test if Unicode data files are available. [ruby-core:76160] [Bug #12433] * test/test_unicode_normalize.rb: ditto. ------------------------------------------------------------------------ r55520 | nobu | 2016-06-28 15:20:20 +0900 (Tue, 28 Jun 2016) | 4 lines Cache no proxy case * lib/net/http.rb (Net::HTTP#proxy_uri): cache the case no proxy is used. ------------------------------------------------------------------------ r55519 | nobu | 2016-06-28 15:19:58 +0900 (Tue, 28 Jun 2016) | 4 lines Use conditional operator * lib/net/http.rb (Net::HTTP#proxy): use conditional operator to get rid of confusing ruby-mode.el. ------------------------------------------------------------------------ r55518 | naruse | 2016-06-28 13:38:32 +0900 (Tue, 28 Jun 2016) | 3 lines Revert "Use gperf 3.0.4" It is wrong commit. ------------------------------------------------------------------------ r55517 | nobu | 2016-06-28 09:56:31 +0900 (Tue, 28 Jun 2016) | 3 lines Fix typo [ci skip] * object.c (rb_mod_eqq): [DOC] Fix typo in RDoc. [Fix GH-1393] ------------------------------------------------------------------------ r55516 | svn | 2016-06-28 03:30:16 +0900 (Tue, 28 Jun 2016) | 1 line * 2016-06-28 ------------------------------------------------------------------------ r55515 | naruse | 2016-06-28 03:30:12 +0900 (Tue, 28 Jun 2016) | 12 lines * insns.def (opt_plus): use `- 1` instead of `& (~1)` to allow compilers to use x86 LEA instruction (3 operand). Even if 3 operand LEA's latency is 3 cycle after SandyBridge, it reduces code size and can be faster because of super scalar. * insns.def (opt_plus): calculate and use rb_int2big. On positive Fixnum overflow, `recv - 1 + obj` doesn't carry because recv's msb and obj's msb are 0, and resulted msb is 1. Therefore simply rshift and cast as signed long works fine. On negative Fixnum overflow, it will carry because both arguments' msb are 1, and resulted msb is also 1. In this case it needs to restore carried sign bit after rshift. ------------------------------------------------------------------------ r55514 | naruse | 2016-06-28 03:30:12 +0900 (Tue, 28 Jun 2016) | 1 line Use gperf 3.0.4 ------------------------------------------------------------------------ r55513 | nobu | 2016-06-27 16:58:34 +0900 (Mon, 27 Jun 2016) | 4 lines FileUtils#install: symbolic mode * lib/fileutils.rb (FileUtils#install): accecpt symbolic mode, as well as chmod. ------------------------------------------------------------------------ r55512 | nobu | 2016-06-27 16:55:17 +0900 (Mon, 27 Jun 2016) | 4 lines FileUtils#install: owner/group options * lib/fileutils.rb (FileUtils#install): add owner and group options. ------------------------------------------------------------------------ r55511 | nobu | 2016-06-27 10:24:46 +0900 (Mon, 27 Jun 2016) | 4 lines Refactor * lib/fileutils.rb (FileUtils::Entry_#copy_metadata): eliminate common statements. ------------------------------------------------------------------------ r55510 | svn | 2016-06-27 08:56:58 +0900 (Mon, 27 Jun 2016) | 1 line * 2016-06-27 ------------------------------------------------------------------------ r55509 | nobu | 2016-06-27 08:56:57 +0900 (Mon, 27 Jun 2016) | 6 lines Coverage on non-positive lines * compile.c (ADD_TRACE): ignore trace instruction on non-positive line. * parse.y (coverage): get rid of ArgumentError when the starting line number is not positive. [ruby-core:76141] [Bug #12517] ------------------------------------------------------------------------ r55508 | nobu | 2016-06-26 19:35:53 +0900 (Sun, 26 Jun 2016) | 4 lines Convert arguments first * ext/win32/lib/Win32API.rb (Win32API#initialize): convert arguments before dlopen. ------------------------------------------------------------------------ r55507 | nobu | 2016-06-26 10:20:27 +0900 (Sun, 26 Jun 2016) | 9 lines Explicit ".dll" suffix * ext/win32/lib/Win32API.rb (Win32API#initialize): Cygwin 2.5.2-1 (perhaps) seems to no longer append ".dll" suffix implicitly. * ext/win32/lib/win32/resolv.rb (Win32::Resolv): ditto. Fix the error reported by yamataka AT u08.itscom.net in [ruby-list:50339], and pointed out and patched by cerberus AT m3.kcn.ne.jp in [ruby-list:50341]. ------------------------------------------------------------------------ r55506 | svn | 2016-06-26 09:28:14 +0900 (Sun, 26 Jun 2016) | 1 line * 2016-06-26 ------------------------------------------------------------------------ r55505 | nobu | 2016-06-26 09:28:13 +0900 (Sun, 26 Jun 2016) | 4 lines Remove -jN option * {cygwin,template}/GNUmakefile.in (MAKEFLAGS): remove -jN option from MAKEFLAGS as well as MFLAGS. ------------------------------------------------------------------------ r55504 | kazu | 2016-06-25 17:54:41 +0900 (Sat, 25 Jun 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55503 | nobu | 2016-06-25 11:32:06 +0900 (Sat, 25 Jun 2016) | 3 lines Refine assertion * test/openssl/test_ocsp.rb: assert_in_delta for better message. ------------------------------------------------------------------------ r55502 | rhe | 2016-06-25 10:08:15 +0900 (Sat, 25 Jun 2016) | 4 lines openssl: ignore test failure caused by LibreSSL bug * test/openssl/test_ocsp.rb: Ignore errors caused by bugs that exist in LibreSSL >= 2.3.1. ------------------------------------------------------------------------ r55501 | svn | 2016-06-25 02:33:36 +0900 (Sat, 25 Jun 2016) | 1 line * 2016-06-25 ------------------------------------------------------------------------ r55500 | nobu | 2016-06-25 02:33:35 +0900 (Sat, 25 Jun 2016) | 5 lines No respond_to? as if the default definition * vm_method.c (vm_respond_to): try method_missing if respond_to? is undefined, as if it is the default definition. [ruby-core:75377] [Bug #12353] ------------------------------------------------------------------------ r55499 | hsbt | 2016-06-24 18:07:22 +0900 (Fri, 24 Jun 2016) | 1 line Fixed accidentally commit miss. ------------------------------------------------------------------------ r55498 | svn | 2016-06-24 18:06:09 +0900 (Fri, 24 Jun 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55497 | hsbt | 2016-06-24 18:06:08 +0900 (Fri, 24 Jun 2016) | 2 lines * ext/psych/*, test/psych/*: Upate psych 2.1.0 This version fixed [Bug #11988][ruby-core:72850] ------------------------------------------------------------------------ r55496 | nobu | 2016-06-24 14:29:28 +0900 (Fri, 24 Jun 2016) | 4 lines Read CaseFolding.txt in binary mode * enc/unicode/case-folding.rb (CaseFolding#load): read in binary mode to deal with non-ASCII charater in CaseFolding.txt. ------------------------------------------------------------------------ r55495 | hsbt | 2016-06-24 13:13:11 +0900 (Fri, 24 Jun 2016) | 4 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems 2.6.5 and 2.6.6. Release note of 2.6.5: https://github.com/rubygems/rubygems/commit/656f5d94dc888d78d0d00f3598a4fa37391aac80 Release note of 2.6.6: https://github.com/rubygems/rubygems/commit/ccb9c3300c063f5b5656669972d24a10ef8afbf5 ------------------------------------------------------------------------ r55494 | nobu | 2016-06-24 09:23:46 +0900 (Fri, 24 Jun 2016) | 3 lines touch * enc/unicode/case-folding.rb: touch the destination file. ------------------------------------------------------------------------ r55493 | svn | 2016-06-24 09:17:18 +0900 (Fri, 24 Jun 2016) | 1 line * 2016-06-24 ------------------------------------------------------------------------ r55492 | nobu | 2016-06-24 09:17:17 +0900 (Fri, 24 Jun 2016) | 9 lines Updating casefold.h * common.mk (lib/unicode_normalize/tables.rb): should not depend on Unicode data files unless ALWAYS_UPDATE_UNICODE=yes, to get rid of downloading Unicode data unnecessary. [ruby-dev:49681] * common.mk (enc/unicode/casefold.h): update Unicode files in a sub-make, not to let the header depend on the files always. * enc/unicode/case-folding.rb: if gperf is not usable, assume the existing file is OK. ------------------------------------------------------------------------ r55491 | naruse | 2016-06-23 21:42:48 +0900 (Thu, 23 Jun 2016) | 8 lines Revert r55486,r55488,r55489 They breaks build: http://rubyci.s3.amazonaws.com/debian/ruby-trunk/log/20160623T123002Z.fail.html.gz Revert "Unicode files for casefold.h" Revert "casefold.h dependency" Revert "Get rid of downloading Unicode data" ------------------------------------------------------------------------ r55490 | svn | 2016-06-23 14:27:36 +0900 (Thu, 23 Jun 2016) | 1 line * 2016-06-23 ------------------------------------------------------------------------ r55489 | nobu | 2016-06-23 14:27:35 +0900 (Thu, 23 Jun 2016) | 4 lines Unicode files for casefold.h * common.mk (enc/unicode/casefold.h): update Unicode files in a sub-make, not to let the header depend on the files always. ------------------------------------------------------------------------ r55488 | nobu | 2016-06-22 22:02:28 +0900 (Wed, 22 Jun 2016) | 4 lines casefold.h dependency * common.mk (enc/unicode/casefold.h): add dependency and update by incs. ------------------------------------------------------------------------ r55487 | svn | 2016-06-22 17:29:26 +0900 (Wed, 22 Jun 2016) | 1 line * 2016-06-22 ------------------------------------------------------------------------ r55486 | nobu | 2016-06-22 17:29:25 +0900 (Wed, 22 Jun 2016) | 5 lines Get rid of downloading Unicode data * common.mk (lib/unicode_normalize/tables.rb): should not depend on Unicode data files unless ALWAYS_UPDATE_UNICODE=yes, to get rid of downloading Unicode data unnecessary. [ruby-dev:49681] ------------------------------------------------------------------------ r55485 | duerst | 2016-06-21 19:44:57 +0900 (Tue, 21 Jun 2016) | 3 lines * test/ruby/enc/test_regex_casefold.rb: Add Windows-1251, KOI8-R, and KOI8-U to encodings; definitely removed EUC-JP. ------------------------------------------------------------------------ r55484 | nobu | 2016-06-21 19:32:26 +0900 (Tue, 21 Jun 2016) | 6 lines Multiple values X-Forwarded-Proto in webrick * lib/webrick/httprequest.rb (setup_forwarded_info): Use the first value in X-Forwarded-Proto, if header contains multiple comma separated values. Some middlewares may add these values to the list, not replacing. [Fix GH-1386] ------------------------------------------------------------------------ r55483 | nobu | 2016-06-21 17:19:59 +0900 (Tue, 21 Jun 2016) | 5 lines CASEMAP_DEBUG [ci skip] * string.c (rb_str_casemap, rb_str_ascii_casemap): move debug/tuning messages under a preprocessor condition, CASEMAP_DEBUG. ------------------------------------------------------------------------ r55482 | duerst | 2016-06-21 17:17:50 +0900 (Tue, 21 Jun 2016) | 8 lines * test/ruby/test_io.rb: Skip test_readpartial_with_not_empty_buffer, test_read_buffer_error, test_read_unlocktmp_ensure, test_readpartial_unlocktmp_ensure, and test_sysread_unlocktmp_ensure on cygwin, because these tests repeatedly hang. This makes test_io.rb complete in finite time on cygwin. * ChangeLog: Fix test_in.rb -> test_io.rb (two instances). ------------------------------------------------------------------------ r55481 | nobu | 2016-06-21 16:38:16 +0900 (Tue, 21 Jun 2016) | 5 lines Fix garbage allocation * string.c (rb_str_casemap): do not put code with side effects inside RSTRING_PTR() macro which evaluates the argument multiple times. ------------------------------------------------------------------------ r55480 | naruse | 2016-06-21 16:14:05 +0900 (Tue, 21 Jun 2016) | 1 line * string.c (rb_str_casemap): fix memory leak. ------------------------------------------------------------------------ r55479 | naruse | 2016-06-21 16:14:04 +0900 (Tue, 21 Jun 2016) | 1 line * string.c (rb_str_casemap): int is too small for string size. ------------------------------------------------------------------------ r55478 | naruse | 2016-06-21 16:14:03 +0900 (Tue, 21 Jun 2016) | 19 lines It takes still too many memory... /usr/bin/time -l make RUBYOPT=-w TESTS='-v ruby/enc/test_case_comprehensive.rb' test-all ruby -v: ruby 2.4.0dev (2016-06-21 trunk 55473) [x86_64-freebsd10.3] 27.74 real 27.57 user 0.16 sys 115308 maximum resident set size 5 average shared memory size 4 average unshared data size 128 average unshared stack size 28443 page reclaims 0 page faults 0 swaps 2 block input operations 0 block output operations 0 messages sent 0 messages received 0 signals received 93 voluntary context switches 1123 involuntary context switches ------------------------------------------------------------------------ r55477 | duerst | 2016-06-21 15:42:27 +0900 (Tue, 21 Jun 2016) | 3 lines * test/ruby/test_in.rb: Skip test_read_buffer_error on cygwin, because this test repeatedly hangs. ------------------------------------------------------------------------ r55476 | duerst | 2016-06-21 15:35:24 +0900 (Tue, 21 Jun 2016) | 3 lines * LEGAL: Added filenames and copyrights for some files in enc/trans/JIS. ------------------------------------------------------------------------ r55475 | naruse | 2016-06-21 04:01:37 +0900 (Tue, 21 Jun 2016) | 1 line Optimize to speed up ------------------------------------------------------------------------ r55474 | naruse | 2016-06-21 03:27:45 +0900 (Tue, 21 Jun 2016) | 1 line Don't cache simple data to reduce memory usage ------------------------------------------------------------------------ r55473 | nobu | 2016-06-21 00:56:49 +0900 (Tue, 21 Jun 2016) | 5 lines Fix calling convention * win32/win32.c (get_special_folder): fix calling convention of SHGetPathFromIDListEx, which should be WINAPI. pointed out by @arton at http://twitter.com/arton/status/744884064277016576 ------------------------------------------------------------------------ r55472 | svn | 2016-06-21 00:22:05 +0900 (Tue, 21 Jun 2016) | 1 line * 2016-06-21 ------------------------------------------------------------------------ r55471 | nobu | 2016-06-21 00:22:04 +0900 (Tue, 21 Jun 2016) | 5 lines RUBY_USE_SETJMPEX * configure.in, include/ruby/defines.h (RUBY_USE_SETJMPEX): include setjmpex.h only when using setjmpex() for RUBY_SETJMP. the header of mingw32 overrides setjmp() by setjmpex(). ------------------------------------------------------------------------ r55470 | nobu | 2016-06-20 20:00:17 +0900 (Mon, 20 Jun 2016) | 7 lines Name USE_NAME_ON_FS constants * dir.c (USE_NAME_ON_FS): name constants. * USE_NAME_ON_FS_REAL_BASENAME: platform dependent APIs to get real basenames. * USE_NAME_ON_FS_BY_FNMATCH: select the matching basename by fnmatch. ------------------------------------------------------------------------ r55469 | nobu | 2016-06-20 20:00:02 +0900 (Mon, 20 Jun 2016) | 1 line tabify ------------------------------------------------------------------------ r55468 | duerst | 2016-06-20 18:39:31 +0900 (Mon, 20 Jun 2016) | 4 lines * test/ruby/test_in.rb: Skip test_open_fifo_does_not_block_other_threads on cygwin. Fifos seem to work okay in cygwin, but this test repeatedly hangs. ------------------------------------------------------------------------ r55467 | nobu | 2016-06-20 17:40:11 +0900 (Mon, 20 Jun 2016) | 4 lines Update cygwin/GNUmakefile.in * cygwin/GNUmakefile.in: remove -jN option from submake, and include defs/gmake.mk to serialize test targets. ------------------------------------------------------------------------ r55465 | akr | 2016-06-20 16:35:05 +0900 (Mon, 20 Jun 2016) | 2 lines update description about rb_cFixnum and rb_cBignum. ------------------------------------------------------------------------ r55462 | shugo | 2016-06-20 13:37:19 +0900 (Mon, 20 Jun 2016) | 4 lines * vm.c (invoke_bmethod, invoke_block_from_c_0): revert r52104 partially to avoid "self has wrong type to call super in this context" errors. [ruby-core:72724] [Bug #11954] ------------------------------------------------------------------------ r55461 | svn | 2016-06-20 12:54:23 +0900 (Mon, 20 Jun 2016) | 1 line * 2016-06-20 ------------------------------------------------------------------------ r55460 | rhe | 2016-06-20 12:54:22 +0900 (Mon, 20 Jun 2016) | 6 lines rubygems: fix test for OpenSSL 1.1.0 * test/rubygems/test_gem_remote_fetcher.rb: OpenSSL::PKey::DH#priv_key= is not defined when ext/openssl is built with OpenSSL 1.1.0. https://github.com/rubygems/rubygems/pull/1648 [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55457 | rhe | 2016-06-19 21:26:27 +0900 (Sun, 19 Jun 2016) | 27 lines openssl: add OpenSSL::OCSP::SingleResponse * ext/openssl/ossl_ocsp.c: Add OCSP::SingleResponse that represents an OCSP SingleResponse structure. Also add two new methods #responses and #find_response to OCSP::BasicResponse. A BasicResponse has one or more SingleResponse. We have OCSP::BasicResponse#status that returns them as an array of arrays, each containing the content of a SingleResponse, but this is not useful. When validating an OCSP response, we need to look into the each SingleResponse and check their validity but it is not simple. For example, when validating for a certificate 'cert', the code would be like: # certid_target is an OpenSSL::OCSP::CertificateId for cert basic = res.basic result = basic.status.any? do |ary| ary[0].cmp(certid_target) && ary[4] <= Time.now && (!ary[5] || Time.now <= ary[5]) end Adding OCSP::SingleResponse at the same time allows exposing OCSP_check_validity(). With this, the code above can be rewritten as: basic = res.basic single = basic.find_response(certid_target) result = single.check_validity * test/openssl/test_ocsp.rb: Test this. ------------------------------------------------------------------------ r55456 | rhe | 2016-06-19 18:42:30 +0900 (Sun, 19 Jun 2016) | 14 lines openssl: allow passing absolute times in OCSP::BasicResponse#add_status * ext/openssl/ossl_ocsp.c (ossl_ocspbres_add_status): Allow specifying the times (thisUpdate, nextUpdate and revocationTime) with Time objects. Currently they accepts only relative seconds from the current time. This is inconvenience, especially for revocationTime. When Integer is passed, they are still treated as relative times. Since the type check is currently done with rb_Integer(), this is a slightly incompatible change. Hope no one passes a relative time as String or Time object... Also, allow passing nil as nextUpdate. It is optional. * ext/openssl/ruby_missing.h: Define RB_INTEGER_TYPE_P() if not defined. openssl gem will be released before Ruby 2.4.0. ------------------------------------------------------------------------ r55455 | rhe | 2016-06-19 18:42:29 +0900 (Sun, 19 Jun 2016) | 7 lines openssl: implement initialize_copy for OpenSSL::OCSP::* * ext/openssl/ossl_ocsp.c: Implement OCSP::{CertificateId,Request, BasicResponse,Response}#initialize_copy. [ruby-core:75504] [Bug #12381] * test/openssl/test_ocsp.rb: Test them. ------------------------------------------------------------------------ r55454 | rhe | 2016-06-19 18:29:59 +0900 (Sun, 19 Jun 2016) | 11 lines openssl: implement initialize_copy method for PKey classes * ext/openssl/ossl_pkey_dh.c, ext/openssl/ossl_pkey_dsa.c, ext/openssl/ossl_pkey_ec.c, ext/openssl/ossl_pkey_rsa.c: Implement initialize_copy method for OpenSSL::PKey::*. [ruby-core:75504] [Bug #12381] * test/openssl/test_pkey_dh.rb, test/openssl/test_pkey_dsa.rb, test/openssl/test_pkey_ec.rb, test/openssl/test_pkey_rsa.rb: Test they actually copy the OpenSSL objects, and modifications to cloned object don't affect the original object. ------------------------------------------------------------------------ r55453 | duerst | 2016-06-19 16:55:25 +0900 (Sun, 19 Jun 2016) | 6 lines * test/ruby/test_dir_m17n.rb: Skip tests with non-UTF-8 encodings on cygwin. Cygwin can use the Unicode PUA (private use area) to store bytes from non-UTF-8 filenames (see https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-specialchars), but we are not supporting this. [Bug #12443] ------------------------------------------------------------------------ r55452 | svn | 2016-06-19 15:01:26 +0900 (Sun, 19 Jun 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55451 | duerst | 2016-06-19 15:01:25 +0900 (Sun, 19 Jun 2016) | 3 lines * localeinit.c: Fix filesystem encoding for cygwin to UTF-8 (see https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-unusual) ------------------------------------------------------------------------ r55450 | rhe | 2016-06-19 14:31:28 +0900 (Sun, 19 Jun 2016) | 7 lines openssl: add 'const's required in OpenSSL master * ext/openssl/ossl_pkey.h, ext/openssl/ossl_pkey_dh.c, ext/openssl/ossl_pkey_dsa.c, ext/openssl/ossl_pkey_rsa.c: A few days ago, OpenSSL changed {DH,DSA,RSA}_get0_*() to take const BIGNUM **. https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=fd809cfdbd6e32b6b67b68c59f6d55fbed7a9327 [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55449 | nobu | 2016-06-19 11:19:45 +0900 (Sun, 19 Jun 2016) | 4 lines variable.c: consider length * variable.c (rb_path_to_class): consider the string length instead of a terminator. ------------------------------------------------------------------------ r55448 | nobu | 2016-06-19 10:54:42 +0900 (Sun, 19 Jun 2016) | 4 lines variable.c: rb_const_search * variable.c (rb_path_to_class): search the constant at once instead of checking if defined and then getting it. ------------------------------------------------------------------------ r55447 | svn | 2016-06-19 10:48:27 +0900 (Sun, 19 Jun 2016) | 1 line * 2016-06-19 ------------------------------------------------------------------------ r55446 | nobu | 2016-06-19 10:48:27 +0900 (Sun, 19 Jun 2016) | 4 lines Normalization test iff UTF-8 file system * test/ruby/test_file_exhaustive.rb (test_expand_path_compose): normalization is meaningless unless file system encoding is UTF. ------------------------------------------------------------------------ r55444 | rhe | 2016-06-18 18:10:19 +0900 (Sat, 18 Jun 2016) | 19 lines openssl: avoid test crash on Ubuntu 16.04 * test/openssl/test_pkey_ec.rb (setup): Don't call EC#generate_key! for Oakley-* curves. This causes an odd error on Ubuntu 16.04 with openssl 1.0.2g-1ubuntu4.1. begin OpenSSL::PKey::EC.new("Oakley-EC2N-4").generate_key rescue p $! end OpenSSL::PKey::RSA.new(512) This sometimes causes: # fips.c(139): OpenSSL internal error, assertion failed: FATAL FIPS SELFTEST FAILURE [ruby-dev:49670] [Bug #12504] ------------------------------------------------------------------------ r55443 | hsbt | 2016-06-18 14:11:57 +0900 (Sat, 18 Jun 2016) | 2 lines * test/rubygems/test_gem_installer.rb: Fixed broken test with extension build. https://github.com/rubygems/rubygems/pull/1645 ------------------------------------------------------------------------ r55442 | svn | 2016-06-18 14:11:57 +0900 (Sat, 18 Jun 2016) | 1 line * properties. ------------------------------------------------------------------------ r55441 | hsbt | 2016-06-18 14:11:55 +0900 (Sat, 18 Jun 2016) | 3 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems HEAD(2c6d256). It contains to update vendored Molinillo to 0.5.0. https://github.com/rubygems/rubygems/pull/1638 ------------------------------------------------------------------------ r55440 | nobu | 2016-06-18 13:50:14 +0900 (Sat, 18 Jun 2016) | 4 lines Refine test of r55432 * test/stringio/test_stringio.rb (test_overflow): could occur only on sizeof(long) >= sizeof(void*). ------------------------------------------------------------------------ r55439 | nobu | 2016-06-18 13:40:15 +0900 (Sat, 18 Jun 2016) | 5 lines Refine test of r55432 * test/stringio/test_stringio.rb (test_overflow): refine the conditinon, try to allocate strings until the buffer is located in higher half address. ------------------------------------------------------------------------ r55438 | nobu | 2016-06-18 11:25:28 +0900 (Sat, 18 Jun 2016) | 4 lines Integer conversion * ext/bigdecimal/bigdecimal.c: use NUM2INT and NUM2USHORT to reject nil. ------------------------------------------------------------------------ r55437 | nobu | 2016-06-18 11:25:27 +0900 (Sat, 18 Jun 2016) | 4 lines Suppress false warnings * vsnprintf.c (BSD_vfprintf): make PRI_EXTRA_MARK_LEN an explicit int to suppress type-limits warnings by old gcc. ------------------------------------------------------------------------ r55436 | nobu | 2016-06-18 10:50:49 +0900 (Sat, 18 Jun 2016) | 4 lines Suppress false warnings * vm_eval.c (rb_eval_cmd): refactor to share common code, and suppress false maybe-uninitialized warnings by old gcc. ------------------------------------------------------------------------ r55435 | nobu | 2016-06-18 10:50:46 +0900 (Sat, 18 Jun 2016) | 4 lines Unnecessary volatile * vm_eval.c (rb_yield_splat, eval_string_with_cref): remove unnecessary volatile outside PUSH_TAG/POP_TAG. ------------------------------------------------------------------------ r55434 | nobu | 2016-06-18 10:13:39 +0900 (Sat, 18 Jun 2016) | 6 lines Fix static-linked-ext encodings * common.mk (build-ext), ext/extmk.rb: use variable EXTENCS different than ENCOBJS, to get rid of circular dependency. build libencs when linking encodings statically. [ruby-core:75618] [Bug #12401] ------------------------------------------------------------------------ r55433 | svn | 2016-06-18 08:52:49 +0900 (Sat, 18 Jun 2016) | 1 line * 2016-06-18 ------------------------------------------------------------------------ r55432 | nobu | 2016-06-18 08:52:48 +0900 (Sat, 18 Jun 2016) | 4 lines stringio.c: fix index overflow * ext/stringio/stringio.c (strio_getline): fix pointer index overflow. reported by Guido Vranken . ------------------------------------------------------------------------ r55431 | svn | 2016-06-17 17:45:06 +0900 (Fri, 17 Jun 2016) | 1 line * 2016-06-17 ------------------------------------------------------------------------ r55430 | nobu | 2016-06-17 17:45:05 +0900 (Fri, 17 Jun 2016) | 6 lines Unnecessary checks * ext/bigdecimal/bigdecimal.c: FIX2INT and FIX2UINT imply the check for Fixnum. * ext/zlib/zlib.c: ditto. ------------------------------------------------------------------------ r55429 | nobu | 2016-06-16 16:35:37 +0900 (Thu, 16 Jun 2016) | 4 lines prevent rb_cObject from GC * class.c (Init_class_hierarchy): prevent rb_cObject which is the class tree root, from GC. [ruby-dev:49666] [Bug #12492] ------------------------------------------------------------------------ r55428 | nobu | 2016-06-16 12:17:54 +0900 (Thu, 16 Jun 2016) | 4 lines string.c: adjust buffer size * string.c (tr_trans): adjust buffer size by processed and rest lengths, instead of doubling repeatedly. ------------------------------------------------------------------------ r55427 | nobu | 2016-06-16 11:15:27 +0900 (Thu, 16 Jun 2016) | 4 lines string.c: fix terminator * string.c (tr_trans): consider terminator length and fix heap overflow. reported by Guido Vranken . ------------------------------------------------------------------------ r55424 | svn | 2016-06-16 00:02:47 +0900 (Thu, 16 Jun 2016) | 1 line * 2016-06-16 ------------------------------------------------------------------------ r55423 | rhe | 2016-06-16 00:02:46 +0900 (Thu, 16 Jun 2016) | 7 lines openssl: refactor OpenSSL::OCSP::*#verify * ext/openssl/ossl_ocsp.c (ossl_ocspreq_verify, ossl_ocspbres_verify): Use ossl_clear_error() so that they don't print warnings to stderr and leak errors in the OpenSSL error queue. Also, check the return value of OCSP_*_verify() correctly. They can return -1 on verification failure. ------------------------------------------------------------------------ r55422 | rhe | 2016-06-15 19:52:37 +0900 (Wed, 15 Jun 2016) | 9 lines openssl: allow specifying hash algorithm in OCSP::*#sign * ext/openssl/ossl_ocsp.c (ossl_ocspreq_sign, ossl_ocspbres_sign): Allow specifying hash algorithm used in signing. They are hard coded to use SHA-1. Based on a patch provided by Tim Shirley . [ruby-core:70915] [Feature #11552] [GH ruby/openssl#28] * test/openssl/test_ocsp.rb: Test sign-verify works. ------------------------------------------------------------------------ r55421 | nobu | 2016-06-15 15:26:52 +0900 (Wed, 15 Jun 2016) | 4 lines date_core.c: remove assert * ext/date/date_core.c (decode_jd): do not assert type of argument. just try to convert. ------------------------------------------------------------------------ r55420 | nobu | 2016-06-15 15:26:51 +0900 (Wed, 15 Jun 2016) | 4 lines date_core.c: missing argument * ext/date/date_core.c (d_lite_initialize): fix missing argument for write-barrier. ------------------------------------------------------------------------ r55419 | nobu | 2016-06-15 10:44:43 +0900 (Wed, 15 Jun 2016) | 4 lines thread.c: fix thread_id formatting * thread.c (debug_deadlock_check): fix format specifier for thread_id, which may not be a pointer, nor even a scalar value. ------------------------------------------------------------------------ r55418 | nobu | 2016-06-15 01:46:18 +0900 (Wed, 15 Jun 2016) | 4 lines numeric.c: fix doc of Integer#digits [ci skip] * numeric.c: [DOC] fix rdoc directive, and an example of negative value. [ruby-core:76025] [Bug #12487] ------------------------------------------------------------------------ r55417 | nobu | 2016-06-15 01:44:45 +0900 (Wed, 15 Jun 2016) | 5 lines Unicode Version in RbConfig * tool/mkconfig.rb: provide Unicode Version information as RbConfig::CONFIG['UNICODE_VERSION']. [ruby-core:75845] [Feature #12460] ------------------------------------------------------------------------ r55416 | svn | 2016-06-15 00:01:38 +0900 (Wed, 15 Jun 2016) | 1 line * 2016-06-15 ------------------------------------------------------------------------ r55415 | kazu | 2016-06-15 00:01:37 +0900 (Wed, 15 Jun 2016) | 5 lines use \A and \z instead of ^ and $ in regexp * test/ruby/enc/test_case_comprehensive.rb (TestComprehensiveCaseFold::read_data): use \A and \z instead of ^ and $ in regexp. ------------------------------------------------------------------------ r55414 | kazu | 2016-06-14 23:59:01 +0900 (Tue, 14 Jun 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55413 | nobu | 2016-06-14 23:43:02 +0900 (Tue, 14 Jun 2016) | 5 lines remove backward macros * include/ruby/backward.h (rb_cFixnum, rb_cBignum): remove the backward compatibility macros, to fail incompatible extension libraries earily. [Bug #12427] ------------------------------------------------------------------------ r55412 | nobu | 2016-06-14 22:22:09 +0900 (Tue, 14 Jun 2016) | 4 lines strftime.c: limit result size * strftime.c (rb_strftime_with_timespec): limit the result string size by the format length, to get rid of unlimited memory use. ------------------------------------------------------------------------ r55411 | rhe | 2016-06-14 22:12:20 +0900 (Tue, 14 Jun 2016) | 10 lines openssl: add some accessor methods for OCSP::CertificateId * ext/openssl/ossl_ocsp.c (ossl_ocspcid_get_issuer_name_hash, ossl_ocspcid_get_issuer_key_hash, ossl_ocspcid_get_hash_algorithm): Add accessor methods OCSP::CertificateId#issuer_name_hash, #issuer_key_hash, #hash_algorithm. Based on a patch provided by Paul Kehrer . [ruby-core:48062] [Feature #7181] * test/openssl/test_ocsp.rb: Test these new methods. ------------------------------------------------------------------------ r55410 | nobu | 2016-06-14 22:07:27 +0900 (Tue, 14 Jun 2016) | 5 lines date_strftime.c: check precision * ext/date/date_strftime.c (date_strftime_with_tmx): reject too large precision to get rid of buffer overflow. reported by Guido Vranken . ------------------------------------------------------------------------ r55409 | rhe | 2016-06-14 21:40:55 +0900 (Tue, 14 Jun 2016) | 16 lines openssl: add missing #to_der to OCSP::{CertificateId,BasicResponse} * ext/openssl/ossl_ocsp.c (ossl_ocspbres_to_der, ossl_ocspcid_to_der): Implement #to_der methods for OCSP::BasicResponse and OCSP::CertificateId. (ossl_ocspreq_initialize, ossl_ocspres_initialize): Use GetOCSP*() instead of raw DATA_PTR(). (ossl_ocspbres_initialize, ossl_ocspcid_initialize): Allow initializing from DER string. (Init_ossl_ocsp): Define new #to_der methods. * test/openssl/test_ocsp.rb: Test these changes. Also add missing tests for OCSP::{Response,Request}#to_der. ------------------------------------------------------------------------ r55408 | rhe | 2016-06-14 21:35:28 +0900 (Tue, 14 Jun 2016) | 5 lines openssl: fix acesssor functions for RSA and DH in openssl_missing.h * ext/openssl/openssl_missing.h (DH_set0_pqg, RSA_set0_key): DH_set0_pqg() allows 'q' to be NULL. Fix a typo in RSA_set0_key(). Fixes r55285. [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55407 | svn | 2016-06-14 10:20:08 +0900 (Tue, 14 Jun 2016) | 1 line * 2016-06-14 ------------------------------------------------------------------------ r55406 | mrkn | 2016-06-14 10:20:07 +0900 (Tue, 14 Jun 2016) | 1 line NEWS: describe Integer#digits [ci skip] ------------------------------------------------------------------------ r55398 | naruse | 2016-06-13 21:46:44 +0900 (Mon, 13 Jun 2016) | 1 line fix test of r55397 ------------------------------------------------------------------------ r55397 | naruse | 2016-06-13 21:34:06 +0900 (Mon, 13 Jun 2016) | 5 lines * thread.c (debug_deadlock_check): show thread lock dependency and backtrace [Feature #8214] [ruby-dev:47217] * thread.c (thread_status_name): show "sleep_forever" instead of "sleep" if called from inspect. ------------------------------------------------------------------------ r55396 | nobu | 2016-06-13 20:50:09 +0900 (Mon, 13 Jun 2016) | 5 lines parse.y: no named capture conflict warnings * parse.y (reg_named_capture_assign_iter): remove named capture conflict warnings. it is just annoying rather than useful. [ruby-core:75416] [Bug #12359] ------------------------------------------------------------------------ r55395 | mrkn | 2016-06-13 20:43:54 +0900 (Mon, 13 Jun 2016) | 1 line numeric.c: Add Integer#digits [Feature #12447] [ruby-core:75799] ------------------------------------------------------------------------ r55394 | nobu | 2016-06-13 20:34:56 +0900 (Mon, 13 Jun 2016) | 8 lines Integer unification macro * include/ruby/ruby.h (RUBY_INTEGER_UNIFICATION): macro to tell if Integer is integrated. [ruby-core:75718][Bug #12427] * include/ruby/backward.h, internal.h (rb_cFixnum, rb_cBignum): fallback to rb_cInteger. * bignum.c, numeric.c, ext/json/generator/generator.{c,h}: use the macro. ------------------------------------------------------------------------ r55393 | svn | 2016-06-13 16:58:58 +0900 (Mon, 13 Jun 2016) | 1 line * 2016-06-13 ------------------------------------------------------------------------ r55392 | duerst | 2016-06-13 16:58:57 +0900 (Mon, 13 Jun 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Add tests for full Unicode swapcase. ------------------------------------------------------------------------ r55391 | nobu | 2016-06-12 23:20:50 +0900 (Sun, 12 Jun 2016) | 4 lines dump to stdout * test/objspace/test_objspace.rb (test_dump_all): dump to stdout instead of a string, get rid of hung up. ------------------------------------------------------------------------ r55390 | nobu | 2016-06-12 18:45:09 +0900 (Sun, 12 Jun 2016) | 4 lines File.expand_path compose test only on OS X * test/ruby/test_file_exhaustive.rb (test_expand_path_compose): valid only on OS X. ------------------------------------------------------------------------ r55389 | duerst | 2016-06-12 14:48:04 +0900 (Sun, 12 Jun 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Add tests for ASCII-only swapcase; store calculated values in hashes. ------------------------------------------------------------------------ r55388 | rhe | 2016-06-12 14:06:18 +0900 (Sun, 12 Jun 2016) | 14 lines openssl: support non AES-GCM AEAD ciphers in OpenSSL::Cipher * ext/openssl/ossl_cipher.c (ossl_cipher_get_auth_tag, ossl_cipher_set_auth_tag): Check if the cipher flags retrieved by EVP_CIPHER_CTX_flags() includes EVP_CIPH_FLAG_AEAD_CIPHER to see if the cipher supports AEAD. AES-GCM was the only supported in OpenSSL 1.0.1. (Init_ossl_cipher): Fix doc; OpenSSL::Cipher::AES.new(128, :GCM) can't work. * ext/openssl/openssl_missing.h: Define EVP_CTRL_AEAD_{GET,SET}_TAG if missing. They are added in OpenSSL 1.1.0, and have the same value as EVP_CTRL_GCM_{GET,SET}_TAG and EVP_CTRL_CCM_{GET,SET}_TAG. ------------------------------------------------------------------------ r55387 | rhe | 2016-06-12 13:48:10 +0900 (Sun, 12 Jun 2016) | 9 lines openssl: avoid test failure in test_engine.rb * test/openssl/test_engine.rb (test_openssl_engine_builtin, test_openssl_engine_by_id_string): Skip test if 'openssl' engine is already loaded. And test the number increased by Engine.load{_by_id,}, not the total count of loaded engines. Previously, we called OpenSSL::Engine.cleanup every time running a test case, but we no longer can do it. [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55386 | svn | 2016-06-12 09:24:37 +0900 (Sun, 12 Jun 2016) | 1 line * 2016-06-12 ------------------------------------------------------------------------ r55385 | nobu | 2016-06-12 09:24:36 +0900 (Sun, 12 Jun 2016) | 5 lines file.c: normalize cwd * file.c (append_fspath): normalize directory name to be appended on OS X. [ruby-core:75957] [Ruby trunk Bug#12483] https://github.com/rails/rails/issues/25303#issuecomment-224834804 ------------------------------------------------------------------------ r55381 | usa | 2016-06-11 23:08:50 +0900 (Sat, 11 Jun 2016) | 3 lines * lib/forwardable.rb (_delegator_method): get rid of a warning which causes test failures introduced at r55376. ------------------------------------------------------------------------ r55380 | hsbt | 2016-06-11 18:38:04 +0900 (Sat, 11 Jun 2016) | 2 lines * ext/json/lib/*.rb: Removed some comments. Because these are unnecessary class description. [ci skip][Bug #12255][ruby-core:74835] ------------------------------------------------------------------------ r55379 | nobu | 2016-06-11 15:19:40 +0900 (Sat, 11 Jun 2016) | 4 lines Remove dead link [ci skip] * lib/net/smtp.rb: [DOC] Remove dead link on documentation for Japanese of SMTP. [Fix GH-1380] ------------------------------------------------------------------------ r55378 | nobu | 2016-06-11 15:02:46 +0900 (Sat, 11 Jun 2016) | 4 lines Fix typo in string.c [ci skip] * string.c (rb_str_oct): [DOC] fix typo, hornored -> honored. [Fix GH-1379] ------------------------------------------------------------------------ r55377 | nobu | 2016-06-11 14:04:22 +0900 (Sat, 11 Jun 2016) | 3 lines ObjectSpace.dump_all: valid JSON * ext/objspace/objspace_dump.c: generate valid JSON for dump_all. ------------------------------------------------------------------------ r55376 | nobu | 2016-06-11 13:52:35 +0900 (Sat, 11 Jun 2016) | 4 lines forwardable.rb: optimize awy __send__ * lib/forwardable.rb (_delegator_method): remove __send__ call if possible, so that more optimizations will be enabled. ------------------------------------------------------------------------ r55375 | nobu | 2016-06-11 11:24:38 +0900 (Sat, 11 Jun 2016) | 3 lines iso_8859.h: SHARP_s * enc/iso_8859.h (SHARP_s): name frequently used codepoint. ------------------------------------------------------------------------ r55374 | duerst | 2016-06-11 09:58:49 +0900 (Sat, 11 Jun 2016) | 2 lines * enc/iso_8859_1.c: Revert to older version of code. ------------------------------------------------------------------------ r55373 | duerst | 2016-06-11 09:46:21 +0900 (Sat, 11 Jun 2016) | 4 lines * enc/iso_8859_1.c: Implement non-ASCII case mapping. * test/ruby/enc/test_case_comprehensive.rb: Tests for above. * string.c: Add iso-8859-1 to supported encodings. ------------------------------------------------------------------------ r55372 | nobu | 2016-06-11 09:31:30 +0900 (Sat, 11 Jun 2016) | 6 lines forwardable.rb: backtrace * lib/forwardable.rb (_delegator_method): leave the backtrace untouched during accessor. forwardable.rb does not appear in the backtrace during delegated method because of tail-call optimization. ------------------------------------------------------------------------ r55371 | ngoto | 2016-06-11 01:47:05 +0900 (Sat, 11 Jun 2016) | 4 lines * include/ruby/defines.h (GCC_VERSION_SINCE): Fix logic error by adding parentheses. Fix failures of TestMkmf::TestConvertible with GCC 3.4.3 on Solaris 10. [Bug #12479] [ruby-dev:49660] ------------------------------------------------------------------------ r55370 | svn | 2016-06-11 01:01:25 +0900 (Sat, 11 Jun 2016) | 1 line * 2016-06-11 ------------------------------------------------------------------------ r55369 | nobu | 2016-06-11 01:01:25 +0900 (Sat, 11 Jun 2016) | 3 lines test_forwardable.rb: operators * test/test_forwardable.rb: add tests for operators. ------------------------------------------------------------------------ r55368 | nobu | 2016-06-10 22:44:05 +0900 (Fri, 10 Jun 2016) | 1 line forwardable.rb: nodoc _delegator_method [ci skip] ------------------------------------------------------------------------ r55366 | nobu | 2016-06-10 21:54:25 +0900 (Fri, 10 Jun 2016) | 5 lines forwardable.rb: fix for non-module objects * lib/forwardable.rb (Forwardable._delegator_method): extract method generator and deal with non-module objects. [ruby-dev:49656] [Bug #12478] ------------------------------------------------------------------------ r55361 | duerst | 2016-06-10 17:35:17 +0900 (Fri, 10 Jun 2016) | 3 lines * string.c: Special-case :ascii option in rb_str_capitalize_bang and rb_str_swapcase_bang. ------------------------------------------------------------------------ r55359 | duerst | 2016-06-10 17:12:28 +0900 (Fri, 10 Jun 2016) | 2 lines * string.c: Special-case :ascii option in rb_str_upcase_bang (retry). ------------------------------------------------------------------------ r55346 | svn | 2016-06-10 14:48:39 +0900 (Fri, 10 Jun 2016) | 1 line * 2016-06-10 ------------------------------------------------------------------------ r55345 | nobu | 2016-06-10 14:48:38 +0900 (Fri, 10 Jun 2016) | 6 lines hash.c: ensure NUL-terminated for ENV * hash.c (get_env_cstr): ensure NUL-terminated. [ruby-dev:49655] [Bug #12475] * string.c (rb_str_fill_terminator): return the pointer to the NUL-terminated content. ------------------------------------------------------------------------ r55344 | rhe | 2016-06-09 21:42:08 +0900 (Thu, 09 Jun 2016) | 11 lines openssl: use ASN1_ENUMERATED_to_BN() if needed * ext/openssl/ossl_asn1.c (asn1integer_to_num): Use ASN1_ENUMERATED_to_BN() to convert an ASN1_ENUMERATED to a BN. Starting from OpenSSL 1.1.0, ASN1_INTEGER_to_BN() rejects non-ASN1_INTEGER objects. The format of INTEGER and ENUMERATED are almost identical so they behaved in the same way in OpenSSL <= 1.0.2. [ruby-core:75225] [Feature #12324] * test/openssl/test_asn1.rb (test_decode_enumerated): Test that it works. ------------------------------------------------------------------------ r55343 | kazu | 2016-06-09 21:10:50 +0900 (Thu, 09 Jun 2016) | 1 line * tool/ifchange: fix timestamp error when target without directory. ------------------------------------------------------------------------ r55342 | rhe | 2016-06-09 19:46:46 +0900 (Thu, 09 Jun 2016) | 11 lines openssl: fix build with OPENSSL_NO_EC * ext/openssl/ossl_ssl.c: Add define guards for OPENSSL_NO_EC. SSL_CTX_set_ecdh_auto() is defined even when ECDH is disabled in OpenSSL's configuration. This fixes r55214. * test/openssl/test_pair.rb (test_ecdh_curves): Skip if the OpenSSL does not support ECDH. * test/openssl/utils.rb (start_server): Ignore error in SSLContext#ecdh_curves=. ------------------------------------------------------------------------ r55341 | nobu | 2016-06-09 18:12:44 +0900 (Thu, 09 Jun 2016) | 4 lines Makefile.in: un-runnable * Makefile.in (un-runnable): fail with proper error message. [ruby-core:75905] [Bug #12472] ------------------------------------------------------------------------ r55340 | nobu | 2016-06-09 16:37:29 +0900 (Thu, 09 Jun 2016) | 4 lines common.mk: fix win32/ifchange.bat usage * common.mk: win32/ifchange.bat does not support input from stdin. also needs quotes to escape an equal sign. ------------------------------------------------------------------------ r55339 | nobu | 2016-06-09 15:52:03 +0900 (Thu, 09 Jun 2016) | 1 line common.mk: use $(IFCHANGE) for mswin ------------------------------------------------------------------------ r55338 | nobu | 2016-06-09 15:32:18 +0900 (Thu, 09 Jun 2016) | 5 lines common.mk: ifchange for mkconfig.rb * common.mk (RBCONFIG): use ifchange tool to see if the content is changed and update the timestamp file. * tool/mkconfig.rb: remove ifchange features. ------------------------------------------------------------------------ r55337 | nobu | 2016-06-09 15:31:54 +0900 (Thu, 09 Jun 2016) | 4 lines ifchange: make target directory * tool/ifchange: make target directory if it does not exist with its parent directories. ------------------------------------------------------------------------ r55336 | nobu | 2016-06-09 15:31:11 +0900 (Thu, 09 Jun 2016) | 4 lines ifchange.bat: drop old systems * win32/ifchange.bat: drop support for command.com used on old systems. ------------------------------------------------------------------------ r55335 | rhe | 2016-06-09 15:03:55 +0900 (Thu, 09 Jun 2016) | 6 lines openssl: fix build with OpenSSL 1.1.0 and no pkg-config * ext/openssl/extconf.rb: Check for CRYPTO_malloc() and SSL_new(). OpenSSL_add_all_digests() and SSL_library_init() are deprecated and converted to macros in OpenSSL 1.1.0. [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55334 | svn | 2016-06-09 13:44:33 +0900 (Thu, 09 Jun 2016) | 1 line * 2016-06-09 ------------------------------------------------------------------------ r55333 | nobu | 2016-06-09 13:44:32 +0900 (Thu, 09 Jun 2016) | 1 line strio_init: return self for tail call optimization ------------------------------------------------------------------------ r55332 | kazu | 2016-06-08 23:11:17 +0900 (Wed, 08 Jun 2016) | 3 lines string.c (rb_str_ascii_casemap): fix compile error. error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] ------------------------------------------------------------------------ r55331 | duerst | 2016-06-08 22:22:28 +0900 (Wed, 08 Jun 2016) | 2 lines * string.c: Revert previous commit (possibility of endless loop). ------------------------------------------------------------------------ r55330 | duerst | 2016-06-08 21:57:44 +0900 (Wed, 08 Jun 2016) | 2 lines * string.c: Special-case :ascii option in rb_str_upcase_bang. ------------------------------------------------------------------------ r55329 | duerst | 2016-06-08 21:28:42 +0900 (Wed, 08 Jun 2016) | 6 lines * string.c: New static function rb_str_ascii_casemap; special-casing :ascii option in rb_str_upcase_bang and rb_str_downcase_bang. * regenc.c: Fix a bug (wrong use of unnecessary slack at end of string). * regenc.h -> include/ruby/oniguruma.h: Move declaration of onigenc_ascii_only_case_map so that it is visible in string.c. ------------------------------------------------------------------------ r55328 | ngoto | 2016-06-08 20:56:33 +0900 (Wed, 08 Jun 2016) | 2 lines Makefile.in: revert r55303 because of an error on Solaris 10. [Bug #12471] [ruby-dev:49654] ------------------------------------------------------------------------ r55327 | ngoto | 2016-06-08 20:36:57 +0900 (Wed, 08 Jun 2016) | 5 lines * include/ruby/intern.h: Remove excess semicolons in PUREFUNC(). Fix failure of TestMkmf::TestConvertible on Solaris with Oracle Solaris Studio 12. [ruby-dev:49651] [Bug #12470] * internal.h: ditto. ------------------------------------------------------------------------ r55326 | nobu | 2016-06-08 16:47:39 +0900 (Wed, 08 Jun 2016) | 1 line ext/stringio/README.md: update [ci skip] ------------------------------------------------------------------------ r55325 | shugo | 2016-06-08 16:10:15 +0900 (Wed, 08 Jun 2016) | 1 line Add an acknowledgement. ------------------------------------------------------------------------ r55324 | shugo | 2016-06-08 16:06:57 +0900 (Wed, 08 Jun 2016) | 3 lines * lib/net/smtp.rb (getok, get_response): raise an ArgumentError when CR or LF is included in a line, because they are not allowed in RFC5321. ------------------------------------------------------------------------ r55323 | nobu | 2016-06-08 15:29:14 +0900 (Wed, 08 Jun 2016) | 3 lines suppress static-in-inline warning * ext/date/zonetab.list (zonetab): forward declaration as static. ------------------------------------------------------------------------ r55322 | nobu | 2016-06-08 14:41:08 +0900 (Wed, 08 Jun 2016) | 6 lines fix date build * common.mk (zonetabl.h): fix typo. * ext/date/zonetab.list: remove forward declaration which may be conflict with the later definition. ------------------------------------------------------------------------ r55321 | nobu | 2016-06-08 11:08:00 +0900 (Wed, 08 Jun 2016) | 4 lines test_proc.rb: test_lambda? * test/ruby/test_proc.rb (test_lambda?): lambda-ness should be preserved across proc, lambda, and Proc.new. ------------------------------------------------------------------------ r55320 | nobu | 2016-06-08 10:09:23 +0900 (Wed, 08 Jun 2016) | 1 line ext/date/zonetab.list: gperf timezone names ------------------------------------------------------------------------ r55319 | svn | 2016-06-08 10:09:22 +0900 (Wed, 08 Jun 2016) | 1 line * 2016-06-08 ------------------------------------------------------------------------ r55318 | nobu | 2016-06-08 10:09:21 +0900 (Wed, 08 Jun 2016) | 1 line ext/date: constify ------------------------------------------------------------------------ r55317 | rhe | 2016-06-07 21:29:37 +0900 (Tue, 07 Jun 2016) | 6 lines rubygems: regenerate server certificates used in tests * test/rubygems/*_{cert,cert_32}.pem: Regenerate test certificates for OpenSSL 1.1.0. This is already in upstream. https://github.com/rubygems/rubygems/commit/9be5c53939440a61c4bba73cfffbeb5cfadf72be [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55316 | svn | 2016-06-07 21:29:37 +0900 (Tue, 07 Jun 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55315 | rhe | 2016-06-07 21:29:36 +0900 (Tue, 07 Jun 2016) | 8 lines open-uri: regenerate server certificates used in tests * test/open-uri/test_ssl.rb: Regenerate test certificates. The test CA certificate was incorrectly generated. A CA certificate must have the basic constraints extension with cA bit set to TRUE. OpenSSL <= 1.0.2 allowed the error when the certificate is in the trusted store but OpenSSL 1.1.0 no longer does. [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55314 | rhe | 2016-06-07 21:20:46 +0900 (Tue, 07 Jun 2016) | 41 lines openssl: adjust tests for OpenSSL 1.1.0 This fixes `make test-all TESTS=openssl` with OpenSSL master. * test/openssl/test_x509name.rb: Don't register OID for 'emailAddress' and 'serialNumber'. A recent change in OpenSSL made OBJ_create() reject an already existing OID. They were needed to run tests with OpenSSL 0.9.6 which is now unsupported. https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=52832e470f5fe8c222249ae5b539aeb3c74cdb25 [ruby-core:75225] [Feature #12324] * test/openssl/test_ssl_session.rb (test_server_session): Duplicate SSL::Session before re-adding to the session store. OpenSSL 1.1.0 starts rejecting SSL_SESSION once removed by SSL_CTX_remove_session(). https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=7c2d4fee2547650102cd16d23f8125b76112ae75 * test/openssl/test_pkey_ec.rb (setup): Remove X25519 from @keys. X25519 is new in OpenSSL 1.1.0 but this is for key agreement and not for signing. * test/openssl/test_pair.rb, test/openssl/test_ssl.rb, test/openssl/utils.rb: Set security level to 0 when using aNULL cipher suites. * test/openssl/utils.rb: Use 1024 bits DSA key for client certificates. * test/openssl/test_engine.rb: Run each test in separate process. We can no longer cleanup engines explicitly as ENGINE_cleanup() was removed. https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=6d4fb1d59e61aacefa25edc4fe5acfe1ac93f743 * ext/openssl/ossl_engine.c (ossl_engine_s_cleanup): Add a note to the RDoc for Engine.cleanup. * ext/openssl/lib/openssl/digest.rb: Don't define constants for DSS, DSS1 and SHA(-0) when using with OpenSSL 1.1.0. They are removed. * test/openssl/test_digest.rb, test/openssl/test_pkey_dsa.rb, test/openssl/test_pkey_dsa.rb, test/openssl/test_ssl.rb, test/openssl/test_x509cert.rb, test/openssl/test_x509req.rb: Don't test unsupported hash functions. ------------------------------------------------------------------------ r55313 | nobu | 2016-06-07 17:57:37 +0900 (Tue, 07 Jun 2016) | 4 lines ruby-additional.el: adjust heredoc line number * misc/ruby-additional.el (ruby-insert-heredoc-code-block): insert a newline adjust the line number for "begin" line. ------------------------------------------------------------------------ r55312 | nobu | 2016-06-07 17:57:36 +0900 (Tue, 07 Jun 2016) | 4 lines test_syntax.rb: formal argument name tests * test/ruby/test_syntax.rb: add invalid formal argument name tests. ------------------------------------------------------------------------ r55311 | duerst | 2016-06-07 17:49:55 +0900 (Tue, 07 Jun 2016) | 4 lines * test/ruby/enc/test_case_comprehensive: Change test for encodings without any non-ASCII case conversions from ASCII-only test to full test. ------------------------------------------------------------------------ r55310 | duerst | 2016-06-07 17:18:42 +0900 (Tue, 07 Jun 2016) | 3 lines * string.c (rb_str_upcase_bang, rb_str_capitalize_bang, rb_str_swapcase_bang): Switch to use primitive. ------------------------------------------------------------------------ r55309 | rhe | 2016-06-07 16:52:24 +0900 (Tue, 07 Jun 2016) | 13 lines openssl: add SSL::SSLContext#security_level{=,} * ext/openssl/extconf.rb: Check for SSL_CTX_get_security_level(). OpenSSL 1.1.0 introduced "security level". [ruby-core:75225] [Feature #12324] * ext/openssl/ossl_ssl.c (ossl_sslctx_{get,set}_security_level): Add SSLContext#security_level and #security_level=. * test/openssl/test_ssl.rb (test_security_level): Add test. ...but this doesn't actually test it. Because #security_level= is necessary in order to run other tests on OpenSSL 1.1.0, go without tests for now. Will fix after converting SSLContext#key= and #cert= to normal methods. ------------------------------------------------------------------------ r55308 | duerst | 2016-06-07 16:44:19 +0900 (Tue, 07 Jun 2016) | 3 lines * string.c (rb_str_downcase_bang): Switch to use primitive except if conversion can be done ASCII-only. ------------------------------------------------------------------------ r55307 | duerst | 2016-06-07 16:13:39 +0900 (Tue, 07 Jun 2016) | 3 lines * test/ruby/enc/test_case_comprehensive: Add regression tests for current ASCII-only case conversion. ------------------------------------------------------------------------ r55306 | duerst | 2016-06-07 15:28:47 +0900 (Tue, 07 Jun 2016) | 3 lines * test/ruby/enc/test_case_comprehensive: Fix method name (generate_casefold_tests -> generate_case_mapping_tests). ------------------------------------------------------------------------ r55305 | duerst | 2016-06-07 15:05:18 +0900 (Tue, 07 Jun 2016) | 10 lines * regenc.h/c: Rename onigenc_not_support_case_map to onigenc_ascii_only_case_map. * regenc.h: Add definition of onigenc_single_byte_ascii_only_case_map. * enc/iso_8859_X.c, windows_125X.c, ascii.c, us-ascii.c, koi8_x.c: Replace onigenc_not_support_case_map by onigenc_single_byte_ascii_only_case_map. * enc/big5.c, cp949.c, emacs_mule.c, euc_X.c, gbX.c, shift_jis.c, windows_31j.c: Replace onigenc_not_support_case_map by onigenc_ascii_only_case_map. ------------------------------------------------------------------------ r55304 | rhe | 2016-06-07 14:57:25 +0900 (Tue, 07 Jun 2016) | 11 lines openssl: avoid deprecated version-specific ssl methods if necessary * ext/openssl/extconf.rb: Check for SSL_CTX_set_min_proto_version() macro added in OpenSSL 1.1.0. Version-specific methods, such as TLSv1_method(), are deprecated in OpenSSL 1.1.0. We need to use version-flexible methods (TLS_*method() or SSLv23_*method()) and disable other protocol versions as necessary. [ruby-core:75225] [Feature #12324] * ext/openssl/ossl_ssl.c: Use SSL_CTX_set_{min,max}_proto_version() to fix the protocol version. ------------------------------------------------------------------------ r55303 | nobu | 2016-06-07 13:53:47 +0900 (Tue, 07 Jun 2016) | 4 lines Makefile.in: cd to working directory * Makefile.in (update-{mspec,rubyspec,doclie,simplecov{,-html}}): cd to working directory first and check if the directory exists. ------------------------------------------------------------------------ r55302 | duerst | 2016-06-07 12:55:37 +0900 (Tue, 07 Jun 2016) | 3 lines * regenc.c (onigenc_not_support_case_map): Move to end of file; (onigenc_single_byte_ascii_only_case_map): Add new function. ------------------------------------------------------------------------ r55301 | nobu | 2016-06-07 09:31:40 +0900 (Tue, 07 Jun 2016) | 4 lines appveyor.yml: fix file names * appveyor.yml (install): file library file names to be installed from libressl. ------------------------------------------------------------------------ r55300 | svn | 2016-06-07 09:26:42 +0900 (Tue, 07 Jun 2016) | 1 line * 2016-06-07 ------------------------------------------------------------------------ r55299 | duerst | 2016-06-07 09:26:41 +0900 (Tue, 07 Jun 2016) | 3 lines * regenc.c (onigenc_not_support_case_map): Rewrite to work correctly in ASCII range. ------------------------------------------------------------------------ r55298 | kazu | 2016-06-06 23:04:01 +0900 (Mon, 06 Jun 2016) | 1 line appveyor.yml: Update libressl version to 2.3.5. ------------------------------------------------------------------------ r55297 | nobu | 2016-06-06 18:37:59 +0900 (Mon, 06 Jun 2016) | 5 lines vm_insnhelper.c: check symbol proc to throw * vm_insnhelper.c (vm_throw_start): check if the iseq is symbol proc, class definition should not be a symbol proc. [ruby-core:75856] [Bug #12462] ------------------------------------------------------------------------ r55296 | duerst | 2016-06-06 18:36:36 +0900 (Mon, 06 Jun 2016) | 5 lines * string.c: Added UTF-16BE/LE and UTF-32BE/LE to supported encodings for Unicode case mapping. * test/ruby/enc/test_case_comprehensive.rb: Tests for above functionality; fixed an encoding issue in assertion error message. ------------------------------------------------------------------------ r55295 | duerst | 2016-06-06 17:29:38 +0900 (Mon, 06 Jun 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Speed up testing for small encodings by preselecting codepoints. ------------------------------------------------------------------------ r55294 | rhe | 2016-06-06 17:11:24 +0900 (Mon, 06 Jun 2016) | 5 lines openssl: fix free function of OpenSSL::Cipher * ext/openssl/ossl_cipher.c (ossl_cipher_free): Use EVP_CIPHER_CTX_free() to free EVP_CIPHER_CTX allocated by EVP_CIPHER_CTX_new(). [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55293 | duerst | 2016-06-06 13:37:10 +0900 (Mon, 06 Jun 2016) | 3 lines * string.c Change rb_str_casemap to use encoding primitive case_map instead of directly calling onigenc_unicode_case_map. ------------------------------------------------------------------------ r55292 | duerst | 2016-06-06 13:16:49 +0900 (Mon, 06 Jun 2016) | 3 lines * test/ruby/enc/test_case_mapping.rb: Remove :lithuanian guard for Unicode case mapping. ------------------------------------------------------------------------ r55291 | rhe | 2016-06-06 10:40:27 +0900 (Mon, 06 Jun 2016) | 4 lines openssl: fix compile on VC * ext/openssl/openssl_missing.h: Include ruby/config.h. r55285 added some inline functions but VC does not recognize 'inline' keyword. ------------------------------------------------------------------------ r55290 | nobu | 2016-06-06 09:25:38 +0900 (Mon, 06 Jun 2016) | 4 lines Thread.report_on_exception * thread.c (thread_start_func_2): report raised exception if report_on_exception flag is set. [Feature #6647] ------------------------------------------------------------------------ r55289 | rhe | 2016-06-06 01:36:39 +0900 (Mon, 06 Jun 2016) | 14 lines openssl: use SSL_is_server() * ext/openssl/extconf.rb: Check existence of SSL_is_server(). This function was introduced in OpenSSL 1.0.2. [ruby-core:75225] [Feature #12324] * ext/openssl/openssl_missing.h: Implement SSL_is_server() if missing. * ext/openssl/ossl_ssl.c (ssl_info_cb): Use SSL_is_server() to see if the SSL is server. The state machine in OpenSSL was rewritten and SSL_get_state() no longer returns SSL_ST_ACCEPT. (ossl_ssl_cipher_to_ary, ossl_sslctx_session_get_cb): Add some `const`s to suppress warning. ------------------------------------------------------------------------ r55288 | rhe | 2016-06-06 01:18:38 +0900 (Mon, 06 Jun 2016) | 6 lines openssl: avoid d2i_ASN1_BOOLEAN() * ext/openssl/ossl_asn1.c (decode_bool): Do the same thing as d2i_ASN1_BOOLEAN() does by ourselves. This function is removed in OpenSSL 1.1.0. [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55287 | rhe | 2016-06-06 00:35:12 +0900 (Mon, 06 Jun 2016) | 12 lines openssl: adapt to OpenSSL 1.1.0 opaque structs * ext/openssl/extconf.rb: Check existence of accessor functions that don't exist in OpenSSL 0.9.8. OpenSSL 1.1.0 made most of its structures opaque and requires use of these accessor functions. [ruby-core:75225] [Feature #12324] * ext/openssl/openssl_missing.[ch]: Implement them if missing. * ext/openssl/ossl*.c: Use these accessor functions. * test/openssl/test_hmac.rb: Add missing test for HMAC#reset. ------------------------------------------------------------------------ r55286 | svn | 2016-06-06 00:00:48 +0900 (Mon, 06 Jun 2016) | 1 line * 2016-06-06 ------------------------------------------------------------------------ r55285 | rhe | 2016-06-06 00:00:47 +0900 (Mon, 06 Jun 2016) | 23 lines openssl: adapt OpenSSL::PKey to OpenSSL 1.1.0 opaque structs * ext/openssl/openssl_missing.[ch]: Implement EVP_PKEY_get0_*() and {RSA,DSA,EC_KEY,DH}_get0_*() functions. OpenSSL 1.1.0 makes EVP_PKEY/RSA/DSA/DH opaque. We used to provide setter methods for each parameter of each PKey type, for example PKey::RSA#e=, but this is no longer possible because the new API RSA_set0_key() requires the 'n' at the same time. This commit adds deprecation warning to them and adds PKey::*#set_* methods as direct wrapper for those new APIs. For example, 'rsa.e = 3' now needs to be rewritten as 'rsa.set_key(rsa.n, 3, rsa.d)'. [ruby-core:75225] [Feature #12324] * ext/openssl/ossl_pkey*.[ch]: Use the new accessor functions. Implement RSA#set_{key,factors,crt_params}, DSA#set_{key,pqg}, DH#set_{key,pqg}. Emit a warning with rb_warning() when old setter methods are used. * test/drb/ut_array_drbssl.rb, test/drb/ut_drb_drbssl.rb, test/rubygems/test_gem_remote_fetcher.rb: Don't set a priv_key for DH object that are used in tmp_dh_callback. Generating a new key pair every time should be fine - actually the private exponent is ignored in OpenSSL >= 1.0.2f/1.0.1r even if we explicitly set. https://www.openssl.org/news/secadv/20160128.txt ------------------------------------------------------------------------ r55284 | mrkn | 2016-06-05 22:09:43 +0900 (Sun, 05 Jun 2016) | 1 line configure.in: Fix the timing to detect the appropriate C++ compiler in OS X ------------------------------------------------------------------------ r55283 | rhe | 2016-06-05 21:46:05 +0900 (Sun, 05 Jun 2016) | 20 lines openssl: support OpenSSL 1.1.0's new multi-threading API * ext/openssl/extconf.rb: Check absence of CRYPTO_lock() to see if the OpenSSL has the new threading API. In OpenSSL <= 1.0.2, an application had to set locking callbacks to use OpenSSL in a multi-threaded environment. OpenSSL 1.1.0 now finds pthreads or Windows threads so we don't need to do something special. [ruby-core:75225] [Feature #12324] Also check existence of *_up_ref(). Some structures in OpenSSL have a reference counter. We used to increment it with CRYPTO_add() which is a part of the old API. * ext/openssl/openssl_missing.h: Implement *_up_ref() if missing. * ext/openssl/ossl.c: Don't set locking callbacks if unneeded. * ext/openssl/ossl_pkey.c, ext/openssl/ossl_ssl.c, ext/openssl/ossl_x509cert.c, ext/openssl/ossl_x509crl.c, ext/openssl/ossl_x509store.c: Use *_up_ref() instead of CRYPTO_add(). ------------------------------------------------------------------------ r55282 | rhe | 2016-06-05 21:38:34 +0900 (Sun, 05 Jun 2016) | 11 lines openssl: check existence of RAND_pseudo_bytes() * ext/openssl/extconf.rb: Check if RAND_pseudo_bytes() is usable. It is marked as deprecated in OpenSSL 1.1.0. [ruby-core:75225] [Feature #12324] * ext/openssl/ossl_rand.c: Disable Random.pseudo_bytes if RAND_pseudo_bytes() is unavailable. * test/openssl/test_random.rb: Don't test Random.pseudo_bytes if not defined. ------------------------------------------------------------------------ r55281 | duerst | 2016-06-05 19:06:42 +0900 (Sun, 05 Jun 2016) | 3 lines * NEWS: Add news about Unicode-wide case mapping for String/Symbol#upcase/downcase/swapcase/capitalize(!). ------------------------------------------------------------------------ r55280 | nobu | 2016-06-05 18:54:13 +0900 (Sun, 05 Jun 2016) | 3 lines optparse.rb: fix quote [ci skip] * lib/optparse.rb (getopts): [DOC] fix missing quote. ------------------------------------------------------------------------ r55279 | duerst | 2016-06-05 15:24:36 +0900 (Sun, 05 Jun 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Remove :lithuanian guard for Unicode case mapping. ------------------------------------------------------------------------ r55278 | svn | 2016-06-05 14:46:38 +0900 (Sun, 05 Jun 2016) | 1 line * 2016-06-05 ------------------------------------------------------------------------ r55277 | duerst | 2016-06-05 14:46:37 +0900 (Sun, 05 Jun 2016) | 2 lines * string.c: Remove :lithuanian guard for Unicode case mapping. ------------------------------------------------------------------------ r55276 | nobu | 2016-06-04 19:58:14 +0900 (Sat, 04 Jun 2016) | 4 lines gmake.mk: update timestamp of des_tables.c * defs/gmake.mk (missing/des_tables.c): always update the timestamp unless make_des_table failed. ------------------------------------------------------------------------ r55275 | nobu | 2016-06-04 12:46:06 +0900 (Sat, 04 Jun 2016) | 4 lines gmake.mk: des_tables.c condition * defs/gmake.mk (missing/des_tables.c): fix cross compiling condition. ------------------------------------------------------------------------ r55274 | nobu | 2016-06-04 11:40:04 +0900 (Sat, 04 Jun 2016) | 7 lines des_tables.c: generation rule * defs/gmake.mk (missing/des_tables.c): move the recipe from common.mk. this is less common. * missing/crypt.c (init_des): if des_tables.c is empty, initialize DES tables at runtime. ------------------------------------------------------------------------ r55273 | rhe | 2016-06-04 11:35:09 +0900 (Sat, 04 Jun 2016) | 7 lines openssl: avoid deprecated BN_*prime* functions * ext/openssl/ossl_bn.c (ossl_bn_s_generate_prime, ossl_bn_is_prime, ossl_bn_is_prime_fasttest): Avoid deprecated BN_generate_prime(), BN_is_prime{,_fasttest}(). They are deprecated because they expect an old style callback function (we don't use it here). They can be simply replaced by _ex suffixed functions. ------------------------------------------------------------------------ r55272 | nobu | 2016-06-04 10:54:54 +0900 (Sat, 04 Jun 2016) | 9 lines crypt.h: remove initialized * missing/crypt.h (struct crypt_data): remove unnecessary member "initialized". * missing/crypt.c (des_setkey_r): nothing to be initialized in crypt_data. * configure.in (struct crypt_data): check for "initialized" in struct crypt_data, which may be only in glibc, and isn't on AIX at least. ------------------------------------------------------------------------ r55271 | svn | 2016-06-04 10:38:42 +0900 (Sat, 04 Jun 2016) | 1 line * 2016-06-04 ------------------------------------------------------------------------ r55270 | nobu | 2016-06-04 10:38:41 +0900 (Sat, 04 Jun 2016) | 5 lines win32.c: use PATH_MAX * win32/win32.c: unify MAX_PATH, _MAX_PATH, and MAXPATHLEN to PATH_MAX, except for MAX_PATH in get_special_folder for an API limit. ------------------------------------------------------------------------ r55269 | nobu | 2016-06-03 22:38:27 +0900 (Fri, 03 Jun 2016) | 5 lines win32.c: fail before getting ITEMIDLIST * win32/win32.c (get_special_folder): fail before getting ITEMIDLIST if the buffer is less than 260 word which SHGetPathFromIDListW requires. ------------------------------------------------------------------------ r55268 | nobu | 2016-06-03 21:27:24 +0900 (Fri, 03 Jun 2016) | 6 lines ruby.c: refix r55260 * ruby.c (process_options): rb_str_conv_enc() never set encoding of the source string, but returns the string itself if the conversion failed. then the instance variable does not need to be set again. ------------------------------------------------------------------------ r55267 | usa | 2016-06-03 18:06:19 +0900 (Fri, 03 Jun 2016) | 4 lines * ruby.c (process_options): need to duplicate path before passing it to rb_str_conv_enc() because the function might call rb_enc_associate() internally. this fixes test failures on Windows introduced at r55260. ------------------------------------------------------------------------ r55266 | usa | 2016-06-03 17:52:03 +0900 (Fri, 03 Jun 2016) | 2 lines * win32/win32.c (get_special_folder): typo. ------------------------------------------------------------------------ r55265 | nobu | 2016-06-03 17:44:27 +0900 (Fri, 03 Jun 2016) | 11 lines mkmf.rb: sort lists of source and object files * lib/mkmf.rb (create_makefile): sort lists of source and object files in generated Makefile, unless given by extconf.rb. [Fix GH-1367] Without sorting the list of object files explicitely, its order is indeterministic, because readdir() is also not deterministic. When the list of object files varies between builds, they are linked in a different order, which results in an unreproducible build. ------------------------------------------------------------------------ r55264 | svn | 2016-06-03 01:52:15 +0900 (Fri, 03 Jun 2016) | 1 line * 2016-06-03 ------------------------------------------------------------------------ r55263 | nobu | 2016-06-03 01:52:15 +0900 (Fri, 03 Jun 2016) | 1 line dln_find.c: MAXPATHLEN is not used already ------------------------------------------------------------------------ r55262 | nobu | 2016-06-02 21:21:42 +0900 (Thu, 02 Jun 2016) | 4 lines etc.c: retry with allocated string buffer * ext/etc/etc.c (etc_systmpdir): retry with allocated string buffer if static buffer size is not enough. ------------------------------------------------------------------------ r55261 | nobu | 2016-06-02 21:18:12 +0900 (Thu, 02 Jun 2016) | 5 lines win32.c: use SHGetPathFromIDListEx * win32/win32.c (get_special_folder): use SHGetPathFromIDListEx if available instead of old SHGetPathFromIDListW, to check the buffer size. ------------------------------------------------------------------------ r55260 | nobu | 2016-06-02 17:05:21 +0900 (Thu, 02 Jun 2016) | 4 lines ruby.c: no MAXPATHLEN for loadpath * ruby.c (ruby_init_loadpath_safe): remove MAXPATHLEN restriction for Windows 10. ------------------------------------------------------------------------ r55259 | nobu | 2016-06-02 16:51:36 +0900 (Thu, 02 Jun 2016) | 5 lines ruby-mode.el: squiggly heredoc * misc/ruby-mode.el (ruby-here-doc-beg-re), (ruby-here-doc-beg-match, ruby-parse-partial): Support for `squiggly heredoc' syntax in ruby-mode. [Fix GH-1372] ------------------------------------------------------------------------ r55258 | nobu | 2016-06-02 14:27:31 +0900 (Thu, 02 Jun 2016) | 3 lines common.mk: des_tables.c * common.mk (missing-srcs): add rule for missing/des_tables.c. ------------------------------------------------------------------------ r55257 | nobu | 2016-06-02 12:05:40 +0900 (Thu, 02 Jun 2016) | 4 lines crypt.c: suppress warnings * missing/crypt.c (SPE): make unsigned so that literal integers do not exceed 32bit signed integer limit. ------------------------------------------------------------------------ r55256 | nobu | 2016-06-02 11:30:43 +0900 (Thu, 02 Jun 2016) | 4 lines crypt.c: fix syntax error on mswin * missing/crypt.c (constdatablock): fix error on mswin. Visual C does not accept an empty initializer. ------------------------------------------------------------------------ r55255 | svn | 2016-06-02 10:54:18 +0900 (Thu, 02 Jun 2016) | 1 line * 2016-06-02 ------------------------------------------------------------------------ r55254 | nobu | 2016-06-02 10:54:17 +0900 (Thu, 02 Jun 2016) | 6 lines ruby.h: reduce repeated calcuations * include/ruby/ruby.h (rb_scan_args_{hash,block}_idx): reduce repeated index calcuations. * include/ruby/ruby.h (rb_scan_args_end_idx): unused right now. ------------------------------------------------------------------------ r55253 | duerst | 2016-06-02 10:24:52 +0900 (Thu, 02 Jun 2016) | 7 lines * string.c: Raise ArgumentError when invalid string is detected in case mapping methods. * enc/unicode.c: Check for invalid string and signal with negative length value. * test/ruby/enc/test_case_mapping.rb: Add tests for above. * test/ruby/test_m17n_comb.rb: Add a message to clarify test failure. ------------------------------------------------------------------------ r55252 | nobu | 2016-06-01 22:39:01 +0900 (Wed, 01 Jun 2016) | 4 lines ossl_asn1.c: check overflow * ext/openssl/ossl_asn1.c (ossl_time_split): check overflow and reorder for optimization. ------------------------------------------------------------------------ r55251 | nobu | 2016-06-01 22:38:59 +0900 (Wed, 01 Jun 2016) | 4 lines crypt.c: unused functions * missing/crypt.c: suppress unused non-reentrant functions, by macro USE_NONREENTRANT_CRYPT. ------------------------------------------------------------------------ r55250 | nobu | 2016-06-01 22:17:31 +0900 (Wed, 01 Jun 2016) | 4 lines string.c: fallback to crypt_r * string.c: prefer crypt_r to crypt iff system crypt nor crypt_r are not provided. ------------------------------------------------------------------------ r55249 | rhe | 2016-06-01 21:41:15 +0900 (Wed, 01 Jun 2016) | 24 lines openssl: fix the Year 2038 problem r55219 didn't fix the entire issue. It only fixed the issue on environment with sizeof(time_t) == 8 && sizeof(long) == 4. * ext/openssl/extconf.rb: Check existence of ASN1_TIME_adj(). The old ASN1_TIME_set() is not Year 2038 ready on sizeof(time_t) == 4 environment. This function was added in OpenSSL 1.0.0. [ruby-core:45552] [Bug #6571] * ext/openssl/ossl_asn1.c (ossl_time_split): Added. Split the argument (Time) into the number of days elapsed since the epoch and the remainder seconds to conform to ASN1_TIME_adj(). (obj_to_asn1utime, obj_to_asn1gtime): Use ossl_time_split() and ASN1_*TIME_adj(). * ext/openssl/ossl_asn1.h: Add the function prototype for ossl_time_split(). * ext/openssl/ossl_x509.[ch]: Add ossl_x509_time_adjust(). Similarly to obj_to_asn1*time(), use X509_time_adj_ex() instead of X509_time_adj(). * ext/openssl/ossl_x509cert.c, ext/openssl/ossl_x509crl.c, ext/openssl/ossl_x509revoked.c: Use ossl_x509_time_adjust(). ------------------------------------------------------------------------ r55248 | nobu | 2016-06-01 19:42:45 +0900 (Wed, 01 Jun 2016) | 3 lines revert r55246 * configure.in: no longer workaround crypt_r by r55247. ------------------------------------------------------------------------ r55247 | nobu | 2016-06-01 19:24:10 +0900 (Wed, 01 Jun 2016) | 4 lines crypt.h: get rid of conflict * missing/crypt.h: move crypt.h to get rid of conflict with the system header. ------------------------------------------------------------------------ r55246 | naruse | 2016-06-01 19:05:55 +0900 (Wed, 01 Jun 2016) | 1 line workaround: don't check crypt_r ------------------------------------------------------------------------ r55245 | nobu | 2016-06-01 15:58:21 +0900 (Wed, 01 Jun 2016) | 6 lines use system crypt * configure.in: revert r55237. replace crypt, not crypt_r, and check if crypt is broken more. * missing/crypt.c: move crypt_r.c * string.c (rb_str_crypt): use crypt_r if provided by the system. ------------------------------------------------------------------------ r55244 | nobu | 2016-06-01 15:05:21 +0900 (Wed, 01 Jun 2016) | 3 lines des_tables.c * missing/crypt_r.c: initialize DES tables statically. ------------------------------------------------------------------------ r55243 | nobu | 2016-06-01 14:07:55 +0900 (Wed, 01 Jun 2016) | 4 lines crypt_r.c: fix out of bounds access * missing/crypt_r.c (a64toi): initialize statically and fix out of bounds access when salt is not 7bit clean. ------------------------------------------------------------------------ r55242 | nobu | 2016-06-01 14:00:55 +0900 (Wed, 01 Jun 2016) | 4 lines crypt_r.c: DES tables * missing/crypt_r.c (des_tables): move sharable DES constant tables. ------------------------------------------------------------------------ r55241 | nobu | 2016-06-01 13:20:40 +0900 (Wed, 01 Jun 2016) | 4 lines crypt_r.c: remove casts * missing/crypt_r.c: consitify and remove unnecessary pointer casts. ------------------------------------------------------------------------ r55240 | nobu | 2016-06-01 11:45:20 +0900 (Wed, 01 Jun 2016) | 4 lines common.mk: add dependency * common.mk (string.o): now depends on crypt.h for crypt_r and struct crypt_data. ------------------------------------------------------------------------ r55239 | usa | 2016-06-01 11:35:36 +0900 (Wed, 01 Jun 2016) | 2 lines * win32/Makefile.sub (MISSING): fixed build error introduced at r55237. ------------------------------------------------------------------------ r55238 | nobu | 2016-06-01 09:52:59 +0900 (Wed, 01 Jun 2016) | 3 lines crypt_r.c: adjust style * missing/crypt_r.c: adjust style to BSD as the original. ------------------------------------------------------------------------ r55237 | nobu | 2016-06-01 09:48:08 +0900 (Wed, 01 Jun 2016) | 3 lines use crypt_r * string.c (rb_str_crypt): use reentrant crypt_r. ------------------------------------------------------------------------ r55236 | usa | 2016-06-01 09:37:54 +0900 (Wed, 01 Jun 2016) | 2 lines * missing/crypt.c (des_setkey): void function never returns any value. ------------------------------------------------------------------------ r55235 | nobu | 2016-06-01 09:16:24 +0900 (Wed, 01 Jun 2016) | 3 lines separate crypt.h * crypt.h: separate header file from missing/crypt.c. ------------------------------------------------------------------------ r55234 | nobu | 2016-06-01 09:14:32 +0900 (Wed, 01 Jun 2016) | 4 lines add crypt_r * missing/crypt.c (crypt_r, setkey_r, encrypt_r): add reentrant versions. ------------------------------------------------------------------------ r55233 | nobu | 2016-06-01 02:25:40 +0900 (Wed, 01 Jun 2016) | 5 lines crypt.c: fix size macros * missing/crypt.c: fix size macros to use configured values for platforms long is larger than 32bit. [ruby-core:75792] [Bug #12446] ------------------------------------------------------------------------ r55232 | nobu | 2016-06-01 01:49:32 +0900 (Wed, 01 Jun 2016) | 4 lines crypt.c: protoize * missing/crypt.c: protoize function definitions and make always-zero functions void. ------------------------------------------------------------------------ r55231 | svn | 2016-06-01 01:49:30 +0900 (Wed, 01 Jun 2016) | 1 line * 2016-06-01 ------------------------------------------------------------------------ r55230 | nobu | 2016-06-01 01:49:30 +0900 (Wed, 01 Jun 2016) | 3 lines crypt.c: constify * missing/crypt.c: constify Standard DES Tables. ------------------------------------------------------------------------ r55229 | rhe | 2016-05-31 23:10:11 +0900 (Tue, 31 May 2016) | 5 lines openssl: add missing test for r55219 * test/openssl/test_asn1.rb: Add missing regression test for r55219. It fixed the year 2038 issue but the test code was missing. [ruby-core:45552] [Bug #6571] ------------------------------------------------------------------------ r55228 | nobu | 2016-05-31 17:28:48 +0900 (Tue, 31 May 2016) | 6 lines optparse.rb: fix char class option * lib/optparse.rb (OptionParser::Completion.candidate): get rid of nil as key names. [ruby-core:75773] [Bug #12438] * lib/optparse.rb (OptionParser#make_switch): char class option cannot be NoArgument, default to RequiredArgument. ------------------------------------------------------------------------ r55227 | nobu | 2016-05-31 17:26:30 +0900 (Tue, 31 May 2016) | 4 lines optparse.rb: no duplicate strings * lib/optparse.rb (OptionParser#parse_in_order): get rid of making duplicate strings; $1 and others make a new string each times. ------------------------------------------------------------------------ r55226 | naruse | 2016-05-31 11:56:09 +0900 (Tue, 31 May 2016) | 7 lines Revert r55225 Run test-all before large commit: "* string.c: Activate full Unicode case mapping for UTF-8 by removing" This reverts commit 3fb0fcd1e881c1f6dd74db73a64e8623208acb77. http://rubyci.s3.amazonaws.com/centos5-64/ruby-trunk/log/20160531T013303Z.fail.html.gz ------------------------------------------------------------------------ r55225 | duerst | 2016-05-31 10:10:06 +0900 (Tue, 31 May 2016) | 5 lines * string.c: Activate full Unicode case mapping for UTF-8 by removing the protective check for the presence of an option. Update documentation. * test/ruby/enc/test_case_comprehensive.rb: Adjust tests for above change. ------------------------------------------------------------------------ r55224 | rhe | 2016-05-31 01:52:10 +0900 (Tue, 31 May 2016) | 5 lines openssl: fix test failure on Fedora 23 * test/openssl/test_pair.rb (test_ecdh_curves): Avoid P-224. The FIPS patch from RHEL disables it. The curve has to be chosen from: { secp256k1, secp384r1, secp521r1, prime256v1 }. ------------------------------------------------------------------------ r55223 | svn | 2016-05-31 00:33:07 +0900 (Tue, 31 May 2016) | 1 line * 2016-05-31 ------------------------------------------------------------------------ r55222 | usa | 2016-05-31 00:33:06 +0900 (Tue, 31 May 2016) | 3 lines * ext/socket/raddrinfo.c (host_str, port_str): Use StringValueCStr instead of (Safe)StringValue, to detect NUL byte in the string. ------------------------------------------------------------------------ r55221 | nobu | 2016-05-30 23:07:01 +0900 (Mon, 30 May 2016) | 4 lines test_file_exhaustive.rb: writable open * test/ruby/test_file_exhaustive.rb (test_flock_shared): open in writable mode for exclusive lock. ------------------------------------------------------------------------ r55220 | nobu | 2016-05-30 23:05:36 +0900 (Mon, 30 May 2016) | 4 lines raddrinfo.c: fix modifier * ext/socket/raddrinfo.c (host_str, port_str): fix length modifier to size_t. ------------------------------------------------------------------------ r55219 | rhe | 2016-05-30 22:02:13 +0900 (Mon, 30 May 2016) | 5 lines openssl: use NUM2TIMET() to convert Integer to time_t * ext/openssl/ossl_asn1.c (time_to_time_t): Use NUM2TIMET() instead of NUM2LONG(). time_t may be larger than long. [ruby-core:45552] [Bug #6571] ------------------------------------------------------------------------ r55218 | usa | 2016-05-30 21:51:14 +0900 (Mon, 30 May 2016) | 4 lines * test/socket/test_addrinfo.rb (TestSocketAddrinfo#test_addrinfo_ip): previous test logic depended on platform specific implementation. use more portable logic. this fixes a test failure on Windows. ------------------------------------------------------------------------ r55217 | duerst | 2016-05-30 21:15:41 +0900 (Mon, 30 May 2016) | 3 lines * string.c: Document current behavior for other case mapping methods on String. [ci skip] ------------------------------------------------------------------------ r55216 | nobu | 2016-05-30 20:23:32 +0900 (Mon, 30 May 2016) | 6 lines test_addrinfo.rb: signle digit address * test/socket/test_addrinfo.rb (test_addrinfo_ip): use single digit address so that the values are same in both decimal and octal. some platform zero-prefixed dotted-decimal is parsed as an octal value. ------------------------------------------------------------------------ r55215 | duerst | 2016-05-30 20:00:26 +0900 (Mon, 30 May 2016) | 2 lines * string.c: Document current situation for String#downcase. [ci skip] ------------------------------------------------------------------------ r55214 | rhe | 2016-05-30 18:30:38 +0900 (Mon, 30 May 2016) | 36 lines openssl: add SSLContext#ecdh_curves= * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): Enable the automatic curve selection for ECDH by calling SSL_CTX_set_ecdh_auto(). With this a TLS server automatically selects a curve which both the client and the server support to use in ECDH. This changes the default behavior but users can still disable ECDH by excluding 'ECDH' cipher suites from the cipher list (with SSLContext#ciphers=). This commit also deprecate #tmp_ecdh_callback=. It was added in Ruby 2.3.0. It wraps SSL_CTX_set_tmp_ecdh_callback() which will be removed in OpenSSL 1.1.0. Its callback receives two values 'is_export' and 'keylength' but both are completely useless for determining a curve to use in ECDH. The automatic curve selection was introduced to replace this. (ossl_sslctx_setup): Deprecate SSLContext#tmp_ecdh_callback=. Emit a warning if this is in use. (ossl_sslctx_set_ecdh_curves): Add SSLContext#ecdh_curves=. Wrap SSL_CTX_set1_curves_list(). If it is not available, this falls back to SSL_CTX_set_tmp_ecdh(). (Init_ossl_ssl): Define SSLContext#ecdh_curves=. * ext/openssl/extconf.rb: Check the existence of EC_curve_nist2nid(), SSL_CTX_set1_curves_list(), SSL_CTX_set_ecdh_auto() and SSL_CTX_set_tmp_ecdh_callback(). * ext/openssl/openssl_missing.[ch]: Implement EC_curve_nist2nid() if missing. * test/openssl/test_pair.rb (test_ecdh_callback): Use EnvUtil.suppress_warning to suppress deprecated warning. (test_ecdh_curves): Test that SSLContext#ecdh_curves= works. * test/openssl/utils.rb (start_server): Use SSLContext#ecdh_curves=. ------------------------------------------------------------------------ r55213 | nobu | 2016-05-30 16:28:55 +0900 (Mon, 30 May 2016) | 6 lines raddrinfo.c: fix for SHARABLE_MIDDLE_SUBSTRING * ext/socket/raddrinfo.c (host_str, port_str): use RSTRING_LEN instead of strlen, since RSTRING_PTR StringValueCStr may not be NUL-terminated when SHARABLE_MIDDLE_SUBSTRING=1. reported by @tmtms, http://twitter.com/tmtms/status/736910516229005312 ------------------------------------------------------------------------ r55212 | nobu | 2016-05-30 16:20:28 +0900 (Mon, 30 May 2016) | 4 lines string.c: return reallocated pointer * string.c (str_fill_term): return new pointer reallocated by filling terminator. ------------------------------------------------------------------------ r55211 | nobu | 2016-05-30 15:12:13 +0900 (Mon, 30 May 2016) | 4 lines test_addrinfo.rb: special hostnames * test/socket/test_addrinfo.rb (test_addrinfo_ip): add tests for special hostnames, and . ------------------------------------------------------------------------ r55210 | nobu | 2016-05-30 14:54:59 +0900 (Mon, 30 May 2016) | 4 lines stringio.c: share strings * ext/stringio/stringio.c (enc_subseq): share the return value and the buffer as possible. ------------------------------------------------------------------------ r55209 | nobu | 2016-05-30 14:50:27 +0900 (Mon, 30 May 2016) | 5 lines string.c: get rid of unnecessary empty string * string.c (str_substr, rb_str_aref): refactor not to create unnecessary empty string. * string.c (str_byte_substr, str_byte_aref): ditto. ------------------------------------------------------------------------ r55208 | nobu | 2016-05-30 14:41:02 +0900 (Mon, 30 May 2016) | 4 lines string.c: check in the order * string.c (rb_str_aref_m, rb_str_byteslice): check arguments in the left-to-right order. ------------------------------------------------------------------------ r55207 | nobu | 2016-05-30 14:18:16 +0900 (Mon, 30 May 2016) | 4 lines variable.c: check length * variable.c (check_autoload_required): check length first before checking the first byte. ------------------------------------------------------------------------ r55206 | nagachika | 2016-05-30 03:28:39 +0900 (Mon, 30 May 2016) | 1 line * ChangeLog: fix a typo for r55198. ------------------------------------------------------------------------ r55205 | svn | 2016-05-30 00:10:44 +0900 (Mon, 30 May 2016) | 1 line * 2016-05-30 ------------------------------------------------------------------------ r55204 | usa | 2016-05-30 00:10:44 +0900 (Mon, 30 May 2016) | 3 lines * ext/-test-/auto_ext.rb: fixed a heedless bug introduced at r55198. this change will make RubyCI green. ------------------------------------------------------------------------ r55203 | naruse | 2016-05-29 22:58:45 +0900 (Sun, 29 May 2016) | 2 lines * regexec.c (ONIGENC_IS_MBC_ASCII_WORD): redefine optimized one. WORD of Ruby's ascii compatible encoding is always [a-zA-Z0-9_]. ------------------------------------------------------------------------ r55202 | naruse | 2016-05-29 22:56:38 +0900 (Sun, 29 May 2016) | 1 line * regexec.c (match_at): make compilers optimize harder. ------------------------------------------------------------------------ r55201 | nobu | 2016-05-29 19:18:20 +0900 (Sun, 29 May 2016) | 4 lines vm_core.h: rb_exc_set_backtrace declaration * vm_core.h (rb_exc_set_backtrace): move declaration from eval_error.c and vm_args.c. ------------------------------------------------------------------------ r55200 | nobu | 2016-05-29 13:10:28 +0900 (Sun, 29 May 2016) | 5 lines win32.c: RUBY_CRITICAL * win32/win32.c (RUBY_CRITICAL): removed the argument but make just a block which does nothing, so that debuggers can step into the block. ------------------------------------------------------------------------ r55199 | svn | 2016-05-29 12:08:46 +0900 (Sun, 29 May 2016) | 1 line * 2016-05-29 ------------------------------------------------------------------------ r55198 | nobu | 2016-05-29 12:08:45 +0900 (Sun, 29 May 2016) | 4 lines auto_ext.rb * ext/-test-/auto_ext.rb (auto_ext): utitily method to create extension libraries for tests. ------------------------------------------------------------------------ r55197 | nobu | 2016-05-28 20:40:58 +0900 (Sat, 28 May 2016) | 4 lines ruby-insert-heredoc-code-block * misc/ruby-additional.el (ruby-insert-heredoc-code-block): insert here document code block for assert_separately mainly. ------------------------------------------------------------------------ r55196 | duerst | 2016-05-28 20:34:20 +0900 (Sat, 28 May 2016) | 4 lines * test/test_unicode_normalize.rb: Add test to check for availability of Unicode data file; refactoring; fix an error with tests for destructive method (unicode_normalize!). ------------------------------------------------------------------------ r55195 | nobu | 2016-05-28 19:45:48 +0900 (Sat, 28 May 2016) | 4 lines test_file_exhaustive.rb: blocking flock * test/ruby/test_file_exhaustive.rb (test_flock): add assertions for the blocking cases. ------------------------------------------------------------------------ r55194 | svn | 2016-05-28 19:08:37 +0900 (Sat, 28 May 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55193 | duerst | 2016-05-28 19:08:37 +0900 (Sat, 28 May 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Add error messages to tests for data file availability; refactoring. ------------------------------------------------------------------------ r55192 | nobu | 2016-05-28 14:33:52 +0900 (Sat, 28 May 2016) | 1 line ChangeLog: fix typos [ci skip] ------------------------------------------------------------------------ r55191 | rhe | 2016-05-28 14:00:36 +0900 (Sat, 28 May 2016) | 45 lines openssl: move SSLSocket#initialize to C extension * ext/openssl/lib/openssl/ssl.rb (SSLSocket): Move the implementation of SSLSocket#initialize to C. Initialize the SSL (OpenSSL object) in it. Currently this is delayed until ossl_ssl_setup(), which is called from SSLSocket#accept or #connect. Say we call SSLSocket#hostname= with an illegal value. We expect an exception to be raised in #hostname= but actually we get it in the later SSLSocket#connect. Because the SSL is not ready at #hostname=, the actual call of SSL_set_tlsext_host_name() is also delayed. This also fixes: [ruby-dev:49376] [Bug #11724] * ext/openssl/ossl_ssl.c (ossl_ssl_initialize): Added. Almost the same as the Ruby version but this instantiate the SSL object at the same time. (ossl_ssl_setup): Adjust to the changes. Just set the underlying IO to the SSL. (ssl_started): Added. Make use of SSL_get_fd(). This returns -1 if not yet set by SSL_set_fd(). (ossl_ssl_data_get_struct): Removed. Now GetSSL() checks that the SSL exists. (ossl_ssl_set_session): Don't call ossl_ssl_setup() here as now the SSL is already instantiated in #initialize. (ossl_ssl_shutdown, ossl_start_ssl, ossl_ssl_read_internal, ossl_ssl_write_internal, ossl_ssl_stop, ossl_ssl_get_cert, ossl_ssl_get_peer_cert, ossl_ssl_get_peer_cert_chain, ossl_ssl_get_version, ossl_ssl_get_cipher, ossl_ssl_get_state, ossl_ssl_pending, ossl_ssl_session_reused, ossl_ssl_get_verify_result, ossl_ssl_get_client_ca_list, ossl_ssl_npn_protocol, ossl_ssl_alpn_protocol, ossl_ssl_tmp_key): Use GetSSL() instead of ossl_ssl_data_get_struct(). Use ssl_started(). (Init_ossl_ssl): Add method declarations of SSLSocket#{initialize, hostname=}. * ext/openssl/ossl_ssl.h (GetSSL): Check that the SSL is not NULL. It should not be NULL because we now set it in #initialize. * ext/openssl/ossl_ssl_session.c (ossl_ssl_session_initialize): No need to check if the SSL is NULL. ------------------------------------------------------------------------ r55190 | hsbt | 2016-05-28 10:47:44 +0900 (Sat, 28 May 2016) | 2 lines * gems/bundled_gems: Update latest releases, power_assert-0.3.0, test-unit 3.1.9, minitest 5.9.0, did_you_mean 1.0.1 ------------------------------------------------------------------------ r55189 | hsbt | 2016-05-28 10:46:27 +0900 (Sat, 28 May 2016) | 4 lines * addr2line.c: drop to support ATARI ST platform. It was discontinued more than two decades ago. [fix GH-1350] Patch by @cremno * include/ruby/ruby.h: ditto. * io.c: ditto. ------------------------------------------------------------------------ r55188 | duerst | 2016-05-28 10:39:48 +0900 (Sat, 28 May 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Converted exception for unavailable Unicode data files to failed assertion. ------------------------------------------------------------------------ r55187 | duerst | 2016-05-28 10:37:49 +0900 (Sat, 28 May 2016) | 1 line ------------------------------------------------------------------------ r55186 | svn | 2016-05-28 10:26:22 +0900 (Sat, 28 May 2016) | 1 line * 2016-05-28 ------------------------------------------------------------------------ r55185 | hsbt | 2016-05-28 10:26:21 +0900 (Sat, 28 May 2016) | 2 lines * lib/cgi/util.rb: added to missing quote. [fix GH-1363][ci skip] Patch by @dwaller ------------------------------------------------------------------------ r55184 | kazu | 2016-05-27 22:13:08 +0900 (Fri, 27 May 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55183 | nobu | 2016-05-27 20:43:23 +0900 (Fri, 27 May 2016) | 4 lines process.c: [DOC] Process.abort [ci skip] * process.c (rb_f_abort): [DOC] Process.abort is a singleton method of Process, but not an instance method. ------------------------------------------------------------------------ r55182 | nobu | 2016-05-27 17:38:50 +0900 (Fri, 27 May 2016) | 4 lines variable.c: hidden constants * variable.c (rb_local_constants_i): exclude hidden constants. [ruby-core:75575] [Bug #12389] ------------------------------------------------------------------------ r55181 | nobu | 2016-05-27 17:09:46 +0900 (Fri, 27 May 2016) | 5 lines transcode.c: scrub in the given encoding * transcode.c (str_transcode0): scrub in the given encoding when the source encoding is given, not in the encoding of the receiver. [ruby-core:75732] [Bug #12431] ------------------------------------------------------------------------ r55180 | nobu | 2016-05-27 15:07:34 +0900 (Fri, 27 May 2016) | 9 lines fix non-static rb_scan_args * include/ruby/ruby.h (rb_scan_args): remove nul padding which caused syntax error if fmt is not a string literal. * include/ruby/ruby.h (rb_scan_args_verify): suppress array-bounds warnings by old clang. * include/ruby/ruby.h (rb_scan_args0): make extractor macros inline functions, which do not varidate the format and are unnecessary to be expanded. ------------------------------------------------------------------------ r55179 | nobu | 2016-05-27 14:44:52 +0900 (Fri, 27 May 2016) | 3 lines ruby.h: fix parameter name * include/ruby/ruby.h (rb_scan_args): fix macro parameter name. ------------------------------------------------------------------------ r55178 | naruse | 2016-05-27 01:51:49 +0900 (Fri, 27 May 2016) | 7 lines * symbol.c (is_identchar): use ISDIGIT instead of rb_enc_isalnum. Though rb_enc_isalnum is encoding aware function, its argument here is *m, which is a single byte. Therefore ISDIGIT is faster. * symbol.c (is_special_global_name): ditto. * symbol.c (rb_enc_symname_type): ditto. ------------------------------------------------------------------------ r55177 | svn | 2016-05-27 00:39:44 +0900 (Fri, 27 May 2016) | 1 line * 2016-05-27 ------------------------------------------------------------------------ r55176 | nobu | 2016-05-27 00:39:43 +0900 (Fri, 27 May 2016) | 13 lines ruby.h: fix for old clang * include/ruby/ruby.h (rb_scan_args): add nul padding here to apply to all references. * include/ruby/ruby.h (rb_scan_args_verify): move length mismatch check outside conditional operators. Since old clang cannot optimize away string literal dereference by an immediate index, e.g., ""[0], and both of true and false side expressions are compiled and warned unintentionally. With such old compilers, the check in rb_scan_args() does not work but may result unpredictable value if the format is wrong. ------------------------------------------------------------------------ r55175 | rhe | 2016-05-26 14:24:58 +0900 (Thu, 26 May 2016) | 13 lines openssl: avoid NULL dereference in {DH,DSA,RSA}_size() * ext/openssl/ossl_pkey_dh.c (ossl_dh_compute_key): Check that the DH has 'p' (the prime) before calling DH_size(). We can create a DH with no parameter but DH_size() does not check and dereferences NULL. [ruby-core:75720] [Bug #12428] * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_sign): Ditto. DSA_size() does not check dsa->q. * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_public_encrypt, ossl_rsa_public_decrypt, ossl_rsa_private_encrypt, ossl_rsa_private_decrypt): Ditto. RSA_size() does not check rsa->n. ------------------------------------------------------------------------ r55174 | nobu | 2016-05-26 14:16:04 +0900 (Thu, 26 May 2016) | 4 lines ruby.h: suppress warnings * include/ruby/ruby.h (rb_scan_args_count): add filler nul bytes to suppress array-bounds warnings by old clang. ------------------------------------------------------------------------ r55173 | nobu | 2016-05-26 14:13:54 +0900 (Thu, 26 May 2016) | 4 lines ruby.h: count and verify * include/ruby/ruby.h (rb_scan_args_count): verify length with counting variables together. ------------------------------------------------------------------------ r55172 | nobu | 2016-05-26 14:11:07 +0900 (Thu, 26 May 2016) | 5 lines revert r55171 Revert r55171, "ruby.h: fix clang warnings", it did fix array-bounds warnings, but caused string-plus-int warnings instead. ------------------------------------------------------------------------ r55171 | nobu | 2016-05-26 10:30:31 +0900 (Thu, 26 May 2016) | 4 lines ruby.h: fix clang warnings * include/ruby/ruby.h (rb_scan_args0): use pointer dereference forms instead of array forms, to get rid of warnings by clang. ------------------------------------------------------------------------ r55170 | svn | 2016-05-26 09:45:45 +0900 (Thu, 26 May 2016) | 1 line * properties. ------------------------------------------------------------------------ r55169 | svn | 2016-05-26 09:45:45 +0900 (Thu, 26 May 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55168 | duerst | 2016-05-26 09:45:44 +0900 (Thu, 26 May 2016) | 4 lines * test/ruby/enc/test_case_comprehensive.rb: Add set of comprehensive (across most Unicode characters; later across most character encodings) tests for case mapping. ------------------------------------------------------------------------ r55167 | svn | 2016-05-26 05:01:25 +0900 (Thu, 26 May 2016) | 1 line * 2016-05-26 ------------------------------------------------------------------------ r55166 | eregon | 2016-05-26 05:01:24 +0900 (Thu, 26 May 2016) | 1 line * class.c (rb_define_class): Fix documentation. ------------------------------------------------------------------------ r55165 | naruse | 2016-05-25 20:51:37 +0900 (Wed, 25 May 2016) | 2 lines * re.c (unescape_nonascii): scan hex up to only 3 characters. [Bug #12420] [Bug #12423] ------------------------------------------------------------------------ r55164 | duerst | 2016-05-25 19:07:19 +0900 (Wed, 25 May 2016) | 2 lines * enc/unicode.c: Handle DOTLESS_i by hand because it isn't involved in folding. ------------------------------------------------------------------------ r55163 | naruse | 2016-05-25 18:45:22 +0900 (Wed, 25 May 2016) | 2 lines * regparse.c (fetch_token_in_cc): raise error if given octal escaped character is too big. [Bug #12420] [Bug #12423] ------------------------------------------------------------------------ r55162 | rhe | 2016-05-25 17:50:03 +0900 (Wed, 25 May 2016) | 3 lines openssl: drop OpenSSL 0.9.6/0.9.7 support * ext/openssl, test/openssl: Drop OpenSSL < 0.9.8 support. ------------------------------------------------------------------------ r55161 | rhe | 2016-05-25 17:46:40 +0900 (Wed, 25 May 2016) | 5 lines openssl: remove unnecessary 'extern "C"' blocks from local headers * ext/openssl/openssl_missing.h, ext/openssl/ossl.h: Remove unnecessary 'extern "C"' blocks. We don't use C++ and these headers are local to ext/openssl, so there is no need to enclose with it. ------------------------------------------------------------------------ r55160 | rhe | 2016-05-25 17:46:39 +0900 (Wed, 25 May 2016) | 8 lines openssl: remove check of OPENSSL_FIPS macro in extconf.rb * ext/openssl/extconf.rb: Remove check of OPENSSL_FIPS macro. This is unneeded because we can check the macro directly in source code, just as we already do for OPENSSL_NO_* macros. * ext/openssl/ossl.c: Replace occurrences of HAVE_OPENSSL_FIPS with OPENSSL_FIPS. ------------------------------------------------------------------------ r55159 | nobu | 2016-05-25 17:13:37 +0900 (Wed, 25 May 2016) | 3 lines class.c: simplify * class.c (rb_scan_args): merge code for n_trail. ------------------------------------------------------------------------ r55158 | nobu | 2016-05-25 17:11:36 +0900 (Wed, 25 May 2016) | 4 lines ruby.h: rb_scan_args_validate * include/ruby/ruby.h (rb_scan_args_validate): move failed condition to the terminal. [ruby-core:75714] [Bug #12426] ------------------------------------------------------------------------ r55157 | nobu | 2016-05-25 15:05:48 +0900 (Wed, 25 May 2016) | 1 line regcomp.c: fix debug conditionals ------------------------------------------------------------------------ r55156 | nobu | 2016-05-25 15:05:47 +0900 (Wed, 25 May 2016) | 4 lines fake.rb: buildlibdir * tool/fake.rb: set "buildlibdir" to the build directory, instead of "builddir" which is filterd by MakeMakefile#configuration. ------------------------------------------------------------------------ r55155 | naruse | 2016-05-25 13:21:32 +0900 (Wed, 25 May 2016) | 2 lines * regcomp.c: remove condition for debug output because prelude doesn't use regexp now. ------------------------------------------------------------------------ r55154 | naruse | 2016-05-25 13:21:31 +0900 (Wed, 25 May 2016) | 2 lines * regcomp.c (compile_length_tree): return error code immediately if compile_length_tree raised error [Bug #12418] ------------------------------------------------------------------------ r55153 | duerst | 2016-05-25 08:01:39 +0900 (Wed, 25 May 2016) | 3 lines * enc/unicode.c: Fix flag error for switch from titlecase to lowercase. * test/ruby/enc/test_case_mapping.rb: Tests for above error. ------------------------------------------------------------------------ r55152 | rhe | 2016-05-25 01:30:15 +0900 (Wed, 25 May 2016) | 11 lines openssl: add EC.generate * ext/openssl/ossl_pkey_ec.c (ec_key_new_from_group): Create a new EC_KEY on given EC group. Extracted from ossl_ec_key_initialize(). (ossl_ec_key_s_generate): Added. Create a new EC instance and generate a random private and public key. (ossl_ec_key_initialize): Use ec_key_new_from_group(). (Init_ossl_ec): Define the new method EC.generate. This change is for consistency with other PKey types. [ruby-core:45541] [Bug #6567] * test/openssl/test_pkey_ec.rb: Test that EC.generate works. ------------------------------------------------------------------------ r55151 | rhe | 2016-05-25 01:27:11 +0900 (Wed, 25 May 2016) | 9 lines openssl: rename EC#generate_key to EC#generate_key! * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_generate_key): Fix up RDoc. (Init_ossl_ec): Rename EC#generate_key to EC#generate_key!. Make the old name an alias of #generate_key!. This change is for consistency with other PKey types. [ruby-core:45541] [Bug #6567] * test/openssl/test_pkey_ec.rb: Use EC#generate_key! instead of EC#generate_key. ------------------------------------------------------------------------ r55150 | nobu | 2016-05-25 00:23:06 +0900 (Wed, 25 May 2016) | 5 lines ruby.h: optimize rb_scan_args_set * include/ruby/ruby.h (rb_scan_args_set): check the arity after adjusting argc for an option hash, for optimization in simpler cases. ------------------------------------------------------------------------ r55149 | svn | 2016-05-25 00:21:54 +0900 (Wed, 25 May 2016) | 1 line * 2016-05-25 ------------------------------------------------------------------------ r55148 | nobu | 2016-05-25 00:21:53 +0900 (Wed, 25 May 2016) | 4 lines configure.in: merge ruby_cflags to XCFLAGS * configure.in (XCFLAGS): merge flags only for ruby itself from ruby_cflags. ------------------------------------------------------------------------ r55147 | kazu | 2016-05-24 23:00:53 +0900 (Tue, 24 May 2016) | 1 line Remove a space [ci skip] ------------------------------------------------------------------------ r55146 | rhe | 2016-05-24 22:09:03 +0900 (Tue, 24 May 2016) | 9 lines openssl: make Cipher#key= and #iv= reject too long values * ext/openssl/ossl_cipher.c (ossl_cipher_set_key, ossl_cipher_set_iv): Reject too long values as well as too short ones. Currently they just truncate the input but this would hide bugs and lead to unexpected encryption/decryption results. * test/openssl/test_cipher.rb: Test that Cipher#key= and #iv= reject Strings with invalid length. ------------------------------------------------------------------------ r55145 | rhe | 2016-05-24 21:39:57 +0900 (Tue, 24 May 2016) | 13 lines openssl: avoid deprecated M_ASN1_* macros * ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): Use ASN1_OCTET_STRING_set() instead of M_ASN1_OCTET_STRING_set(). Macros prefixed by "M_" are discouraged to be used from outside OpenSSL library[1]. (ossl_x509ext_get_value): Likewise, use ASN1_STRING_print() instead of M_ASN1_OCTET_STRING_print(). [1] https://git.openssl.org/gitweb/?p=openssl.git;a=blob;f=CHANGES;h=bf61913d7b01212b4d8b2f3c13d71d645914f67c;hb=b6079a7835f61daa9fb2cbf9addfa86049523933#l878 * ext/openssl/ossl.h: Include openssl/asn1.h instead of openssl/asn1_mac.h. It just includes openssl/asn1.h and defines some additional "M_" macros. ------------------------------------------------------------------------ r55144 | nobu | 2016-05-24 18:52:14 +0900 (Tue, 24 May 2016) | 5 lines ruby.h: rb_scan_args_verify * include/ruby/ruby.h (rb_scan_args_verify): verify the format to scan if no invalid chars and variable argument length matching, at the compile time if possible. ------------------------------------------------------------------------ r55143 | nobu | 2016-05-24 17:18:47 +0900 (Tue, 24 May 2016) | 4 lines defines.h: fallback ERRORFUNC and WARNINGFUNC * include/ruby/defines.h (ERRORFUNC, WARNINGFUNC): add fallback definitions. ------------------------------------------------------------------------ r55142 | naruse | 2016-05-24 16:49:25 +0900 (Tue, 24 May 2016) | 4 lines * configure.in (ruby_cflags): separate from optflags [Bug #12409] -fexcess-precision=standard and -fp-model precise are set to this now. * configure.in (cflags): use ruby_cflags. ------------------------------------------------------------------------ r55141 | nobu | 2016-05-24 16:28:34 +0900 (Tue, 24 May 2016) | 1 line fix missing argument ------------------------------------------------------------------------ r55140 | nobu | 2016-05-24 16:20:55 +0900 (Tue, 24 May 2016) | 4 lines fix __error__ and __warning__ attribute checks * configure.in (ERRORFUNC, WARNINGFUNC): __error__ and __warning__ attributes take a parenthesized string literal. ------------------------------------------------------------------------ r55139 | svn | 2016-05-24 12:44:00 +0900 (Tue, 24 May 2016) | 1 line * 2016-05-24 ------------------------------------------------------------------------ r55138 | shyouhei | 2016-05-24 12:43:59 +0900 (Tue, 24 May 2016) | 3 lines * common.mk : sort lines, and add missing dependencies suggested by tool/update-deps ------------------------------------------------------------------------ r55137 | kazu | 2016-05-23 22:26:22 +0900 (Mon, 23 May 2016) | 1 line fix indent (tabify) [ci skip] ------------------------------------------------------------------------ r55136 | nobu | 2016-05-23 21:33:39 +0900 (Mon, 23 May 2016) | 3 lines missing.h: isfinite * include/ruby/missing.h (isfinite): move from numeric.c. ------------------------------------------------------------------------ r55135 | rhe | 2016-05-23 21:10:38 +0900 (Mon, 23 May 2016) | 8 lines openssl: Avoid reference to unset global variable in Init_openssl() * ext/openssl/ossl.c (Init_openssl): Avoid reference to unset global variable. ossl_raise() may be called before dOSSL is set. Since global variables default to 0 and the default value of dOSSL set in Init_openssl() is also Qfalse, there is no real issue but confusing. Patch by Bertram Scharpf [ruby-core:58264] [Bug #9101] ------------------------------------------------------------------------ r55134 | rhe | 2016-05-23 20:40:07 +0900 (Mon, 23 May 2016) | 11 lines openssl: use StringValueCStr() where NUL-terminated string is expected * ext/openssl/ossl_asn1.c, ext/openssl/ossl_bn.c, ext/openssl/ossl_cipher.c, ext/openssl/ossl_digest.c ext/openssl/ossl_engine.c, ext/openssl/ossl_ns_spki.c ext/openssl/ossl_pkcs12.c, ext/openssl/ossl_pkcs7.c ext/openssl/ossl_pkey.c, ext/openssl/ossl_pkey_ec.c ext/openssl/ossl_rand.c, ext/openssl/ossl_ssl.c ext/openssl/ossl_x509attr.c, ext/openssl/ossl_x509cert.c ext/openssl/ossl_x509ext.c, ext/openssl/ossl_x509store.c: Use StringValueCStr() where NUL-terminated string is expected. ------------------------------------------------------------------------ r55133 | usa | 2016-05-23 20:21:11 +0900 (Mon, 23 May 2016) | 3 lines * ext/bigdecimal/bigdecimal.c (isfinite): get rid of a warning on cygwin. [Bug #12417][ruby-core:75691] ------------------------------------------------------------------------ r55132 | rhe | 2016-05-23 19:47:37 +0900 (Mon, 23 May 2016) | 8 lines openssl: fix incorrect return value check of RAND_* functions * ext/openssl/ossl_rand.c (ossl_rand_egd, ossl_rand_egd_bytes): RAND_egd{_bytes,}() return -1 on failure, not 0. Patch by cremno phobia [ruby-core:63795] [Bug #10053] (ossl_pseudo_bytes): Similar, RAND_pseudo_bytes() may return 0 or -1 on failure. ------------------------------------------------------------------------ r55131 | nobu | 2016-05-23 19:45:13 +0900 (Mon, 23 May 2016) | 4 lines revert error attributes * include/ruby/ruby.h (rb_scan_args0): revert error attributes, which may not be optimized away in readline extension library. ------------------------------------------------------------------------ r55130 | nobu | 2016-05-23 19:35:37 +0900 (Mon, 23 May 2016) | 1 line fix a typo ------------------------------------------------------------------------ r55129 | usa | 2016-05-23 15:55:48 +0900 (Mon, 23 May 2016) | 8 lines * ext/bigdecimal/bigdecimal.c (isfinite): isfinite does not always exist. fixed build error on Windows itroduced at r55123. I found that more complex definition of isfinite in numeric.c. But it's unused because it inplicitly checks not defined _WIN32. I don't know why the code do that. IMO, the definition of isfinite should be put at missing.h. ------------------------------------------------------------------------ r55128 | nobu | 2016-05-23 13:40:43 +0900 (Mon, 23 May 2016) | 5 lines tcltklib.c: elimitate dead code * ext/tk/tcltklib.c (lib_do_one_event_core): elimitate dead code. after Check_Type, FIX2INT which implies conversion is not useless. nil and fixnum cannot be tainted. ------------------------------------------------------------------------ r55127 | nobu | 2016-05-23 13:31:55 +0900 (Mon, 23 May 2016) | 12 lines remove unnecessary volatiles * ext/dbm/dbm.c (fdbm_initialize): used for rb_sys_fail_str. * ext/sdbm/init.c (fsdbm_initialize): ditto. * ext/tk/tcltklib.c (lib_do_one_event_core): no effect. * ext/tk/tkutil/tkutil.c (tk_eval_cmd, tk_get_eval_string): no effect if tail call optimized. * ext/tk/tkutil/tkutil.c (cbsubst_table_setup): set to const. ------------------------------------------------------------------------ r55126 | nobu | 2016-05-23 13:31:54 +0900 (Mon, 23 May 2016) | 4 lines tkutil.c: GC guards * ext/tk/tkutil/tkutil.c (cbsubst_table_setup): add GC guards instead of volatile after the uses. ------------------------------------------------------------------------ r55125 | nobu | 2016-05-23 13:19:43 +0900 (Mon, 23 May 2016) | 5 lines make compile error if possible * include/ruby/ruby.h (rb_scan_args0): make compile error if the format is wrong or does not match with the variable argument length if possible. ------------------------------------------------------------------------ r55124 | nobu | 2016-05-23 12:47:11 +0900 (Mon, 23 May 2016) | 5 lines fatal error if variable argument length mismatch * include/ruby/ruby.h (rb_scan_args0): raise fatal error if variable argument length does not match, it is a bug in the code which uses rb_scan_args, not a runtime error. ------------------------------------------------------------------------ r55123 | nobu | 2016-05-23 12:30:30 +0900 (Mon, 23 May 2016) | 5 lines bigdecimal.c: fix FloatDomainError * ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): consider non-finite float values not to raise FloatDomainError. [ruby-core:75682] [Bug #12414] ------------------------------------------------------------------------ r55122 | naruse | 2016-05-23 12:23:24 +0900 (Mon, 23 May 2016) | 2 lines * array.c (rb_ary_fill): suppress warnings: 'item' may be used uninitialized in this function ------------------------------------------------------------------------ r55121 | svn | 2016-05-23 08:09:39 +0900 (Mon, 23 May 2016) | 1 line * 2016-05-23 ------------------------------------------------------------------------ r55120 | normal | 2016-05-23 08:09:38 +0900 (Mon, 23 May 2016) | 3 lines dir.c (dir_close): update RDoc for 2.3 #close change [ruby-core:75679] [Bug #12413] ------------------------------------------------------------------------ r55119 | svn | 2016-05-22 20:03:44 +0900 (Sun, 22 May 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55118 | seki | 2016-05-22 20:03:43 +0900 (Sun, 22 May 2016) | 1 line use finalizer trick instead of thread. ------------------------------------------------------------------------ r55117 | duerst | 2016-05-22 17:25:18 +0900 (Sun, 22 May 2016) | 3 lines * test/ruby/enc/test_case_options.rb: adjust test class name to match file name ------------------------------------------------------------------------ r55116 | duerst | 2016-05-22 17:24:08 +0900 (Sun, 22 May 2016) | 3 lines * rename test/ruby/enc/test_casing_options.rb to test_case_options.rb for consistency ------------------------------------------------------------------------ r55115 | nobu | 2016-05-22 17:06:57 +0900 (Sun, 22 May 2016) | 5 lines transcode.c: GC guards * transcode.c (enc_arg, str_transcode_enc_args, econv_args): remove volatile, and add GC guards in callers. [ruby-core:75664] [Bug #12411] ------------------------------------------------------------------------ r55114 | nobu | 2016-05-22 16:27:02 +0900 (Sun, 22 May 2016) | 5 lines -test-/integer * ext/-test-/integer/core_ext.c: move testutil/integer.c. * test/lib/-test-/integer.rb: extract implementation details from test/unit/assertions.rb. [Bug #12408] ------------------------------------------------------------------------ r55113 | duerst | 2016-05-22 14:57:44 +0900 (Sun, 22 May 2016) | 9 lines * include/ruby/oniguruma.h: Extend OnigEncodingTypeDefine to define a new encoding primitive 'case_map' for case mapping * enc/utf-8.c, utf_16be/le.c, utf_32be/le.c: add onigenc_unicode_case_map as case_map primitive * enc/ascii.c, big5.c, cp949.c, emacs_mule.c, euc_jp/kr/tw.c, gb18030.c, gbk.c, iso_8859_1/2/3/4/5/6/7/8/9/10/11/13/14/15/16.c, koi8_r/u.c, shift_jis.c, us_ascii.c, windows_1250/1251/1252.c: add onigenc_not_support_case_map as case_map primitive ------------------------------------------------------------------------ r55112 | duerst | 2016-05-22 14:45:45 +0900 (Sun, 22 May 2016) | 1 line regenc.h/c: Define new function onigenc_not_support_case_map ------------------------------------------------------------------------ r55111 | naruse | 2016-05-22 12:31:22 +0900 (Sun, 22 May 2016) | 2 lines * include/ruby/ruby.h (rb_scan_args): use original rb_scan_args when fmt is dynamic. ------------------------------------------------------------------------ r55110 | naruse | 2016-05-22 11:44:54 +0900 (Sun, 22 May 2016) | 6 lines * class.c (rb_scan_args): moved to bottom of the file to make the effect of `#undef rb_scan_args` the minimum. * include/ruby/ruby.h (rb_scan_args): overwrite only if GCC and optimized. Visual C++ 14 or later can compile it but make it conservative. ------------------------------------------------------------------------ r55109 | nobu | 2016-05-22 11:28:03 +0900 (Sun, 22 May 2016) | 1 line move duplicate assertions ------------------------------------------------------------------------ r55108 | nobu | 2016-05-22 03:09:05 +0900 (Sun, 22 May 2016) | 8 lines just check Integer * test/ruby/test_bignum.rb (test_pow): just assert to be an Integer. * test/ruby/test_integer_comb.rb (check_class): ditto. * test/ruby/test_numeric.rb (test_coerce): ditto. ------------------------------------------------------------------------ r55107 | nobu | 2016-05-22 03:06:04 +0900 (Sun, 22 May 2016) | 4 lines hash method values * test/ruby/test_{complex,range,rational,struct}.rb (test_hash): hash values should be an Integer, not only a Fixnum. ------------------------------------------------------------------------ r55106 | svn | 2016-05-22 02:47:53 +0900 (Sun, 22 May 2016) | 1 line * 2016-05-22 ------------------------------------------------------------------------ r55105 | naruse | 2016-05-22 02:47:52 +0900 (Sun, 22 May 2016) | 5 lines * ext/zlib/zlib.c: remove hacky macro introduced at r30437. * ext/zlib/zlib.c (gzfile_make_header): cast as long (instead of int). * ext/zlib/zlib.c (gzfile_make_footer): ditto. ------------------------------------------------------------------------ r55104 | naruse | 2016-05-21 23:01:23 +0900 (Sat, 21 May 2016) | 4 lines Revert r50102 This reverts "* include/ruby/ruby.h (rb_scan_args): don't use ALWAYS_INLINE with" This rb_scan_args macro is GCCism. ------------------------------------------------------------------------ r55103 | usa | 2016-05-21 22:47:06 +0900 (Sat, 21 May 2016) | 3 lines * include/ruby/ruby.h (rb_scan_args): don't use ALWAYS_INLINE with `inline`. if gcc needs this duplication, do in ALWAYS_INLINE macro. ------------------------------------------------------------------------ r55102 | naruse | 2016-05-21 22:24:33 +0900 (Sat, 21 May 2016) | 4 lines * include/ruby/ruby.h (rb_scan_args): use __VA_ARGS__ instead of va_arg to allow compilers optimize more aggressive. https://gustedt.wordpress.com/2011/07/10/avoid-writing-va_arg-functions/ rb_scan_args is now expected to be statically resolved. ------------------------------------------------------------------------ r55101 | naruse | 2016-05-21 22:24:32 +0900 (Sat, 21 May 2016) | 1 line * configure.in (ALWAYS_INLINE): force compilers the function inlined. ------------------------------------------------------------------------ r55100 | rhe | 2016-05-21 16:25:00 +0900 (Sat, 21 May 2016) | 15 lines openssl: fix possible SEGV on race between SSLSocket#stop and #connect * ext/openssl/ossl_ssl.c (ossl_ssl_stop): Don't free the SSL struct here. Since some methods such as SSLSocket#connect releases GVL, there is a chance of use after free if we free the SSL from another thread. SSLSocket#stop was documented as "prepares it for another connection" so this is a slightly incompatible change. However when this sentence was added (r30090, Add toplevel documentation for OpenSSL, 2010-12-06), it didn't actually. The current behavior is from r40304 (Correct shutdown behavior w.r.t GC., 2013-04-15). [ruby-core:74978] [Bug #12292] * ext/openssl/lib/openssl/ssl.rb (sysclose): Update doc. * test/openssl/test_ssl.rb: Test this. ------------------------------------------------------------------------ r55099 | rhe | 2016-05-21 14:45:41 +0900 (Sat, 21 May 2016) | 5 lines openssl: fix SSL client example in documentation [ci skip] * ext/openssl/ossl.c: [DOC] Fix SSL client example. The variable name was wrong. Patch by Andreas Tiefenthaler (@pxlpnk). [GH ruby/openssl#32] ------------------------------------------------------------------------ r55098 | rhe | 2016-05-21 14:30:48 +0900 (Sat, 21 May 2016) | 8 lines openssl: add OpenSSL::PKey::EC#private? and #public? * ext/openssl/ossl_pkey_ec.c: rename PKey::EC#private_key? and #public_key? to #private? and #public? for consistency with other PKey types. Old names remain as alias. [ruby-core:45541] [Bug #6567] * test/openssl/test_pkey_ec.rb (test_check_key): check private? and public? works correctly. ------------------------------------------------------------------------ r55097 | rhe | 2016-05-21 12:44:10 +0900 (Sat, 21 May 2016) | 5 lines openssl: remove impossible EOFError raise in OpenSSL::Buffering * ext/openssl/lib/openssl/buffering.rb (read_nonblock, readpartial): Remove impossible EOFError raise. Patch by Zach Anker . [GH ruby/openssl#23] ------------------------------------------------------------------------ r55096 | nobu | 2016-05-21 11:18:44 +0900 (Sat, 21 May 2016) | 4 lines ipaddr: fix typo [ci skip] * lib/ipaddr.rb: [DOC] fix documentation of IN6MASK to mention IPv6. [Fix GH-1349] ------------------------------------------------------------------------ r55095 | nobu | 2016-05-21 11:12:55 +0900 (Sat, 21 May 2016) | 4 lines Restore documentation of ARGF * io.c (Init_IO): [DOC] define dummy ARGF instead of ARGF.class to re-enable the generation of ARGF documentation. [Fix GH-1358] ------------------------------------------------------------------------ r55094 | nobu | 2016-05-21 11:07:31 +0900 (Sat, 21 May 2016) | 4 lines methods.rdoc: closing tag * doc/syntax/methods.rdoc (Method Names): add proper closing tag. [Fix GH-1356] ------------------------------------------------------------------------ r55093 | nobu | 2016-05-21 09:26:31 +0900 (Sat, 21 May 2016) | 4 lines configure.in: missing macro definition * configure.in (RUBY_CHECK_SETJMP): fix missing macro definition for the configured result. fix up r55021. ------------------------------------------------------------------------ r55091 | nobu | 2016-05-21 00:36:34 +0900 (Sat, 21 May 2016) | 5 lines fix build on no-fork-spawnv platforms * process.c (rb_execarg_commandline): build command line string from argument vector in rb_execarg. [ruby-core:75611] [Bug #12398] ------------------------------------------------------------------------ r55090 | nobu | 2016-05-21 00:30:29 +0900 (Sat, 21 May 2016) | 6 lines io.c: conditionally used functions * io.c (pipe_atexit): only used on Windows * io.c (rb_execarg_fixup_v): wrapper only used fork or spawnv is available. ------------------------------------------------------------------------ r55089 | nobu | 2016-05-21 00:29:41 +0900 (Sat, 21 May 2016) | 4 lines ossl.c: suppress warnings * ext/openssl/ossl.c (ossl_pem_passwd_cb): check integer precision. ------------------------------------------------------------------------ r55088 | svn | 2016-05-21 00:05:26 +0900 (Sat, 21 May 2016) | 1 line * 2016-05-21 ------------------------------------------------------------------------ r55087 | rhe | 2016-05-21 00:05:25 +0900 (Sat, 21 May 2016) | 26 lines openssl: improve handling of password for encrypted PEM * ext/openssl/ossl.c (ossl_pem_passwd_value): Added. Convert the argument to String with StringValue() and validate the length is in 4..PEM_BUFSIZE. PEM_BUFSIZE is a macro defined in OpenSSL headers. (ossl_pem_passwd_cb): When reading/writing encrypted PEM format, we used to pass the password to PEM_def_callback() directly but it was problematic. It is not NUL character safe. And surprisingly, it silently truncates the password to 1024 bytes. [GH ruby/openssl#51] * ext/openssl/ossl.h: Add function prototype declaration of newly added ossl_pem_passwd_value(). * ext/openssl/ossl_pkey.c (ossl_pkey_new_from_data): Use ossl_pem_passwd_value() to validate the password String. * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize, ossl_dsa_export): ditto. * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_initialize, ossl_ec_key_to_string): ditto. * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_initialize, ossl_rsa_export): ditto. * test/openssl/test_pkey_{dsa,ec,rsa}.rb: test this. ------------------------------------------------------------------------ r55086 | ngoto | 2016-05-20 23:55:23 +0900 (Fri, 20 May 2016) | 10 lines capa should be even number on 64-bit SPARC for 8-byte word alignment * id_table.c (list_id_table_init): When unaligned word access is prohibited and sizeof(VALUE) is 8 (64-bit machines), capa should always be even number for 8-byte word alignment of the values of a table. This code assumes that sizeof(ID) is 4, sizeof(VALUE) is 8, and xmalloc() returns 8-byte aligned memory. This fixes bus error on 64-bit SPARC Solaris 10. [Bug #12406][ruby-dev:49631] ------------------------------------------------------------------------ r55085 | nobu | 2016-05-20 23:24:39 +0900 (Fri, 20 May 2016) | 4 lines thread_pthread.c: no fork, no gvl_atfork * thread_pthread.c (gvl_atfork): used in rb_thread_atfork_internal only if HAVE_WORKING_FORK is defined. ------------------------------------------------------------------------ r55084 | ngoto | 2016-05-20 22:33:10 +0900 (Fri, 20 May 2016) | 4 lines Use HAVE_BUILTIN___BUILTIN_CONSTANT_P * symbol.h (rb_id2sym): Use HAVE_BUILTIN___BUILTIN_CONSTANT_P ------------------------------------------------------------------------ r55083 | kazu | 2016-05-20 22:21:55 +0900 (Fri, 20 May 2016) | 4 lines fix typos [ci skip] * ext/date/date_core.c: [DOC] fix typos. [fix GH-1360] patched by @soundasleep ------------------------------------------------------------------------ r55082 | ngoto | 2016-05-20 21:29:06 +0900 (Fri, 20 May 2016) | 16 lines Use RB_GNUC_EXTENSION_BLOCK instead of __extension__ * include/ruby/defines.h (RB_GNUC_EXTENSION, RB_GNUC_EXTENSION_BLOCK): macros for skipping __extension__ on non-GCC compilers. * eval_error.c (warn_print): use RB_GNUC_EXTENSION_BLOCK instead of __extension__ because __extension__ is a GNU extension. Fix compile error on Solaris 10 with Oracle Solaris Studio 12.x. [Bug #12397] [ruby-dev:49629]. * internal.h (rb_fstring_cstr, rb_fstring_enc_cstr): ditto * include/ruby/encoding.h (rb_enc_str_new, rb_enc_str_new_cstr): ditto * include/ruby/intern.h (rb_str_new, rb_str_new_cstr, rb_usascii_str_new, rb_utf8_str_new, rb_tainted_str_new_cstr, rb_usascii_str_new_cstr, rb_utf8_str_new_cstr, rb_external_str_new_cstr, rb_locale_str_new_cstr, rb_str_buf_new_cstr, rb_str_cat_cstr, rb_exc_new_cstr): ditto ------------------------------------------------------------------------ r55081 | nobu | 2016-05-20 21:17:14 +0900 (Fri, 20 May 2016) | 4 lines win32ole.c: share the content * ext/win32ole/win32ole.c (fole_missing): make substring or dup to share the content if possible. ------------------------------------------------------------------------ r55080 | nobu | 2016-05-20 20:47:16 +0900 (Fri, 20 May 2016) | 4 lines win32ole.c: remove dead code * ext/win32ole/win32ole.c (fole_missing): remove dead code meaningless since r51913. RSTRING_LEN does not exceed LONG_MAX. ------------------------------------------------------------------------ r55079 | nobu | 2016-05-20 19:48:51 +0900 (Fri, 20 May 2016) | 8 lines exclude non-VALUE in memo from GC * internal.h (NEW_PARTIAL_MEMO_FOR): shrink buffer array not to mark non-VALUE fields. fix check_rvalue_consistency abort with RGENGC_CHECK_MODE=2. * internal.h (NEW_CMP_OPT_MEMO): exclude struct cmp_opt_data from the valid array range. * enum.c (slicewhen_i): exclude inverted too. ------------------------------------------------------------------------ r55078 | rhe | 2016-05-20 13:36:03 +0900 (Fri, 20 May 2016) | 20 lines openssl: don't test default session lifetime value OpenSSL's default session timeout for TLS v1.0 method is not 300 seconds but 7200. The TLS v1.0 specification[1] mentions about it as just "An upper limit of 24 hours is suggested for session ID lifetimes,". And according to OpenSSL 1.0.2h source comment[2], the value 7200 is decided just because "the 24 hours mentioned in the TLSv1 spec is way too long for http, the cache would over fill". The reason why the default lifetime is set to 300 is maybe an OpenSSL bug. We always call SSL_CTX_new() with SSLv23_method(), and this set ssl_ctx->session to 300, the default value for SSLv23_method(). But the following SSL_set_ssl_method() call does not update it. By the way this will be fixed in OpenSSL 1.1.0. [1] https://tools.ietf.org/html/rfc2246#appendix-F.1.4 [2] https://git.openssl.org/?p=openssl.git;a=blob;f=ssl/t1_lib.c;h=dd5bd0050d89f5585c1b06a227eb8221ebf984f1;hb=5dd94f1847c744929a3bd24819f1c99644bb18c7#l193 * test/openssl/test_ssl_session.rb (test_session): remove assertion of the default session timeout. ------------------------------------------------------------------------ r55077 | svn | 2016-05-20 02:21:30 +0900 (Fri, 20 May 2016) | 1 line * 2016-05-20 ------------------------------------------------------------------------ r55076 | sorah | 2016-05-20 02:21:29 +0900 (Fri, 20 May 2016) | 1 line fix a typo ------------------------------------------------------------------------ r55075 | kazu | 2016-05-19 21:23:57 +0900 (Thu, 19 May 2016) | 6 lines fix document of Regexp#match? * re.c (rb_reg_match_m_p): [DOC] fix return value in rdoc. * test/ruby/test_regexp.rb (TestRegexp#test_match_p): add some tests from document. ------------------------------------------------------------------------ r55074 | rhe | 2016-05-19 13:53:05 +0900 (Thu, 19 May 2016) | 20 lines openssl: register ex_data index for X509_STORE{_CTX,} respectively * ext/openssl/ossl.c (Init_openssl): register an ex_data index for X509_STORE and X509_STORE_CTX respectively. Since they don't share the ex_data index registry, we can't use the same index. (ossl_verify_cb): use the the correct index. * ext/openssl/ossl_ssl.c (ossl_ssl_verify_callback): ditto. * ext/openssl/ossl_x509store.c (ossl_x509store_set_vfy_cb): ditto. (ossl_x509stctx_verify): ditto. * ext/openssl/ossl.h (void ossl_clear_error): add extern declarations of ossl_store_{ctx_,}ex_verify_cb_idx. * ext/openssl/openssl_missing.c: remove X509_STORE_set_ex_data and X509_STORE_get_ex_data. * ext/openssl/openssl_missing.h: implement X509_STORE_get_ex_data, X509_STORE_set_ex_data and X509_STORE_get_ex_new_index as macros. ------------------------------------------------------------------------ r55073 | usa | 2016-05-19 13:34:30 +0900 (Thu, 19 May 2016) | 3 lines * test/ruby/test_array.rb (TestArray#test_push_over_ary_max): it seems to take long time on mswinci. ------------------------------------------------------------------------ r55072 | svn | 2016-05-19 13:12:58 +0900 (Thu, 19 May 2016) | 1 line * properties. ------------------------------------------------------------------------ r55071 | rhe | 2016-05-19 13:12:57 +0900 (Thu, 19 May 2016) | 7 lines openssl: check argument type in OpenSSL::X509::Attribute#value= * ext/openssl/ossl_x509attr.c (ossl_x509attr_set_value): check that the argument is an OpenSSL::ASN1::Data before converting to ASN1_TYPE. This fixes SEGV on OpenSSL::X509::Attribute#value=(non-asn1-value). * test/openssl/test_x509attr.rb: add tests for OpenSSL::X509::Attribute. ------------------------------------------------------------------------ r55070 | nobu | 2016-05-19 12:46:20 +0900 (Thu, 19 May 2016) | 5 lines assertions.rb: leave timeout to invoke_ruby * test/lib/test/unit/assertions.rb (assert_separately): leave timeout to invoke_ruby, which handles outputs and status of the target process since r51539. ------------------------------------------------------------------------ r55069 | nobu | 2016-05-19 12:10:12 +0900 (Thu, 19 May 2016) | 6 lines re.c: fix match? * re.c (rb_reg_match_m_p): fix match against empty string. rb_str_offset returns the end when the position exceeds the length. fix the range parameter of onig_search. [ruby-core:75604] [Bug #12394] ------------------------------------------------------------------------ r55068 | nobu | 2016-05-19 12:09:00 +0900 (Thu, 19 May 2016) | 1 line fix typo ------------------------------------------------------------------------ r55067 | nobu | 2016-05-19 11:37:38 +0900 (Thu, 19 May 2016) | 4 lines re.c: match? should return nil if no match * re.c (rb_reg_match_m_p): should return nil if no match, as the document says. [Feature #8110] ------------------------------------------------------------------------ r55066 | svn | 2016-05-19 00:17:32 +0900 (Thu, 19 May 2016) | 1 line * 2016-05-19 ------------------------------------------------------------------------ r55065 | naruse | 2016-05-19 00:17:31 +0900 (Thu, 19 May 2016) | 1 line * re.c (reg_names_iter): specify capacify ------------------------------------------------------------------------ r55064 | kazu | 2016-05-18 22:40:51 +0900 (Wed, 18 May 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55063 | usa | 2016-05-18 21:31:53 +0900 (Wed, 18 May 2016) | 4 lines * thread.c (recursive_list_access): a object id may be a Bignum. so, the list must be a objhash, instead of a identhash. this fixes many test errors on mswin64 CI. ------------------------------------------------------------------------ r55062 | nobu | 2016-05-18 20:32:26 +0900 (Wed, 18 May 2016) | 4 lines re.c: fix type * re.c (rb_reg_match_m_p): fix type of variable for onig_search result. ------------------------------------------------------------------------ r55061 | naruse | 2016-05-18 19:37:13 +0900 (Wed, 18 May 2016) | 2 lines * re.c (rb_reg_match_m_p): Introduce Regexp#match?, which returns bool and doesn't save backref. ------------------------------------------------------------------------ r55060 | rhe | 2016-05-18 19:07:38 +0900 (Wed, 18 May 2016) | 4 lines openssl: fix test failure due to the previous commit * test/openssl/test_pkey_ec.rb (test_ec_point_mul): My previous commit r55059 was broken. I should have been more careful. Sorry. ------------------------------------------------------------------------ r55059 | rhe | 2016-05-18 17:52:37 +0900 (Wed, 18 May 2016) | 4 lines openssl: fix test failure of OpenSSL::TestEC#test_ec_point_mul * test/openssl/test_pkey_ec.rb (test_ec_point_mul): CentOS 7 patches OpenSSL to reject curves defined over a small field. ------------------------------------------------------------------------ r55058 | nobu | 2016-05-18 17:06:23 +0900 (Wed, 18 May 2016) | 4 lines test_random.rb: skip old OpenSSL * test/openssl/test_random.rb (OpenSSL::TestRandom): ignore out-of-date OpenSSL before 1.0, as well as other tests. ------------------------------------------------------------------------ r55057 | rhe | 2016-05-18 16:59:09 +0900 (Wed, 18 May 2016) | 5 lines openssl: fix OpenSSL error queue leak in OpenSSL::PKCS12.new * ext/openssl/ossl_pkcs12.c (ossl_pkcs12_initialize): pop errors leaked by PKCS12_parse(). This is a bug in OpenSSL, which exists in the versions before the version 1.0.0t, 1.0.1p, 1.0.2d. ------------------------------------------------------------------------ r55056 | nobu | 2016-05-18 16:24:02 +0900 (Wed, 18 May 2016) | 4 lines openssl/test_random.rb: requires utils.rb * test/openssl/test_random.rb: requires test/openssl/utils.rb for OpenSSL::TestCase now. ------------------------------------------------------------------------ r55055 | nobu | 2016-05-18 16:04:55 +0900 (Wed, 18 May 2016) | 5 lines downloader.rb: disable verify if rubygems is old * tool/downloader.rb (Downloader::RubyGems.download): verify gems only if RubyGems is 2.4 or later. old RubyGems fails to verify almost all of bundled gems. ------------------------------------------------------------------------ r55054 | nobu | 2016-05-18 14:52:40 +0900 (Wed, 18 May 2016) | 4 lines string.c: integer overflow * string.c (rb_str_modify_expand): check integer overflow. [ruby-core:75592] [Bug #12390] ------------------------------------------------------------------------ r55053 | naruse | 2016-05-18 13:56:02 +0900 (Wed, 18 May 2016) | 9 lines * re.c (match_ary_subseq): get subseq of match array without creating temporary array. * re.c (match_ary_aref): get element(s) of match array without creating temporary array. * re.c (match_aref): Use match_ary_subseq with handling irregulars. * re.c (match_values_at): Use match_ary_aref. ------------------------------------------------------------------------ r55052 | nobu | 2016-05-18 13:36:02 +0900 (Wed, 18 May 2016) | 4 lines ossl_pkey_ec.c: index types * ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): fix index types. Array length is long, not int. ------------------------------------------------------------------------ r55051 | rhe | 2016-05-18 13:07:47 +0900 (Wed, 18 May 2016) | 25 lines openssl: clear OpenSSL error queue before return to Ruby * ext/openssl/ossl_x509cert.c (ossl_x509_verify): X509_verify() family may put errors on 0 return (0 means verification failure). Clear OpenSSL error queue before return to Ruby. Since the queue is thread global, remaining errors in the queue can cause an unexpected error in the next OpenSSL operation. [ruby-core:48284] [Bug #7215] * ext/openssl/ossl_x509crl.c (ossl_x509crl_verify): ditto. * ext/openssl/ossl_x509req.c (ossl_x509req_verify): ditto. * ext/openssl/ossl_x509store.c (ossl_x509stctx_verify): ditto. * ext/openssl/ossl_pkey_dh.c (dh_generate): clear the OpenSSL error queue before re-raising exception. * ext/openssl/ossl_pkey_dsa.c (dsa_generate): ditto. * ext/openssl/ossl_pkey_rsa.c (rsa_generate): ditto. * ext/openssl/ossl_ssl.c (ossl_start_ssl): ditto. * test/openssl: check that OpenSSL.errors is empty every time after running a test case. ------------------------------------------------------------------------ r55050 | rhe | 2016-05-18 13:07:45 +0900 (Wed, 18 May 2016) | 23 lines openssl: report errors in OpenSSL error queue when clear it * ext/openssl/ossl.c (ossl_clear_error): Extracted from ossl_make_error(). This prints errors in the OpenSSL error queue if OpenSSL.debug is true, and clears the queue. (ossl_make_error): use ossl_clear_error(). * ext/openssl/ossl.h: add prototype declaration of ossl_make_error(). (OSSL_BIO_reset) use ossl_clear_error() to clear the queue. Clearing silently makes debugging difficult. * ext/openssl/ossl_engine.c (ossl_engine_s_by_id): ditto. * ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): ditto. * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_verify): ditto. * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize): ditto. * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_initialize): ditto. (ossl_ec_group_initialize): ditto. * ext/openssl/ossl_ssl.c (ossl_ssl_shutdown): ditto. ------------------------------------------------------------------------ r55049 | mrkn | 2016-05-18 12:21:53 +0900 (Wed, 18 May 2016) | 1 line Describe Enumerable#sum in NEWS [ci skip] ------------------------------------------------------------------------ r55048 | rhe | 2016-05-18 11:55:46 +0900 (Wed, 18 May 2016) | 8 lines ext/openssl: refactor OpenSSL::PKey::EC::Point#mul * ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): Validate the arguments before passing to EC_POINT(s)_mul(). Add description of this method. [ruby-core:65152] [Bug #10268] * test/openssl/test_pkey_ec.rb (test_ec_point_mul): Test that OpenSSL::PKey::EC::Point#mul works. ------------------------------------------------------------------------ r55047 | rhe | 2016-05-18 11:55:45 +0900 (Wed, 18 May 2016) | 13 lines openssl: fix equality test methods of OpenSSL::BN * ext/openssl/ossl_bn.c (try_convert_to_bnptr): Extracted from GetBNPtr(). This doesn't raise exception but returns NULL on error. (GetBNPtr): Raise TypeError if conversion fails. (ossl_bn_eq): Implement BN#==. (ossl_bn_eql): #eql? should not raise TypeError even if the argument is not compatible with BN. (ossl_bn_hash): Implement BN#hash. * ext/openssl/ossl_bn.c (Init_ossl_bn): Define #== and #hash. * test/openssl/test_bn.rb: Test BN#eql?, #== and #hash ------------------------------------------------------------------------ r55046 | nobu | 2016-05-18 11:05:30 +0900 (Wed, 18 May 2016) | 1 line test/win32ole/test_win32ole_variant.rb: use other than Integer ------------------------------------------------------------------------ r55045 | nobu | 2016-05-18 10:21:57 +0900 (Wed, 18 May 2016) | 4 lines extension.rdoc: RB_{INTEGER,FLOAT}_TYPE_P [ci skip] * doc/extension.rdoc, doc/extension.rdoc (Checking Data Types): [DOC] mention RB_INTEGER_TYPE_P and RB_FLOAT_TYPE_P. ------------------------------------------------------------------------ r55044 | nobu | 2016-05-18 10:17:43 +0900 (Wed, 18 May 2016) | 5 lines ruby.h: RB_INTEGER_TYPE_P * include/ruby/ruby.h (RB_INTEGER_TYPE_P): new macro and underlying inline function to check if the object is an Integer (Fixnum or Bignum). ------------------------------------------------------------------------ r55043 | nobu | 2016-05-18 10:16:50 +0900 (Wed, 18 May 2016) | 4 lines enum.c: fix declaration-after-statement * enum.c (sum_iter): workaround of mixed declarations and code. erred by -Werror=declaration-after-statement option. ------------------------------------------------------------------------ r55042 | nobu | 2016-05-18 10:05:36 +0900 (Wed, 18 May 2016) | 4 lines extension.rdoc: RB_TYPE_P [ci skip] * doc/extension.rdoc, doc/extension.rdoc (Checking Data Types): [DOC] mention RB_TYPE_P. ------------------------------------------------------------------------ r55041 | mrkn | 2016-05-18 09:54:52 +0900 (Wed, 18 May 2016) | 4 lines Optimize each_sum for hashes * enum.c (enum_sum, hash_sum, hash_sum_i, enum_sum_i, sum_iter): Optimize for hashes when each method isn't redefined. ------------------------------------------------------------------------ r55040 | mrkn | 2016-05-18 09:16:06 +0900 (Wed, 18 May 2016) | 4 lines Extract int_range_sum from enum_sum * enum.c (enum_sum, int_range_sum): Extract int_range_sum from enum_sum. ------------------------------------------------------------------------ r55039 | nobu | 2016-05-18 03:16:08 +0900 (Wed, 18 May 2016) | 4 lines re.c: fix up r55036 * re.c (match_values_at): fix regression at r55036. MatchData#values_at accepts Range. ------------------------------------------------------------------------ r55038 | nobu | 2016-05-18 02:24:34 +0900 (Wed, 18 May 2016) | 4 lines vm_core.h: bit flags * vm_core.h (rb_vm_struct, rb_thread_struct): make flags bit fields. ------------------------------------------------------------------------ r55037 | naruse | 2016-05-18 02:10:01 +0900 (Wed, 18 May 2016) | 2 lines * re.c (match_aref): remove useless condition and call rb_fix2int. rb_reg_nth_match handles negative index. ------------------------------------------------------------------------ r55036 | naruse | 2016-05-18 02:10:01 +0900 (Wed, 18 May 2016) | 4 lines * re.c (match_values_at): MatchData#values_at supports named captures [Feature #9179] * re.c (namev_to_backref_number): separeted. ------------------------------------------------------------------------ r55035 | svn | 2016-05-18 00:08:34 +0900 (Wed, 18 May 2016) | 1 line * 2016-05-18 ------------------------------------------------------------------------ r55034 | mrkn | 2016-05-18 00:08:33 +0900 (Wed, 18 May 2016) | 10 lines Optimize enum_sum for a range from int to int * enum.c (enum_sum): Optimize for a range from int to int. * test/ruby/test_enum.rb (test_range_sum): Move from test_range.rb, and add assertions for some conditions. * test/ruby/test_enum.rb (test_hash_sum): Move from test_hash.rb. * test/ruby/test_hash.rb, test/ruby/test_range.rb: Remove test_sum. ------------------------------------------------------------------------ r55033 | mrkn | 2016-05-17 23:09:37 +0900 (Tue, 17 May 2016) | 1 line Write document of Enumerable#sum ------------------------------------------------------------------------ r55032 | mrkn | 2016-05-17 22:58:46 +0900 (Tue, 17 May 2016) | 9 lines Implement Enumerable#sum * enum.c (enum_sum): Implement Enumerable#sum. * test/ruby/test_enum.rb (test_sum): Test sum for Enumerable. * test/ruby/test_hash.rb (test_sum): Test sum for Hash. * test/ruby/test_range.rb (test_sum): Test sum for Range. ------------------------------------------------------------------------ r55031 | akr | 2016-05-17 22:26:24 +0900 (Tue, 17 May 2016) | 2 lines add issue number for Array#sum incompatitbility description. ------------------------------------------------------------------------ r55030 | akr | 2016-05-17 22:24:53 +0900 (Tue, 17 May 2016) | 2 lines Describe Fixnum and Bignum integration in NEWS. ------------------------------------------------------------------------ r55029 | akr | 2016-05-17 22:15:57 +0900 (Tue, 17 May 2016) | 24 lines Use Integer instead of Fixnum and Bignum. * object.c, numeric.c, enum.c, ext/-test-/bignum/mul.c, lib/rexml/quickpath.rb, lib/rexml/text.rb, lib/rexml/xpath_parser.rb, lib/rubygems/specification.rb, lib/uri/generic.rb, bootstraptest/test_eval.rb, basictest/test.rb, test/-ext-/bignum/test_big2str.rb, test/-ext-/bignum/test_div.rb, test/-ext-/bignum/test_mul.rb, test/-ext-/bignum/test_str2big.rb, test/csv/test_data_converters.rb, test/date/test_date.rb, test/json/test_json_generate.rb, test/minitest/test_minitest_mock.rb, test/openssl/test_cipher.rb, test/rexml/test_jaxen.rb, test/ruby/test_array.rb, test/ruby/test_basicinstructions.rb, test/ruby/test_bignum.rb, test/ruby/test_case.rb, test/ruby/test_class.rb, test/ruby/test_complex.rb, test/ruby/test_enum.rb, test/ruby/test_eval.rb, test/ruby/test_iseq.rb, test/ruby/test_literal.rb, test/ruby/test_math.rb, test/ruby/test_module.rb, test/ruby/test_numeric.rb, test/ruby/test_range.rb, test/ruby/test_rational.rb, test/ruby/test_refinement.rb, test/ruby/test_rubyvm.rb, test/ruby/test_struct.rb, test/ruby/test_variable.rb, test/rubygems/test_gem_specification.rb, test/thread/test_queue.rb: Use Integer instead of Fixnum and Bignum. ------------------------------------------------------------------------ r55028 | kazu | 2016-05-17 21:57:49 +0900 (Tue, 17 May 2016) | 1 line fix alignment ------------------------------------------------------------------------ r55027 | kazu | 2016-05-17 21:57:48 +0900 (Tue, 17 May 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r55026 | svn | 2016-05-17 17:25:59 +0900 (Tue, 17 May 2016) | 1 line * properties. ------------------------------------------------------------------------ r55025 | akr | 2016-05-17 17:25:58 +0900 (Tue, 17 May 2016) | 2 lines forgot to commit. ------------------------------------------------------------------------ r55024 | akr | 2016-05-17 15:53:48 +0900 (Tue, 17 May 2016) | 39 lines [Feature #12005] Unify Fixnum and Bignum into Integer * [Feature #12005] Unify Fixnum and Bignum into Integer * include/ruby/ruby.h (rb_class_of): Return rb_cInteger for fixnums. * insns.def (INTEGER_REDEFINED_OP_FLAG): Unified from FIXNUM_REDEFINED_OP_FLAG and BIGNUM_REDEFINED_OP_FLAG. * vm_core.h: Ditto. * vm_insnhelper.c (opt_eq_func): Use INTEGER_REDEFINED_OP_FLAG instead of FIXNUM_REDEFINED_OP_FLAG. * vm.c (vm_redefinition_check_flag): Use rb_cInteger instead of rb_cFixnum and rb_cBignum. (C): Use Integer instead of Fixnum and Bignum. * numeric.c (fix_succ): Removed. (Init_Numeric): Define Fixnum as Integer. * bignum.c (bignew): Use rb_cInteger instead of Rb_cBignum. (rb_int_coerce): replaced from rb_big_coerce and return fixnums as-is. (Init_Bignum): Define Bignum as Integer. Don't define ===. * error.c (builtin_class_name): Return "Integer" for fixnums. * sprintf.c (ruby__sfvextra): Use rb_cInteger instead of rb_cFixnum. * ext/-test-/testutil: New directory to test. Currently it provides utilities for fixnum and bignum. * ext/json/generator/generator.c: Define mInteger_to_json. * lib/mathn.rb (Fixnum#/): Redefinition removed. ------------------------------------------------------------------------ r55023 | nobu | 2016-05-17 11:58:40 +0900 (Tue, 17 May 2016) | 5 lines configure.in: declare as NORETURN * configure.in (RUBY_CHECK_BUILTIN_SETJMP): declare t as NORETURN to suppress warnings by -Wsuggest-attribute=noreturn. [ruby-core:75510] [Bug #12383] ------------------------------------------------------------------------ r55022 | svn | 2016-05-17 10:40:21 +0900 (Tue, 17 May 2016) | 1 line * 2016-05-17 ------------------------------------------------------------------------ r55021 | nobu | 2016-05-17 10:40:20 +0900 (Tue, 17 May 2016) | 4 lines configure.in: RUBY_CHECK_SETJMP * configure.in (RUBY_CHECK_SETJMP): needs the header and proper arguments for builtin setjmp functions. ------------------------------------------------------------------------ r55020 | duerst | 2016-05-16 20:00:29 +0900 (Mon, 16 May 2016) | 2 lines * enc/unicode.h: Additional uses of ONIG_CASE_MAPPING compilation switch ------------------------------------------------------------------------ r55019 | svn | 2016-05-16 19:46:33 +0900 (Mon, 16 May 2016) | 1 line * append newline at EOF. ------------------------------------------------------------------------ r55018 | duerst | 2016-05-16 19:46:32 +0900 (Mon, 16 May 2016) | 5 lines * include/ruby/oniguruma.h: Introducing ONIG_CASE_MAPPING compilation switch * include/ruby/oniguruma.h, enc/unicode.h: Using ONIG_CASE_MAPPING compilation switch ------------------------------------------------------------------------ r55017 | hsbt | 2016-05-16 19:29:36 +0900 (Mon, 16 May 2016) | 2 lines * gems/bundled_gems: Update xmlrpc-0.1.1. xmlrpc-0.1.0 didn't allow to install on 2.4.0dev. ------------------------------------------------------------------------ r55016 | nobu | 2016-05-16 15:26:56 +0900 (Mon, 16 May 2016) | 5 lines * test_handle.rb: refine test_fallback_to_ansi * test/fiddle/test_handle.rb (test_fallback_to_ansi): ensure that the fallback result equals to ANSI version. [ruby-core:75494] [Bug #12377] ------------------------------------------------------------------------ r55015 | nobu | 2016-05-16 13:29:01 +0900 (Mon, 16 May 2016) | 7 lines configure.in: revert macro names * configure.in (FUNC_STDCALL, FUNC_CDECL, FUNC_FASTCALL): set macro names explicitly to the old names, which are accidentally changed at r54985, for backward compatibilities. fiddle also depends on these names to fallback to ANSI names. [ruby-core:75494] [Bug #12377] ------------------------------------------------------------------------ r55014 | hsbt | 2016-05-16 11:54:07 +0900 (Mon, 16 May 2016) | 2 lines * lib/xmlrpc: Removed empty directory. It could not be deleted by git-svn. ------------------------------------------------------------------------ r55013 | hsbt | 2016-05-16 11:41:11 +0900 (Mon, 16 May 2016) | 3 lines * lib/xmlrpc.rb, lib/xmlrpc/*, test/xmlrpc: XMLRPC is bundled gem on Ruby 2.4. [Feature #12160][ruby-core:74239] * gems/bundled_gems: ditto. ------------------------------------------------------------------------ r55012 | nobu | 2016-05-16 09:16:13 +0900 (Mon, 16 May 2016) | 4 lines extmk.rb: fix skipping messages * ext/extmk.rb (extmake): select the message if skipped because its parent extension is not configured. ------------------------------------------------------------------------ r55011 | svn | 2016-05-16 06:11:34 +0900 (Mon, 16 May 2016) | 1 line * 2016-05-16 ------------------------------------------------------------------------ r55010 | normal | 2016-05-16 06:11:33 +0900 (Mon, 16 May 2016) | 14 lines proc.c: fix RDoc of Proc#===/call/yield/[] [Bug #12332] Since r52050 ("proc.c: enable optimization of Proc#call") for [Feature #11569], we need to maintain this documentation in a way RDoc comprehends. This is probably not worth fixing in RDoc itself since this uses a non-standard internal C API which is subject to change without notice. ref: http://mid.gmane.org/20160429212836.GA16605@dcvr.yhbt.net http://mid.gmane.org/1461959651.806728.670.51764@mail.rambler.ru http://blade.nagaokaut.ac.jp/ruby/ruby-talk/435458 ------------------------------------------------------------------------ r55009 | nobu | 2016-05-15 22:54:57 +0900 (Sun, 15 May 2016) | 4 lines io.c: use PRI_OFFT_PREFIX for off_t * io.c (do_io_advise): use configured PRI_OFFT_PREFIX instead of PRI_OFF_T_PREFIX to format off_t properly on Cygwin. ------------------------------------------------------------------------ r55008 | seki | 2016-05-15 20:59:00 +0900 (Sun, 15 May 2016) | 2 lines don't use keeper thread. [Bug #12342] ------------------------------------------------------------------------ r55007 | naruse | 2016-05-15 16:17:46 +0900 (Sun, 15 May 2016) | 2 lines * array.c (rb_ary_entry): extract rb_ary_elt to organize if-conditions and check whether is is embdeded at once. ------------------------------------------------------------------------ r55006 | nobu | 2016-05-15 12:03:45 +0900 (Sun, 15 May 2016) | 4 lines random.c: suppress a warning * random.c (random_ulong_limited): suppress a shift count warning when unsigned long is 32bits. ------------------------------------------------------------------------ r55005 | nobu | 2016-05-15 10:57:28 +0900 (Sun, 15 May 2016) | 4 lines vm_insnhelper.c: deprecated constant in class * vm_insnhelper.c (vm_get_ev_const): warn deprecated constant even in the class context. [ruby-core:75505] [Bug #12382] ------------------------------------------------------------------------ r55004 | nobu | 2016-05-15 08:21:31 +0900 (Sun, 15 May 2016) | 3 lines random.c: clear seed * random.c (rand_init): clear packed seed value explicitly. ------------------------------------------------------------------------ r55003 | svn | 2016-05-15 03:43:12 +0900 (Sun, 15 May 2016) | 1 line * 2016-05-15 ------------------------------------------------------------------------ r55002 | naruse | 2016-05-15 03:43:11 +0900 (Sun, 15 May 2016) | 11 lines * iseq.h (struct iseq_compile_data): use struct rb_id_table instead of st_table. * iseq.c (prepare_iseq_build): don't allocate ivar_cache_table until it has at least one element. * iseq.c (compile_data_free): free ivar_cache_table only if it is allocated. * compile.c (get_ivar_ic_value): allocate if the table is not allocated yet. ------------------------------------------------------------------------ r55000 | nobu | 2016-05-14 10:09:00 +0900 (Sat, 14 May 2016) | 1 line ChangeLog: GitHub reference ------------------------------------------------------------------------ r54999 | nobu | 2016-05-14 09:04:36 +0900 (Sat, 14 May 2016) | 5 lines lib/mkmf.rb: use xsystem to pkg-config --exists * lib/mkmf.rb (pkg_config): use xsystem consistently to set up library path environment variable as well as latter pkg-config calls. [ruby-dev:49619] [Bug #12379] ------------------------------------------------------------------------ r54998 | nobu | 2016-05-14 01:36:41 +0900 (Sat, 14 May 2016) | 4 lines test_rand.rb: tests for seeds * test/ruby/test_rand.rb: tests for Random.raw_seed and Random.new_seed. ------------------------------------------------------------------------ r54997 | nobu | 2016-05-14 00:16:57 +0900 (Sat, 14 May 2016) | 4 lines random.c: no local copy of the seed * random.c (make_seed_value): append leading-zero-guard and get rid of making a local copy of the seed. ------------------------------------------------------------------------ r54996 | svn | 2016-05-14 00:16:56 +0900 (Sat, 14 May 2016) | 1 line * 2016-05-14 ------------------------------------------------------------------------ r54995 | nobu | 2016-05-14 00:16:56 +0900 (Sat, 14 May 2016) | 3 lines random.c: fill_random_seed size * random.c (fill_random_seed): move the seed size to an argument. ------------------------------------------------------------------------ r54994 | nobu | 2016-05-13 23:56:32 +0900 (Fri, 13 May 2016) | 3 lines random.c: clear buf * random.c (random_seed): clear temporary buffer explicitly. ------------------------------------------------------------------------ r54993 | kazu | 2016-05-13 23:01:29 +0900 (Fri, 13 May 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54992 | nobu | 2016-05-13 08:46:43 +0900 (Fri, 13 May 2016) | 7 lines drop FreeBSD < 4 support * NEWS: drop FreeBSD < 4 support. The most recent version affected by this is 3.5 and was released in 2000. https://www.freebsd.org/releases/3.5R/announce.html https://en.wikipedia.org/wiki/History_of_FreeBSD#Version_history ------------------------------------------------------------------------ r54991 | nobu | 2016-05-13 08:35:22 +0900 (Fri, 13 May 2016) | 4 lines extmk.rb: failures format * ext/extmk.rb: show extension failures in compilation-mode friendly format. ------------------------------------------------------------------------ r54990 | nobu | 2016-05-13 08:35:20 +0900 (Fri, 13 May 2016) | 4 lines defines.h: avoid redefinition * include/ruby/defines.h (GCC_VERSION_SINCE): get rid of re-definition. ------------------------------------------------------------------------ r54989 | naruse | 2016-05-13 03:27:05 +0900 (Fri, 13 May 2016) | 1 line fix typo in r54988 ------------------------------------------------------------------------ r54988 | naruse | 2016-05-13 03:12:47 +0900 (Fri, 13 May 2016) | 1 line include/ruby/defines.h (GCC_VERSION_SINCE): moved from internal.h ------------------------------------------------------------------------ r54987 | svn | 2016-05-13 03:12:46 +0900 (Fri, 13 May 2016) | 1 line * 2016-05-13 ------------------------------------------------------------------------ r54986 | naruse | 2016-05-13 03:12:46 +0900 (Fri, 13 May 2016) | 1 line Use HAVE_BUILTIN___BUILTIN_CONSTANT_P ------------------------------------------------------------------------ r54985 | naruse | 2016-05-13 03:12:45 +0900 (Fri, 13 May 2016) | 3 lines * configurein: use alternative keyword to avoid macros conflicts with them. ------------------------------------------------------------------------ r54984 | kazu | 2016-05-12 22:01:03 +0900 (Thu, 12 May 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54983 | nobu | 2016-05-12 20:19:43 +0900 (Thu, 12 May 2016) | 5 lines extmk.rb: failed messages at the end * ext/extmk.rb: output failed configurations at the end, not to be scrolled out. TODO: show the message at the end of the whole build. ------------------------------------------------------------------------ r54982 | nobu | 2016-05-12 01:54:10 +0900 (Thu, 12 May 2016) | 4 lines mkmf.rb: fix conflict in have_library * lib/mkmf.rb (try_func): get rid of conflict of declarations of main(). checking local symbol reference does not make sense. ------------------------------------------------------------------------ r54981 | nobu | 2016-05-12 01:39:24 +0900 (Thu, 12 May 2016) | 3 lines win32: qsort_s * win32/Makefile.sub (HAVE_QSORT_S): disable on VS2012 too. ------------------------------------------------------------------------ r54980 | usa | 2016-05-12 00:21:49 +0900 (Thu, 12 May 2016) | 4 lines * win32/Makefile.sub (HAVE_QSORT_S): use qsort_s only for Visual Studio 2012 or later, because VS2010 seems to causes a SEGV in test/ruby/test_enum.rb. ------------------------------------------------------------------------ r54979 | tarui | 2016-05-12 00:08:27 +0900 (Thu, 12 May 2016) | 1 line fix typo at ChangeLog ------------------------------------------------------------------------ r54978 | svn | 2016-05-12 00:04:28 +0900 (Thu, 12 May 2016) | 1 line * 2016-05-12 ------------------------------------------------------------------------ r54977 | tarui | 2016-05-12 00:04:27 +0900 (Thu, 12 May 2016) | 3 lines * vm_insnhelper.c (vm_getivar): describe fast-path explicit (compiler frindly). [Bug #12274]. ------------------------------------------------------------------------ r54976 | tarui | 2016-05-11 21:50:38 +0900 (Wed, 11 May 2016) | 11 lines * compile.c (iseq_compile_each): share InlineCache during same instance variable accesses. Reducing memory consumption, rasing cache hit rate and rasing branch prediction hit rate are expected. A part of [Bug #12274]. * iseq.h (struct iseq_compile_data): introduce instance variable IC table for sharing. * iseq.c (prepare_iseq_build, compile_data_free): construct/destruct above table. ------------------------------------------------------------------------ r54975 | nobu | 2016-05-11 21:24:16 +0900 (Wed, 11 May 2016) | 4 lines test_minitest_unit.rb: fix "random" sort * test/minitest/test_minitest_unit.rb (test_test_methods_random): hack to fix the order by avoiding duplicate keys. ------------------------------------------------------------------------ r54974 | nobu | 2016-05-11 17:18:56 +0900 (Wed, 11 May 2016) | 4 lines util.c: qsort_s * util.c (ruby_qsort): use qsort_s if available, for Microsoft Visual Studio 2005 (msvcr80.dll) and mingw. ------------------------------------------------------------------------ r54973 | nobu | 2016-05-11 16:13:35 +0900 (Wed, 11 May 2016) | 1 line fix file name [ci skip] ------------------------------------------------------------------------ r54972 | svn | 2016-05-11 10:33:31 +0900 (Wed, 11 May 2016) | 1 line * 2016-05-11 ------------------------------------------------------------------------ r54971 | hsbt | 2016-05-11 10:33:30 +0900 (Wed, 11 May 2016) | 2 lines * ChangeLog: Remove trailing-whitespaces. [ci skip][fix GH-1348] ------------------------------------------------------------------------ r54970 | eregon | 2016-05-10 21:46:43 +0900 (Tue, 10 May 2016) | 4 lines * insns.def (defineclass): Also raise an error when redeclaring the superclass of a class as Object and it has another superclass. [Bug #12367] [ruby-core:75446] * test/ruby/test_class.rb: test for above. ------------------------------------------------------------------------ r54969 | nobu | 2016-05-10 15:46:09 +0900 (Tue, 10 May 2016) | 4 lines random.c: reuse bits * random.c (random_ulong_limited): reduce calling bytes methods by reusing dropped bits. ------------------------------------------------------------------------ r54968 | nobu | 2016-05-10 14:57:11 +0900 (Tue, 10 May 2016) | 4 lines random.c: use bytes * random.c (obj_random_bytes): base on bytes method instead of rand method, not to call toplevel rand method. ------------------------------------------------------------------------ r54967 | naruse | 2016-05-10 13:36:33 +0900 (Tue, 10 May 2016) | 4 lines * configure.in (-fexcess-precision=standard): before r54895 -std=c99 is specified and it implied -fexcess-precision=standard. Now with -std=gnu99, it should be explicitly specified. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html ------------------------------------------------------------------------ r54966 | svn | 2016-05-10 01:25:54 +0900 (Tue, 10 May 2016) | 1 line * 2016-05-10 ------------------------------------------------------------------------ r54965 | nobu | 2016-05-10 01:25:53 +0900 (Tue, 10 May 2016) | 3 lines random.c: compare by rb_equal * random.c (random_equal): compare seeds by rb_equal. ------------------------------------------------------------------------ r54964 | kazu | 2016-05-09 23:30:00 +0900 (Mon, 09 May 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54963 | nobu | 2016-05-09 13:27:12 +0900 (Mon, 09 May 2016) | 3 lines random.c: consitify * random.c (init_by_array): consitify initializing keys. ------------------------------------------------------------------------ r54962 | nobu | 2016-05-09 12:52:09 +0900 (Mon, 09 May 2016) | 7 lines random.c: seed conversion * random.c (rand_init): random_seed() always returns an Integer, no conversion for it. * random.c (random_init, rb_f_srand): convert the given seed to an Integer. ------------------------------------------------------------------------ r54961 | nobu | 2016-05-09 10:52:01 +0900 (Mon, 09 May 2016) | 4 lines thread.c: GET_THREAD once in rb_thread_atfork * thread.c (rb_thread_atfork_internal): move th to an argument. * thread.c (rb_thread_atfork): do not repeat GET_THREAD(). ------------------------------------------------------------------------ r54960 | nobu | 2016-05-09 10:46:37 +0900 (Mon, 09 May 2016) | 9 lines thread.c: clear atfork functions * thread.c (rb_thread_atfork, rb_thread_atfork_before_exec): do nothing unless working fork is available. * thread_sync.c (rb_mutex_abandon_all): define only if working fork is available. * thread_sync.c (rb_mutex_abandon_keeping_mutexes): ditto. * thread_sync.c (rb_mutex_abandon_locking_mutex): ditto. * thread_win32.c (gvl_init): never used. ------------------------------------------------------------------------ r54959 | nobu | 2016-05-09 09:05:33 +0900 (Mon, 09 May 2016) | 4 lines openssl/extconf.rb: NO SSL macros first * ext/openssl/extconf.rb: check OPENSSL_NO_SSL{2,3} macros before checking related functions. ------------------------------------------------------------------------ r54958 | nobu | 2016-05-09 09:05:32 +0900 (Mon, 09 May 2016) | 4 lines webrick/utils.rb: suppress messages * test/webrick/utils.rb (TestWEBrick#start_server): suppress progress messages from WEBrick::Utils#create_self_signed_cert. ------------------------------------------------------------------------ r54957 | nobu | 2016-05-09 09:05:30 +0900 (Mon, 09 May 2016) | 4 lines test_ssl_server.rb: assert_self_signed_cert * test/webrick/test_ssl_server.rb (assert_self_signed_cert): extract common assertion. ------------------------------------------------------------------------ r54956 | usa | 2016-05-09 07:20:05 +0900 (Mon, 09 May 2016) | 5 lines * include/ruby/{defines,ruby}.h: need to define function attributes alternatives in defines.h instead of ruby.h, because they are used in oniguruma.h and the header used without including ruby.h at encoding library sources. ------------------------------------------------------------------------ r54955 | usa | 2016-05-09 06:31:23 +0900 (Mon, 09 May 2016) | 3 lines * include/ruby/ruby.h (CONSTFUNC, PUREFUNC): fixed build errors on non-gcc build environments introduced at r54952. ------------------------------------------------------------------------ r54954 | naruse | 2016-05-09 02:52:38 +0900 (Mon, 09 May 2016) | 8 lines * gc.c (rb_gc_unprotect_logging): throw rb_memerror when it cannot allocate memory. This is pointed out by Facebook's Infer. * gc.c (gc_prof_setup_new_record): ditto. * regparse.c (parse_regexp): ditto. * util.c (MALLOC): use xmalloc and xfree like above. ------------------------------------------------------------------------ r54953 | svn | 2016-05-09 02:44:52 +0900 (Mon, 09 May 2016) | 1 line * 2016-05-09 ------------------------------------------------------------------------ r54952 | naruse | 2016-05-09 02:44:51 +0900 (Mon, 09 May 2016) | 8 lines * configure.in: check function attirbute const and pure, and define CONSTFUNC and PUREFUNC if available. Note that I don't add those options as default because it still shows many false-positive (it seems not to consider longjmp). * vm_eval.c (stack_check): get rb_thread_t* as an argument to avoid duplicate call of GET_THREAD(). ------------------------------------------------------------------------ r54951 | kazu | 2016-05-08 23:36:18 +0900 (Sun, 08 May 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54950 | naruse | 2016-05-08 21:10:22 +0900 (Sun, 08 May 2016) | 8 lines * ext/openssl/extconf.rb: asume it doesn't have SSLv2 related functions when OPENSSL_NO_SSL2 is defined. Usually openssl's header and the library (libssl) have the same set of functions, but on some environment the library has functions whose headers doesn't declare. (openssl/opensslconf.h and libsso.so aren't be synchronized) To detect such case explicitly check feature macro and remove related functions. ------------------------------------------------------------------------ r54949 | nobu | 2016-05-08 18:59:37 +0900 (Sun, 08 May 2016) | 4 lines win32ole_error.h: add attributes * ext/win32ole/win32ole_error.h (ole_raise): add attributes, NORETURN and PRINTF_ARGS. ------------------------------------------------------------------------ r54948 | nobu | 2016-05-08 18:59:36 +0900 (Sun, 08 May 2016) | 4 lines objspace_dump.c: fix format * ext/objspace/objspace_dump.c (dump_append_string_content), (dump_object): fix the format specifiers. ------------------------------------------------------------------------ r54947 | nobu | 2016-05-08 18:51:34 +0900 (Sun, 08 May 2016) | 6 lines file.c: home dir fall back * file.c (rb_home_dir_of): return the default home path if the user name is the current user name, on platforms where struct pwd is not supported. a temporary measure against [Bug #12226]. ------------------------------------------------------------------------ r54946 | nobu | 2016-05-08 12:21:28 +0900 (Sun, 08 May 2016) | 4 lines intern.h: suppress warnings * include/ruby/intern.h (rb_disable_super, rb_enable_super): remove NORETURN. these do nothing but just return. ------------------------------------------------------------------------ r54945 | naruse | 2016-05-08 09:55:29 +0900 (Sun, 08 May 2016) | 1 line * configure.in: add -Wsuggest-attribute=format and suppress warnings. ------------------------------------------------------------------------ r54944 | svn | 2016-05-08 09:55:28 +0900 (Sun, 08 May 2016) | 1 line * 2016-05-08 ------------------------------------------------------------------------ r54943 | naruse | 2016-05-08 09:55:28 +0900 (Sun, 08 May 2016) | 1 line * configure.in: add -Wsuggest-attribute=noreturn and suppress warnings. ------------------------------------------------------------------------ r54942 | naruse | 2016-05-08 09:55:28 +0900 (Sun, 08 May 2016) | 2 lines * configure.in: add -Werror=implicit-int to avoid missing type of function declaration. ------------------------------------------------------------------------ r54941 | hsbt | 2016-05-07 22:37:18 +0900 (Sat, 07 May 2016) | 4 lines * lib/webrick/ssl.rb: Accept string value for SSLCertName. It is used to invoke ssl server with command line. [fix GH-1329] Patch by @kerlin * test/webrick/test_ssl_server.rb: Added test for GH-1329 ------------------------------------------------------------------------ r54940 | svn | 2016-05-07 21:55:18 +0900 (Sat, 07 May 2016) | 1 line * properties. ------------------------------------------------------------------------ r54939 | hsbt | 2016-05-07 21:55:17 +0900 (Sat, 07 May 2016) | 1 line * test/webrick/test_ssl_server.rb: Added basic test for `webrick/ssl` ------------------------------------------------------------------------ r54938 | nobu | 2016-05-07 16:22:14 +0900 (Sat, 07 May 2016) | 4 lines random.c: optimize int_pair_to_real_inclusive * random.c (int_pair_to_real_inclusive): optimize to multiply without Bignum. ------------------------------------------------------------------------ r54937 | nobu | 2016-05-07 15:21:00 +0900 (Sat, 07 May 2016) | 4 lines random.c: split random_int32 * random.c (random_int32): split the cases of rb_random_t and other objects. ------------------------------------------------------------------------ r54936 | nobu | 2016-05-07 11:59:32 +0900 (Sat, 07 May 2016) | 5 lines random.c: unnecessary declarations * random.c (random_ulong_limited, random_ulong_limited_big): remove unnecessary extern declarations. rb_num_negative_p is declared in internal.h now. ------------------------------------------------------------------------ r54935 | svn | 2016-05-07 07:58:04 +0900 (Sat, 07 May 2016) | 1 line * 2016-05-07 ------------------------------------------------------------------------ r54934 | nobu | 2016-05-07 07:58:03 +0900 (Sat, 07 May 2016) | 5 lines process.c: argument types over conversion * process.c (rb_exec_getargs): honor the expected argument types over the conversion method. the basic language functionality should be robust. [ruby-core:75388] [Bug #12355] ------------------------------------------------------------------------ r54933 | kazu | 2016-05-06 23:30:01 +0900 (Fri, 06 May 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54932 | nobu | 2016-05-06 16:18:34 +0900 (Fri, 06 May 2016) | 5 lines random.c: fill_random_bytes_syscall function * random.c (fill_random_bytes_syscall): turned into a static function, to be inlined probably, so that it is unavailable if it is a preprocessor macro. ------------------------------------------------------------------------ r54931 | nobu | 2016-05-06 16:18:33 +0900 (Fri, 06 May 2016) | 4 lines random.c: refactor * random.c (rand_random, rb_f_rand): refactor, split condition expressions, and return in the precedence. ------------------------------------------------------------------------ r54930 | nobu | 2016-05-06 15:52:37 +0900 (Fri, 06 May 2016) | 4 lines random.c: use rb_check_to_int * random.c (rand_range, rand_random): use rb_check_to_int instead of rb_check_to_integer with the same conversion method. ------------------------------------------------------------------------ r54929 | nobu | 2016-05-06 15:52:36 +0900 (Fri, 06 May 2016) | 4 lines random.c: prefer rb_check_arity * random.c: use rb_check_arity instead of rb_scan_args for simple optional arguments. ------------------------------------------------------------------------ r54928 | nobu | 2016-05-06 15:52:35 +0900 (Fri, 06 May 2016) | 4 lines random.c: sipseed_keys_t * random.c (sipseed): separate type of keys to reduce use of the magic number. ------------------------------------------------------------------------ r54927 | nobu | 2016-05-06 15:29:56 +0900 (Fri, 06 May 2016) | 6 lines random.c: default seed mark * random.c (Init_Random_default): since seed is marked by random_mark, no needs to mark itself as a global variable. allocate Random instance before making the seed value, to get rid of the potential risk of GC during the allocation. ------------------------------------------------------------------------ r54926 | nobu | 2016-05-06 15:29:55 +0900 (Fri, 06 May 2016) | 4 lines random.c: return value is not GCed * random.c (rand_init): since seed is the return value, no needs to be volatile to prevent from GC. ------------------------------------------------------------------------ r54925 | nobu | 2016-05-06 08:16:28 +0900 (Fri, 06 May 2016) | 5 lines enum.c: examples of Enumerable#detect [ci skip] * enum.c (enum_find): [DOC] add more examples to the documentation of Enumerable#detect, to show that it equals to Enumerable#find. [Fix GH-1340] ------------------------------------------------------------------------ r54921 | svn | 2016-05-06 00:00:06 +0900 (Fri, 06 May 2016) | 1 line * 2016-05-06 ------------------------------------------------------------------------ r54920 | nobu | 2016-05-06 00:00:05 +0900 (Fri, 06 May 2016) | 7 lines random.c: use uint32_t * random.c (struct MT, next_state): use uint32_t for the state vector. * random.c (init_by_array, rand_init): ditto for initializing keys. ------------------------------------------------------------------------ r54919 | yui-knk | 2016-05-05 18:06:39 +0900 (Thu, 05 May 2016) | 1 line * test/ruby/test_complexrational.rb: Remove duplicated raise. ------------------------------------------------------------------------ r54918 | nobu | 2016-05-05 16:27:10 +0900 (Thu, 05 May 2016) | 4 lines proc.c: no temporary args array * proc.c (bmcall): method proc is always lambda, args is the array which is made from argc and argv. ------------------------------------------------------------------------ r54917 | nobu | 2016-05-05 16:18:14 +0900 (Thu, 05 May 2016) | 4 lines proc.c: no unnecessary temporary array * proc.c (bmcall): get rid of making temporary single element array. ------------------------------------------------------------------------ r54916 | nobu | 2016-05-05 16:11:34 +0900 (Thu, 05 May 2016) | 4 lines proc.c: suppress a warning * proc.c (call_method_data_safe): suppress clobbered warning by old gcc. ------------------------------------------------------------------------ r54915 | yui-knk | 2016-05-05 14:39:35 +0900 (Thu, 05 May 2016) | 2 lines * string.c (rb_str_sub): Fix a special match variable name. [ci skip] ------------------------------------------------------------------------ r54914 | nobu | 2016-05-05 12:22:20 +0900 (Thu, 05 May 2016) | 5 lines use TH_JUMP_TAG * vm_eval.c (rb_eval_cmd, rb_catch_obj): use TH_JUMP_TAG with the same rb_thread_t used for TH_PUSH_TAG, instead of JUMP_TAG with the current thread global variable. ------------------------------------------------------------------------ r54913 | svn | 2016-05-05 10:49:36 +0900 (Thu, 05 May 2016) | 1 line * 2016-05-05 ------------------------------------------------------------------------ r54912 | nobu | 2016-05-05 10:49:35 +0900 (Thu, 05 May 2016) | 4 lines random.c: use arc4random_buf * random.c (fill_random_bytes_syscall): use arc4random_buf if available. ------------------------------------------------------------------------ r54911 | yui-knk | 2016-05-04 23:12:10 +0900 (Wed, 04 May 2016) | 10 lines numeric.c: Remove prototype declarations to internal.h * numeric.c (fix_plus): Remove rb_nucomp_add prototype declaration. * numeric.c (fix_mul): Remove rb_nucomp_mul prototype declaration. * internal.h (rb_nucomp_add, rb_nucomp_mul): add prototype declarations. ------------------------------------------------------------------------ r54910 | nobu | 2016-05-04 19:10:07 +0900 (Wed, 04 May 2016) | 4 lines proc.c: separate rb_method_call_with_block * proc.c (rb_method_call_with_block): separate the cases with and without tag for optimization. ------------------------------------------------------------------------ r54909 | nobu | 2016-05-04 19:10:06 +0900 (Wed, 04 May 2016) | 4 lines proc.c: passed_block * proc.c (passed_block): extract conversion from passed proc value to rb_block_t pointer. ------------------------------------------------------------------------ r54908 | nobu | 2016-05-04 19:10:05 +0900 (Wed, 04 May 2016) | 3 lines proc.c: constify * proc.c (method_callable_method_entry): constify data. ------------------------------------------------------------------------ r54907 | ktsj | 2016-05-04 18:46:48 +0900 (Wed, 04 May 2016) | 3 lines * lib/net/http/header.rb: [DOC] add documentation that Net::HTTPHeader#{each_header,each_name,each_capitalized_name, each_value,each_capitalized} without block returns an enumerator. ------------------------------------------------------------------------ r54906 | ktsj | 2016-05-04 18:46:46 +0900 (Wed, 04 May 2016) | 5 lines * lib/net/http/header.rb (Net::HTTPHeader#{each_header,each_name, each_capitalized_name,each_value,each_capitalized}): Return sized enumerators. * test/net/http/test_httpheader.rb: add test for above. ------------------------------------------------------------------------ r54905 | ktsj | 2016-05-04 18:46:43 +0900 (Wed, 04 May 2016) | 2 lines * test/net/http/test_httpheader.rb: add missing test of Net::HTTPHeader#each_capitalized_name. ------------------------------------------------------------------------ r54904 | ktsj | 2016-05-04 18:07:01 +0900 (Wed, 04 May 2016) | 2 lines * lib/set.rb: [DOC] add documentation that Set#{delete_if,keep_if,collect!,reject!,select!, classify,divide} without block returns an enumerator. ------------------------------------------------------------------------ r54903 | ktsj | 2016-05-04 18:06:59 +0900 (Wed, 04 May 2016) | 4 lines * lib/set.rb (Set#{delete_if,keep_if,collect!,reject!,select!,classify,divide}, SortedSet#{delete_if,keep_if}): Return sized enumerators. * test/test_set.rb: add test for above. ------------------------------------------------------------------------ r54902 | svn | 2016-05-04 18:06:59 +0900 (Wed, 04 May 2016) | 1 line * 2016-05-04 ------------------------------------------------------------------------ r54901 | ktsj | 2016-05-04 18:06:58 +0900 (Wed, 04 May 2016) | 1 line * test/test_set.rb: add missing test of Set#select!. ------------------------------------------------------------------------ r54898 | kazu | 2016-05-03 23:31:40 +0900 (Tue, 03 May 2016) | 4 lines Update result of 123456789 ** -2 * numeric.c: [DOC] Update result of 123456789 ** -2. [ruby-dev:49606] [Bug #12339] ------------------------------------------------------------------------ r54897 | yui-knk | 2016-05-03 23:12:02 +0900 (Tue, 03 May 2016) | 2 lines * internal.h (RCOMPLEX_SET_IMAG): undef RCOMPLEX_SET_IMAG instead of duplicated undef RCOMPLEX_SET_REAL. ------------------------------------------------------------------------ r54896 | yui-knk | 2016-05-03 22:54:19 +0900 (Tue, 03 May 2016) | 2 lines * complex.c (rb_complex_set_imag): Fix to properly set imag of complex. ------------------------------------------------------------------------ r54895 | naruse | 2016-05-03 22:20:50 +0900 (Tue, 03 May 2016) | 2 lines * configure.in (warnflags): use -std=gnu99 instead of -std=iso9899:1999. [Feature #12336] ------------------------------------------------------------------------ r54894 | naruse | 2016-05-03 22:14:30 +0900 (Tue, 03 May 2016) | 5 lines * string.c (count_utf8_lead_bytes_with_word): Use __builtin_popcount only if it can use SSE 4.2 POPCNT whose latency is 3 cycle. * internal.h (rb_popcount64): use __builtin_popcountll because now it is in fast path. ------------------------------------------------------------------------ r54893 | nobu | 2016-05-03 14:19:20 +0900 (Tue, 03 May 2016) | 4 lines parse.y: trace elsif * parse.y (new_if_gen): set newline flag to NODE_IF to trace all if/elsif statements. [ruby-core:67720] [Bug #10763] ------------------------------------------------------------------------ r54892 | nobu | 2016-05-03 10:22:18 +0900 (Tue, 03 May 2016) | 3 lines eval.c: constify * eval.c (extract_raise_opts): constify argv. ------------------------------------------------------------------------ r54891 | svn | 2016-05-03 06:04:18 +0900 (Tue, 03 May 2016) | 1 line * 2016-05-03 ------------------------------------------------------------------------ r54890 | normal | 2016-05-03 06:04:17 +0900 (Tue, 03 May 2016) | 15 lines process.c (disable_child_handler_fork_child): initialize handler for SIGPIPE This only happens on the !POSIX_SIGNAL case; but one may test with the following: --- a/process.c +++ b/process.c @@ -3479,6 +3479,7 @@ disable_child_handler_fork_parent(struct child_handler_disabler_state *old) #endif } +#undef POSIX_SIGNAL /* This function should be async-signal-safe. Actually it is. */ static int disable_child_handler_fork_child(struct child_handler_disabler_state *old, char *errmsg, size_t errmsg_buflen) ------------------------------------------------------------------------ r54889 | usa | 2016-05-02 23:05:19 +0900 (Mon, 02 May 2016) | 6 lines * win32/win32.c, include/ruby/win32.h (rb_w32_utruncate): implements new truncate alternative which accepts UTF-8 path. * file.c (truncate): use above function. [Bug #12340] ------------------------------------------------------------------------ r54888 | svn | 2016-05-02 23:03:22 +0900 (Mon, 02 May 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r54887 | usa | 2016-05-02 23:03:21 +0900 (Mon, 02 May 2016) | 2 lines * test/ruby/test_file_exhaustive.rb: test UTF-8 filename. see [Bug #12340] ------------------------------------------------------------------------ r54886 | naruse | 2016-05-02 21:04:04 +0900 (Mon, 02 May 2016) | 8 lines * re.c (str_coderange): to avoid function call when the string already has coderange information. * re.c (rb_reg_prepare_enc): add shortcut path when the regexp has the same encoding of given string. * re.c (rb_reg_prepare_re): avoid duplicated allocation of onig_errmsg_buffer. ------------------------------------------------------------------------ r54885 | kazu | 2016-05-02 20:46:02 +0900 (Mon, 02 May 2016) | 1 line Update rdoc of Integer#modulo [ci skip] ------------------------------------------------------------------------ r54884 | kazu | 2016-05-02 20:46:01 +0900 (Mon, 02 May 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54883 | kazu | 2016-05-02 20:46:00 +0900 (Mon, 02 May 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54882 | nobu | 2016-05-02 12:58:28 +0900 (Mon, 02 May 2016) | 4 lines string.c: shortcut * string.c (rb_str_concat): shortcut concatenation to ASCII-8BIT as well as US-ASCII. ------------------------------------------------------------------------ r54881 | nobu | 2016-05-02 12:53:34 +0900 (Mon, 02 May 2016) | 4 lines string.c: fix doc * string.c (rb_str_concat): [DOC] fix the indefinite article, for replacement from Fixnum to Integer. ------------------------------------------------------------------------ r54880 | akr | 2016-05-02 12:35:52 +0900 (Mon, 02 May 2016) | 2 lines * test/ruby/test_refinement.rb (test_inspect): Use Integer instead of Fixnum. ------------------------------------------------------------------------ r54879 | nobu | 2016-05-02 09:06:04 +0900 (Mon, 02 May 2016) | 4 lines string.c: fix braces * string.c (search_nonascii): fix braces unmatched by a preprocessing condition. ------------------------------------------------------------------------ r54878 | akr | 2016-05-02 06:59:41 +0900 (Mon, 02 May 2016) | 7 lines complex.c don't refer rb_cFixnum and rb_cBignum. * complex.c: Don't refer rb_cFixnum and rb_cBignum. (k_fixnum_p): Use FIXNUM_P. (k_bignum_p): Use RB_TYPE_P. ------------------------------------------------------------------------ r54877 | naruse | 2016-05-02 03:27:41 +0900 (Mon, 02 May 2016) | 1 line fix mixed declaration on non UNALIGNED_WORD_ACCESS ------------------------------------------------------------------------ r54876 | akr | 2016-05-02 01:28:18 +0900 (Mon, 02 May 2016) | 3 lines * test/ruby/test_numeric.rb (test_step): Use Integer::FIXNUM_MAX. ------------------------------------------------------------------------ r54875 | akr | 2016-05-02 01:15:29 +0900 (Mon, 02 May 2016) | 5 lines test_name use Integer instead of Fixnum. * test/ruby/test_module.rb (test_name): Use Integer instead of Fixnum. ------------------------------------------------------------------------ r54874 | akr | 2016-05-02 01:01:36 +0900 (Mon, 02 May 2016) | 12 lines test/lib/test/unit/assertions.rb defines assert_fixnum and assert_bignum. * test/lib/test/unit/assertions.rb (assert_fixnum): Defined. (assert_bignum): Defined. * test/ruby/test_bignum.rb: Use assert_bignum. * test/ruby/test_integer_comb.rb: Use assert_fixnum and assert_bignum. * test/ruby/test_optimization.rb: Ditto. ------------------------------------------------------------------------ r54873 | akr | 2016-05-02 00:42:52 +0900 (Mon, 02 May 2016) | 6 lines Add a cast to avoid signed integer overflow. * vm_trace.c (recalc_remove_ruby_vm_event_flags): Add a cast to avoid signed integer overflow. ------------------------------------------------------------------------ r54872 | akr | 2016-05-02 00:16:17 +0900 (Mon, 02 May 2016) | 15 lines envutil.rb defines Integer::{FIXNUM_MIN,FIXNUM_MAX}. * test/lib/envutil.rb: Define Integer::{FIXNUM_MIN,FIXNUM_MAX}. * test/ruby/test_bignum.rb: Use Integer::{FIXNUM_MIN,FIXNUM_MAX}. * test/ruby/test_bignum.rb: Ditto. * test/ruby/test_integer_comb.rb: Ditto. * test/ruby/test_marshal.rb: Ditto. * test/ruby/test_optimization.rb: Ditto. ------------------------------------------------------------------------ r54871 | svn | 2016-05-02 00:02:48 +0900 (Mon, 02 May 2016) | 1 line * 2016-05-02 ------------------------------------------------------------------------ r54870 | mrkn | 2016-05-02 00:02:47 +0900 (Mon, 02 May 2016) | 5 lines Fix rb_ary_sum for mathn * array.c (rb_ary_sum): fix for mathn * test/ruby/test_array.rb (test_sum): ditto. ------------------------------------------------------------------------ r54869 | usa | 2016-05-01 23:56:45 +0900 (Sun, 01 May 2016) | 4 lines * test/logger/test_logdevice.rb (TestLogDevice#test_shifting_period_suffix): too many shifting. the last shifting created logs named as `*.3`, and they were never unlinked. ------------------------------------------------------------------------ r54868 | usa | 2016-05-01 23:54:44 +0900 (Sun, 01 May 2016) | 4 lines * test/lib/test/unit.rb (Options#non_options): fixed wrong regexp. if both positives and negatives were specified, postives had to be spcicifed from the beginning. ------------------------------------------------------------------------ r54867 | naruse | 2016-05-01 23:19:02 +0900 (Sun, 01 May 2016) | 1 line fix for where UNALIGNED_WORD_ACCESS is not allowed ------------------------------------------------------------------------ r54866 | akr | 2016-05-01 21:50:19 +0900 (Sun, 01 May 2016) | 2 lines update comments. ------------------------------------------------------------------------ r54865 | akr | 2016-05-01 21:30:51 +0900 (Sun, 01 May 2016) | 2 lines Fix a test message. ------------------------------------------------------------------------ r54864 | usa | 2016-05-01 21:00:35 +0900 (Sun, 01 May 2016) | 2 lines * win32/win32.c: drop Win2K support. ------------------------------------------------------------------------ r54863 | usa | 2016-05-01 20:42:41 +0900 (Sun, 01 May 2016) | 4 lines * cont.c, hash.c, random.c, win32/win32.c: cleanup some Win9x/ME/NT4 support leftovers. [fix GH-1328] patched by @cremno ------------------------------------------------------------------------ r54862 | naruse | 2016-05-01 18:07:14 +0900 (Sun, 01 May 2016) | 1 line Use WORDS_BIGENDIAN ------------------------------------------------------------------------ r54861 | akr | 2016-05-01 10:35:43 +0900 (Sun, 01 May 2016) | 2 lines [DOC] merge documents for {Integer,Fixnum}#succ. ------------------------------------------------------------------------ r54860 | nobu | 2016-05-01 09:56:15 +0900 (Sun, 01 May 2016) | 5 lines ChangeLog: fix a typo [ci skip] * ChangeLog: fix typo, process ID is unrelated to login shell name, should be user ID. http://twitter.com/nagachika/status/726553209821523968 ------------------------------------------------------------------------ r54859 | naruse | 2016-05-01 07:32:05 +0900 (Sun, 01 May 2016) | 3 lines * string.c (search_nonascii): use nlz on big endian environments. * internal.h (nlz_intpr): defined. ------------------------------------------------------------------------ r54858 | akr | 2016-05-01 07:05:43 +0900 (Sun, 01 May 2016) | 2 lines fix a typo. ------------------------------------------------------------------------ r54857 | naruse | 2016-05-01 01:32:36 +0900 (Sun, 01 May 2016) | 1 line More optimization for r54854's search_nonascii ------------------------------------------------------------------------ r54856 | svn | 2016-05-01 00:39:03 +0900 (Sun, 01 May 2016) | 1 line * 2016-05-01 ------------------------------------------------------------------------ r54855 | naruse | 2016-05-01 00:39:03 +0900 (Sun, 01 May 2016) | 5 lines revert UNALIGNED_WORD_ACCESS for GCC6 Released GCC 6.0 fixed the issue. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69291 [ruby-core:72211] [Bug #11831] [Bug #11979] ------------------------------------------------------------------------ r54854 | naruse | 2016-05-01 00:39:02 +0900 (Sun, 01 May 2016) | 19 lines * string.c (search_nonascii): unroll and use ntz * configure.in (__builtin_ctz): check. * configure.in (__builtin_ctzll): check. * internal.h (rb_popcount32): defined for ntz_int32. it can use __builtin_popcount but this function is not used on GCC environment because it uses __builtin_ctz. When another function uses this, using __builtin_popcount should be re-considered. * internal.h (rb_popcount64): ditto. * internal.h (ntz_int32): defined for ntz_intptr. * internal.h (ntz_int64): defined for ntz_intptr. * internal.h (ntz_intptr): defined as ntz for uintptr_t. ------------------------------------------------------------------------ r54853 | akr | 2016-04-30 22:05:22 +0900 (Sat, 30 Apr 2016) | 2 lines [DOC] ------------------------------------------------------------------------ r54852 | akr | 2016-04-30 21:55:59 +0900 (Sat, 30 Apr 2016) | 5 lines Gather Fixnum method definitions. * numeric.c (Init_Numeric): Gather Fixnum method definitions. ------------------------------------------------------------------------ r54851 | akr | 2016-04-30 21:39:53 +0900 (Sat, 30 Apr 2016) | 9 lines Define Integer#/ instead of Bignum#/. * numeric.c (rb_int_div): Define Integer#/. * bignum.c (rb_big_div): Don't define Bignum#/. * lib/mathn.rb (Integer#/): Replace Integer#/ instead of Bignum#/. ------------------------------------------------------------------------ r54850 | akr | 2016-04-30 21:24:06 +0900 (Sat, 30 Apr 2016) | 7 lines Define Integer#+ instead of Bignum#+. * numeric.c (rb_int_plus): Define Integer#+. * bignum.c (rb_big_plus): Don't define Bignum#+. ------------------------------------------------------------------------ r54849 | akr | 2016-04-30 21:09:31 +0900 (Sat, 30 Apr 2016) | 7 lines Define Integer#- instead of Bignum#-. * numeric.c (rb_int_minus): Define Integer#-. * bignum.c (rb_big_minus): Don't define Bignum#-. ------------------------------------------------------------------------ r54848 | akr | 2016-04-30 20:54:26 +0900 (Sat, 30 Apr 2016) | 7 lines Define Integer#* instead of Bignum#*. * numeric.c (rb_int_mul): Define Integer#*. * bignum.c (rb_big_mul): Don't define Bignum#*. ------------------------------------------------------------------------ r54847 | akr | 2016-04-30 20:31:28 +0900 (Sat, 30 Apr 2016) | 7 lines Define Integer#% instead of Bignum#%. * numeric.c (rb_int_modulo): Define Integer#%. * bignum.c (rb_big_modulo): Don't define Bignum#%. ------------------------------------------------------------------------ r54846 | akr | 2016-04-30 20:18:00 +0900 (Sat, 30 Apr 2016) | 7 lines Define Integer#== instead of Bignum#==. * numeric.c (int_equal): Define Integer#==. * bignum.c (rb_big_eq): Don't define Bignum#==. ------------------------------------------------------------------------ r54845 | akr | 2016-04-30 19:42:06 +0900 (Sat, 30 Apr 2016) | 10 lines Define Integer#> instead of Bignum#>. * numeric.c (int_gt): Define Integer#>. * bignum.c (rb_big_gt): Don't define Bignum#>. Renamed from big_gt. * internal.h (rb_big_gt): Declared. ------------------------------------------------------------------------ r54844 | akr | 2016-04-30 19:26:17 +0900 (Sat, 30 Apr 2016) | 10 lines Define Integer#>= instead of Bignum#>=. * numeric.c (int_ge): Define Integer#>=. * bignum.c (rb_big_ge): Don't define Bignum#>=. Renamed from big_ge. * internal.h (rb_big_ge): Declared. ------------------------------------------------------------------------ r54843 | hsbt | 2016-04-30 19:20:43 +0900 (Sat, 30 Apr 2016) | 1 line * doc/standard_library.rdoc: Remove obsoleted classes and modules. ------------------------------------------------------------------------ r54842 | akr | 2016-04-30 19:10:23 +0900 (Sat, 30 Apr 2016) | 10 lines Define Integer#< instead of Bignum#<. * numeric.c (int_lt): Define Integer#<. * bignum.c (rb_big_lt): Don't define Bignum#<. Renamed from big_lt. * internal.h (rb_big_lt): Declared. ------------------------------------------------------------------------ r54841 | akr | 2016-04-30 18:48:25 +0900 (Sat, 30 Apr 2016) | 10 lines Define Integer#<= instead of Bignum#<=. * numeric.c (int_le): Define Integer#<=. * bignum.c (rb_big_le): Don't define Bignum#<=. Renamed from big_le. * internal.h (rb_big_le): Declared. ------------------------------------------------------------------------ r54840 | akr | 2016-04-30 18:12:11 +0900 (Sat, 30 Apr 2016) | 4 lines Define Integer#GMP_VERSION. * bignum.c (Init_Bignum): Define Integer#GMP_VERSION. ------------------------------------------------------------------------ r54839 | akr | 2016-04-30 17:52:49 +0900 (Sat, 30 Apr 2016) | 2 lines Define Integer#-@ instead of Fixnum#-@. ------------------------------------------------------------------------ r54838 | akr | 2016-04-30 17:27:30 +0900 (Sat, 30 Apr 2016) | 10 lines Define Integer#remainder instead of Bignum#remainder. * numeric.c (int_remainder): Define Integer#remainder. * bignum.c (rb_big_remainder): Don't define Bignum#remainder. * internal.h (rb_big_remainder): Declared. ------------------------------------------------------------------------ r54837 | akr | 2016-04-30 15:30:08 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#-@ is unified into Integer. * numeric.c (rb_int_uminus): {Fixnum,Bignum}#-@ is unified into Integer. * bignum.c (rb_big_uminus): Don't define Bignum#-@. ------------------------------------------------------------------------ r54836 | akr | 2016-04-30 14:43:15 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#div is unified into Integer. * numeric.c (rb_int_idiv): {Fixnum,Bignum}#div is unified into Integer. * bignum.c (rb_big_idiv): Don't define Bignum#div. ------------------------------------------------------------------------ r54835 | akr | 2016-04-30 14:26:52 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#modulo is unified into Integer. * numeric.c (rb_int_modulo): {Fixnum,Bignum}#modulo is unified into Integer. * bignum.c (rb_big_modulo): Don't define Bignum#modulo. ------------------------------------------------------------------------ r54834 | akr | 2016-04-30 14:05:54 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#divmod is unified into Integer. * numeric.c (int_divmod): {Fixnum,Bignum}#divmod is unified into Integer. * bignum.c (rb_big_divmod): Don't define Bignum#divmod. ------------------------------------------------------------------------ r54833 | akr | 2016-04-30 13:22:27 +0900 (Sat, 30 Apr 2016) | 2 lines move Fixnum#/ document position. ------------------------------------------------------------------------ r54832 | akr | 2016-04-30 13:20:56 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#fdiv is unified into Integer. * numeric.c (int_fdiv): {Fixnum,Bignum}#fdiv is unified into Integer. * bignum.c (rb_big_fdiv): Don't define Bignum#fdiv. ------------------------------------------------------------------------ r54831 | akr | 2016-04-30 12:59:02 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#** is unified into Integer. * numeric.c (rb_int_pow): {Fixnum,Bignum}#** is unified into Integer. * bignum.c (rb_big_pow): Don't define Bignum#**. ------------------------------------------------------------------------ r54830 | akr | 2016-04-30 12:30:53 +0900 (Sat, 30 Apr 2016) | 7 lines Rename fix_rev and rb_big_neg to fix_comp and rb_big_comp. * bignum.c (rb_big_comp): Renamed from rb_big_neg. * numeric.c (fix_comp): Renamed from fix_rev. ------------------------------------------------------------------------ r54829 | akr | 2016-04-30 12:27:20 +0900 (Sat, 30 Apr 2016) | 10 lines {Fixnum,Bignum}#~ is unified into Integer. * numeric.c (int_comp): {Fixnum,Bignum}#~ is unified into Integer. * bignum.c (rb_big_neg): Don't define Bignum#~. * internal.h (rb_big_neg): Declared. ------------------------------------------------------------------------ r54828 | akr | 2016-04-30 12:08:53 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#& is unified into Integer. * numeric.c (int_and): {Fixnum,Bignum}#& is unified into Integer. * bignum.c (rb_big_and): Don't define Bignum#|. ------------------------------------------------------------------------ r54827 | nobu | 2016-04-30 11:56:17 +0900 (Sat, 30 Apr 2016) | 4 lines ext/thread: remove * ext/thread: removed dummy extension library. thread_sync.c provides "thread.rb" already. ------------------------------------------------------------------------ r54826 | nobu | 2016-04-30 11:55:18 +0900 (Sat, 30 Apr 2016) | 5 lines thread_sync.c: define global constants always * thread_sync.c (ALIAS_GLOBAL_CONST): define global constant aliases unconditionally. same constants are not defined at this time. ------------------------------------------------------------------------ r54825 | akr | 2016-04-30 11:54:14 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#| is unified into Integer. * numeric.c (int_or): {Fixnum,Bignum}#| is unified into Integer. * bignum.c (rb_big_or): Don't define Bignum#|. ------------------------------------------------------------------------ r54824 | yui-knk | 2016-04-30 11:18:00 +0900 (Sat, 30 Apr 2016) | 1 line * vm_trace.c: Fix typos. [ci skip] ------------------------------------------------------------------------ r54823 | nobu | 2016-04-30 10:12:52 +0900 (Sat, 30 Apr 2016) | 4 lines pty.c: dry up * ext/pty/pty.c (establishShell): gather initializations by the default shell path. ------------------------------------------------------------------------ r54822 | nobu | 2016-04-30 10:09:07 +0900 (Sat, 30 Apr 2016) | 5 lines pty.c: user shell * ext/pty/pty.c (establishShell): honor USER environment variable and login name over uid, one pid can be shared by some login names. ------------------------------------------------------------------------ r54821 | svn | 2016-04-30 10:09:06 +0900 (Sat, 30 Apr 2016) | 1 line * 2016-04-30 ------------------------------------------------------------------------ r54820 | nobu | 2016-04-30 10:09:06 +0900 (Sat, 30 Apr 2016) | 5 lines pty.c: portabilities * ext/pty/pty.c (no_mesg): define only if used. * ext/pty/pty.c (pty_check): some flags may not be defined. ------------------------------------------------------------------------ r54819 | nobu | 2016-04-29 22:40:29 +0900 (Fri, 29 Apr 2016) | 4 lines maintainers.rdoc: update ext/io/nonblock [ci skip] * doc/maintainers.rdoc (ext/io/nonblock): still maintained, as well as ext/io/wait, which is the origin. ------------------------------------------------------------------------ r54818 | usa | 2016-04-29 21:18:51 +0900 (Fri, 29 Apr 2016) | 2 lines * doc/maintainers.rdoc (ext/win32): of course, it's still maintained. [skip ci] ------------------------------------------------------------------------ r54817 | hsbt | 2016-04-29 21:03:13 +0900 (Fri, 29 Apr 2016) | 1 line * gems/bundled_gems: Update latest gems, test-unit-3.1.8 and rake-11.1.2. ------------------------------------------------------------------------ r54816 | hsbt | 2016-04-29 20:43:13 +0900 (Fri, 29 Apr 2016) | 1 line * doc/maintainers.rdoc: Update latest maintainers list on Ruby 2.4 ------------------------------------------------------------------------ r54814 | hsbt | 2016-04-29 19:52:51 +0900 (Fri, 29 Apr 2016) | 1 line * doc/maintainers.rdoc: Removed deprecated entries. These are already deleted. ------------------------------------------------------------------------ r54813 | hsbt | 2016-04-29 19:52:49 +0900 (Fri, 29 Apr 2016) | 2 lines * doc/maintainers.rdoc: Removed Ruby 1.8 entries. It's not necessary to Ruby 2.4 or later. ------------------------------------------------------------------------ r54812 | svn | 2016-04-29 09:56:45 +0900 (Fri, 29 Apr 2016) | 1 line * 2016-04-29 ------------------------------------------------------------------------ r54811 | nobu | 2016-04-29 09:56:44 +0900 (Fri, 29 Apr 2016) | 1 line win32/win32.c: remove unnecessary declaration ------------------------------------------------------------------------ r54810 | nobu | 2016-04-28 17:03:19 +0900 (Thu, 28 Apr 2016) | 4 lines hash.c: dry up code * hash.c (rb_hash_update_{block,func}_callback): dry up hash update callback code. [Fix GH-1338] ------------------------------------------------------------------------ r54809 | naruse | 2016-04-28 16:52:59 +0900 (Thu, 28 Apr 2016) | 2 lines * re.c (rb_reg_prepare_enc): use rb_enc_asciicompat(enc) instead of rb_enc_str_asciicompat_p(str) to avoid useless rb_enc_get(str) call. ------------------------------------------------------------------------ r54808 | nobu | 2016-04-28 16:33:43 +0900 (Thu, 28 Apr 2016) | 4 lines optparse.rb: [DOC] fix example code [ci skip] * lib/optparse.rb: [DOC] fix example code. base on the code by Semyon Gaivoronskiy in [ruby-core:75224]. [Bug #12323] ------------------------------------------------------------------------ r54807 | nobu | 2016-04-28 15:54:05 +0900 (Thu, 28 Apr 2016) | 4 lines win32/file.c: fix reallocation threshold * win32/file.c (replace_to_long_name): fix reallocation threshold. dereferenced size of a pointer is not same as the buffer size. ------------------------------------------------------------------------ r54806 | nobu | 2016-04-28 15:54:03 +0900 (Thu, 28 Apr 2016) | 4 lines win32/file.c: remove unnecessary code * win32/file.c (replace_to_long_name): remove unnecessary backward scan for the last directory separator. ------------------------------------------------------------------------ r54805 | svn | 2016-04-28 09:33:09 +0900 (Thu, 28 Apr 2016) | 1 line * properties. ------------------------------------------------------------------------ r54804 | hsbt | 2016-04-28 09:33:08 +0900 (Thu, 28 Apr 2016) | 3 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.4. Please see entries of 2.6.4 on https://github.com/rubygems/rubygems/blob/master/History.txt ------------------------------------------------------------------------ r54803 | odaira | 2016-04-28 05:00:57 +0900 (Thu, 28 Apr 2016) | 5 lines * configure.in (rb_cv_lgamma_r_pm0): check if lgamma_r(+0.0) returns positive infinity, in addition to lgamma_r(-0.0). AIX returns an incorrect result of negative infinity. * math.c (ruby_lgamma_r): handle +0.0, in addition to -0.0. ------------------------------------------------------------------------ r54802 | naruse | 2016-04-28 01:15:21 +0900 (Thu, 28 Apr 2016) | 3 lines * time.c: define _DEFAULT_SOURCE because glibc 2.20 depracates _BSD_SOURCE. https://sourceware.org/glibc/wiki/Release/2.20 ------------------------------------------------------------------------ r54801 | svn | 2016-04-28 00:35:24 +0900 (Thu, 28 Apr 2016) | 1 line * 2016-04-28 ------------------------------------------------------------------------ r54800 | akr | 2016-04-28 00:35:23 +0900 (Thu, 28 Apr 2016) | 8 lines {Fixnum,Bignum}#^ is unified into Integer. * numeric.c (int_xor): {Fixnum,Bignum}#^ is unified into Integer. * bignum.c (rb_big_xor): Don't define Bignum#^. ------------------------------------------------------------------------ r54798 | akr | 2016-04-27 22:05:09 +0900 (Wed, 27 Apr 2016) | 2 lines [Doc] Add Document-method: directives. ------------------------------------------------------------------------ r54797 | kazu | 2016-04-27 21:59:59 +0900 (Wed, 27 Apr 2016) | 1 line Update rdoc of Integer#[] (fix -> int) ------------------------------------------------------------------------ r54796 | akr | 2016-04-27 21:46:46 +0900 (Wed, 27 Apr 2016) | 2 lines [DOC] move rdoc comments. ------------------------------------------------------------------------ r54795 | akr | 2016-04-27 20:56:03 +0900 (Wed, 27 Apr 2016) | 10 lines {Fixnum,Bignum}#[] is unified into Integer. * numeric.c (int_aref): {Fixnum,Bignum}#[] is unified into Integer. * bignum.c (rb_big_aref): Don't define Bignum#<<. * internal.h (rb_big_aref): Declared. ------------------------------------------------------------------------ r54794 | naruse | 2016-04-27 16:11:07 +0900 (Wed, 27 Apr 2016) | 1 line * tool/instruction.rb: fix to follow current implementation. ------------------------------------------------------------------------ r54793 | naruse | 2016-04-27 16:11:06 +0900 (Wed, 27 Apr 2016) | 1 line setdynamic is obsoleted ------------------------------------------------------------------------ r54792 | nobu | 2016-04-27 15:47:56 +0900 (Wed, 27 Apr 2016) | 4 lines stringio.c: warn block for new * ext/stringio/stringio.c (strio_s_new): warn if a block is given, as well as IO.new. ------------------------------------------------------------------------ r54791 | nobu | 2016-04-27 14:29:49 +0900 (Wed, 27 Apr 2016) | 5 lines internal.h: ONLY_FOR_INTERNAL_USE * error.c (ruby_only_for_internal_use): raise fatal error when deprecated function only for internal use is called, not just a warning. ------------------------------------------------------------------------ r54790 | nobu | 2016-04-27 14:29:07 +0900 (Wed, 27 Apr 2016) | 1 line internal.h: adjust style ------------------------------------------------------------------------ r54789 | svn | 2016-04-27 00:14:19 +0900 (Wed, 27 Apr 2016) | 1 line * 2016-04-27 ------------------------------------------------------------------------ r54788 | kazu | 2016-04-27 00:14:18 +0900 (Wed, 27 Apr 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54787 | usa | 2016-04-26 23:43:50 +0900 (Tue, 26 Apr 2016) | 3 lines * tool/redmine-backporter.rb (rel): should not raise exceptions even if the user input is wrong. only reports the error and continue process. ------------------------------------------------------------------------ r54785 | nobu | 2016-04-26 23:35:24 +0900 (Tue, 26 Apr 2016) | 5 lines Fix -e script encoding * ruby.c (process_options): convert -e script to the encoding given by a command line option on Windows. assume it is the expected encoding. [ruby-dev:49461] [Bug #11900] ------------------------------------------------------------------------ r54783 | akr | 2016-04-26 21:29:41 +0900 (Tue, 26 Apr 2016) | 2 lines [DOC] update Integer#<< doc. ------------------------------------------------------------------------ r54782 | akr | 2016-04-26 21:23:05 +0900 (Tue, 26 Apr 2016) | 10 lines {Fixnum,Bignum}#<< is unified into Integer. * numeric.c (rb_int_lshift): {Fixnum,Bignum}#<< is unified into Integer. * bignum.c (rb_big_lshift): Don't define Bignum#<<. * internal.h (rb_big_lshift): Declared. ------------------------------------------------------------------------ r54781 | akr | 2016-04-26 21:09:40 +0900 (Tue, 26 Apr 2016) | 10 lines {Fixnum,Bignum}#>> is unified into Integer. * numeric.c (rb_int_rshift): {Fixnum,Bignum}#>> is unified into Integer. * bignum.c (rb_big_rshift): Don't define Bignum#>>. * internal.h (rb_big_rshift): Declared. ------------------------------------------------------------------------ r54780 | akr | 2016-04-26 20:47:14 +0900 (Tue, 26 Apr 2016) | 9 lines {Fixnum,Bignum}#size is unified into Integer. * numeric.c (int_size): {Fixnum,Bignum}#size is unified into Integer. * bignum.c (rb_big_size_m): Don't define Bignum#size. * internal.h (rb_big_size_m): Declared. ------------------------------------------------------------------------ r54779 | akr | 2016-04-26 20:30:04 +0900 (Tue, 26 Apr 2016) | 2 lines forgot to remove Bignum#bit_length. ------------------------------------------------------------------------ r54778 | akr | 2016-04-26 20:17:37 +0900 (Tue, 26 Apr 2016) | 16 lines {Fixnum,Bignum}#bit_length is unified into Integer. * numeric.c (rb_int_bit_length): {Fixnum,Bignum}#bit_length is unified into Integer. * bignum.c (rb_big_bit_length): Don't define Bignum#bit_length. * internal.h (rb_big_bit_length): Declared. --This iine, and those below, will be ignored-- M ChangeLog M bignum.c M internal.h M numeric.c ------------------------------------------------------------------------ r54777 | akr | 2016-04-26 19:59:27 +0900 (Tue, 26 Apr 2016) | 7 lines * numeric.c (int_abs): Integer#{abs,magnitude} moved from Fixnum and Bignum. * internal.h (rb_big_abs): Declared. * bignum.c (rb_big_abs): Don't define Bignum#{abs,magnitude}. ------------------------------------------------------------------------ r54776 | svn | 2016-04-26 17:38:21 +0900 (Tue, 26 Apr 2016) | 1 line * 2016-04-26 ------------------------------------------------------------------------ r54775 | nobu | 2016-04-26 17:38:20 +0900 (Tue, 26 Apr 2016) | 4 lines compile.c: true conditions * compile.c (compile_branch_condition): add more always-true conditions to optimize away unreachable branch. ------------------------------------------------------------------------ r54763 | nobu | 2016-04-25 17:30:56 +0900 (Mon, 25 Apr 2016) | 8 lines tk/extconf.rb: refactor * ext/tk/extconf.rb (collect_tcltk_defs): split by -D at the beginning or preceded by a space. exclude empty strings from $defs. * ext/tk/extconf.rb: test if value is set and has non-blank by matching /\S/ at once. ------------------------------------------------------------------------ r54762 | nobu | 2016-04-25 16:56:07 +0900 (Mon, 25 Apr 2016) | 6 lines net/http/header.rb: refactor * lib/net/http/header.rb (connection_close?): match headers without making intermediate arrays. * lib/net/http/header.rb (connection_keep_alive?): ditto. ------------------------------------------------------------------------ r54761 | nobu | 2016-04-25 16:56:06 +0900 (Mon, 25 Apr 2016) | 6 lines ripper: fix ripper.E * ext/ripper/depend (ripper.E): add missing $(INCFLAGS). * ext/ripper/tools/strip.rb: insert an empty line for blank or line directive lines. ------------------------------------------------------------------------ r54760 | nobu | 2016-04-25 16:56:03 +0900 (Mon, 25 Apr 2016) | 4 lines extmk.rb: refactor * ext/extmk.rb: extract non-blank part without intermediate objects. ------------------------------------------------------------------------ r54759 | nobu | 2016-04-25 14:39:12 +0900 (Mon, 25 Apr 2016) | 6 lines rbconfig/sizeof: calculate at compilation time * ext/rbconfig/sizeof/extconf.rb: just check the existence of each types, to reduce configuration time, especially cross-compiling. * template/sizes.c.tmpl: calculate sizes of checked types at compilation time. ------------------------------------------------------------------------ r54758 | nobu | 2016-04-25 14:38:55 +0900 (Mon, 25 Apr 2016) | 3 lines sizes.c.tmpl: extra semicolon * template/sizes.c.tmpl (DEFINE): remove extra semicolon. ------------------------------------------------------------------------ r54757 | nobu | 2016-04-25 12:45:50 +0900 (Mon, 25 Apr 2016) | 1 line configure.in: do not create unnecessary verconf.h ------------------------------------------------------------------------ r54756 | hsbt | 2016-04-25 11:27:34 +0900 (Mon, 25 Apr 2016) | 2 lines * doc/extension.rdoc: Improvements to english grammers. [Bug #12246][ruby-core:74792][ci skip] ------------------------------------------------------------------------ r54755 | hsbt | 2016-04-25 11:17:54 +0900 (Mon, 25 Apr 2016) | 3 lines * encoding.c: Fix return value of `Encoding::ISO8859_1.name` [Bug #12313][ruby-core:75147][ci skip] * ext/bigdecimal/bigdecimal.c: Fix code sample of `BigDecimal.new` ------------------------------------------------------------------------ r54753 | svn | 2016-04-25 00:08:26 +0900 (Mon, 25 Apr 2016) | 1 line * 2016-04-25 ------------------------------------------------------------------------ r54752 | naruse | 2016-04-25 00:08:25 +0900 (Mon, 25 Apr 2016) | 5 lines Revert "common.mk: timestamp file for verconf.h" This reverts commit r54748. It breaks build. http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20160424T120700Z.log.html.gz ------------------------------------------------------------------------ r54751 | naruse | 2016-04-24 23:58:48 +0900 (Sun, 24 Apr 2016) | 6 lines Revert "vm_insnhelper.c: INLINE condition" [Bug #12316] This reverts commit r54747. !__clang__ is also essential. Anyway clang inlines vm_getivar into both vm_call_ivar and vm_getinstancevariable, which r54728 originally intended to. ------------------------------------------------------------------------ r54750 | odaira | 2016-04-24 23:32:31 +0900 (Sun, 24 Apr 2016) | 1 line * configure.in: add missing -lm for AIX. ------------------------------------------------------------------------ r54749 | kazu | 2016-04-24 22:41:38 +0900 (Sun, 24 Apr 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54748 | nobu | 2016-04-24 21:01:47 +0900 (Sun, 24 Apr 2016) | 1 line common.mk: timestamp file for verconf.h ------------------------------------------------------------------------ r54747 | nobu | 2016-04-24 21:01:00 +0900 (Sun, 24 Apr 2016) | 4 lines vm_insnhelper.c: INLINE condition * vm_insnhelper.c (INLINE): works with __NO_INLINE__ only, __clang__ is not the point. ------------------------------------------------------------------------ r54746 | ktsj | 2016-04-24 18:42:40 +0900 (Sun, 24 Apr 2016) | 1 line * vm_insnhelper.c (INLINE): cosmetic change. ------------------------------------------------------------------------ r54745 | ktsj | 2016-04-24 18:37:04 +0900 (Sun, 24 Apr 2016) | 2 lines * vm_insnhelper.c (INLINE): disbale r54738 if __NO_INLINE__ is defined. It caused "undefined reference to `vm_getivar'". ------------------------------------------------------------------------ r54744 | nobu | 2016-04-24 12:42:25 +0900 (Sun, 24 Apr 2016) | 3 lines Revert r54742 Commit miss. ------------------------------------------------------------------------ r54743 | nobu | 2016-04-24 12:38:03 +0900 (Sun, 24 Apr 2016) | 1 line Disable r54738 if clang ------------------------------------------------------------------------ r54742 | nobu | 2016-04-24 11:56:20 +0900 (Sun, 24 Apr 2016) | 1 line Fix compile error other than gcc ------------------------------------------------------------------------ r54741 | nobu | 2016-04-24 11:10:09 +0900 (Sun, 24 Apr 2016) | 3 lines regexec.c: constify * regexec.c (match_at): constify oplabels. ------------------------------------------------------------------------ r54740 | nobu | 2016-04-24 10:10:29 +0900 (Sun, 24 Apr 2016) | 3 lines win32.c: suppress warnings * win32/win32.c (set_pioinfo_extra): remove "/*" within comment. ------------------------------------------------------------------------ r54739 | yui-knk | 2016-04-24 09:32:21 +0900 (Sun, 24 Apr 2016) | 2 lines * test/ruby/test_array.rb: Add test cases for Array#sum with non-numeric objects. ------------------------------------------------------------------------ r54738 | naruse | 2016-04-24 07:30:42 +0900 (Sun, 24 Apr 2016) | 29 lines * vm_insnhelper.c (INLINE): define as `inline` when it is optimized. define as `static inline` when it is not optimized to keep the symbol generated. * vm_insnhelper.c (vm_getivar): use `INLINE` to force inline so that a compiler inlines it into vm_getinstancevariable and optimizes out is_attr and related branches. * vm_insnhelper.c (vm_getivar): use `inline` to recommend inline. Without this vm1_ivar_set is degraded. benchmark results: minimum results in each 5 measurements. Execution time (sec) name ruby 2.4.0dev (2016-04-23 trunk 54727) [x86_64-linux] ruby 2.4.0dev (2016-04-23 trunk 54733) [x86_64-linux] built-ruby loop_whileloop 0.641 0.642 0.646 vm1_ivar* 1.002 0.999 0.831 vm1_ivar_set* 0.369 1.106 0.362 Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23 trunk 54727) [x86_64-linux]' (greater is better) name ruby 2.4.0dev (2016-04-23 trunk 54733) [x86_64-linux] built-ruby loop_whileloop 0.998 0.991 vm1_ivar* 1.003 1.205 vm1_ivar_set* 0.334 1.018 ------------------------------------------------------------------------ r54737 | naruse | 2016-04-24 03:46:26 +0900 (Sun, 24 Apr 2016) | 4 lines Support MSVC14 and 15 [Bug #11118] Search _pioinfo which is not exported after MSVC14. [Bug #12014] [GH-884] ------------------------------------------------------------------------ r54735 | svn | 2016-04-24 03:05:27 +0900 (Sun, 24 Apr 2016) | 1 line * 2016-04-24 ------------------------------------------------------------------------ r54734 | nagachika | 2016-04-24 03:05:26 +0900 (Sun, 24 Apr 2016) | 1 line * tool/merger.rb: use FileUtile.rm_f to fix an error on missing temporary file. ------------------------------------------------------------------------ r54733 | nobu | 2016-04-23 23:12:27 +0900 (Sat, 23 Apr 2016) | 4 lines compile.c: remove redundant trace insn * compile.c (iseq_peephole_optimize): remove successive line trace instructions except for the last. ------------------------------------------------------------------------ r54732 | nobu | 2016-04-23 21:17:36 +0900 (Sat, 23 Apr 2016) | 6 lines vm_insnhelper.c: getivar setivar optimization * vm_insnhelper.c (vm_getivar, vm_setivar): remove inline. * vm_insnhelper.c (vm_call_ivar, vm_call_attrset): tweak the order tail-call-optimization friendly. ------------------------------------------------------------------------ r54731 | nobu | 2016-04-23 20:43:52 +0900 (Sat, 23 Apr 2016) | 3 lines compile.c: instruction ID predicate * compile.c (IS_INSN_ID): add instruction ID predicate macro. ------------------------------------------------------------------------ r54730 | nobu | 2016-04-23 20:39:41 +0900 (Sat, 23 Apr 2016) | 4 lines compile.c: ISeq element type predicates * compile.c (IS_INSN, IS_LABEL, IS_ADJUST): add ISeq element type predicate macros. ------------------------------------------------------------------------ r54729 | nobu | 2016-04-23 20:26:59 +0900 (Sat, 23 Apr 2016) | 5 lines vm_insnhelper.c: missing static to inline * vm_insnhelper.c (vm_getivar): add missing static to inline, otherwise external symbol is referred and link fails when optimization is disabled. ------------------------------------------------------------------------ r54728 | naruse | 2016-04-23 18:16:51 +0900 (Sat, 23 Apr 2016) | 17 lines * vm_insnhelper.c (vm_getivar): specify inline instead of static inline. vm_getivar is called by vm_call_ivar and vm_getinstancevariable. At least with GCC 4.8 and 5.3 on Linux, they are inlining it into vm_call_ivar but not vm_getinstancevariable. By `inline`, they correctly inline it and gains performance. Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23 trunk 54727) [x86_64-linux]' (greater is better) name built-ruby loop_whileloop 1.001 vm1_ivar* 1.189 vm1_ivar_set* 1.024 Note tha `inline`'s meaning is different between old GCC and C99. Old GCC's inline means C99's extern inline. https://gcc.gnu.org/onlinedocs/gcc/Inline.html Since Ruby specify -std=iso9899:1999, it works like C99. ------------------------------------------------------------------------ r54727 | naruse | 2016-04-23 16:15:26 +0900 (Sat, 23 Apr 2016) | 2 lines * include/ruby/ruby.h (rb_mul_size_overflow): use UNLIKELY by user side to improve generallity. ------------------------------------------------------------------------ r54726 | naruse | 2016-04-23 16:15:25 +0900 (Sat, 23 Apr 2016) | 3 lines * include/ruby/ruby.h (RB_LIKELY): use prefix in ruby.h. * intern.h (LIKELY): define with RB_LIKELY. ------------------------------------------------------------------------ r54725 | yui-knk | 2016-04-23 13:27:12 +0900 (Sat, 23 Apr 2016) | 2 lines * NEWS: Add descriptions for Time#to_time updates. [Bug #12271] [ci skip] ------------------------------------------------------------------------ r54724 | yui-knk | 2016-04-23 13:23:29 +0900 (Sat, 23 Apr 2016) | 2 lines * NEWS: Add descriptions for DateTime#to_time updates. [Bug #12189] [ci skip] ------------------------------------------------------------------------ r54723 | nobu | 2016-04-23 12:23:51 +0900 (Sat, 23 Apr 2016) | 3 lines eval.c: reuse VM tag * eval.c (ruby_cleanup): reuse same VM tag by managing steps. ------------------------------------------------------------------------ r54722 | nobu | 2016-04-23 12:23:28 +0900 (Sat, 23 Apr 2016) | 4 lines eval_error.c: reuse threadptr * eval_error.c (error_print, error_handle): reuse same threadptr by passing as an argument. ------------------------------------------------------------------------ r54721 | nobu | 2016-04-23 11:21:29 +0900 (Sat, 23 Apr 2016) | 5 lines date_core.c: [DOC] markdown to rdoc [ci skip] * ext/date/date_core.c (Init_date_core): [DOC] Convert DateTime documentation to RDoc from Markdown. [ruby-core:75136] [Bug #12311] ------------------------------------------------------------------------ r54720 | nobu | 2016-04-23 09:03:37 +0900 (Sat, 23 Apr 2016) | 4 lines ruby.c: fix command line encoding on cygwin * ruby.c: cygwin does not use w32_cmdvector, command line can be other than UTF-8. [ruby-dev:49519] [Bug #12184] ------------------------------------------------------------------------ r54719 | nobu | 2016-04-23 09:02:25 +0900 (Sat, 23 Apr 2016) | 1 line configure.in: move cache variable for AIX round ------------------------------------------------------------------------ r54717 | svn | 2016-04-23 01:02:26 +0900 (Sat, 23 Apr 2016) | 1 line * 2016-04-23 ------------------------------------------------------------------------ r54716 | odaira | 2016-04-23 01:02:25 +0900 (Sat, 23 Apr 2016) | 3 lines * configure.in: don't use the system-provided round(3) on AIX. In AIX, round(0.49999999999999994) returns 1.0. Use round() in numeric.c instead. ------------------------------------------------------------------------ r54706 | akr | 2016-04-22 21:20:06 +0900 (Fri, 22 Apr 2016) | 6 lines * test/ruby/test_time_tz.rb: Tests depends on Europe/Moscow removed to avoid test failures due to the tzdata change. https://github.com/eggert/tz/commit/8ee11a301cf173afb0c76e0315b9f9ec8ebb9d95 Found by naruse. ------------------------------------------------------------------------ r54705 | akr | 2016-04-22 20:44:34 +0900 (Fri, 22 Apr 2016) | 2 lines [DOC] Arrah#sum with non-numeric objects. ------------------------------------------------------------------------ r54704 | naruse | 2016-04-22 20:42:31 +0900 (Fri, 22 Apr 2016) | 7 lines * include/ruby/ruby.h (rb_mul_size_overflow): added to handle mul overflow efficiently. * include/ruby/ruby.h (rb_alloc_tmp_buffer2): use rb_mul_size_overflow and avoid division where it can define DSIZE_T. * gc.c (xmalloc2_size): moved from ruby.h and use rb_mul_size_overflow. ------------------------------------------------------------------------ r54703 | nobu | 2016-04-22 20:34:05 +0900 (Fri, 22 Apr 2016) | 4 lines time.c: add example [ci skip] * time.c (time_asctime): [DOC] add ctime example, not only asctime. [ruby-core:75126] [Bug #12310] ------------------------------------------------------------------------ r54701 | nobu | 2016-04-22 19:04:47 +0900 (Fri, 22 Apr 2016) | 1 line variable.c: fix implicit conversion ------------------------------------------------------------------------ r54700 | naruse | 2016-04-22 18:47:34 +0900 (Fri, 22 Apr 2016) | 2 lines * variable.c: use uint32_t instead of long to avoid confusion about the type of ivtbl->numiv. ------------------------------------------------------------------------ r54699 | nobu | 2016-04-22 18:45:24 +0900 (Fri, 22 Apr 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54682 | nobu | 2016-04-22 15:14:21 +0900 (Fri, 22 Apr 2016) | 4 lines tk: suppress progress indicators * ext/tk/extconf.rb: hack to disable progress indicators with parallel build, not to interleave other messages. ------------------------------------------------------------------------ r54681 | nobu | 2016-04-22 15:09:29 +0900 (Fri, 22 Apr 2016) | 4 lines eval_jump.c: restore previous error info * eval_jump.c (exec_end_procs_chain): restore previous error info for each end procs. [ruby-core:75038] [Bug #12302] ------------------------------------------------------------------------ r54679 | usa | 2016-04-22 15:07:19 +0900 (Fri, 22 Apr 2016) | 4 lines * tool/redmine-backporter.rb: the fullpath of merger.rb is too long to copy&paste on Windows. show shorter name instead on the platform. I'm sure that the user of this command on Windows is only me. ------------------------------------------------------------------------ r54677 | usa | 2016-04-22 14:52:30 +0900 (Fri, 22 Apr 2016) | 2 lines * tool/merger.rb: remove temporary file. ------------------------------------------------------------------------ r54670 | hsbt | 2016-04-22 11:27:10 +0900 (Fri, 22 Apr 2016) | 2 lines * lib/net/http.rb: Improve documentation for SSL requests via GET method. [fix GH-1325][ci skip] Patch by @jsyeo ------------------------------------------------------------------------ r54669 | hsbt | 2016-04-22 10:51:18 +0900 (Fri, 22 Apr 2016) | 2 lines * lib/webrick/ssl.rb: Support to add SSLCiphers option. [fix GH-1321] Patch by @rhadoo ------------------------------------------------------------------------ r54668 | hsbt | 2016-04-22 10:43:31 +0900 (Fri, 22 Apr 2016) | 2 lines * file.c, win32/file.c: Removed obsoleted safe level checks. [fix GH-1327] Patch by @cremno ------------------------------------------------------------------------ r54667 | hsbt | 2016-04-22 10:02:01 +0900 (Fri, 22 Apr 2016) | 2 lines * benchmark/bm_so_meteor_contest.rb: fix a typo. [fix GH-1330][ci skip] Patch by @sachin21 ------------------------------------------------------------------------ r54666 | nobu | 2016-04-22 06:59:01 +0900 (Fri, 22 Apr 2016) | 5 lines default.mspec: OBJDIR * spec/default.mspec: set object directory for optional/capi, not to pollute the source directory. https://github.com/ruby/spec/pull/247 ------------------------------------------------------------------------ r54665 | nobu | 2016-04-22 06:38:21 +0900 (Fri, 22 Apr 2016) | 1 line spec/default.mspec: reduce expand_path ------------------------------------------------------------------------ r54664 | naruse | 2016-04-22 05:59:40 +0900 (Fri, 22 Apr 2016) | 7 lines * gc.c (rb_alloc_tmp_buffer_with_count): added like xmalloc2 to avoid duplicated check of size. * gc.c (ruby_xmalloc2): added to keep separate layers. * include/ruby/ruby.h (rb_alloc_tmp_buffer2): added to check the size more statically. ------------------------------------------------------------------------ r54663 | svn | 2016-04-22 05:59:40 +0900 (Fri, 22 Apr 2016) | 1 line * 2016-04-22 ------------------------------------------------------------------------ r54662 | naruse | 2016-04-22 05:59:39 +0900 (Fri, 22 Apr 2016) | 3 lines * include/ruby/ruby.h (LIKELY): moved from internal.h. * include/ruby/ruby.h (UNLIKELY): ditto. ------------------------------------------------------------------------ r54661 | naruse | 2016-04-22 05:59:39 +0900 (Fri, 22 Apr 2016) | 18 lines * gc.c (objspace_malloc_prepare): remove size check because it is used by objspace_xmalloc and objspace_xcalloc. objspace_xmalloc introduces its own check in this commit. objspace_xcalloc checks with xmalloc2_size (ruby_xmalloc2_size). * gc.c (objspace_xmalloc0): common xmalloc function. * gc.c (objspace_xmalloc): introduce its own size check. * gc.c (objspace_xmalloc2): separated from ruby_xmalloc2 to clarify the layer who has the responsibility to check the size. * gc.c (objspace_xrealloc): remove duplicated size check. * gc.c (ruby_xmalloc2): use objspace_xmalloc2. * include/ruby/ruby.h (ruby_xmalloc2_size): follow the size limit as SSIZE_MAX. Note that ISO C says size_t is unsigned integer. ------------------------------------------------------------------------ r54660 | kazu | 2016-04-21 21:16:14 +0900 (Thu, 21 Apr 2016) | 1 line fix typos ------------------------------------------------------------------------ r54659 | kazu | 2016-04-21 21:16:13 +0900 (Thu, 21 Apr 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54658 | svn | 2016-04-21 12:14:06 +0900 (Thu, 21 Apr 2016) | 1 line * 2016-04-21 ------------------------------------------------------------------------ r54657 | nobu | 2016-04-21 12:14:05 +0900 (Thu, 21 Apr 2016) | 6 lines ifchange: ignore unmatch TEST_COLORS * configure.in: check if succeeded in creating config.h. * tool/ifchange: ignore failures when TEST_COLORS unmatched. just use the default value if expected name is not contained in it. [ruby-core:75046] [Bug #12303] ------------------------------------------------------------------------ r54655 | nobu | 2016-04-20 17:33:33 +0900 (Wed, 20 Apr 2016) | 7 lines cgi/util.rb: remove CGI::Util#_unescape * ext/cgi/escape/escape.c (cgiesc_unescape): define unescape method instead of _unescape, and should pass the optional argument to the super method. * lib/cgi/util.rb (CGI::Util#_unescape): remove intermediate method. ------------------------------------------------------------------------ r54654 | nobu | 2016-04-20 15:52:30 +0900 (Wed, 20 Apr 2016) | 6 lines error.c: SyntaxError#initialize * error.c (syntax_error_initialize): move the default message, "compile error", from parse.y. the default parameter should belong to the class definition. * parse.y (yycompile0): use the default parameter. ------------------------------------------------------------------------ r54653 | nobu | 2016-04-20 13:37:26 +0900 (Wed, 20 Apr 2016) | 4 lines assertions.rb: return the exception * test/lib/test/unit/assertions.rb (assert_syntax_error): return the rescued exception object as well as assert_raise. ------------------------------------------------------------------------ r54652 | nobu | 2016-04-20 11:52:07 +0900 (Wed, 20 Apr 2016) | 4 lines compile.c: make SyntaxError after formatting * compile.c (append_compile_error): make SyntaxError instance by rb_syntax_error_append on demand after formatting the message. ------------------------------------------------------------------------ r54651 | svn | 2016-04-20 10:25:56 +0900 (Wed, 20 Apr 2016) | 1 line * 2016-04-20 ------------------------------------------------------------------------ r54650 | nobu | 2016-04-20 10:25:55 +0900 (Wed, 20 Apr 2016) | 8 lines refactor syntax error * compile.c (append_compile_error): use rb_syntax_error_append. * error.c (rb_syntax_error_append): append messages into a SyntaxError exception instance. * parse.y (yycompile0): make new SyntaxError instance in main mode, otherwize error_buffer should be a SyntaxError if error has occurred. ------------------------------------------------------------------------ r54649 | nobu | 2016-04-19 17:42:50 +0900 (Tue, 19 Apr 2016) | 7 lines refactor parser error * error.c (err_vcatf): rename, and separate appending message from creating a string buffer. * error.c (rb_syntax_error_append): merge rb_error_vsprintf and rb_compile_err_append. * parse.y (parser_compile_error): use rb_syntax_error_append. ------------------------------------------------------------------------ r54648 | nobu | 2016-04-19 13:46:20 +0900 (Tue, 19 Apr 2016) | 6 lines appending compile error without rb_errinfo * compile.c (append_compile_error, compile_bug): pass iseq and get error info and file from it, not by the thread error info. * error.c (rb_report_bug_valist): take va_list instead of variadic arguments, and just report the bug but not abort. ------------------------------------------------------------------------ r54647 | sonots | 2016-04-19 13:20:48 +0900 (Tue, 19 Apr 2016) | 4 lines * lib/time.rb: revert r54167 because it would break backward compatibilities, and it is documented that Time.parse does not take into account time zone abbreations other than ones described in RFC 822 ------------------------------------------------------------------------ r54646 | nobu | 2016-04-19 13:14:38 +0900 (Tue, 19 Apr 2016) | 4 lines use more descriptive assertions * test/logger/test_logdevice.rb: use assert_predicate, assert_not_predicate, and assert_file instead of bare assert. ------------------------------------------------------------------------ r54645 | sonots | 2016-04-19 13:13:19 +0900 (Tue, 19 Apr 2016) | 1 line * ChangeLog: Fix dates of previous commits ------------------------------------------------------------------------ r54644 | sonots | 2016-04-19 12:55:13 +0900 (Tue, 19 Apr 2016) | 2 lines * ChangeLog: Add descriptions for logger updates * NEWS: Add descriptions for logger updates ------------------------------------------------------------------------ r54641 | sonots | 2016-04-19 00:54:45 +0900 (Tue, 19 Apr 2016) | 1 line * test/logger/test_logdevice.rb: fix tests to pass on windows ------------------------------------------------------------------------ r54640 | svn | 2016-04-19 00:07:32 +0900 (Tue, 19 Apr 2016) | 1 line * 2016-04-19 ------------------------------------------------------------------------ r54639 | sonots | 2016-04-19 00:07:31 +0900 (Tue, 19 Apr 2016) | 1 line * lib/logger.rb: Add shift_period_suffix option [Fix GH-10772] ------------------------------------------------------------------------ r54638 | sonots | 2016-04-18 19:45:40 +0900 (Mon, 18 Apr 2016) | 4 lines Allow specifying logger parameters in constructor * lib/logger.rb: Allow specifying logger prameters such as level, progname, datetime_format, formatter in constructor [Bug #12224] ------------------------------------------------------------------------ r54630 | nobu | 2016-04-18 16:08:35 +0900 (Mon, 18 Apr 2016) | 3 lines error.c: warn_vsprintf * error.c (warn_vsprintf, warning_string): share common code. ------------------------------------------------------------------------ r54629 | nobu | 2016-04-18 16:08:34 +0900 (Mon, 18 Apr 2016) | 4 lines error.c: compile_vsprintf * error.c (compile_vsprintf): rename compile_snprintf, following the argument changes. ------------------------------------------------------------------------ r54628 | nobu | 2016-04-18 16:07:03 +0900 (Mon, 18 Apr 2016) | 5 lines compile.c: fix dangling link * compile.c (iseq_peephole_optimize): should not replace the current target INSN, not to follow the replaced dangling link in the caller. [ruby-core:74993] [Bug #11816] ------------------------------------------------------------------------ r54626 | nobu | 2016-04-18 12:57:34 +0900 (Mon, 18 Apr 2016) | 4 lines numeric.c: numeric ndigits * numeric.c (num_floor, num_ceil, num_truncate): add an optional parameter, digits, as well as Numeric#round. [Feature #12245] ------------------------------------------------------------------------ r54625 | nobu | 2016-04-18 12:56:33 +0900 (Mon, 18 Apr 2016) | 4 lines numeric.c: flo_truncate * numeric.c (flo_truncate): add an optional parameter, digits, as well as Float#round. [Feature #12245] ------------------------------------------------------------------------ r54624 | nobu | 2016-04-18 12:55:33 +0900 (Mon, 18 Apr 2016) | 4 lines numeric.c: int_truncate * numeric.c (int_truncate): add an optional parameter, digits, as well as Integer#round. [Feature #12245] ------------------------------------------------------------------------ r54623 | nobu | 2016-04-18 12:40:03 +0900 (Mon, 18 Apr 2016) | 4 lines test_float.rb: assertions for negative floats * test/ruby/test_float.rb: add assertions for round,floor,ceil on negative floats. [Feature #12245] ------------------------------------------------------------------------ r54622 | svn | 2016-04-18 11:38:38 +0900 (Mon, 18 Apr 2016) | 1 line * 2016-04-18 ------------------------------------------------------------------------ r54621 | nobu | 2016-04-18 11:38:37 +0900 (Mon, 18 Apr 2016) | 4 lines numeric.c: update doc [ci skip] * numeric.c (int_to_i): [DOC] floor and ceil are no longer synonyms. [Feature #12245] ------------------------------------------------------------------------ r54620 | nobu | 2016-04-17 21:37:15 +0900 (Sun, 17 Apr 2016) | 4 lines error.c: remove unused function * error.c (rb_compile_bug): remove unused function, which has never been exposed. ------------------------------------------------------------------------ r54619 | ktsj | 2016-04-17 20:34:52 +0900 (Sun, 17 Apr 2016) | 1 line * array.c (rb_ary_sum): [DOC] fix typos. ------------------------------------------------------------------------ r54616 | svn | 2016-04-17 04:20:12 +0900 (Sun, 17 Apr 2016) | 1 line * 2016-04-17 ------------------------------------------------------------------------ r54615 | nagachika | 2016-04-17 04:20:11 +0900 (Sun, 17 Apr 2016) | 1 line * tool/redmine-backporter.rb: revisions are strings. ------------------------------------------------------------------------ r54614 | yui-knk | 2016-04-16 14:25:59 +0900 (Sat, 16 Apr 2016) | 2 lines * ext/date/date_core.c : remove not used f_getlocal macro. After r54553 f_getlocal macro is not used. ------------------------------------------------------------------------ r54613 | yui-knk | 2016-04-16 14:14:13 +0900 (Sat, 16 Apr 2016) | 2 lines * ext/date/date_core.c : remove not used f_utc6 macro. After r54169 f_utc6 macro is not used. ------------------------------------------------------------------------ r54612 | nobu | 2016-04-16 10:00:13 +0900 (Sat, 16 Apr 2016) | 4 lines struct.c: unique members * struct.c (struct_make_members_list, rb_struct_s_def): member names should be unique. [ruby-core:74971] [Bug #12291] ------------------------------------------------------------------------ r54611 | nobu | 2016-04-16 09:59:42 +0900 (Sat, 16 Apr 2016) | 5 lines struct.c: struct_make_members_list * struct.c (struct_make_members_list): extract making member name list from char* va_list, with creating symbols without intermediate IDs. ------------------------------------------------------------------------ r54610 | nagachika | 2016-04-16 01:34:22 +0900 (Sat, 16 Apr 2016) | 1 line * tool/redmine-backporter.rb: sort revisions. ------------------------------------------------------------------------ r54609 | akr | 2016-04-16 01:26:38 +0900 (Sat, 16 Apr 2016) | 4 lines * array.c (rb_ary_sum): Don't yield same element twice. Found by nagachika. ------------------------------------------------------------------------ r54606 | akr | 2016-04-16 01:04:18 +0900 (Sat, 16 Apr 2016) | 2 lines * array.c (rb_ary_sum): Fix SEGV by [1/2r, 1].sum. ------------------------------------------------------------------------ r54605 | svn | 2016-04-16 00:26:49 +0900 (Sat, 16 Apr 2016) | 1 line * 2016-04-16 ------------------------------------------------------------------------ r54604 | akr | 2016-04-16 00:26:48 +0900 (Sat, 16 Apr 2016) | 2 lines mention Array#sum with third-party gems. ------------------------------------------------------------------------ r54603 | mrkn | 2016-04-15 23:54:39 +0900 (Fri, 15 Apr 2016) | 8 lines rename rb_rational_add -> rb_rational_plus * rational.c (rb_rational_plus): rename from rb_rational_add to be aligned with rb_fix_plus. * array.c (rb_ary_sum): ditto. * internal.h: ditto. ------------------------------------------------------------------------ r54602 | mrkn | 2016-04-15 23:46:35 +0900 (Fri, 15 Apr 2016) | 8 lines array.c (rb_ary_sum): use rb_rational_add directly * rational.c (rb_rational_add): rename from nurat_add. * array.c (rb_ary_sum): use rb_rational_add directly. * test/ruby/test_array.rb (test_sum): add assertions for an array of Rational values. ------------------------------------------------------------------------ r54601 | mrkn | 2016-04-15 22:33:05 +0900 (Fri, 15 Apr 2016) | 7 lines array.c: sum for Rational and Float mixed arrays * array.c (rb_ary_sum): apply the precision compensated algorithm for an array in which Rational and Float values are mixed. * test/ruby/test_array.rb (test_sum): add assertions for the above change. ------------------------------------------------------------------------ r54600 | nobu | 2016-04-15 22:30:03 +0900 (Fri, 15 Apr 2016) | 5 lines thread.c: defer setting name in initialize * thread.c (rb_thread_setname): defer setting native thread name set in initialize until the native thread is created. [ruby-core:74963] [Bug #12290] ------------------------------------------------------------------------ r54599 | nobu | 2016-04-15 21:13:35 +0900 (Fri, 15 Apr 2016) | 4 lines win32/console: io_handle * ext/-test-/win32/console/attribute.c (io_handle): extract conversion from IO instance to HANDLE. ------------------------------------------------------------------------ r54598 | nobu | 2016-04-15 21:12:25 +0900 (Fri, 15 Apr 2016) | 6 lines thread.c: must be initialized to set name * thread.c (get_initialized_threadptr): extract ensuring that the thread is initialized. * thread.c (rb_thread_setname): thread must be initialized to set the name. [ruby-core:74963] [Bug #12290] ------------------------------------------------------------------------ r54596 | hsbt | 2016-04-15 20:27:38 +0900 (Fri, 15 Apr 2016) | 1 line * lib/irb/ext/save-history.rb: Fix NoMethodError when method is not defined. ------------------------------------------------------------------------ r54594 | naruse | 2016-04-15 15:39:49 +0900 (Fri, 15 Apr 2016) | 1 line * common.mk (benchmark): order options for built-ruby and compare-ruby. ------------------------------------------------------------------------ r54593 | nobu | 2016-04-15 15:15:54 +0900 (Fri, 15 Apr 2016) | 1 line io/console: bump up ------------------------------------------------------------------------ r54591 | mrkn | 2016-04-15 14:16:04 +0900 (Fri, 15 Apr 2016) | 2 lines * test/ruby/test_array.rb (test_sum): add assertions for Rational and Complex numbers. ------------------------------------------------------------------------ r54590 | nobu | 2016-04-15 10:17:51 +0900 (Fri, 15 Apr 2016) | 1 line NEWS: mention [Feature #12245] ------------------------------------------------------------------------ r54589 | nobu | 2016-04-15 10:07:14 +0900 (Fri, 15 Apr 2016) | 7 lines io/console: unknown key code for names with nul * ext/io/console/console.c (console_key_pressed_p): raise the same exception, "unknown virtual key code", for names with nul chars. though console_win32_vk() considers the length and can deal with nul chars, rb_sprintf() raised at PRIsVALUE previously, so quote it if it is unprintable. ------------------------------------------------------------------------ r54588 | nobu | 2016-04-15 10:06:49 +0900 (Fri, 15 Apr 2016) | 4 lines io/console: move conditions * test/io/console/test_io_console.rb: move conditions for method definitions before the bodies. ------------------------------------------------------------------------ r54587 | nobu | 2016-04-15 09:02:59 +0900 (Fri, 15 Apr 2016) | 4 lines io/console: rb_sym2str * ext/io/console/console.c (rb_sym2str): fallback definition for older ruby. [ruby-core:74953] [Bug #12284] ------------------------------------------------------------------------ r54586 | nobu | 2016-04-15 09:02:43 +0900 (Fri, 15 Apr 2016) | 4 lines io/console: use rb_funcallv * ext/io/console/console.c: use rb_funcallv instead of rb_funcall2, and define rb_funcallv if unavailable. ------------------------------------------------------------------------ r54585 | nobu | 2016-04-15 09:02:42 +0900 (Fri, 15 Apr 2016) | 4 lines io/console: fallback RARRAY_CONST_PTR * ext/io/console/console.c (RARRAY_CONST_PTR): fallback definition for older ruby. ------------------------------------------------------------------------ r54584 | nobu | 2016-04-15 09:02:41 +0900 (Fri, 15 Apr 2016) | 4 lines io/console: reject symbols with nul char * ext/io/console/console.c (console_key_pressed_p): symbol names can contain nul chars, reject them. ------------------------------------------------------------------------ r54583 | nobu | 2016-04-15 06:41:08 +0900 (Fri, 15 Apr 2016) | 3 lines fix commit miss * ChangeLog: remove duplicate entry. ------------------------------------------------------------------------ r54582 | svn | 2016-04-15 01:19:34 +0900 (Fri, 15 Apr 2016) | 1 line * 2016-04-15 ------------------------------------------------------------------------ r54581 | akr | 2016-04-15 01:19:33 +0900 (Fri, 15 Apr 2016) | 2 lines add assertions. ------------------------------------------------------------------------ r54580 | kazu | 2016-04-14 22:40:30 +0900 (Thu, 14 Apr 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54579 | akr | 2016-04-14 21:57:07 +0900 (Thu, 14 Apr 2016) | 2 lines add an assertion. ------------------------------------------------------------------------ r54578 | akr | 2016-04-14 21:56:38 +0900 (Thu, 14 Apr 2016) | 2 lines [DOC] ------------------------------------------------------------------------ r54577 | akr | 2016-04-14 21:48:44 +0900 (Thu, 14 Apr 2016) | 3 lines * array.c (rb_ary_sum): Support the optional argument, init, and block. ------------------------------------------------------------------------ r54576 | naruse | 2016-04-14 19:06:41 +0900 (Thu, 14 Apr 2016) | 2 lines * lib/irb/ext/save-history.rb: suppress warning: method redefined; discarding old save_history=. ------------------------------------------------------------------------ r54575 | nobu | 2016-04-14 14:58:16 +0900 (Thu, 14 Apr 2016) | 5 lines tkutil.c: ary can be nil * ext/tk/tkutil/tkutil.c (tk_hash_kv): the third argument can be nil not only an Array. reported by @windwiny at https://github.com/ruby/ruby/commit/cdaa94e#commitcomment-17096618 ------------------------------------------------------------------------ r54574 | nobu | 2016-04-14 14:28:58 +0900 (Thu, 14 Apr 2016) | 5 lines cont.c: wrong _MSC_VER check * cont.c (fiber_initialize_machine_stack_context): fix wrong _MSC_VER check, should be decimal but not hexadecimal. [ruby-core:74936] [Bug #12279] ------------------------------------------------------------------------ r54573 | nobu | 2016-04-14 13:41:47 +0900 (Thu, 14 Apr 2016) | 4 lines process.c: prefer rb_check_arity * process.c: use rb_check_arity instead of rb_scan_args for simple optional arguments. ------------------------------------------------------------------------ r54572 | nobu | 2016-04-14 10:30:12 +0900 (Thu, 14 Apr 2016) | 4 lines ruby-runner.h * template/ruby-runner.h.in: separate configured part from ruby-runner.c. ------------------------------------------------------------------------ r54571 | nobu | 2016-04-14 10:25:34 +0900 (Thu, 14 Apr 2016) | 4 lines configure.in: feature macros on cygwin * configure.in (cygwin): add feature macros for the declarations of eaccess. ------------------------------------------------------------------------ r54570 | nobu | 2016-04-14 10:25:33 +0900 (Thu, 14 Apr 2016) | 3 lines configure.in: tabify * configure.in: tabify spaces after a tab. ------------------------------------------------------------------------ r54569 | svn | 2016-04-14 09:00:33 +0900 (Thu, 14 Apr 2016) | 1 line * 2016-04-14 ------------------------------------------------------------------------ r54568 | akr | 2016-04-14 09:00:32 +0900 (Thu, 14 Apr 2016) | 2 lines [DOC] ------------------------------------------------------------------------ r54567 | akr | 2016-04-13 23:55:18 +0900 (Wed, 13 Apr 2016) | 2 lines Array#sum described. ------------------------------------------------------------------------ r54566 | akr | 2016-04-13 23:40:20 +0900 (Wed, 13 Apr 2016) | 2 lines add a space in [ruby-core:74569] [Feature #12217] ------------------------------------------------------------------------ r54565 | akr | 2016-04-13 22:51:53 +0900 (Wed, 13 Apr 2016) | 9 lines * array.c (rb_ary_sum): Array#sum is implemented. Kahan's compensated summation algorithm for precise sum of float numbers is moved from ary_inject_op in enum.c. * enum.c (ary_inject_op): Don't specialize for float numbers. [ruby-core:74569] [Feature#12217] proposed by mrkn. ------------------------------------------------------------------------ r54564 | nobu | 2016-04-13 15:56:36 +0900 (Wed, 13 Apr 2016) | 4 lines numeric.c: flo_ceil * numeric.c (flo_ceil): add an optional parameter, digits, as well as Float#round. [Feature #12245] ------------------------------------------------------------------------ r54563 | nobu | 2016-04-13 15:54:38 +0900 (Wed, 13 Apr 2016) | 4 lines numeric.c: flo_floor * numeric.c (flo_floor): add an optional parameter, digits, as well as Integer#floor. [Feature #12245] ------------------------------------------------------------------------ r54562 | nobu | 2016-04-13 15:50:24 +0900 (Wed, 13 Apr 2016) | 4 lines numeric.c: int_ceil * numeric.c (int_ceil): add an optional parameter, digits, as well as Integer#round. [Feature #12245] ------------------------------------------------------------------------ r54561 | nobu | 2016-04-13 15:47:55 +0900 (Wed, 13 Apr 2016) | 4 lines numeric.c: int_floor * numeric.c (int_floor): add an optional parameter, digits, as well as Integer#round. ------------------------------------------------------------------------ r54560 | nobu | 2016-04-13 15:14:12 +0900 (Wed, 13 Apr 2016) | 1 line NEWS: [Feature #9969] ------------------------------------------------------------------------ r54559 | nobu | 2016-04-13 14:47:49 +0900 (Wed, 13 Apr 2016) | 4 lines file.c: File.empty? * file.c (Init_File): add alias File.empty? to File.zero?. [Feature #9969] ------------------------------------------------------------------------ r54558 | nobu | 2016-04-13 14:36:26 +0900 (Wed, 13 Apr 2016) | 4 lines parse.y: massign in cond * parse.y (assign_in_cond): allow multiple assignment in conditional expression. [Feature #10617] ------------------------------------------------------------------------ r54557 | nobu | 2016-04-13 14:12:01 +0900 (Wed, 13 Apr 2016) | 7 lines numeric.c: int_round_zero_p * bignum.c (rb_big_size): add wrapper function of BIGSIZE and rename the method funtion with _m suffix. * numeric.c (int_round_zero_p): extracted from rb_int_round. optimize for Bignum, and convert VALUE returned by Numeric#size to long. ------------------------------------------------------------------------ r54556 | ko1 | 2016-04-13 12:03:37 +0900 (Wed, 13 Apr 2016) | 7 lines * test/ruby/test_basicinstructions.rb: add a test to check access instance variables on special const objects. All of such objects are frozen, so that we can not set instance variables for them. But we can read instance variables and return default value (nil). ------------------------------------------------------------------------ r54555 | svn | 2016-04-13 11:41:25 +0900 (Wed, 13 Apr 2016) | 1 line * 2016-04-13 ------------------------------------------------------------------------ r54554 | nobu | 2016-04-13 11:41:24 +0900 (Wed, 13 Apr 2016) | 4 lines numeric.c: float_invariant_round * numeric.c (float_invariant_round): extracted from flo_round to be optimizer-friendly, e.g., tail-call optimization. ------------------------------------------------------------------------ r54553 | nobu | 2016-04-12 20:40:37 +0900 (Tue, 12 Apr 2016) | 4 lines date_core.c: preserve timezone * ext/date/date_core.c (time_to_time): should preserve timezone info. [ruby-core:74889] [Bug #12271] ------------------------------------------------------------------------ r54549 | nobu | 2016-04-12 12:49:03 +0900 (Tue, 12 Apr 2016) | 3 lines basictest: disable warnings * basictest/runner.rb: disable warnings for old test script. ------------------------------------------------------------------------ r54548 | nobu | 2016-04-12 11:51:20 +0900 (Tue, 12 Apr 2016) | 4 lines compile.c: initialize LABEL fields * compile.c (new_label_body): initialize bit fields, since compile_data_alloc does not clear the memory. [Bug #12082] ------------------------------------------------------------------------ r54547 | svn | 2016-04-12 09:30:56 +0900 (Tue, 12 Apr 2016) | 1 line * 2016-04-12 ------------------------------------------------------------------------ r54546 | nobu | 2016-04-12 09:30:55 +0900 (Tue, 12 Apr 2016) | 4 lines test_optimization.rb: disasm * test/ruby/test_optimization.rb (disasm): dump disassembled code for investigation. ------------------------------------------------------------------------ r54545 | kazu | 2016-04-11 21:39:31 +0900 (Mon, 11 Apr 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54544 | akr | 2016-04-11 20:50:00 +0900 (Mon, 11 Apr 2016) | 2 lines Update dependencies. ------------------------------------------------------------------------ r54543 | ko1 | 2016-04-11 20:19:52 +0900 (Mon, 11 Apr 2016) | 3 lines * vm_backtrace.c (frame2klass): filter only for imemo_ment. T_IMEMO/imemo_iseq can be passed here. ------------------------------------------------------------------------ r54542 | nobu | 2016-04-11 17:43:06 +0900 (Mon, 11 Apr 2016) | 5 lines compile.c: disable tco with rescue * compile.c (iseq_optimize): disable tail call optimization in rescued, rescue, and ensure blocks. [ruby-core:73871] [Bug #12082] ------------------------------------------------------------------------ r54541 | nobu | 2016-04-11 17:27:19 +0900 (Mon, 11 Apr 2016) | 4 lines TestException.rb: suppress warning * test/excludes/TestException.rb: suppress "ambiguous first argument" warning. ------------------------------------------------------------------------ r54540 | nobu | 2016-04-11 17:27:17 +0900 (Mon, 11 Apr 2016) | 4 lines test/unit.rb: show warning locations * test/lib/test/unit.rb (ExcludedMethods.load): supply the path to show the warning locations. ------------------------------------------------------------------------ r54539 | nobu | 2016-04-11 17:06:23 +0900 (Mon, 11 Apr 2016) | 5 lines test_whileuntil.rb: fix old behavior * test/ruby/test_whileuntil.rb (test_while): fix old behavior. mere numeric literal in condition no longer matches $. global variable. ------------------------------------------------------------------------ r54538 | nobu | 2016-04-11 17:06:22 +0900 (Mon, 11 Apr 2016) | 4 lines test_rubyoptions.rb: suppress warning * test/ruby/test_rubyoptions.rb (test_indentation_check): remove unused variable to suppress warning. ------------------------------------------------------------------------ r54537 | nobu | 2016-04-11 17:06:21 +0900 (Mon, 11 Apr 2016) | 4 lines test_regexp.rb: suppress warning * test/ruby/test_regexp.rb (test_named_capture): suppress "assigned but unused variable" warning by prefixing '_'. ------------------------------------------------------------------------ r54536 | nobu | 2016-04-11 17:06:19 +0900 (Mon, 11 Apr 2016) | 4 lines test_iterator.rb: suppress warnings * test/ruby/test_iterator.rb (test_break): suppress "statement not reached" warnings. ------------------------------------------------------------------------ r54535 | nobu | 2016-04-11 14:13:31 +0900 (Mon, 11 Apr 2016) | 5 lines test_coverage.rb: suppress warnings * test/coverage/test_coverage.rb (test_coverage_snapshot), (test_restarting_coverage): use unique names to suppress method redefinition warnings. ------------------------------------------------------------------------ r54534 | nobu | 2016-04-11 13:28:16 +0900 (Mon, 11 Apr 2016) | 4 lines fiddle/import.rb: suppress warnings * ext/fiddle/lib/fiddle/import.rb (type_alias, handler): suppress "not initialized instance variable" warnings. ------------------------------------------------------------------------ r54533 | nobu | 2016-04-11 06:59:02 +0900 (Mon, 11 Apr 2016) | 9 lines file.c: prefer rb_check_arity * file.c (rb_file_s_expand_path, rb_file_s_absolute_path): use rb_check_arity instead of rb_scan_args for a simple optional argument. * file.c (rb_file_s_realpath, rb_file_s_realdirpath): ditto. * file.c (rb_file_s_basename): ditto. ------------------------------------------------------------------------ r54532 | nobu | 2016-04-11 06:59:01 +0900 (Mon, 11 Apr 2016) | 4 lines file.c: apply2files returns Fixnum * file.c (apply2files): return Fixnum so that callers can just return it. ------------------------------------------------------------------------ r54531 | svn | 2016-04-11 06:54:43 +0900 (Mon, 11 Apr 2016) | 1 line * 2016-04-11 ------------------------------------------------------------------------ r54530 | nobu | 2016-04-11 06:54:41 +0900 (Mon, 11 Apr 2016) | 4 lines file.c: apply to argv * file.c (apply2files): apply to a VALUE vector instead of a temporary array. ------------------------------------------------------------------------ r54529 | nobu | 2016-04-10 20:54:17 +0900 (Sun, 10 Apr 2016) | 4 lines registry.rb: fix API names * ext/win32/lib/win32/registry.rb (DeleteValue, DeleteKey): fix API names. [ruby-core:74863] [Bug #12264] ------------------------------------------------------------------------ r54528 | nobu | 2016-04-10 17:47:44 +0900 (Sun, 10 Apr 2016) | 6 lines no argument conversions in rb_realpath_internal * file.c (rb_realpath_internal): no argument conversions since this internal function does not need to_path and encoding conversions, not to be affected by the default internal encoding. ------------------------------------------------------------------------ r54527 | svn | 2016-04-10 16:30:42 +0900 (Sun, 10 Apr 2016) | 1 line * 2016-04-10 ------------------------------------------------------------------------ r54526 | nobu | 2016-04-10 16:30:42 +0900 (Sun, 10 Apr 2016) | 5 lines win32/file.c: fix free * win32/file.c (rb_file_expand_path_internal): should free wpath, but not xfree, corresponding to rb_w32_mbstr_to_wstr which allocates by malloc. ------------------------------------------------------------------------ r54525 | ktsj | 2016-04-09 22:39:32 +0900 (Sat, 09 Apr 2016) | 1 line * lib/ostruct.rb: [DOC] fix position of nodoc directive. ------------------------------------------------------------------------ r54524 | nobu | 2016-04-09 13:01:35 +0900 (Sat, 09 Apr 2016) | 1 line ext/tk/extconf.rb: add newline ------------------------------------------------------------------------ r54523 | nobu | 2016-04-09 12:58:01 +0900 (Sat, 09 Apr 2016) | 3 lines load.c: fix r54521 * load.c (rb_f_load): do not convert the encoding twice. ------------------------------------------------------------------------ r54522 | nobu | 2016-04-09 10:25:11 +0900 (Sat, 09 Apr 2016) | 7 lines assertions.rb: set default internal encoding * test/lib/test/unit/assertions.rb (assert_raise_with_message): set default internal encoding to the excpected message, which affects String#inspect in messages. * test/lib/test/unit/assertions.rb (assert_warning): ditto. ------------------------------------------------------------------------ r54521 | nobu | 2016-04-09 10:03:15 +0900 (Sat, 09 Apr 2016) | 4 lines load.c: raise name before conversion * load.c (rb_f_load): raise with the original path name before encoding conversion. ------------------------------------------------------------------------ r54520 | nobu | 2016-04-09 09:59:53 +0900 (Sat, 09 Apr 2016) | 4 lines test_io_m17n.rb: nil default internal encoding * test/ruby/test_io_m17n.rb (test_bom_non_utf): ensure default internal encoding is not set. ------------------------------------------------------------------------ r54519 | svn | 2016-04-09 02:05:13 +0900 (Sat, 09 Apr 2016) | 1 line * 2016-04-09 ------------------------------------------------------------------------ r54518 | nobu | 2016-04-09 02:05:12 +0900 (Sat, 09 Apr 2016) | 9 lines bignum.c: rb_cstr_parse_inum * bignum.c (rb_cstr_parse_inum): [EXPERIMENTAL] new function to parse integer in C-string with length. the name and the arguments may be changed in the future. * bignum.c (rb_str_to_inum): preserve encoding of the argument in error messages, and no longer needs to copy non-terminated strings. * bignum.c (rb_str2big_{poweroftwo,normal,karatsuba,gmp}): ditto. ------------------------------------------------------------------------ r54517 | nobu | 2016-04-08 17:32:25 +0900 (Fri, 08 Apr 2016) | 4 lines bignum.c: radix check functions * bignum.c (valid_radix_p, invalid_radix): extracted functions to check radix. ------------------------------------------------------------------------ r54516 | nobu | 2016-04-08 12:53:28 +0900 (Fri, 08 Apr 2016) | 4 lines tk/extconf.rb: progress * ext/tk/extconf.rb (progress): print progress messages only if Logging is quiet. ------------------------------------------------------------------------ r54515 | nobu | 2016-04-08 12:14:45 +0900 (Fri, 08 Apr 2016) | 8 lines tk/extconf.rb: outdated checks * ext/tk/extconf.rb: remove outdated checks. * ext/tk/tcltklib.c (ip_ruby_cmd): remove longstanding dead code. ptr and len in RArray were till 1.8 and have_struct_member of 1.8 does not set HAVE__ but only HAVE_ST_. ------------------------------------------------------------------------ r54514 | nobu | 2016-04-08 08:46:45 +0900 (Fri, 08 Apr 2016) | 4 lines dln.c: move error message definition * dln.c (dln_load): move the definition of incompatible library version error message to be shared. ------------------------------------------------------------------------ r54513 | svn | 2016-04-08 01:43:37 +0900 (Fri, 08 Apr 2016) | 1 line * 2016-04-08 ------------------------------------------------------------------------ r54512 | kazu | 2016-04-08 01:43:36 +0900 (Fri, 08 Apr 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54511 | nobu | 2016-04-07 21:14:29 +0900 (Thu, 07 Apr 2016) | 4 lines win32.c: call w32_wopen directly * win32/win32.c (rb_w32_uopen): call w32_wopen directly instead of variadic rb_w32_wopen. ------------------------------------------------------------------------ r54510 | nobu | 2016-04-07 19:04:05 +0900 (Thu, 07 Apr 2016) | 4 lines regexp.rdoc: terminators in comments [ci skip] * doc/regexp.rdoc (comments): [DOC] terminators cannot appear in comments. [ruby-core:74838] [Bug #12256] ------------------------------------------------------------------------ r54509 | nobu | 2016-04-07 11:24:16 +0900 (Thu, 07 Apr 2016) | 4 lines tkutil.c: fix overrun * ext/tk/tkutil/tkutil.c (cbsubst_initialize): fix out-of-bound access when no arguments given. `p Tk::Event.new` crashed. ------------------------------------------------------------------------ r54508 | nobu | 2016-04-07 10:33:04 +0900 (Thu, 07 Apr 2016) | 4 lines fake.rb: set extout * tool/fake.rb (prehook): set "extout" in RbConfig to configure extension libraries. ------------------------------------------------------------------------ r54507 | svn | 2016-04-07 09:10:42 +0900 (Thu, 07 Apr 2016) | 1 line * 2016-04-07 ------------------------------------------------------------------------ r54506 | nobu | 2016-04-07 09:10:41 +0900 (Thu, 07 Apr 2016) | 4 lines test_ssl.rb: skip unsupported ciphers * test/openssl/test_ssl.rb (test_get_ephemeral_key): skip unsupported ciphers. [GH-1318] ------------------------------------------------------------------------ r54504 | eregon | 2016-04-06 23:29:17 +0900 (Wed, 06 Apr 2016) | 6 lines * ext/coverage/coverage.c: Fully reset coverage to not persist global state. It was returning old file coverages as empty arrays to the user. [ruby-core:74596] [Bug #12220] * ext/coverage/coverage.c (rb_coverages): remove unused static state. * thread.c: Moved and renamed coverage_clear_result_i to reset_coverage_i. * test/coverage/test_coverage.rb: improve precision of tests. ------------------------------------------------------------------------ r54503 | nobu | 2016-04-06 22:41:33 +0900 (Wed, 06 Apr 2016) | 4 lines configure.in: fix lgamma_r condition * configure.in (rb_cv_lgamma_r_m0): fix the condition for lgamma_r(-0.0). [Bug #12249] ------------------------------------------------------------------------ r54502 | usa | 2016-04-06 17:40:02 +0900 (Wed, 06 Apr 2016) | 3 lines * tool/downloader.rb (RubyGems.download): follow the change of the rubygems ssl_certs directory tree introduced by previous commit. ------------------------------------------------------------------------ r54501 | nobu | 2016-04-06 16:59:37 +0900 (Wed, 06 Apr 2016) | 3 lines btest: resource limit * bootstraptest/test_thread.rb: rescue resource limitation errors. ------------------------------------------------------------------------ r54500 | hsbt | 2016-04-06 15:01:14 +0900 (Wed, 06 Apr 2016) | 3 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.3. Please see entries of 2.6.3 on https://github.com/rubygems/rubygems/blob/master/History.txt ------------------------------------------------------------------------ r54499 | nobu | 2016-04-06 14:13:29 +0900 (Wed, 06 Apr 2016) | 5 lines configure.in: check lgamma_r(-0.0) * configure.in (rb_cv_lgamma_r_m0): check if lgamma_r(-0.0) returns negative infinity. [Bug #12249] * math.c (ruby_lgamma_r): define by the configured result. ------------------------------------------------------------------------ r54498 | nobu | 2016-04-06 13:38:49 +0900 (Wed, 06 Apr 2016) | 4 lines test_ssl.rb: skip unavailable pkeys * test/openssl/test_ssl.rb (test_get_ephemeral_key): skip unavailable public keys. [GH-1318] ------------------------------------------------------------------------ r54497 | nobu | 2016-04-06 10:56:16 +0900 (Wed, 06 Apr 2016) | 6 lines Logger: simple refactoring * lib/logger.rb (Logger#level=): remove unnecessary local variable. * lib/logger.rb (Logger#initialize, Logger#reopen): [DOC] mention the default values. cherrypicked from [GH-1319]. ------------------------------------------------------------------------ r54496 | nobu | 2016-04-06 10:17:55 +0900 (Wed, 06 Apr 2016) | 6 lines lgamma_r.c: fix at -0.0 * math.c (ruby_lgamma_r): missing/lgamma_r.c is used on Windows, since msvcrt does not provide it. * missing/lgamma_r.c (lgamma_r): fix lgamma(-0.0). [ruby-core:74823] [Bug #12249] ------------------------------------------------------------------------ r54495 | usa | 2016-04-06 01:23:39 +0900 (Wed, 06 Apr 2016) | 3 lines * math.c (ruby_lgamma_r): mswin's lgamma_r also seems to be wrong. cf. [Bug #12249] ------------------------------------------------------------------------ r54494 | nobu | 2016-04-06 00:53:32 +0900 (Wed, 06 Apr 2016) | 3 lines math.c: fix lgamma * math.c (ruby_lgamma_r): fix lgamma(-0.0) on mingw and OSX. ------------------------------------------------------------------------ r54493 | svn | 2016-04-06 00:52:03 +0900 (Wed, 06 Apr 2016) | 1 line * 2016-04-06 ------------------------------------------------------------------------ r54492 | nobu | 2016-04-06 00:52:02 +0900 (Wed, 06 Apr 2016) | 4 lines math.c: fix tgamma * math.c (ruby_tgamma): fix tgamma(-0.0) on mingw. [ruby-core:74817] [Bug #12249] ------------------------------------------------------------------------ r54490 | nobu | 2016-04-05 17:15:22 +0900 (Tue, 05 Apr 2016) | 4 lines string.c: rb_str_concat_literals * string.c (rb_str_concat_literals): concatenate literal string fragments. ------------------------------------------------------------------------ r54489 | naruse | 2016-04-05 14:54:03 +0900 (Tue, 05 Apr 2016) | 2 lines * ext/nkf/nkf-utf8/nkf.c (mime_putc): fix typo. [Bug #12202] [ruby-core:74802] ------------------------------------------------------------------------ r54488 | kazu | 2016-04-05 01:12:03 +0900 (Tue, 05 Apr 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54487 | nobu | 2016-04-05 00:08:20 +0900 (Tue, 05 Apr 2016) | 4 lines test_get_ephemeral_key: use assert_instance_of * test/openssl/test_ssl.rb (test_get_ephemeral_key): should use assert_instance_of instead of comparison of classes. ------------------------------------------------------------------------ r54486 | svn | 2016-04-05 00:06:47 +0900 (Tue, 05 Apr 2016) | 1 line * 2016-04-05 ------------------------------------------------------------------------ r54485 | nobu | 2016-04-05 00:06:46 +0900 (Tue, 05 Apr 2016) | 6 lines openssl: Access to ephemeral TLS session key * ext/openssl/ossl_ssl.c (ossl_ssl_tmp_key): Access to ephemeral TLS session key in case of forward secrecy cipher. Only available since OpenSSL 1.0.2. [Fix GH-1318] * ext/openssl/extconf.rb: Check for SSL_get_server_tmp_key. ------------------------------------------------------------------------ r54484 | nobu | 2016-04-04 23:37:07 +0900 (Mon, 04 Apr 2016) | 6 lines at_exit list * vm_core.h (rb_vm_struct): make at_exit a single linked list but not RArray, not to mark the registered functions by the write barrier. based on the patches by Evan Phoenix. [ruby-core:73908] [Bug #12095] ------------------------------------------------------------------------ r54483 | svn | 2016-04-04 17:49:18 +0900 (Mon, 04 Apr 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r54482 | ko1 | 2016-04-04 17:49:17 +0900 (Mon, 04 Apr 2016) | 15 lines * gc.c: change deafult value of RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO 0.3 -> 0.2 RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO 0.8 -> 0.65 These values are same as Ruby 2.0.0. This change cause GC counts. However, generational GC reduced each (minor) GC time and increase memory locality. So that not so big impact on my benchmarking results. (surprizingly, this fix speed up programs on some cases) You can change these values by environment variables if you feel wrong. ------------------------------------------------------------------------ r54481 | ko1 | 2016-04-04 17:41:55 +0900 (Mon, 04 Apr 2016) | 14 lines * gc.c (get_envparam_double): take an upper_bound. And also take an accept_zero flag which allow to accept zero even if lower_bound is set. * gc.c (ruby_gc_set_params): fix parameters. RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO set 0.9 as *lower_bound*, so that it should be upper_bound. Set RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO as lower bound. Also set lower/upper bound of RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO to RUBY_GC_HEAP_FREE_SLOTS_MIN/MAX_RATIO. ------------------------------------------------------------------------ r54480 | svn | 2016-04-04 16:42:52 +0900 (Mon, 04 Apr 2016) | 1 line * 2016-04-04 ------------------------------------------------------------------------ r54479 | ko1 | 2016-04-04 16:42:51 +0900 (Mon, 04 Apr 2016) | 2 lines * vm.c (Init_VM): should pass tokens. ------------------------------------------------------------------------ r54477 | nobu | 2016-04-03 09:34:31 +0900 (Sun, 03 Apr 2016) | 7 lines numeric.c: dbl2ival no longer rounds * numeric.c (flodivmod): round division if it is a finite number and module is required. * numeric.c (dbl2ival): do not round here. * numeric.c (flo_ceil): use dbl2ival. * numeric.c (flo_round): round explicitly. ------------------------------------------------------------------------ r54476 | svn | 2016-04-03 07:38:45 +0900 (Sun, 03 Apr 2016) | 1 line * 2016-04-03 ------------------------------------------------------------------------ r54475 | nobu | 2016-04-03 07:38:44 +0900 (Sun, 03 Apr 2016) | 4 lines numeric.c: move declaration [ci skip] * numeric.c (fix_lshift, fix_rshift, flo_truncate): move forward declaration to the top. ------------------------------------------------------------------------ r54474 | nobu | 2016-04-02 15:33:26 +0900 (Sat, 02 Apr 2016) | 4 lines numeric.c: prefer rb_check_arity * numeric.c (flo_round, int_to_s, int_round): use rb_check_arity instead of rb_scan_args for a simple optional argument. ------------------------------------------------------------------------ r54473 | svn | 2016-04-02 15:24:20 +0900 (Sat, 02 Apr 2016) | 1 line * 2016-04-02 ------------------------------------------------------------------------ r54472 | nobu | 2016-04-02 15:24:19 +0900 (Sat, 02 Apr 2016) | 3 lines rb_check_arity returns argc now * include/ruby/intern.h (rb_check_arity): returns argc. ------------------------------------------------------------------------ r54470 | kazu | 2016-04-01 22:00:20 +0900 (Fri, 01 Apr 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54469 | duerst | 2016-04-01 20:58:47 +0900 (Fri, 01 Apr 2016) | 9 lines * enc/unicode/case-folding.rb, casefold.h: Data generation to implement swapcase functionality for titlecase characters. Swapcase isn't defined by Unicode, because the purpose/usage of swapcase is unclear anyway. The implementation follows a proposal from Nobu, swaping the case of each component of a titlecase character individually. This means that the titlecase characters have to be decomposed. * enc/unicode.c: Code using the above data. * test/ruby/enc/test_case_mapping.rb: Tests for the above. ------------------------------------------------------------------------ r54468 | nobu | 2016-04-01 14:55:30 +0900 (Fri, 01 Apr 2016) | 11 lines improve git repository detection * configure.in (AC_CONFIG_FILES): $srcdir/.git can be a file pointing the real git_dir, such as when the git working tree is a "linked working tree" (a working tree created by git-worktree). So use git-rev-parse --git-dir to check if $srcdir is the top-level of a git repository, not just checking if the $srcdir/.git directory does exist or not. [ruby-core:74759] [Bug #12239] * tool/change_maker.rb: use tool/vcs.rb to detect VCS. This used to have its own VCS detection code, while we have tool/vcs.rb. * tool/vcs.rb (detect): remove code duplication ------------------------------------------------------------------------ r54467 | usa | 2016-04-01 12:27:17 +0900 (Fri, 01 Apr 2016) | 3 lines * tool/release.sh: BRE accepts \{m,\} expression. use it for future many-digits version numbers. ------------------------------------------------------------------------ r54466 | normal | 2016-04-01 05:33:55 +0900 (Fri, 01 Apr 2016) | 16 lines openssl: accept moving write buffer for write_nonblock By setting the SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER flag. This flag was introduced at the same time as SSL_MODE_ENABLE_PARTIAL_WRITE in OpenSSL 0.9.4 and makes usage with non-blocking sockets much easier. Before this, a Rubyist would need to remember the exact object which failed to write and reuse it later when the socket became writable again. This causes problems when the buffer is given by another layer of the application (e.g. a buffer is given by a Rack middleware or application to a Rack web server). * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): enable SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER by default [Bug #12126] ------------------------------------------------------------------------ r54465 | eregon | 2016-04-01 01:14:52 +0900 (Fri, 01 Apr 2016) | 3 lines * thread.c (update_coverage): Do not track coverage in loaded files after Coverage.result. Avoids out-of-bounds access. [Bug #12237] * ext/coverage/coverage.c (coverage_clear_result_i): document. ------------------------------------------------------------------------ r54461 | usa | 2016-04-01 00:13:23 +0900 (Fri, 01 Apr 2016) | 2 lines * tool/release.sh: two-digit version number support. ------------------------------------------------------------------------ r54460 | svn | 2016-04-01 00:04:34 +0900 (Fri, 01 Apr 2016) | 1 line * 2016-04-01 ------------------------------------------------------------------------ r54459 | usa | 2016-04-01 00:04:34 +0900 (Fri, 01 Apr 2016) | 2 lines * tool/merger.rb (version): version number may be two-digit. ------------------------------------------------------------------------ r54455 | nobu | 2016-03-31 21:46:15 +0900 (Thu, 31 Mar 2016) | 3 lines gc.c: use PRIdSIZE * gc.c (heap_extend_pages): fix format specifiers for size_t. ------------------------------------------------------------------------ r54454 | ko1 | 2016-03-31 19:16:48 +0900 (Thu, 31 Mar 2016) | 2 lines * gc.c: need to set initial value of GC_HEAP_FREE_SLOTS_GOAL_RATIO. ------------------------------------------------------------------------ r54453 | ko1 | 2016-03-31 18:16:48 +0900 (Thu, 31 Mar 2016) | 25 lines * gc.c: change additional allocation policy. Introduce new environement variable GC_HEAP_FREE_SLOTS_GOAL_RATIO (goal_ratio) to calculate the ratio of additional memory. Before this change, we add pages with the following formula (when free_slots < total_pages * RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO): next_pages = total_pages * RUBY_GC_HEAP_GROWTH_FACTOR This addition can allocate too much. With this change, we increase pages to satisfy the following formula: next_free_slots = next_total_slots * goal_ratio where next_free_slots = free_slots + adding_slots next_total_slots = total_slots + adding_slots. If you want to prepare many free slots, increase this ratio. If this variable is 0, then simply multiply RUBY_GC_HEAP_GROWTH_FACTOR. * gc.c (get_envparam_double): enable to accept 0. ------------------------------------------------------------------------ r54452 | ko1 | 2016-03-31 17:49:09 +0900 (Thu, 31 Mar 2016) | 2 lines * gc.c (gc_marks_finish): fix syntax error. ------------------------------------------------------------------------ r54451 | ko1 | 2016-03-31 17:21:35 +0900 (Thu, 31 Mar 2016) | 33 lines * gc.c: simplify allocate/free detecting logic at the end of marking. Before this change, heap_pages_min_slots are calculated at the beggining sweeping phase. And this value is used at the end of *next* marking phase. To simplify it, we use this value at the end of this marking phase. It means that we don't need to store this value as global state. Also heap_pages_max_slots is calculated at the begging of sweeping phase and used at the end of sweeping phase. To simplify this logic, we introduced new global value heap_pages_freeable_pages it means extra pages count we can free. gc_sweep_step() checks this value and moves empty pages to tomb_heap not more than this value. Because of this fix, heap_pages_swept_slots is no longer needed. * gc.c (rb_objspace_t::heap_pages): restruct the objspace global status. remove the following fileds * swept_slots (and heap_pages_swept_slots) * min_free_slots (and heap_pages_min_free_slots) * max_free_slots (and heap_pages_max_free_slots) And add the following filed. * freeable_pages (and heap_pages_freeable_pages) * gc.c (heap_pages_free_unused_pages): unlink tomb heap pages because tomb heap should have only freeable pages. * gc.c (heap_extend_pages): add parameters for future extension. ------------------------------------------------------------------------ r54450 | ko1 | 2016-03-31 16:45:13 +0900 (Thu, 31 Mar 2016) | 14 lines * gc.c: add GC parameters to configure the following values: * RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO: allocate additional pages when free slots is lower than the value (total_slots * (this ratio)). * RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO: allow to free pages when free slots is greater thatn the value (total_slots * (this ratio)). Before this change, these values are hard coded. * gc.c (ruby_gc_params_t): ditto. * gc.c (ruby_gc_set_params): ditto. ------------------------------------------------------------------------ r54449 | svn | 2016-03-31 16:02:41 +0900 (Thu, 31 Mar 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r54448 | ko1 | 2016-03-31 16:02:40 +0900 (Thu, 31 Mar 2016) | 4 lines * gc.c (gc_verify_heap_page): check the number of zombies. * gc.c (gc_verify_heap_pages): check also tomb heap. ------------------------------------------------------------------------ r54447 | ko1 | 2016-03-31 15:51:27 +0900 (Thu, 31 Mar 2016) | 7 lines * gc.c (gc_page_sweep): return free slots count. * gc.c (gc_sweep_step): use returned free slots count. * gc.c (gc_sweep_step): change variable name `next' to `next_sweep_page'. ------------------------------------------------------------------------ r54446 | nobu | 2016-03-31 12:02:35 +0900 (Thu, 31 Mar 2016) | 4 lines complex.c: pure declarations * complex.c (get_dat1, get_dat2): turn into pure variable declarations only, not mixed code and declarations. ------------------------------------------------------------------------ r54445 | nobu | 2016-03-31 11:33:51 +0900 (Thu, 31 Mar 2016) | 4 lines date_core.c: fix indent * ext/date/date_core.c (d_lite_strftime, dt_lite_strftime): [DOC] fix indent not to be a big sole verbatim. ------------------------------------------------------------------------ r54444 | nobu | 2016-03-31 11:18:21 +0900 (Thu, 31 Mar 2016) | 4 lines date_core.c: fix DateTime rdoc * ext/date/date_core.c (Init_date_core): [DOC] fix misplaced doc of DateTime. [ruby-core:74729] [Bug #12233] ------------------------------------------------------------------------ r54441 | svn | 2016-03-31 03:41:47 +0900 (Thu, 31 Mar 2016) | 1 line * 2016-03-31 ------------------------------------------------------------------------ r54440 | naruse | 2016-03-31 03:41:46 +0900 (Thu, 31 Mar 2016) | 2 lines * ext/nkf/nkf-utf8/nkf.c: Merge upstream 69f7e74dde. fix indent. ------------------------------------------------------------------------ r54439 | nobu | 2016-03-30 22:14:31 +0900 (Wed, 30 Mar 2016) | 4 lines parse.y: get rid of ISASCII on ID * parse.y (ripper_id2sym): do not call ISASCII() on ID, rb_isascii is restricted to int now. ------------------------------------------------------------------------ r54438 | nobu | 2016-03-30 22:02:16 +0900 (Wed, 30 Mar 2016) | 5 lines st.c: fix collision statistics [ci skip] * st.c (stat_col): get rid of NaN. * st.c (collision_check): define before used. ------------------------------------------------------------------------ r54435 | nobu | 2016-03-30 17:21:18 +0900 (Wed, 30 Mar 2016) | 4 lines hash.c: init table with size * hash.c (rb_hash_s_create): allocate internal table with the given size. ------------------------------------------------------------------------ r54434 | nobu | 2016-03-30 16:33:21 +0900 (Wed, 30 Mar 2016) | 7 lines extension*.rdoc: fix errors [ci skip] * extension.rdoc, extension.ja.rdoc: [DOC] Fix some errors. Renamed files, wrong method names or argument types; the example GetDBM macro is now updated to the current version of the actual code. patch by Marcus Stollsteimer in [ruby-core:74690]. [Bug #12228] ------------------------------------------------------------------------ r54433 | nobu | 2016-03-30 10:27:03 +0900 (Wed, 30 Mar 2016) | 4 lines rational.c: pure declarations * rational.c (get_dat1, get_dat2): turn into pure variable declarations only, not mixed code and declarations. ------------------------------------------------------------------------ r54432 | hsbt | 2016-03-30 09:46:05 +0900 (Wed, 30 Mar 2016) | 4 lines * lib/open-uri.rb: Use `userinfo` for authenticated proxy. [fix GH-1148] Patch by @SokichiFujita * test/open-uri/test_open-uri.rb: ditto. [fix GH-1309] Patch by @jdamick ------------------------------------------------------------------------ r54423 | naruse | 2016-03-30 01:57:33 +0900 (Wed, 30 Mar 2016) | 2 lines * ext/nkf/nkf-utf8/nkf.c: Merge upstream 4f3edf80a0. patched by Anton Sivakov [Bug #12201] [Bug #12202] ------------------------------------------------------------------------ r54422 | svn | 2016-03-30 01:55:55 +0900 (Wed, 30 Mar 2016) | 1 line * 2016-03-30 ------------------------------------------------------------------------ r54421 | naruse | 2016-03-30 01:55:55 +0900 (Wed, 30 Mar 2016) | 2 lines * tool/redmine-backporter.rb: add given revision to current changests on associating the revision to the related ticket. ------------------------------------------------------------------------ r54420 | naruse | 2016-03-30 01:55:54 +0900 (Wed, 30 Mar 2016) | 1 line * tool/merger.rb: update revision.h before merge. ------------------------------------------------------------------------ r54400 | kazu | 2016-03-29 21:34:37 +0900 (Tue, 29 Mar 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54392 | naruse | 2016-03-29 19:34:54 +0900 (Tue, 29 Mar 2016) | 1 line * addr2line.c: define toupper for its use. fix r54391. ------------------------------------------------------------------------ r54391 | naruse | 2016-03-29 19:24:05 +0900 (Tue, 29 Mar 2016) | 7 lines * include/ruby/ruby.h (rb_isupper, rb_islower, rb_isalpha, rb_isdigit, rb_isalnum, rb_isxdigit, rb_isblank, rb_isspace, rb_isblank, rb_iscntrl, rb_isprint, rb_ispunct, rb_isgraph, rb_tolower, rb_toupper): use inline function to avoid function call. * include/ruby/ruby.h (rb_isascii): use inline function to clarify the logic. ------------------------------------------------------------------------ r54390 | naruse | 2016-03-29 18:59:27 +0900 (Tue, 29 Mar 2016) | 7 lines * tool/redmine-backporter.rb (backport): show merger.rb's path. * tool/redmine-backporter.rb (show): show current issue again if no ticket number is given. * tool/redmine-backporter.rb (rel): show error message if current bugs.ruby-lang.org doesn't support the API. ------------------------------------------------------------------------ r54389 | naruse | 2016-03-29 18:59:26 +0900 (Tue, 29 Mar 2016) | 2 lines * tool/merger.rb: support to backport header as backport identifier. Now you can specify by 'merge revision(s) 49254: [Backport #10738]'. ------------------------------------------------------------------------ r54383 | duerst | 2016-03-29 16:53:43 +0900 (Tue, 29 Mar 2016) | 6 lines * enc/unicode/case-folding.rb, casefold.h: Tweaked handling of 6 special cases in CaseUnfold_11_Table. * enc/unicode.c: Adjustments for above. * test/ruby/enc/test_case_mapping.rb: Tests for the above: Some tests in test_titlecase activated; test_greek added. A test in test_cherokee fixed. ------------------------------------------------------------------------ r54349 | duerst | 2016-03-29 13:30:58 +0900 (Tue, 29 Mar 2016) | 2 lines * enc/unicode.c: Cleaned up some comments. ------------------------------------------------------------------------ r54347 | duerst | 2016-03-29 13:24:55 +0900 (Tue, 29 Mar 2016) | 4 lines * enc/unicode/case-folding.rb, casefold.h: Removing data for idempotent titlecasing. * enc/unicode.c: Adjust code to data removal. ------------------------------------------------------------------------ r54346 | hsbt | 2016-03-29 12:45:32 +0900 (Tue, 29 Mar 2016) | 3 lines * lib/webrick/httpresponse.rb: Move error_body to method. It allow to override the body more easily. [fix GH-1307] * test/webrick/test_httpresponse.rb: ditto. ------------------------------------------------------------------------ r54345 | nobu | 2016-03-29 06:40:55 +0900 (Tue, 29 Mar 2016) | 6 lines remove rb_thread_t::base_block * error.c (rb_compile_err_append): rb_thread_t::base_block is no longer used. * iseq.c (rb_iseq_compile_with_option): ditto, no protection is needed. ------------------------------------------------------------------------ r54344 | svn | 2016-03-29 06:39:25 +0900 (Tue, 29 Mar 2016) | 1 line * 2016-03-29 ------------------------------------------------------------------------ r54343 | nobu | 2016-03-29 06:39:24 +0900 (Tue, 29 Mar 2016) | 9 lines remove rb_thread_t::parse_in_eval * parse.y (struct parser_params): move parse_in_eval flag from rb_thread_t. * parse.y (rb_parser_set_context): set parsing context, not only mild error flag. * iseq.c (rb_iseq_compile_with_option): the parser now refers no thread local states to be restored. * vm_eval.c (eval_string_with_cref): ditto. ------------------------------------------------------------------------ r54314 | kazu | 2016-03-28 21:25:41 +0900 (Mon, 28 Mar 2016) | 1 line * numeric.c (int_pos_p): fix typos. ------------------------------------------------------------------------ r54313 | duerst | 2016-03-28 14:54:47 +0900 (Mon, 28 Mar 2016) | 3 lines * enc/unicode.c: Refactoring in preparation for data reduction for titlecase. ------------------------------------------------------------------------ r54312 | duerst | 2016-03-28 14:36:35 +0900 (Mon, 28 Mar 2016) | 2 lines * enc/unicode.c: Minor refactoring for I WITH DOT ABOVE. ------------------------------------------------------------------------ r54311 | duerst | 2016-03-28 14:26:23 +0900 (Mon, 28 Mar 2016) | 2 lines * enc/unicode.c: Removed code now covered by data from table. ------------------------------------------------------------------------ r54310 | duerst | 2016-03-28 11:49:20 +0900 (Mon, 28 Mar 2016) | 2 lines * enc/unicode.c: Adding comments. [ci skip] ------------------------------------------------------------------------ r54309 | hsbt | 2016-03-28 11:30:28 +0900 (Mon, 28 Mar 2016) | 4 lines * lib/rubygems.rb: Fix `Gem.find_spec_for_exe` picks oldest gem. https://github.com/travis-ci/travis-ci/issues/5798 https://github.com/rubygems/rubygems/pull/1566 * test/rubygems/test_gem.rb: ditto. ------------------------------------------------------------------------ r54308 | hsbt | 2016-03-28 11:26:39 +0900 (Mon, 28 Mar 2016) | 3 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.2. Please see entries of 2.6.2 on https://github.com/rubygems/rubygems/blob/master/History.txt ------------------------------------------------------------------------ r54307 | hsbt | 2016-03-28 11:02:37 +0900 (Mon, 28 Mar 2016) | 3 lines * lib/rubygems/test_case.rb: Fix test on Windows for inconsistent temp path. https://github.com/rubygems/rubygems/pull/1554 [Bug #12193][ruby-core:74431] ------------------------------------------------------------------------ r54306 | nobu | 2016-03-28 08:19:50 +0900 (Mon, 28 Mar 2016) | 4 lines sprintf.c: refactor Rational f * sprintf.c (rb_str_format): refactor floating point format of Rational by using gereric Integer functions. ------------------------------------------------------------------------ r54305 | svn | 2016-03-28 08:18:53 +0900 (Mon, 28 Mar 2016) | 1 line * 2016-03-28 ------------------------------------------------------------------------ r54304 | nobu | 2016-03-28 08:18:52 +0900 (Mon, 28 Mar 2016) | 5 lines sprintf.c: fix buffer overflow * sprintf.c (rb_str_format): fix buffer overflow, length must be greater than precision. reported by William Bowling . ------------------------------------------------------------------------ r54303 | nobu | 2016-03-27 12:55:08 +0900 (Sun, 27 Mar 2016) | 3 lines sprintf.c: simplify * sprintf.c (rb_str_format): remove repeated calculations. ------------------------------------------------------------------------ r54302 | nobu | 2016-03-27 12:13:39 +0900 (Sun, 27 Mar 2016) | 5 lines sprintf.c: Rational f by generic Integer functions * sprintf.c (rb_str_format): convert Rational to floating point format by using gereric Integer functions, not by methods which can be overwritten. ------------------------------------------------------------------------ r54301 | svn | 2016-03-27 10:18:11 +0900 (Sun, 27 Mar 2016) | 1 line * 2016-03-27 ------------------------------------------------------------------------ r54300 | nobu | 2016-03-27 10:18:10 +0900 (Sun, 27 Mar 2016) | 3 lines gen_dummy_probes.rb: argument names * tool/gen_dummy_probes.rb: preserve macro argument names. ------------------------------------------------------------------------ r54299 | nobu | 2016-03-26 11:03:49 +0900 (Sat, 26 Mar 2016) | 4 lines test_integer.rb: refine test_round * test/ruby/test_integer.rb (test_round): refine assertions and borrow from rubyspec. ------------------------------------------------------------------------ r54298 | nobu | 2016-03-26 10:55:14 +0900 (Sat, 26 Mar 2016) | 4 lines numeric.c: rb_int2str * numeric.c (rb_int2str): conversion function to String for generic Integer. ------------------------------------------------------------------------ r54297 | nobu | 2016-03-26 10:54:50 +0900 (Sat, 26 Mar 2016) | 4 lines numeric.c: rb_int_round * numeric.c (rb_int_round): rounding function for generic Integers. ------------------------------------------------------------------------ r54296 | nobu | 2016-03-26 10:54:16 +0900 (Sat, 26 Mar 2016) | 4 lines numeric.c: basic arithmetic * numeric.c (rb_int_{uminus,plus,minus,mul,idiv,modulo}): basic arithmetic functions for generic Integers. ------------------------------------------------------------------------ r54295 | nobu | 2016-03-26 10:52:00 +0900 (Sat, 26 Mar 2016) | 4 lines numeric.c: Fixnum predicts * numeric.c (FIXNUM_{POSITIVE,NEGATIVE,ZERO}_P): predict macros only for Fixnum. ------------------------------------------------------------------------ r54294 | nobu | 2016-03-26 10:34:35 +0900 (Sat, 26 Mar 2016) | 4 lines compile.c: explicit address * compile.c (prepare_compile_error): add & to explicit address of functions to suppress warnings by old VC. ------------------------------------------------------------------------ r54293 | naruse | 2016-03-26 06:44:26 +0900 (Sat, 26 Mar 2016) | 1 line use more suitable ticket [Bug #12218] ------------------------------------------------------------------------ r54292 | naruse | 2016-03-26 06:40:49 +0900 (Sat, 26 Mar 2016) | 1 line Add patch author of r54291 ------------------------------------------------------------------------ r54291 | naruse | 2016-03-26 06:35:39 +0900 (Sat, 26 Mar 2016) | 1 line * localeinit.c (rb_locale_charmap_index): fix prototype. [Bug #12118] ------------------------------------------------------------------------ r54289 | svn | 2016-03-26 00:12:26 +0900 (Sat, 26 Mar 2016) | 1 line * 2016-03-26 ------------------------------------------------------------------------ r54288 | usa | 2016-03-26 00:12:25 +0900 (Sat, 26 Mar 2016) | 2 lines * ChangeLog: [ci skip] correct a mail address. cf. [Bug #11870] ------------------------------------------------------------------------ r54259 | duerst | 2016-03-25 16:40:49 +0900 (Fri, 25 Mar 2016) | 3 lines * test/ruby/enc/test_case_mapping.rb: Additional tests title case; some not yet activated. ------------------------------------------------------------------------ r54258 | nobu | 2016-03-25 13:38:13 +0900 (Fri, 25 Mar 2016) | 8 lines openssl: fix build when NPN is disabled by OpenSSL * ext/openssl/extconf.rb: check SSL_CTX_set_next_proto_select_cb function rather than OPENSSL_NPN_NEGOTIATED macro. it exists even if it is disabled by OpenSSL configuration. [ruby-core:74384] [Bug #12182] * ext/openssl/ossl_ssl.c: update #ifdef(s) as above. * test/openssl/test_ssl.rb: skip NPN tests if NPN is disabled. ------------------------------------------------------------------------ r54257 | nobu | 2016-03-25 11:08:39 +0900 (Fri, 25 Mar 2016) | 4 lines fix URI::HTTP.new example * lib/uri/http.rb (URI::HTTP#initialize): [DOC] fix example, missing mandatory arguments. [ruby-core:74540] [Bug #12215] ------------------------------------------------------------------------ r54256 | naruse | 2016-03-25 01:51:30 +0900 (Fri, 25 Mar 2016) | 2 lines * thread_pthread.c (reserve_stack): fix reserving position where the stack growing bottom to top. [Bug #12118] ------------------------------------------------------------------------ r54255 | nobu | 2016-03-25 01:10:43 +0900 (Fri, 25 Mar 2016) | 7 lines mkmf: Unquote directory strings * lib/mkmf.rb (find_executable0): On Windows, it is actually valid to surround individual PATH directory entries with double quotes. Remove these before joining the path as otherwise the literal quotes would become part of the path, resulting in the executable not to be found. [Fix GH-1305] ------------------------------------------------------------------------ r54254 | nobu | 2016-03-25 01:04:51 +0900 (Fri, 25 Mar 2016) | 4 lines test_find_executable.rb: each_exts * test/mkmf/test_find_executable.rb (each_exts): extract common setup. ------------------------------------------------------------------------ r54253 | nobu | 2016-03-25 00:49:43 +0900 (Fri, 25 Mar 2016) | 4 lines strftime.c: Bignum conversion * strftime.c (format_value): convert from Bignum to String, instead of rb_str_format. ------------------------------------------------------------------------ r54252 | nobu | 2016-03-25 00:12:56 +0900 (Fri, 25 Mar 2016) | 4 lines strftime.c: set buffer length * strftime.c (FMTV): set the buffer length before appending to keep just put part. ------------------------------------------------------------------------ r54251 | svn | 2016-03-25 00:01:40 +0900 (Fri, 25 Mar 2016) | 1 line * 2016-03-25 ------------------------------------------------------------------------ r54250 | nobu | 2016-03-25 00:01:39 +0900 (Fri, 25 Mar 2016) | 4 lines strftime.c: refine r54248 * strftime.c (FMT_PRECISION): eliminate side effects. [Bug #12213] ------------------------------------------------------------------------ r54249 | nobu | 2016-03-24 22:39:42 +0900 (Thu, 24 Mar 2016) | 1 line ChangeLog: remove duplicate entry [ci skip] ------------------------------------------------------------------------ r54248 | nobu | 2016-03-24 22:38:20 +0900 (Thu, 24 Mar 2016) | 4 lines strftime.c: remove recursive-assignments * strftime.c (FMT, FMTV): remove recursive-assignments to get rid of undefined behavior. [ruby-core:74532] [Bug #12213] ------------------------------------------------------------------------ r54246 | nobu | 2016-03-24 17:44:03 +0900 (Thu, 24 Mar 2016) | 5 lines strftime.c: fix FMTV * strftime.c (FMT_PADDING): extract format for padding. * strftime.c (FMT_PRECISION): extract precision formula. * strftime.c (FMTV): append formatted string to expand the result. ------------------------------------------------------------------------ r54245 | nobu | 2016-03-24 14:20:22 +0900 (Thu, 24 Mar 2016) | 4 lines strftime.c: case conversion * strftime.c (STRFTIME): deal with case conversion flags for recursive formats. ------------------------------------------------------------------------ r54244 | nobu | 2016-03-24 13:27:35 +0900 (Thu, 24 Mar 2016) | 4 lines date_core.c: unused variable * ext/date/date_core.c (dt_lite_jisx0301): remove no longer used variable. ------------------------------------------------------------------------ r54243 | nobu | 2016-03-24 12:43:28 +0900 (Thu, 24 Mar 2016) | 4 lines date_core.c: append strings * ext/date/date_core.c (dt_lite_iso8601): strftimev() always returns a String, so append them directly. ------------------------------------------------------------------------ r54242 | nobu | 2016-03-24 12:43:06 +0900 (Thu, 24 Mar 2016) | 5 lines date_core.c: fix jisx0301 and iso8601 * ext/date/date_core.c (d_lite_jisx0301, iso8601_timediv), (dt_lite_jisx0301): format by the format string in local buffer to prevent intermediate strings from GC. ------------------------------------------------------------------------ r54241 | nobu | 2016-03-24 12:42:37 +0900 (Thu, 24 Mar 2016) | 4 lines date_core.c: fix inspect * ext/date/date_core.c (mk_inspect_raw, mk_inspect): inspect by "%+"PRIsVALUE, to prevent intermediate strings from GC. ------------------------------------------------------------------------ r54240 | svn | 2016-03-24 11:43:35 +0900 (Thu, 24 Mar 2016) | 1 line * 2016-03-24 ------------------------------------------------------------------------ r54239 | nobu | 2016-03-24 11:43:34 +0900 (Thu, 24 Mar 2016) | 5 lines strftime.c: fix false failure * strftime.c (rb_strftime_with_timespec): remove unnecessary check, as `s` equals to `endp` when recursed STRFTIME resized the capacity same as the size. ------------------------------------------------------------------------ r54238 | mrkn | 2016-03-23 21:50:24 +0900 (Wed, 23 Mar 2016) | 1 line * enum.c (ary_inject_op): put subtract operation out of if-clause. ------------------------------------------------------------------------ r54237 | mrkn | 2016-03-23 21:41:00 +0900 (Wed, 23 Mar 2016) | 2 lines * enum.c (ary_inject_op): Use Kahan's compensated summation algorithm for summing up float values. ------------------------------------------------------------------------ r54236 | nobu | 2016-03-23 20:57:01 +0900 (Wed, 23 Mar 2016) | 9 lines strftime.c: format in String * strftime.c (rb_strftime_with_timespec): append formatted results to the given string with expanding, and also deal with NUL chars. * strftime.c (rb_strftime, rb_strftime_timespec): return formatted string, not the length put in the given buffer. * time.c (rb_strftime_alloc): no longer needs to retry with reallocating buffers. * time.c (time_strftime): no longer needs to split by NUL chars. ------------------------------------------------------------------------ r54235 | naruse | 2016-03-23 14:25:29 +0900 (Wed, 23 Mar 2016) | 3 lines * lib/rdoc/ri/driver.rb (interactive): rescue NotFoundError raised in expand_name. (display_name rescues NotFoundError by itself, the original logic looks buggy...) ------------------------------------------------------------------------ r54234 | nobu | 2016-03-23 11:44:54 +0900 (Wed, 23 Mar 2016) | 5 lines remove SIGN_EXTEND_CHAR macro * marshal.c (r_long): cast to `signed char`, which is used already, instead of SIGN_EXTEND_CHAR. * parse.y: SIGN_EXTEND_CHAR is no longer used. [Fix GH-1302] ------------------------------------------------------------------------ r54233 | nobu | 2016-03-23 11:38:49 +0900 (Wed, 23 Mar 2016) | 8 lines GNUmakefile.in: fix MSYS2_ARG_CONV_EXCL * cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL_PARAM): * add missing parentheses and remove double quotes. * rename to get rid of recursive references. * as --excludes-dir option is for a path name, its argument should be converted. [ruby-dev:49526] [Bug #12199] ------------------------------------------------------------------------ r54232 | svn | 2016-03-23 10:39:42 +0900 (Wed, 23 Mar 2016) | 1 line * 2016-03-23 ------------------------------------------------------------------------ r54231 | hsbt | 2016-03-23 10:39:41 +0900 (Wed, 23 Mar 2016) | 2 lines * variable.c: Added documentation about order of `Module#constants` [ci skip][Bug #12121][ruby-dev:49505][fix GH-1301] ------------------------------------------------------------------------ r54230 | svn | 2016-03-22 21:08:31 +0900 (Tue, 22 Mar 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r54229 | duerst | 2016-03-22 21:08:30 +0900 (Tue, 22 Mar 2016) | 6 lines * include/ruby/oniguruma.h: Additional flag for characters that are titlecase. * enc/unicode/case-folding.rb, casefold.h: Using above flag in data. * enc/unicode.c: Marking capitalized character as unmodified if it is already titlecase. * test/ruby/enc/test_case_mapping.rb: Tests for above functionality. ------------------------------------------------------------------------ r54228 | nobu | 2016-03-22 14:19:01 +0900 (Tue, 22 Mar 2016) | 4 lines parse.y: lambda indentation check * parse.y (lambda_body, parser_yylex): warn mismatched indentation of lambda block. ------------------------------------------------------------------------ r54227 | nobu | 2016-03-22 14:13:55 +0900 (Tue, 22 Mar 2016) | 4 lines test_rubyoptions.rb: other indentation checks * test/ruby/test_rubyoptions.rb (test_indentation_check): assert warnings against other keyword mismatches. ------------------------------------------------------------------------ r54226 | usa | 2016-03-22 11:41:24 +0900 (Tue, 22 Mar 2016) | 3 lines * time.c (wmul): wrong condition. fixed many test failures on 32bit and LLP64 platforms. ------------------------------------------------------------------------ r54225 | usa | 2016-03-22 10:37:01 +0900 (Tue, 22 Mar 2016) | 7 lines * time.c (wdiv, wmod): wdivmod0() assumes the 3rd and the 4th arguments are valid pointers. maybe checking them in wdivmod0() is better manner, but I guess that passing real dummy pointers may be faster than checking and branching in wdivmod0(). this commit fixes SEGV on 32bit and LLP64 platforms. ------------------------------------------------------------------------ r54224 | usa | 2016-03-22 10:24:55 +0900 (Tue, 22 Mar 2016) | 2 lines * time.c (divmodv): void function never returns any value. ------------------------------------------------------------------------ r54223 | nobu | 2016-03-22 10:11:03 +0900 (Tue, 22 Mar 2016) | 6 lines test/unit.rb: defer failures in non-replace mode * test/lib/test/unit.rb (Test::Unit::StatusLine#failed): print failed messages only if replacing mode, otherwise defer them until the end, to get rid of interleaving failures with progress messages. refix r54195. ------------------------------------------------------------------------ r54222 | naruse | 2016-03-22 04:14:27 +0900 (Tue, 22 Mar 2016) | 1 line fix typo ------------------------------------------------------------------------ r54221 | naruse | 2016-03-22 03:57:30 +0900 (Tue, 22 Mar 2016) | 10 lines * time.c (MUL_OVERFLOW_FIXWV_P): defined for FIXWV. * time.c (wmul): use MUL_OVERFLOW_FIXWV_P and only switch. * time.c (wmul): use mul which has Fixnum optimization. * time.c (rb_time_magnify): If WIDEVALUE_IS_WIDER, wmul() has the same optimized logic, else mul() has also the similar logic for Fixnum. * time.c (rb_time_unmagnify): almost ditto. ------------------------------------------------------------------------ r54220 | naruse | 2016-03-22 03:57:25 +0900 (Tue, 22 Mar 2016) | 1 line fix typo ------------------------------------------------------------------------ r54219 | svn | 2016-03-22 03:19:16 +0900 (Tue, 22 Mar 2016) | 1 line * 2016-03-22 ------------------------------------------------------------------------ r54218 | naruse | 2016-03-22 03:19:15 +0900 (Tue, 22 Mar 2016) | 14 lines * time.c (divmodv): add the case both arguments are Fixnum. * time.c (wquo): use quo which has Fixnum optimization. * time.c (wdivmod0): added for WIDEVALUE_IS_WIDER. * time.c (wdivmod): use wdivmod0 and divmodv. divmodv has Fixnum optimization. * time.c (wdiv): use wdivmod0 and div to avoid the use of divmodv which calls id_quo whose return value is array. * time.c (wmod): use wdivmod0 and mod to avoid the use of divmodv which calls id_quo whose return value is array. ------------------------------------------------------------------------ r54217 | nobu | 2016-03-21 22:53:25 +0900 (Mon, 21 Mar 2016) | 4 lines suppress warning * iseq.c (rb_iseq_compile_with_option): suppress maybe-uninitialized warning by gcc 4.8. ------------------------------------------------------------------------ r54216 | naruse | 2016-03-21 22:36:03 +0900 (Mon, 21 Mar 2016) | 3 lines * internal.h (rb_fix_divmod_fix): like r54213, use FIX2NUM only if x == FIXNUM_MIN && y == -1. This must be a rare case and it is expected compiler to handle well. ------------------------------------------------------------------------ r54215 | nobu | 2016-03-21 22:31:30 +0900 (Mon, 21 Mar 2016) | 1 line time.c (quo): fix missing return ------------------------------------------------------------------------ r54214 | naruse | 2016-03-21 22:21:12 +0900 (Mon, 21 Mar 2016) | 1 line fix commit miss ------------------------------------------------------------------------ r54213 | naruse | 2016-03-21 22:17:45 +0900 (Mon, 21 Mar 2016) | 4 lines * time.c (mod): Add Fixnum case. * time.c (quo): c can be Fixnum except a == FIXNUM_MIN && b == -1. Such case can be optimized out because quo()'s argument is constant. ------------------------------------------------------------------------ r54212 | nobu | 2016-03-21 22:09:26 +0900 (Mon, 21 Mar 2016) | 4 lines internal.h: fix no-DLONG case * internal.h (rb_fix_mul_fix): multiply converted values, not object VALUEs. ------------------------------------------------------------------------ r54211 | nobu | 2016-03-21 20:18:31 +0900 (Mon, 21 Mar 2016) | 6 lines suppress msys2 pathname conversion * common.mk (TEST_EXCLUDES, EXCLUDE_TESTFRAMEWORK): use full spell long option. * cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL): suppress path name conversions by msys2. [ruby-dev:49525] [Bug #12199] ------------------------------------------------------------------------ r54210 | nobu | 2016-03-21 19:09:33 +0900 (Mon, 21 Mar 2016) | 5 lines string.c: skip invalid char gap * string.c (enc_succ_alnum_char): try to skip an invalid character gap between GREEK CAPITAL RHO and SIGMA. [ruby-core:74478] [Bug #12204] ------------------------------------------------------------------------ r54209 | nobu | 2016-03-21 18:55:50 +0900 (Mon, 21 Mar 2016) | 4 lines node.c: mark u3 of NODE_MATCH2 * node.c (rb_gc_mark_node): NODE_MATCH2 can have nd_args, u3, since r54100. ------------------------------------------------------------------------ r54208 | nobu | 2016-03-21 18:55:29 +0900 (Mon, 21 Mar 2016) | 4 lines test/unit.rb: show crashed file * test/lib/test/unit.rb (after_worker_down): show failed file name if worker crashed. ------------------------------------------------------------------------ r54207 | svn | 2016-03-21 03:28:22 +0900 (Mon, 21 Mar 2016) | 1 line * 2016-03-21 ------------------------------------------------------------------------ r54206 | naruse | 2016-03-21 03:28:21 +0900 (Mon, 21 Mar 2016) | 1 line fix r54203's typo (no DLONG case) ------------------------------------------------------------------------ r54205 | usa | 2016-03-20 21:18:28 +0900 (Sun, 20 Mar 2016) | 3 lines * internal.h (rb_int128t2big): declare only when HAVE_INT128_T. fixed a compile error with VC++ introduced at r54203. ------------------------------------------------------------------------ r54204 | nobu | 2016-03-20 20:26:17 +0900 (Sun, 20 Mar 2016) | 1 line time.c (mul): fix missing return. ------------------------------------------------------------------------ r54203 | naruse | 2016-03-20 20:10:43 +0900 (Sun, 20 Mar 2016) | 12 lines * internal.h (DLONG): defined if long is 32bit (and LONG_LONG is 64bit; but LONG_LONG is always defined as 64bit), or there's int128_t. * internal.h (DL2NUM): defined if DLONG is defined. * internal.h (rb_fix_mul_fix): defined for `Fixnum * Fixnum`. * insns.def (opt_mul): use rb_fix_mul_fix(). * numeric.c (fix_mul): ditto. * time.c (mul): ditto. ------------------------------------------------------------------------ r54202 | nobu | 2016-03-20 19:09:14 +0900 (Sun, 20 Mar 2016) | 4 lines bignum.c: micro optimization * bignum.c (rb_big_cmp): micro optimization of Fixnum comparison. as SIGNED_VALUE and Fixnum have same sign-bits and same order. ------------------------------------------------------------------------ r54201 | nobu | 2016-03-20 18:53:50 +0900 (Sun, 20 Mar 2016) | 5 lines numeric.c: optimize Fixnum<->Bignum comparisons * numeric.c (fix_gt, fix_ge, fix_lt, fix_le): optimize comparisons Fixnum against Bignum by rb_big_cmp in inversed order without new Bignum instance. ------------------------------------------------------------------------ r54200 | naruse | 2016-03-20 18:47:20 +0900 (Sun, 20 Mar 2016) | 5 lines * time.c (add): remove FIXABLE() which is in LONG2NUM(). * time.c (sub): ditto. * time.c (mul): ditto. ------------------------------------------------------------------------ r54199 | naruse | 2016-03-20 04:48:26 +0900 (Sun, 20 Mar 2016) | 4 lines * bignum.c (rb_big_cmp): reduce the code. * bignum.c (rb_big_eq): If normalized bignum is still bignum, it must be larger than fixnum. ------------------------------------------------------------------------ r54198 | mrkn | 2016-03-20 01:51:27 +0900 (Sun, 20 Mar 2016) | 1 line ChangeLog: fix typo [ci skip] ------------------------------------------------------------------------ r54197 | svn | 2016-03-20 01:08:53 +0900 (Sun, 20 Mar 2016) | 1 line * 2016-03-20 ------------------------------------------------------------------------ r54196 | mrkn | 2016-03-20 01:08:52 +0900 (Sun, 20 Mar 2016) | 4 lines * include/ruby/intern.h (rb_big_odd_p, rb_big_even_p): move to internal.h so that they are exported only for ruby itself. * internal.h (rb_big_odd_p, rb_big_even_p): ditto. ------------------------------------------------------------------------ r54195 | nobu | 2016-03-19 21:56:25 +0900 (Sat, 19 Mar 2016) | 5 lines test/unit.rb: defer failures in verbose mode * test/lib/test/unit.rb (Test::Unit::StatusLine#failed): defer failed messages until the end in verbose mode, to get rid of interleaving failures with progress messages. ------------------------------------------------------------------------ r54194 | nobu | 2016-03-19 21:53:36 +0900 (Sat, 19 Mar 2016) | 4 lines fix r54193 * numeric.c (fix_cmp): invert the result as the comarison is inverted. ------------------------------------------------------------------------ r54193 | naruse | 2016-03-19 19:06:57 +0900 (Sat, 19 Mar 2016) | 2 lines * numeric.c (fix_cmp): use rb_big_cmp if x is Fixnum and y is Bignum. rb_big_cmp handles such case smartly with big_norm. ------------------------------------------------------------------------ r54192 | mrkn | 2016-03-19 18:43:35 +0900 (Sat, 19 Mar 2016) | 5 lines * numeric.c (int_to_f): raise NotImplementedError when a receiver class is unknown. * test/-ext-/integer/test_my_integer.rb (test_my_integer_to_f): modify a test for the above change. ------------------------------------------------------------------------ r54191 | mrkn | 2016-03-19 18:29:29 +0900 (Sat, 19 Mar 2016) | 1 line ChangeLog: fix filename [ci skip] ------------------------------------------------------------------------ r54190 | mrkn | 2016-03-19 18:28:12 +0900 (Sat, 19 Mar 2016) | 10 lines * bignum.c (Bignum#<=>): remove it because they are unified with Integer#<=>. * numeric.c (Integer#<=>, Fixnum#<=>): move <=> method from Fixnum to Integer. * numeric.c (int_cmp): add this method for Integer#<=>. * test/-ext-/integer/test_my_integer.rb (test_my_integer_cmp): add a test to examine Integer#<=> for unknown subclasses. ------------------------------------------------------------------------ r54189 | nobu | 2016-03-19 14:46:20 +0900 (Sat, 19 Mar 2016) | 9 lines SyntaxError message at iseq compile * iseq.c (rb_iseq_compile_with_option): make the parser in mild error. * load.c (rb_load_internal0): ditto. * parse.y (yycompile0): return the error message within the error to be raised. [Feature #11951] * parse.y (parser_compile_error): accumulate error messages in the error_buffer. ------------------------------------------------------------------------ r54188 | nobu | 2016-03-19 11:49:21 +0900 (Sat, 19 Mar 2016) | 4 lines test_iseq.rb: shorten * test/ruby/test_iseq.rb (TestISeq): use the utility method to get rid of warnings and the alias to shorten. ------------------------------------------------------------------------ r54187 | naruse | 2016-03-19 04:06:33 +0900 (Sat, 19 Mar 2016) | 3 lines * time.c (LOCALTIME): organize #ifdefs. * time.c (GMTIME): define only ifndef HAVE_STRUCT_TM_TM_GMTOFF. ------------------------------------------------------------------------ r54186 | naruse | 2016-03-19 04:06:32 +0900 (Sat, 19 Mar 2016) | 4 lines * configure.in (rb_cv_member_struct_tm_tm_gmtoff): For Linux (glibc) define _BSD_SOURCE for time.h to define struct tm.tm_gmtoff. * time.c: define _BSD_SOURCE at the top. ------------------------------------------------------------------------ r54185 | nobu | 2016-03-19 03:09:52 +0900 (Sat, 19 Mar 2016) | 3 lines parse.y: mark debug_buffer * parse.y (parser_mark): mark debug_buffer. ------------------------------------------------------------------------ r54184 | odaira | 2016-03-19 03:05:47 +0900 (Sat, 19 Mar 2016) | 3 lines * test/-ext-/time/test_new.rb (test_timespec_new): change a gmtoff test to a better one that does not depend on whether the current time is in summer time or not. ------------------------------------------------------------------------ r54183 | nobu | 2016-03-19 00:38:10 +0900 (Sat, 19 Mar 2016) | 1 line ChangeLog: fix typo [ci skip] ------------------------------------------------------------------------ r54182 | svn | 2016-03-19 00:02:46 +0900 (Sat, 19 Mar 2016) | 1 line * 2016-03-19 ------------------------------------------------------------------------ r54181 | mrkn | 2016-03-19 00:02:45 +0900 (Sat, 19 Mar 2016) | 4 lines * bignum.c (rb_big_to_f, Bignum#to_f): removed them because they are unified with int_to_f and Integer#to_f. * numeric.c (int_to_f): treat Bignum values directly. ------------------------------------------------------------------------ r54180 | svn | 2016-03-18 23:52:48 +0900 (Fri, 18 Mar 2016) | 1 line * properties. ------------------------------------------------------------------------ r54179 | mrkn | 2016-03-18 23:52:46 +0900 (Fri, 18 Mar 2016) | 15 lines * numeric.c (int_to_f, fix_to_f): rename fix_to_f to int_to_f, and add treatment for subclasses which don't have definitions of to_f method. * numeric.c (Integer#to_f, Fixnum#to_f): move to_f method from Fixnum to Integer. * ext/-test-/integer/my_integer.rb: define helper class for testing to_f method for a subclass of Integer. * ext/-test-/integer/extconf.rb: ditto. * ext/-test-/integer/init.c: ditto. * test/-ext-/integer/test_my_integer.rb: examine to_f method for a subclass of Integer. ------------------------------------------------------------------------ r54178 | mrkn | 2016-03-18 22:33:42 +0900 (Fri, 18 Mar 2016) | 3 lines * include/ruby/intern.h (rb_big_hash): Move to internal.h. * internal.h: ditto. ------------------------------------------------------------------------ r54177 | mrkn | 2016-03-18 22:11:09 +0900 (Fri, 18 Mar 2016) | 4 lines * bignum.c (Bignum#eql?): remove its definition because it is unified with Numeric#eql?. * numeric.c (num_eql): treat Bignum values directly. ------------------------------------------------------------------------ r54176 | mrkn | 2016-03-18 21:57:40 +0900 (Fri, 18 Mar 2016) | 4 lines * bignum.c (rb_big_to_s, Bignum#to_s): remove its definition because it is unified with Integer#to_s. * numeric.c (int_to_s): treat Bignum values directly. ------------------------------------------------------------------------ r54175 | mrkn | 2016-03-18 21:33:28 +0900 (Fri, 18 Mar 2016) | 3 lines * numeric.c (int_to_s): Move from flo_to_s. * numeric.c (Integer#to_s): Move from Fixnum#to_s. ------------------------------------------------------------------------ r54174 | nobu | 2016-03-18 17:00:57 +0900 (Fri, 18 Mar 2016) | 4 lines test_file_exhaustive.rb: strict check test_dirname * test/ruby/test_file_exhaustive.rb (test_dirname): assert same as the parent directory, not ascendant directories. ------------------------------------------------------------------------ r54173 | nobu | 2016-03-18 16:37:07 +0900 (Fri, 18 Mar 2016) | 3 lines gc.c: fix r54115 * gc.c (gc_page_sweep): use the argument objspace. ------------------------------------------------------------------------ r54172 | nobu | 2016-03-18 16:22:26 +0900 (Fri, 18 Mar 2016) | 5 lines parse.y: Fix for nth_ref_max * parse.y (parse_numvar): NTH_REF must be less than a half of INT_MAX, as it is left-shifted to be ORed with back-ref flag. [ruby-core:74444] [Bug#12192] [Fix GH-1296] ------------------------------------------------------------------------ r54171 | nobu | 2016-03-18 15:59:10 +0900 (Fri, 18 Mar 2016) | 4 lines file.c: simplify rb_file_s_split * file.c (rb_file_s_split): use rb_file_dirname instead of rb_file_s_dirname with unused Qnil. ------------------------------------------------------------------------ r54170 | nobu | 2016-03-18 12:25:32 +0900 (Fri, 18 Mar 2016) | 3 lines gc.c: fix commit miss r54145 * gc.c (tick): fix missing close parenthesis. [Fix GH-1291] ------------------------------------------------------------------------ r54169 | sonots | 2016-03-18 10:26:12 +0900 (Fri, 18 Mar 2016) | 2 lines * ext/date/date_core.c (datetime_to_time): preserve timezone info [Bug #12189] [Fix GH-1295] ------------------------------------------------------------------------ r54168 | mrkn | 2016-03-18 10:22:38 +0900 (Fri, 18 Mar 2016) | 9 lines * bignum.c (rb_big_hash): make it public function to be available in other source files, and remove documentation comment for Bignum#hash. * bignum.c (Bignum#hash): remove its definition because it is unified with Object#hash. * include/ruby/intern.h (rb_big_hash): add a prototype declaration. * hash.c (any_hash): treat Bignum values directly. ------------------------------------------------------------------------ r54167 | sonots | 2016-03-18 02:46:22 +0900 (Fri, 18 Mar 2016) | 3 lines * lib/time.rb (parse, strptime): Fix Time.parse/strptime does not have compatibility with DateTime.parse/strptime in terms of parsing timezone [Bug #12190] [Fix GH-1297] ------------------------------------------------------------------------ r54166 | mrkn | 2016-03-18 02:17:08 +0900 (Fri, 18 Mar 2016) | 2 lines * numeric.c (fix_zero_p, fix_even_p, fix_odd_p): remove needless functions. ------------------------------------------------------------------------ r54165 | mrkn | 2016-03-18 02:15:33 +0900 (Fri, 18 Mar 2016) | 3 lines * numeric.c (int_even_p): treat Fixnum and Bignum values directly. I forgot include this commit in the previous one. ------------------------------------------------------------------------ r54164 | mrkn | 2016-03-18 02:11:42 +0900 (Fri, 18 Mar 2016) | 12 lines * bignum.c (Bignum#even?, Bignum#odd?): remove definitions because they are unified with Integer#even? and Integer#odd?. * numeric.c (Fixnum#zero?, Fixnum#even?, Fixnum#odd?): remove definitions because they are unified with Numeric#zero?, Integer#even?, and Integer#odd?. * numeric.c (num_zero_p, int_even_p, int_odd_p): treat Fixnum and Bignum values directly. * test/ruby/test_integer.rb (test_odd_p_even_p): remove meaningless test case. ------------------------------------------------------------------------ r54163 | mrkn | 2016-03-18 02:07:29 +0900 (Fri, 18 Mar 2016) | 5 lines * bignum.c (rb_big_even_p, rb_big_odd_p): make them public functions to be available in other source files. * include/ruby/intern.h (rb_big_even_p, rb_big_odd_p): add prototype declarations. ------------------------------------------------------------------------ r54162 | akr | 2016-03-18 00:27:05 +0900 (Fri, 18 Mar 2016) | 4 lines * enum.c (ary_inject_op): Implement the specialized code for sum of float numbers. ------------------------------------------------------------------------ r54161 | svn | 2016-03-18 00:18:59 +0900 (Fri, 18 Mar 2016) | 1 line * 2016-03-18 ------------------------------------------------------------------------ r54160 | svn | 2016-03-18 00:18:59 +0900 (Fri, 18 Mar 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r54159 | mame | 2016-03-18 00:18:59 +0900 (Fri, 18 Mar 2016) | 2 lines * numeric.c (num_step): use rb_equal for zero check. rb_num_coerce_cmp created an object which caused extra overhead. ------------------------------------------------------------------------ r54158 | nobu | 2016-03-17 22:21:36 +0900 (Thu, 17 Mar 2016) | 4 lines ruby.h: remove RB_GC_GUARD_PTR * include/ruby/ruby.h (RB_GC_GUARD_PTR): remove intermediate macro, and expand for each RB_GC_GUARD. [Fix GH-1293] ------------------------------------------------------------------------ r54157 | nobu | 2016-03-17 22:19:02 +0900 (Thu, 17 Mar 2016) | 4 lines compile.c: strict condition * compile.c (iseq_specialized_instruction): specialize only concatenated newarray and send, no labels and no adjusts. ------------------------------------------------------------------------ r54156 | nobu | 2016-03-17 22:08:35 +0900 (Thu, 17 Mar 2016) | 4 lines compile.c: move newarray specialization * compile.c (iseq_specialized_instruction): move specialization for opt_newarray_max/min from translation phase. ------------------------------------------------------------------------ r54155 | mame | 2016-03-17 21:52:47 +0900 (Thu, 17 Mar 2016) | 1 line * array.c, enum.c: make rdoc format consistent. ------------------------------------------------------------------------ r54154 | mame | 2016-03-17 21:49:19 +0900 (Thu, 17 Mar 2016) | 1 line * NEWS: add Array#max, #min, and the optimization. [Feature #12172] ------------------------------------------------------------------------ r54153 | mame | 2016-03-17 21:47:31 +0900 (Thu, 17 Mar 2016) | 5 lines * compile.c (NODE_CALL): add optimization shortcut for Array#max/min. Now `[x, y].max` is optimized so that a temporal array object is not created in some condition. * insns.def (opt_newarray_max, opt_newarray_min): added. ------------------------------------------------------------------------ r54152 | mame | 2016-03-17 21:37:20 +0900 (Thu, 17 Mar 2016) | 6 lines * array.c (rb_ary_max, rb_ary_min): implement Array#max and min with arguments. replace super call with rb_nmin_run. * enum.c (nmin_run): exported (as rb_nmin_run). * internal.h: added a prototype for rb_nmin_run. ------------------------------------------------------------------------ r54151 | mame | 2016-03-17 21:25:40 +0900 (Thu, 17 Mar 2016) | 2 lines * array.c (rb_ary_max, rb_ary_min): implement a block by itself instead of delegating Enumerable#max/min. ------------------------------------------------------------------------ r54150 | mame | 2016-03-17 21:14:21 +0900 (Thu, 17 Mar 2016) | 11 lines * array.c (rb_ary_max, rb_ary_min): Array#max and Array#min added. [Feature #12172] * internal.h (OPTIMIZED_CMP): moved from enum.c so that array.c can use it. * test/ruby/test_array.rb (test_max, test_min): tests for Array#max and Array#min. * test/ruby/test_enum.rb (test_max, test_min): revised a bit to test Enumerable#max and #min explicitly. ------------------------------------------------------------------------ r54149 | mame | 2016-03-17 21:03:48 +0900 (Thu, 17 Mar 2016) | 6 lines * internal.c: struct cmp_opt_data added for refactoring out a data structure for CMP_OPTIMIZABLE * array.c (struct ary_sort_data): use struct cmp_opt_data. * enum.c (struct min_t, max_t, min_max_t): use struct cmp_opt_data. ------------------------------------------------------------------------ r54148 | akr | 2016-03-17 20:55:58 +0900 (Thu, 17 Mar 2016) | 3 lines * enum.c (ary_inject_op): Extracted from enum_inject. ------------------------------------------------------------------------ r54147 | akr | 2016-03-17 18:50:19 +0900 (Thu, 17 Mar 2016) | 8 lines * enum.c (enum_inject): Implement the specialized code for sum of integers including Bignums. * internal.h (rb_fix_plus): Declared to be usable from enum_inject. * numeric.c (rb_fix_plus): Defined. ------------------------------------------------------------------------ r54146 | nobu | 2016-03-17 17:20:29 +0900 (Thu, 17 Mar 2016) | 4 lines thread_sync.c: Update rdoc for Queue [skip ci] * thread_sync.c: [DOC] Update documentation for Queue class description. [Fix GH-1292] ------------------------------------------------------------------------ r54145 | nobu | 2016-03-17 17:14:53 +0900 (Thu, 17 Mar 2016) | 10 lines gc.c: tick for POWER arch * gc.c (tick): Use __builtin_ppc_get_timebase for POWER arch. [Fix GH-1291] This gives a little performance improvement user system total real Before: 20.870000 0.000000 20.870000 ( 20.893959) After: 20.720000 0.000000 20.720000 ( 20.733970) ------------------------------------------------------------------------ r54144 | naruse | 2016-03-17 15:01:11 +0900 (Thu, 17 Mar 2016) | 15 lines * lib/securerandom.rb (gen_random): to avoid blocking on Windows. On Windows OpenSSL RAND_bytes (underlying implementation is RAND_poll in crypto/rand/rand_win.c) may be blocked at NetStatisticsGet. https://wiki.openssl.org/index.php/Random_Numbers#Windows_Issues Instead of this, use Random.raw_seed directory (whose implementation CryptGenRandom is one of the source of entropy of RAND_poll on Windows). https://wiki.openssl.org/index.php/Random_Numbers Note: CryptGenRandom function is PRNG and doesn't check its entropy, so it won't block. [Bug #12139] https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa379942.aspx https://tools.ietf.org/html/rfc4086#section-7.1.3 https://eprint.iacr.org/2007/419.pdf http://www.cs.huji.ac.il/~dolev/pubs/thesis/msc-thesis-leo.pdf ------------------------------------------------------------------------ r54143 | nobu | 2016-03-17 14:47:44 +0900 (Thu, 17 Mar 2016) | 3 lines compile.c: bit flag * compile.c (LABEL): turn `set` flag a bit field. ------------------------------------------------------------------------ r54142 | nobu | 2016-03-17 14:22:57 +0900 (Thu, 17 Mar 2016) | 4 lines assertions.rb: fix result of assert_nothing_raised * test/lib/test/unit/assertions.rb (assert_nothing_raised): do not discard the result of the given block. ------------------------------------------------------------------------ r54141 | nobu | 2016-03-17 13:31:10 +0900 (Thu, 17 Mar 2016) | 5 lines test_optimization.rb: tailcall * test/ruby/test_optimization.rb (TestRubyOptimization.tailcall): helper method to compile methods with tailcall optimization enabled. ------------------------------------------------------------------------ r54140 | duerst | 2016-03-17 12:09:00 +0900 (Thu, 17 Mar 2016) | 4 lines * enc/unicode.c: Fixed two macro definitions. * test/ruby/enc/test_case_mapping.rb: Test cases that detected the above bugs. ------------------------------------------------------------------------ r54139 | nobu | 2016-03-17 11:36:28 +0900 (Thu, 17 Mar 2016) | 5 lines socket/option.c: accurate condition * ext/socket/option.c (inspect_tcpi_msec): more accurate condition for TCPI msec member inspection function. [ruby-core:74388] [Bug #12185] ------------------------------------------------------------------------ r54138 | nobu | 2016-03-17 10:23:03 +0900 (Thu, 17 Mar 2016) | 4 lines test_marshal.rb: assert bad link * test/ruby/test_marshal.rb (test_marshal_load_r_prepare_reference_crash): assert an ArgumentError exception at a bad link. ------------------------------------------------------------------------ r54137 | odaira | 2016-03-17 08:20:14 +0900 (Thu, 17 Mar 2016) | 3 lines * test/-ext-/time/test_new.rb (test_timespec_new): Time#gmtoff values are the same only when both or neither of the Time objects are in summer time (daylight-saving time). ------------------------------------------------------------------------ r54136 | drbrain | 2016-03-17 07:18:12 +0900 (Thu, 17 Mar 2016) | 3 lines * marshal.c (r_object0): raise ArgumentError when linking to undefined object. ------------------------------------------------------------------------ r54135 | mrkn | 2016-03-17 00:53:08 +0900 (Thu, 17 Mar 2016) | 1 line * test/ruby/test_bignum.rb: Make sure to use Bignum values in the tests. ------------------------------------------------------------------------ r54134 | svn | 2016-03-17 00:04:11 +0900 (Thu, 17 Mar 2016) | 1 line * 2016-03-17 ------------------------------------------------------------------------ r54133 | nobu | 2016-03-17 00:04:11 +0900 (Thu, 17 Mar 2016) | 4 lines transcode-tblgen.rb: chomp invalid line * tool/transcode-tblgen.rb (citrus_decode_mapsrc): remove newline from invalid line in exception messages. ------------------------------------------------------------------------ r54132 | nobu | 2016-03-16 23:51:40 +0900 (Wed, 16 Mar 2016) | 4 lines transcode-tblgen.rb: binary mode * tool/transcode-tblgen.rb (citrus_decode_mapsrc): read in binary mode to deal with non-ascii characters. ------------------------------------------------------------------------ r54131 | nobu | 2016-03-16 23:10:27 +0900 (Wed, 16 Mar 2016) | 5 lines parse.y: symbol literals for alias/undef * defs/keywords (alias, undef): symbol literals are allowed. * parse.y (parse_percent): should parse symbol literals for alias and undef. [ruby-dev:47681] [Bug #8851] ------------------------------------------------------------------------ r54130 | svn | 2016-03-16 21:42:16 +0900 (Wed, 16 Mar 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r54129 | naruse | 2016-03-16 21:42:15 +0900 (Wed, 16 Mar 2016) | 1 line * enc/trans/JIS: update Unicode's notice. [Bug #11844] ------------------------------------------------------------------------ r54128 | nobu | 2016-03-16 20:03:38 +0900 (Wed, 16 Mar 2016) | 4 lines proc.c: fail symbol proc binding * proc.c (proc_binding): proc from symbol can not make a binding. [ruby-core:74100] [Bug #12137] ------------------------------------------------------------------------ r54127 | duerst | 2016-03-16 18:42:45 +0900 (Wed, 16 Mar 2016) | 2 lines * test/ruby/enc/test_case_mapping.rb: Fixed and activated a test for Cherokee. ------------------------------------------------------------------------ r54126 | svn | 2016-03-16 17:58:57 +0900 (Wed, 16 Mar 2016) | 1 line * 2016-03-16 ------------------------------------------------------------------------ r54125 | duerst | 2016-03-16 17:58:56 +0900 (Wed, 16 Mar 2016) | 2 lines * test/ruby/enc/test_case_mapping.rb: Fixed a logical error. ------------------------------------------------------------------------ r54124 | duerst | 2016-03-16 17:57:34 +0900 (Wed, 16 Mar 2016) | 4 lines * test/ruby/enc/test_case_mapping.rb: Adding tests for Cherokee. One test not yet working. (with Kimihito Matsui) ------------------------------------------------------------------------ r54123 | duerst | 2016-03-16 15:44:05 +0900 (Wed, 16 Mar 2016) | 4 lines * test/ruby/enc/test_case_mapping.rb: Adding tests for actual Unicode case mapping. Fixing some aliasing issues. (with Kimihito Matsui) ------------------------------------------------------------------------ r54122 | akr | 2016-03-15 21:53:06 +0900 (Tue, 15 Mar 2016) | 4 lines * enum.c (enum_inject): Consider redefinition of Fixnum#+. [ruby-dev:49510] [Bug#12178] Reported by usa. ------------------------------------------------------------------------ r54121 | kazu | 2016-03-15 21:47:18 +0900 (Tue, 15 Mar 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54120 | akr | 2016-03-15 20:42:23 +0900 (Tue, 15 Mar 2016) | 3 lines * enum.c (enum_inject): Implement the specialied code for :+ operator for Fixnums. ------------------------------------------------------------------------ r54119 | akr | 2016-03-15 20:27:34 +0900 (Tue, 15 Mar 2016) | 3 lines * enum.c (enum_inject): Implement the specialized code for self is an array and a symbol operator is given. ------------------------------------------------------------------------ r54118 | duerst | 2016-03-15 16:29:51 +0900 (Tue, 15 Mar 2016) | 3 lines * enc/unicode.c: Eliminating common code. (with Kimihito Matsui) ------------------------------------------------------------------------ r54117 | duerst | 2016-03-15 16:17:09 +0900 (Tue, 15 Mar 2016) | 4 lines * enc/unicode.c: Expansion of some code repetition in preparation for elimination of common code pieces. (with Kimihito Matsui) ------------------------------------------------------------------------ r54116 | nobu | 2016-03-15 16:02:09 +0900 (Tue, 15 Mar 2016) | 4 lines gc.c: mark_stack_locations * gc.c (mark_stack_locations): extract the common part from mark_current_machine_context and rb_gc_mark_machine_stack. ------------------------------------------------------------------------ r54115 | nobu | 2016-03-15 15:42:29 +0900 (Tue, 15 Mar 2016) | 3 lines gc.c: rb_objspace_of * gc.c (rb_objspace_of): macro to get the objspace from a thread. ------------------------------------------------------------------------ r54114 | nobu | 2016-03-15 15:42:27 +0900 (Tue, 15 Mar 2016) | 4 lines gc.c: expand a local macro * gc.c (mark_current_machine_context, rb_gc_mark_machine_stack): expand rb_gc_mark_locations local macro. ------------------------------------------------------------------------ r54113 | svn | 2016-03-15 13:49:25 +0900 (Tue, 15 Mar 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r54112 | duerst | 2016-03-15 13:49:24 +0900 (Tue, 15 Mar 2016) | 4 lines * enc/unicode.c: Additional macros and code to use mapping data in CaseMappingSpecials array. (with Kimihito Matsui) ------------------------------------------------------------------------ r54111 | nobu | 2016-03-15 13:41:24 +0900 (Tue, 15 Mar 2016) | 4 lines internal.h: private rb_gc_mark_global_tbl * internal.h (rb_gc_mark_global_tbl): should be private, but was accidentally exported. ------------------------------------------------------------------------ r54110 | hsbt | 2016-03-15 12:51:19 +0900 (Tue, 15 Mar 2016) | 3 lines * doc/extension.ja.rdoc: Fix RDoc markup in doc/extension*.rdoc. [ci skip][Bug #12143][ruby-core:74143] * doc/extension.rdoc: ditto. ------------------------------------------------------------------------ r54109 | hsbt | 2016-03-15 09:56:45 +0900 (Tue, 15 Mar 2016) | 2 lines * time.c: Minor typo in Time#dst? documentation. [ci skip][fix GH-1290] ------------------------------------------------------------------------ r54108 | nobu | 2016-03-15 09:47:46 +0900 (Tue, 15 Mar 2016) | 5 lines test_marshal.rb: use assert_ruby_status * test/ruby/test_marshal.rb (test_marshal_load_extended_class_crash): use assert_ruby_status to deal with signals, core dump and diagnostic reports. ------------------------------------------------------------------------ r54107 | nobu | 2016-03-15 09:28:17 +0900 (Tue, 15 Mar 2016) | 4 lines test_rubyoptions.rb: VERSION_PATTERN * test/ruby/test_rubyoptions.rb (VERSION_PATTERN): make the pattern at loading, and escape regexp meta characters. ------------------------------------------------------------------------ r54106 | headius | 2016-03-15 04:39:24 +0900 (Tue, 15 Mar 2016) | 2 lines * test/ruby/test_rubyoptions.rb (test_disable): add tests for --disable-gems and --disable-did_you_mean. ------------------------------------------------------------------------ r54105 | drbrain | 2016-03-15 03:36:14 +0900 (Tue, 15 Mar 2016) | 2 lines * marshal.c (r_object0): Fix Marshal crash for corrupt extended object. ------------------------------------------------------------------------ r54104 | svn | 2016-03-15 01:24:05 +0900 (Tue, 15 Mar 2016) | 1 line * 2016-03-15 ------------------------------------------------------------------------ r54103 | headius | 2016-03-15 01:24:04 +0900 (Tue, 15 Mar 2016) | 2 lines * test/ruby/test_rubyoptions.rb: make version matching support JRuby's version output. ------------------------------------------------------------------------ r54102 | naruse | 2016-03-14 19:14:48 +0900 (Mon, 14 Mar 2016) | 36 lines * bignum.c (big2str_2bdigits): reduce div instruction. Fix the code so that C compiler unify div instructions of `%` and `/`. Before: 4291b0: 48 89 f0 mov %rsi,%rax 4291b3: 31 d2 xor %edx,%edx 4291b5: 48 83 ef 01 sub $0x1,%rdi 4291b9: 48 f7 f1 div %rcx # <---- ! 4291bc: 41 0f b6 04 11 movzbl (%r9,%rdx,1),%eax 4291c1: 31 d2 xor %edx,%edx 4291c3: 41 88 04 38 mov %al,(%r8,%rdi,1) 4291c7: 48 63 4b 04 movslq 0x4(%rbx),%rcx 4291cb: 48 89 f0 mov %rsi,%rax 4291ce: 48 f7 f1 div %rcx # <---- ! 4291d1: 48 89 c6 mov %rax,%rsi 4291d4: 48 85 ff test %rdi,%rdi 4291d7: 75 d7 jne 4291b0 4291d9: 48 63 6b 10 movslq 0x10(%rbx),%rbp 4291dd: 48 01 6b 20 add %rbp,0x20(%rbx) 4291e1: 48 8b 44 24 48 mov 0x48(%rsp),%rax 4291e6: 64 48 33 04 25 28 00 xor %fs:0x28,%rax After: 4291b0: 48 63 73 04 movslq 0x4(%rbx),%rsi 4291b4: 31 d2 xor %edx,%edx 4291b6: 48 83 e9 01 sub $0x1,%rcx 4291ba: 48 f7 f6 div %rsi # <---- ! 4291bd: 41 0f b6 14 10 movzbl (%r8,%rdx,1),%edx 4291c2: 88 14 0f mov %dl,(%rdi,%rcx,1) 4291c5: 48 85 c9 test %rcx,%rcx 4291c8: 75 e6 jne 4291b0 4291ca: 48 63 6b 10 movslq 0x10(%rbx),%rbp 4291ce: 48 01 6b 20 add %rbp,0x20(%rbx) 4291d2: 48 8b 44 24 48 mov 0x48(%rsp),%rax 4291d7: 64 48 33 04 25 28 00 xor %fs:0x28,%rax ------------------------------------------------------------------------ r54101 | duerst | 2016-03-14 18:39:54 +0900 (Mon, 14 Mar 2016) | 4 lines * include/ruby/oniguruma.h, enc/unicode.c: Adjusting flag assignments and macros to work with unified CaseMappingSpecials array. (with Kimihito Matsui) ------------------------------------------------------------------------ r54100 | nobu | 2016-03-14 16:53:39 +0900 (Mon, 14 Mar 2016) | 45 lines optimize named capture assignment * compile.c (compile_named_capture_assign): optimize named capture assignments, by replacing repeating global variable accesses with `dup`, and by returning the matched result instead of re-getting it from the MatchData. * parse.y (reg_named_capture_assign_gen): build just assignment nodes for the optimization. ex. `/(?.)/ =~ "bar"` - old ``` 0000 putstring "bar" 0002 opt_regexpmatch1 /(?.)/ 0004 pop 0005 getglobal $~ 0007 branchunless 25 0009 getglobal $~ 0011 putobject :x 0013 opt_aref 0016 setlocal_OP__WC__0 2 0018 getglobal $~ 0020 putobject_OP_INT2FIX_O_0_C_ 0021 opt_send_without_block 0024 leave 0025 putobject nil 0027 setlocal_OP__WC__0 2 0029 putobject nil 0031 leave ``` - new ``` 0000 putstring "bar" 0002 opt_regexpmatch1 /(?.)/ 0004 getglobal $~ 0006 dup 0007 branchunless 14 0009 putobject :x 0011 opt_aref 0014 setlocal_OP__WC__0 2 0016 leave ``` ------------------------------------------------------------------------ r54099 | nobu | 2016-03-14 16:03:01 +0900 (Mon, 14 Mar 2016) | 6 lines ruby.c: reduce fstat * file.c (ruby_is_fd_loadable): now return -1 if loadable but may block. * ruby.c (open_load_file): wait to read by the result of ruby_is_fd_loadable, without fstat. ------------------------------------------------------------------------ r54098 | naruse | 2016-03-14 13:41:16 +0900 (Mon, 14 Mar 2016) | 1 line * numeric.c (fix2str): improve r54092 like rb_int2big(). ------------------------------------------------------------------------ r54097 | normal | 2016-03-14 10:20:14 +0900 (Mon, 14 Mar 2016) | 8 lines document OpenSSL::SSL::SSLContext#setup as MT-unsafe On a cursory inspection, using rb_block_call for extra_chain_cert is thread-unsafe. There may be other instances of thread-unsafe behavior in this method, but one is enough. * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): document as MT-unsafe [ruby-core:73803] [Bug #12069] ------------------------------------------------------------------------ r54096 | svn | 2016-03-14 01:26:05 +0900 (Mon, 14 Mar 2016) | 1 line * 2016-03-14 ------------------------------------------------------------------------ r54095 | nobu | 2016-03-14 01:26:04 +0900 (Mon, 14 Mar 2016) | 3 lines parse.y: adjust indent * parse.y: adjust indent and tabify spaces after tabs. ------------------------------------------------------------------------ r54094 | nobu | 2016-03-13 09:43:25 +0900 (Sun, 13 Mar 2016) | 4 lines win32.h: fix O_SHARE_DELETE * include/ruby/win32.h (O_SHARE_DELETE): change to fit Fixnum limit. [ruby-core:74285] [Bug #12171] ------------------------------------------------------------------------ r54093 | svn | 2016-03-13 09:15:49 +0900 (Sun, 13 Mar 2016) | 1 line * 2016-03-13 ------------------------------------------------------------------------ r54092 | nobu | 2016-03-13 09:15:48 +0900 (Sun, 13 Mar 2016) | 4 lines numeric.c: fix edge case * numeric.c (rb_fix2str): fix edge case, accidentally generated wrong Fixnum from LONG_MIN. ------------------------------------------------------------------------ r54091 | nobu | 2016-03-12 10:35:54 +0900 (Sat, 12 Mar 2016) | 3 lines unicode.c: off-by-one error * enc/unicode.c (CodePointListValidP): fix off-by-one error. ------------------------------------------------------------------------ r54090 | nobu | 2016-03-12 10:15:31 +0900 (Sat, 12 Mar 2016) | 4 lines unicode.c: boundary check * enc/unicode.c (CodePointListValidP): add pathological boundary check, for gcc 4.9. ------------------------------------------------------------------------ r54089 | nobu | 2016-03-12 09:50:29 +0900 (Sat, 12 Mar 2016) | 5 lines Malformed RDoc syntax in catch [ci skip] * vm_eval.c (rb_f_catch): [DOC] fix malformed RDoc syntax, "+...+" cannot enclose non-identifier characters. a patch by Sebastian S in [ruby-core:74278]. [Bug#12170] ------------------------------------------------------------------------ r54088 | svn | 2016-03-12 02:58:50 +0900 (Sat, 12 Mar 2016) | 1 line * 2016-03-12 ------------------------------------------------------------------------ r54087 | akr | 2016-03-12 02:58:49 +0900 (Sat, 12 Mar 2016) | 2 lines * test/lib/test/unit.rb: describe !/REGEXP/ in the help message. ------------------------------------------------------------------------ r54086 | nobu | 2016-03-11 17:03:11 +0900 (Fri, 11 Mar 2016) | 6 lines testunit: negative filter * test/lib/test/unit.rb (Options#non_options): make regexp name options prefixed with "!" negative filters. * common.mk (TEST_EXCLUDES): use negative filter to exclude memory leak tests. -x option excludes test files, not test methods. ------------------------------------------------------------------------ r54085 | duerst | 2016-03-11 16:11:27 +0900 (Fri, 11 Mar 2016) | 6 lines * enc/unicode/case-folding.rb, casefold.h: Streamlining approach to case mapping data not available from case folding by unifying all three cases (special title, special upper, special lower). * enc/unicode.c: Adjust macro names for above (macros are currently inactive). (with Kimihito Matsui) ------------------------------------------------------------------------ r54084 | nobu | 2016-03-11 12:30:25 +0900 (Fri, 11 Mar 2016) | 4 lines Revert r54082 "ruby.c: load in binary mode" DATA is expected to be text mode, but there is no ways to make a FD to text mode from binary mode. ------------------------------------------------------------------------ r54083 | svn | 2016-03-11 10:47:20 +0900 (Fri, 11 Mar 2016) | 1 line * 2016-03-11 ------------------------------------------------------------------------ r54082 | nobu | 2016-03-11 10:47:19 +0900 (Fri, 11 Mar 2016) | 4 lines ruby.c: load in binary mode * ruby.c (open_load_file): always open in binary mode if provided, parser deals with CRs. ------------------------------------------------------------------------ r54081 | nobu | 2016-03-10 17:34:18 +0900 (Thu, 10 Mar 2016) | 7 lines iseq.h: coverage_enabled flag * iseq.c (prepare_iseq_build): enable coverage by coverage_enabled option, not by parse_in_eval flag in the thread context. * iseq.h (rb_compile_option_struct): add coverage_enabled flag. * parse.y (yycompile0): set coverage_enabled flag if coverage array is made. ------------------------------------------------------------------------ r54080 | nobu | 2016-03-10 16:27:41 +0900 (Thu, 10 Mar 2016) | 3 lines node.c: no nd_compile_option unless set * node.c (dump_node): show nd_compile_option only when it is set. ------------------------------------------------------------------------ r54079 | nobu | 2016-03-10 16:27:40 +0900 (Thu, 10 Mar 2016) | 4 lines node.c: stringize before expansion * node.c (F_NODE, F_OPTION): stringize member names defined as macros before expansion. ------------------------------------------------------------------------ r54078 | nobu | 2016-03-10 16:06:39 +0900 (Thu, 10 Mar 2016) | 4 lines iseq.h: bit flags * iseq.h (rb_compile_option_struct): turn boolean flags to bit fields. ------------------------------------------------------------------------ r54077 | nobu | 2016-03-10 15:19:55 +0900 (Thu, 10 Mar 2016) | 4 lines node.c: hidden options hash * node.c (dump_option): nd_compile_option is a hidden hash object, cannot call inspect on it. ------------------------------------------------------------------------ r54076 | nobu | 2016-03-10 14:32:49 +0900 (Thu, 10 Mar 2016) | 4 lines iseq.c: set coverage at once * iseq.c (prepare_iseq_build): set coverage at once, not repeatedly resetting. ------------------------------------------------------------------------ r54075 | nobu | 2016-03-10 14:32:48 +0900 (Thu, 10 Mar 2016) | 4 lines thread.c: check type of coverage * thread.c (update_coverage): check type of coverage array not only if non-zero. ------------------------------------------------------------------------ r54074 | svn | 2016-03-10 09:55:37 +0900 (Thu, 10 Mar 2016) | 1 line * 2016-03-10 ------------------------------------------------------------------------ r54073 | odaira | 2016-03-10 09:55:37 +0900 (Thu, 10 Mar 2016) | 3 lines * test/socket/test_socket.rb (test_udp_recvmsg_truncation): AIX does not set the MSG_TRUNC flag for a message partially read by recvmsg(2) with the MSG_PEEK flag set. ------------------------------------------------------------------------ r54066 | kazu | 2016-03-09 22:30:13 +0900 (Wed, 09 Mar 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54065 | nobu | 2016-03-09 19:39:21 +0900 (Wed, 09 Mar 2016) | 4 lines common.mk: dependency of prelude.o * common.mk (prelude.o): fix missing dependency on iseq.h, for rb_compile_option_t. ------------------------------------------------------------------------ r54064 | nobu | 2016-03-09 16:52:27 +0900 (Wed, 09 Mar 2016) | 4 lines driver.rb: unused variable * benchmark/driver.rb (BenchmarkDriver.load): remove unused variable. ------------------------------------------------------------------------ r54063 | ko1 | 2016-03-09 16:49:06 +0900 (Wed, 09 Mar 2016) | 2 lines * benchmark/driver.rb: fix my last commit (syntax error). ------------------------------------------------------------------------ r54062 | ko1 | 2016-03-09 16:42:32 +0900 (Wed, 09 Mar 2016) | 5 lines * benchmark/driver.rb: fix output messages. * benchmark/memory_wrapper.rb: use respond_to? because member? does not work well. ------------------------------------------------------------------------ r54061 | svn | 2016-03-09 16:22:28 +0900 (Wed, 09 Mar 2016) | 1 line * properties. ------------------------------------------------------------------------ r54060 | ko1 | 2016-03-09 16:22:27 +0900 (Wed, 09 Mar 2016) | 9 lines * benchmark/driver.rb: support memory usage benchmark. use `--measure-target=[target]'. Now, we can use the following targets: * real (default): real time which returns process time in sec. * peak: peak memory usage (physical memory) in bytes. * size: last memory usage (physical memory) in bytes. * benchmark/memory_wrapper.rb: ditto. ------------------------------------------------------------------------ r54059 | nobu | 2016-03-09 16:17:04 +0900 (Wed, 09 Mar 2016) | 3 lines hash.c: COPY_DEFAULT * hash.c (COPY_DEFAULT): new macro to copy the default value/proc. ------------------------------------------------------------------------ r54058 | nobu | 2016-03-09 16:17:03 +0900 (Wed, 09 Mar 2016) | 3 lines hash.c: SET_PROC_DEFAULT * hash.c (SET_PROC_DEFAULT): new macro to set the default proc. ------------------------------------------------------------------------ r54057 | nobu | 2016-03-09 16:17:03 +0900 (Wed, 09 Mar 2016) | 3 lines hash.c: SET_DEFAULT * hash.c (SET_DEFAULT): new macro to set the default value. ------------------------------------------------------------------------ r54056 | nobu | 2016-03-09 16:17:02 +0900 (Wed, 09 Mar 2016) | 4 lines hash.c: hash_dup for rb_hash_to_h * hash.c (rb_hash_to_h): share hash_dup to copy the contents and the default value/proc only. ------------------------------------------------------------------------ r54055 | nobu | 2016-03-09 16:17:01 +0900 (Wed, 09 Mar 2016) | 10 lines hash.c: make duplicated hash WB protected * hash.c (hash_alloc_flags): allocate new hash with the flags and the default value. * hash.c (hash_dup): duplicate with the flags and the default value. * hash.c (rb_hash_dup): make the duplicated hash write-barrier protected. ------------------------------------------------------------------------ r54054 | svn | 2016-03-09 15:05:54 +0900 (Wed, 09 Mar 2016) | 1 line * properties. ------------------------------------------------------------------------ r54053 | ko1 | 2016-03-09 15:05:53 +0900 (Wed, 09 Mar 2016) | 6 lines * benchmark/bm_vm3_gc_old_full.rb: add GC.start benchmark. * benchmark/bm_vm3_gc_old_immediate.rb: ditto. * benchmark/bm_vm3_gc_old_lazy.rb: ditto. ------------------------------------------------------------------------ r54052 | ko1 | 2016-03-09 15:02:18 +0900 (Wed, 09 Mar 2016) | 3 lines * benchmark/driver.rb: exit benchmarking if a benchmark process receives signals. ------------------------------------------------------------------------ r54051 | nobu | 2016-03-09 14:14:42 +0900 (Wed, 09 Mar 2016) | 4 lines test_hash.rb: tests for to_h * test/ruby/test_hash.rb: add tests for Hash#to_h, which copies default value/proc but not instance variables. ------------------------------------------------------------------------ r54050 | nobu | 2016-03-09 13:45:27 +0900 (Wed, 09 Mar 2016) | 4 lines hash.c: tbl_update_func * hash.c (tbl_update_func): extract function typedef from the declaration of tbl_update. ------------------------------------------------------------------------ r54049 | nobu | 2016-03-09 13:22:50 +0900 (Wed, 09 Mar 2016) | 6 lines memory_status.rb: independent of MiniTest * test/lib/memory_status.rb: make Memory::Status independent of MiniTest::Skip. * test/lib/test/unit/assertions.rb (assert_no_memory_leak): skip if Memory::Status is not available. ------------------------------------------------------------------------ r54048 | nobu | 2016-03-09 12:48:33 +0900 (Wed, 09 Mar 2016) | 4 lines memory_status.rb: remove unused values * test/lib/memory_status.rb: remove initial status values, which are not used. ------------------------------------------------------------------------ r54047 | odaira | 2016-03-09 09:28:41 +0900 (Wed, 09 Mar 2016) | 4 lines * test/io/wait/test_io_wait.rb (test_wait_readwrite_timeout): select(2) in AIX returns "readable" for the write-side fd of a pipe, so it is not possible to use a pipe to test the read-write timeout of IO#wait on AIX. ------------------------------------------------------------------------ r54046 | usa | 2016-03-09 08:00:32 +0900 (Wed, 09 Mar 2016) | 2 lines * win32/win32.c (rb_w32_write_console): remove unused variable. ------------------------------------------------------------------------ r54037 | headius | 2016-03-09 03:38:28 +0900 (Wed, 09 Mar 2016) | 2 lines * test/ruby/test_require.rb (test_require_with_loaded_features_pop): Only remove PATH so threads don't accidentally double-pop. ------------------------------------------------------------------------ r54035 | nobu | 2016-03-09 00:29:48 +0900 (Wed, 09 Mar 2016) | 5 lines vm_method.c: fix aliased original name * vm_method.c (rb_alias): the original name should be properly available method_added method, set the name before calling the hook. ------------------------------------------------------------------------ r54034 | nobu | 2016-03-09 00:21:23 +0900 (Wed, 09 Mar 2016) | 1 line ruby 2.0.0 has ended ------------------------------------------------------------------------ r54033 | nobu | 2016-03-09 00:21:22 +0900 (Wed, 09 Mar 2016) | 4 lines ruby.c: extra comma * ruby.c (feature_option, debug_option, dump_option): remove an extra comma from option lists. ------------------------------------------------------------------------ r54032 | svn | 2016-03-09 00:07:06 +0900 (Wed, 09 Mar 2016) | 1 line * 2016-03-09 ------------------------------------------------------------------------ r54031 | nobu | 2016-03-09 00:07:05 +0900 (Wed, 09 Mar 2016) | 4 lines logger.rb: kwd args * lib/logger.rb (Logger::LogDevice#initialize): define using keyword arguments. ------------------------------------------------------------------------ r54030 | headius | 2016-03-08 23:38:22 +0900 (Tue, 08 Mar 2016) | 5 lines test/ruby/test_array.rb: split permute + stack error tests out. * test/ruby/test_array.rb: split out the test for no stack error on large input for test_permutation, test_repeated_permutation, and test_repeated_combination, and make them all timeout:30. ------------------------------------------------------------------------ r54029 | naruse | 2016-03-08 18:15:18 +0900 (Tue, 08 Mar 2016) | 18 lines * intern.h (rb_divmod): assume compilers `/` and `%` comply C99 and reduce branching. If a compiler doesn't comply, add #ifdefs. * intern.h (rb_div): added for Ruby's behavior. * intern.h (rb_mod): added for Ruby's behavior. * insns.def (opt_div): use rb_div. * insns.def (opt_mod): use rb_mod. * numeric.c (fixdivmod): removed. * numeric.c (fix_divide): use rb_div. * numeric.c (fix_mod): use rb_mod. * numeric.c (fix_divmod): use rb_divmod. ------------------------------------------------------------------------ r54028 | naruse | 2016-03-08 17:54:38 +0900 (Tue, 08 Mar 2016) | 2 lines * insns.def (opt_mod): show its method name on ZeroDivisionError. [Bug #12158] ------------------------------------------------------------------------ r54027 | usa | 2016-03-08 17:34:35 +0900 (Tue, 08 Mar 2016) | 3 lines * win32/win32.c (rb_w32_write_console): now no need to check ERROR_CALL_NOT_IMPLEMENTED because it is for old Win9X. ------------------------------------------------------------------------ r54026 | usa | 2016-03-08 16:55:48 +0900 (Tue, 08 Mar 2016) | 3 lines * win32/win32.c (rb_w32_write_console): stop the VT100 emulation if the console supports it natively. ------------------------------------------------------------------------ r54025 | odaira | 2016-03-08 08:22:49 +0900 (Tue, 08 Mar 2016) | 5 lines * test/net/imap/test_imap.rb (test_idle_timeout): Because of the timeout specified in "imap.idle(0.2)", there is no gurantee that the server thread has done all the work before the client thread performs the assertions. It depends on the thread scheduling. Add checks to avoid false positives (on AIX, particularly). ------------------------------------------------------------------------ r54024 | nobu | 2016-03-08 04:39:32 +0900 (Tue, 08 Mar 2016) | 5 lines test_rubyoptions.rb: fix test * test/ruby/test_rubyoptions.rb (test_shebang): adjust only expected stderr as a warning, assertion has meaning on all platforms. ------------------------------------------------------------------------ r54023 | usa | 2016-03-08 00:44:34 +0900 (Tue, 08 Mar 2016) | 3 lines * ruby.c (warn_cr_in_shebang): meaningless check on DOSISH platforms. fixed a test failure introduced at r53998. ------------------------------------------------------------------------ r54022 | nagachika | 2016-03-08 00:28:57 +0900 (Tue, 08 Mar 2016) | 2 lines * ext/tk/lib/tkextlib/tcllib/tablelist_tile.rb: fix method name typo. [ruby-core:72513] [Bug #11893] The patch provided by Akira Matsuda. ------------------------------------------------------------------------ r54021 | nagachika | 2016-03-08 00:26:38 +0900 (Tue, 08 Mar 2016) | 2 lines * ext/tk/lib/tkextlib/tcllib/toolbar.rb: fix method name typo. [ruby-core:72511] [Bug #11891] The patch provided by Akira Matsuda. ------------------------------------------------------------------------ r54020 | nagachika | 2016-03-08 00:23:25 +0900 (Tue, 08 Mar 2016) | 2 lines * ext/tk/lib/tkextlib/blt/tree.rb: fix method name typo. [ruby-core:72510] [Bug #11890] The patch provided by Akira Matsuda. ------------------------------------------------------------------------ r54019 | svn | 2016-03-08 00:16:00 +0900 (Tue, 08 Mar 2016) | 1 line * 2016-03-08 ------------------------------------------------------------------------ r54018 | nagachika | 2016-03-08 00:15:59 +0900 (Tue, 08 Mar 2016) | 4 lines * ext/tk/lib/tk/menubar.rb: fix a typo in font name. [ruby-core:72505] [Bug #11886] The patch provided by Akira Matsuda. * ext/tk/sample/*.rb: ditto. ------------------------------------------------------------------------ r54017 | nobu | 2016-03-07 17:17:02 +0900 (Mon, 07 Mar 2016) | 4 lines .travis.yml: add branches [ci skip] * .travis.yml (branches): automatically run Travis on branches created with `git feature` or `git bug` commands. ------------------------------------------------------------------------ r54016 | nobu | 2016-03-07 15:24:46 +0900 (Mon, 07 Mar 2016) | 4 lines update-rubyspec: show latest commit * Makefile.in, win32/Makefile.sub (update-mspec, update-rubyspec): ensure the latest commits. ------------------------------------------------------------------------ r54015 | nobu | 2016-03-07 13:33:00 +0900 (Mon, 07 Mar 2016) | 5 lines class.c: err if superclass is 0 * class.c (rb_define_class, rb_define_class_id_under): raise ArgumentError if super is 0, deprecated behavior which has been warned long time. ------------------------------------------------------------------------ r54014 | nobu | 2016-03-07 13:28:32 +0900 (Mon, 07 Mar 2016) | 4 lines internal.h: functions for class internals * internal.h: move function declarations for class internals from include/ruby/intern.h. ------------------------------------------------------------------------ r54013 | nobu | 2016-03-07 10:58:09 +0900 (Mon, 07 Mar 2016) | 6 lines win32ole_event.c: use rb_write_error_str * ext/win32ole/win32ole_event.c (rescue_callback): use rb_write_error_str instead of rb_write_error, to respect the encoding and prevent the message from GC. * internal.h (rb_write_error_str): export. ------------------------------------------------------------------------ r54012 | nobu | 2016-03-07 10:05:36 +0900 (Mon, 07 Mar 2016) | 4 lines io.c: remove extra declarations * io.c (rb_io_set_encoding): remove extra declarations, rb_std{in,out,err} are defined in this file. ------------------------------------------------------------------------ r54011 | svn | 2016-03-07 01:43:51 +0900 (Mon, 07 Mar 2016) | 1 line * 2016-03-07 ------------------------------------------------------------------------ r54010 | odaira | 2016-03-07 01:43:50 +0900 (Mon, 07 Mar 2016) | 4 lines * test/ruby/test_process.rb (test_execopts_gid): Skip a test that is known to fail on AIX. AIX allows setgid to a supplementary group, but Ruby does not allow the "-e" option when setgid'ed, so the test does not work as intended. ------------------------------------------------------------------------ r54009 | nobu | 2016-03-06 22:43:42 +0900 (Sun, 06 Mar 2016) | 4 lines io.c: fix output of Array [ci skip] * io.c (rb_obj_display): [DOC] fix output of Array, as Array#to_s is same as Array#inspect since 1.9. ------------------------------------------------------------------------ r54008 | svn | 2016-03-06 17:34:51 +0900 (Sun, 06 Mar 2016) | 1 line * 2016-03-06 ------------------------------------------------------------------------ r54007 | nobu | 2016-03-06 17:34:50 +0900 (Sun, 06 Mar 2016) | 4 lines eval_error.c: trivial optimization * eval_error.c (warn_print): optimize warn_print with a string literal, with rb_write_error2 instead of rb_write_error. ------------------------------------------------------------------------ r54006 | nobu | 2016-03-05 10:33:04 +0900 (Sat, 05 Mar 2016) | 4 lines parse.y: optimize negate_lit * parse.y (negate_lit): optimize bignum, rational, and complex negation. ------------------------------------------------------------------------ r54005 | odaira | 2016-03-05 09:54:17 +0900 (Sat, 05 Mar 2016) | 3 lines * test/socket/test_addrinfo.rb (test_ipv6_address_predicates): IN6_IS_ADDR_V4COMPAT and IN6_IS_ADDR_V4MAPPED are broken on AIX, so skip related tests. ------------------------------------------------------------------------ r54004 | odaira | 2016-03-05 09:29:39 +0900 (Sat, 05 Mar 2016) | 11 lines Sat Mar 5 09:17:54 2016 Rei Odaira * test/rinda/test_rinda.rb (test_make_socket_ipv4_multicast): The fifth argument to getsockopt(2) should be modified to indicate the actual size of the value on return, but not in AIX. This is a know bug. Skip related tests. * test/rinda/test_rinda.rb (test_ring_server_ipv4_multicast): ditto. * test/rinda/test_rinda.rb (test_make_socket_unicast): ditto. * test/socket/test_basicsocket.rb (test_getsockopt): ditto. * test/socket/test_sockopt.rb (test_bool): ditto. ------------------------------------------------------------------------ r54003 | odaira | 2016-03-05 07:43:31 +0900 (Sat, 05 Mar 2016) | 4 lines * test/-ext-/float/test_nextafter.rb: In AIX, nextafter(+0.0,-0.0)=+0.0, and nextafter(-0.0,+0.0)=-0.0, but they should return -0.0 and +0.0, respectively. This is a known bug in nextafter(3) on AIX, so skip related tests. ------------------------------------------------------------------------ r54002 | odaira | 2016-03-05 07:20:56 +0900 (Sat, 05 Mar 2016) | 4 lines * test/zlib/test_zlib.rb (test_adler32_combine, test_crc32_combine): Skip two tests on AIX because zconf.h in zlib does not correctly recognize _LARGE_FILES in AIX. The problem was already reported to zlib, and skip these tests until it is fixed. ------------------------------------------------------------------------ r54001 | svn | 2016-03-05 03:14:19 +0900 (Sat, 05 Mar 2016) | 1 line * 2016-03-05 ------------------------------------------------------------------------ r54000 | odaira | 2016-03-05 03:14:18 +0900 (Sat, 05 Mar 2016) | 3 lines * thread_pthread.c (getstack): __pi_stacksize returned by pthread_getthrds_np() is wrong on AIX. Use __pi_stackend - __pi_stackaddr instead. ------------------------------------------------------------------------ r53999 | nobu | 2016-03-04 22:39:46 +0900 (Fri, 04 Mar 2016) | 4 lines securerandom.rb: remove to_s call * lib/securerandom.rb (gen_random): Array#join returns a String, no to_s is needed. ------------------------------------------------------------------------ r53998 | nobu | 2016-03-04 22:27:36 +0900 (Fri, 04 Mar 2016) | 4 lines ruby.c: warn_cr_in_shebang * ruby.c (load_file_internal): warn if shebang line ends with a carriage return. ------------------------------------------------------------------------ r53997 | ko1 | 2016-03-04 19:37:35 +0900 (Fri, 04 Mar 2016) | 3 lines * gc.c: use 2 bits with unsigned int for rb_objspace::flags::mode because it always returns 0 to 2 (non-negative value). ------------------------------------------------------------------------ r53996 | ko1 | 2016-03-04 18:53:03 +0900 (Fri, 04 Mar 2016) | 16 lines * gc.c: rename "enum gc_stat" to "enum gc_mode" because there is a same name (no related) function gc_stat(). Also gc_stat_* are renamed to gc_mode_*, gc_stat_transition() to gc_mode_transition(), rb_objspace::flags::stat is renamed to rb_objspace::flags::mode. Change rb_objspace::flags::mode from 2 bits to 3 bits because VC++ returns negative enum value with 2 bits. * gc.c (gc_mode): add a macro to access rb_objspace::flags::mode with verification code (verification is enabled only on RGENGC_CHECK_MODE > 0). * gc.c (gc_mode_set): same macro for setter. ------------------------------------------------------------------------ r53995 | nobu | 2016-03-04 14:19:12 +0900 (Fri, 04 Mar 2016) | 4 lines ruby.c: simplify * ruby.c (load_file_internal): simplify by local variables instead of repeating RSTRING macros. ------------------------------------------------------------------------ r53994 | nobu | 2016-03-04 13:34:17 +0900 (Fri, 04 Mar 2016) | 4 lines test_rubyoptions.rb: encoding option * test/ruby/test_rubyoptions.rb (test_shebang): use encoding option to assert_in_out_err. ------------------------------------------------------------------------ r53993 | nobu | 2016-03-04 12:53:43 +0900 (Fri, 04 Mar 2016) | 7 lines ruby.c: remove a magic number * ruby.c (load_file_internal): remove a magic number, which means the length of ruby_engine but the value is unknown in this file since the variable is in a different file now. instead, strstr should deal with it well, as far as ruby_engine does not contain a space and a hyphen. ------------------------------------------------------------------------ r53992 | hsbt | 2016-03-04 09:29:40 +0900 (Fri, 04 Mar 2016) | 4 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.1. Please see entries of 2.6.0 and 2.6.1 on https://github.com/rubygems/rubygems/blob/master/History.txt [fix GH-1270] Patch by @segiddins ------------------------------------------------------------------------ r53991 | svn | 2016-03-04 06:05:45 +0900 (Fri, 04 Mar 2016) | 1 line * 2016-03-04 ------------------------------------------------------------------------ r53990 | headius | 2016-03-04 06:05:44 +0900 (Fri, 04 Mar 2016) | 2 lines * test/ruby/test_io_m17n.rb (test_each_codepoint_need_more): Bump timeout up to 10s for slower platforms and impls. ------------------------------------------------------------------------ r53989 | nobu | 2016-03-03 17:31:12 +0900 (Thu, 03 Mar 2016) | 4 lines parse.y: split nextc * parse.y (parser_nextline, parser_cr): split less frequent paths from parser_nextc. ------------------------------------------------------------------------ r53988 | nobu | 2016-03-03 16:42:32 +0900 (Thu, 03 Mar 2016) | 3 lines parse.y: cr_seen flag * parse.y (parser_params): turn last_cr_line into cr_seen flag. ------------------------------------------------------------------------ r53987 | nobu | 2016-03-03 14:09:02 +0900 (Thu, 03 Mar 2016) | 5 lines ostruct.rb: make internal methods private * lib/ostruct.rb (modifiable?, new_ostruct_member!, table!): rename methods for internal use with suffixes and make private, [ruby-core:71069] [Bug #11587] ------------------------------------------------------------------------ r53986 | svn | 2016-03-03 12:08:53 +0900 (Thu, 03 Mar 2016) | 1 line * 2016-03-03 ------------------------------------------------------------------------ r53985 | nobu | 2016-03-03 12:08:52 +0900 (Thu, 03 Mar 2016) | 4 lines test/unit: not return the cursor if verbose * test/lib/test/unit.rb (update_status): do not return the cursor if verbose mode, not results and times to overwrite test names. ------------------------------------------------------------------------ r53984 | nobu | 2016-03-02 16:28:50 +0900 (Wed, 02 Mar 2016) | 4 lines vm_eval.c: call method_missing by method entry * vm_eval.c (method_missing): call by found method entry and get rid of searching the same method entry twice. ------------------------------------------------------------------------ r53983 | nobu | 2016-03-02 16:18:31 +0900 (Wed, 02 Mar 2016) | 4 lines vm_eval.c: method_missing by method_missing * vm_eval.c (vm_call0_body): calling method_missing method is method_missing(). ------------------------------------------------------------------------ r53982 | nobu | 2016-03-02 16:03:22 +0900 (Wed, 02 Mar 2016) | 6 lines test/unit: return the cursor * test/lib/test/unit.rb (update_status): keep the cursor to the beginning of the line for each update, so that unexpected output like an error message will overwrite but not be concatenated to the status. ------------------------------------------------------------------------ r53981 | hsbt | 2016-03-02 15:19:18 +0900 (Wed, 02 Mar 2016) | 5 lines * lib/xmlrpc.rb: Removed broken parser named XMLScanStreamParser. It's not works with current Ruby version. [fix GH-1271][ruby-core:59588][Bug #9369] * lib/xmlrpc/config.rb: ditto. * lib/xmlrpc/parser.rb: ditto. ------------------------------------------------------------------------ r53980 | hsbt | 2016-03-02 15:12:51 +0900 (Wed, 02 Mar 2016) | 5 lines * lib/xmlrpc.rb: Removed broken parser named XMLTreeParser. Required gem of its parser didn't compile on newer Ruby versions. [fix GH-1271][ruby-core:59590][Bug #9370] * lib/xmlrpc/config.rb: ditto. * lib/xmlrpc/parser.rb: ditto. ------------------------------------------------------------------------ r53979 | svn | 2016-03-02 00:00:55 +0900 (Wed, 02 Mar 2016) | 1 line * 2016-03-02 ------------------------------------------------------------------------ r53978 | kazu | 2016-03-02 00:00:55 +0900 (Wed, 02 Mar 2016) | 1 line Fix pull request number [ci skip] ------------------------------------------------------------------------ r53977 | nobu | 2016-03-01 23:43:34 +0900 (Tue, 01 Mar 2016) | 5 lines vm_method.c: fix assertion * vm_method.c (prepare_callable_method_entry): assert same condition only once for each case, not twice for module instance method. ------------------------------------------------------------------------ r53976 | svn | 2016-03-01 11:26:45 +0900 (Tue, 01 Mar 2016) | 1 line * 2016-03-01 ------------------------------------------------------------------------ r53975 | nobu | 2016-03-01 11:26:44 +0900 (Tue, 01 Mar 2016) | 4 lines fileutils.rb: keyword arguments * lib/fileutils.rb: use keyword arguments instead of option hashes. ------------------------------------------------------------------------ r53974 | nobu | 2016-02-29 21:22:17 +0900 (Mon, 29 Feb 2016) | 4 lines fileutils.rb: LowMethods aliases * lib/fileutils.rb (LowMethods): make alias methods instead of eval for each methods. ------------------------------------------------------------------------ r53973 | nobu | 2016-02-29 17:36:30 +0900 (Mon, 29 Feb 2016) | 4 lines fileutils.rb: reduce private * lib/fileutils.rb (Verbose, NoWrite, DryRun): make overridden methods private by each one calls. ------------------------------------------------------------------------ r53972 | nobu | 2016-02-29 17:36:29 +0900 (Mon, 29 Feb 2016) | 4 lines fileutils.rb: reduce public * lib/fileutils.rb (Verbose, NoWrite, DryRun): make extended methods public by each one calls. ------------------------------------------------------------------------ r53971 | nobu | 2016-02-29 17:36:28 +0900 (Mon, 29 Feb 2016) | 3 lines fileutils.rb: unify method definition style * lib/fileutils.rb: Unify to coding-style for method definition. ------------------------------------------------------------------------ r53970 | nobu | 2016-02-29 16:51:15 +0900 (Mon, 29 Feb 2016) | 5 lines array.c: [DOC] remove trailing comma [ci skip] * array.c (rb_ary_push_m): [DOC] Remove trailing comma from Array#push example, as other Array examples doesn't put trailing comma. [Fix GH-1279] ------------------------------------------------------------------------ r53969 | nobu | 2016-02-29 16:31:56 +0900 (Mon, 29 Feb 2016) | 5 lines mkconfig.rb: cross_compiling option * common.mk, tool/mkconfig.rb: set cross_compiling option from Makefile, but not from rbconfig.rb, which is just going to be created by this command. ------------------------------------------------------------------------ r53968 | svn | 2016-02-29 14:54:25 +0900 (Mon, 29 Feb 2016) | 1 line * 2016-02-29 ------------------------------------------------------------------------ r53967 | nobu | 2016-02-29 14:54:24 +0900 (Mon, 29 Feb 2016) | 3 lines ruby-style.el: add an instruction to load [ci skip] ------------------------------------------------------------------------ r53966 | nobu | 2016-02-28 23:14:44 +0900 (Sun, 28 Feb 2016) | 3 lines configure.in: fold summary * configure.in: fold long lines in configuration summary ------------------------------------------------------------------------ r53965 | nobu | 2016-02-28 23:14:42 +0900 (Sun, 28 Feb 2016) | 4 lines configure.in: summary * configure.in: Add summary to end of configure output. [Fix GH-1277] ------------------------------------------------------------------------ r53964 | nobu | 2016-02-28 22:54:32 +0900 (Sun, 28 Feb 2016) | 4 lines configure.in: no leading spaces * configure.in (cflags, cppflags): remove unnecessary leading spaces. ------------------------------------------------------------------------ r53963 | svn | 2016-02-28 20:28:59 +0900 (Sun, 28 Feb 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53962 | seki | 2016-02-28 20:28:58 +0900 (Sun, 28 Feb 2016) | 4 lines * lib/drb/drb.rb (error_print): Add verbose failure messages and avoid infamous DRb::DRbConnError. [Feature #12101] ------------------------------------------------------------------------ r53961 | nobu | 2016-02-28 13:41:38 +0900 (Sun, 28 Feb 2016) | 9 lines NoMethodError#private_call? * error.c (nometh_err_initialize): add private_call? parameter. * error.c (nometh_err_private_call_p): add private_call? method, to tell if the exception raised in private form FCALL or VCALL. [Feature #12043] * vm_eval.c (make_no_method_exception): append private_call? argument. * vm_insnhelper.c (ci_missing_reason): copy FCALL flag. ------------------------------------------------------------------------ r53960 | nobu | 2016-02-28 10:39:30 +0900 (Sun, 28 Feb 2016) | 1 line test_exception.rb: split test_name_error_info ------------------------------------------------------------------------ r53959 | svn | 2016-02-28 10:20:40 +0900 (Sun, 28 Feb 2016) | 1 line * 2016-02-28 ------------------------------------------------------------------------ r53958 | nobu | 2016-02-28 10:20:39 +0900 (Sun, 28 Feb 2016) | 21 lines Clarify set intersection and union documentation * array.c (rb_ary_and): clarify that set intersection returns the unique elements common to both arrays. * array.c (rb_ary_or): clarify that union preserves the order from the given arrays. - Most know what intersection means, but saying the operation excludes duplicates could be misleading ([1] & [1], duplicates excluded, might mean a result of []). - Instead, saying intersection returns the unique elements common to both arrays is more concise and less ambiguous. - The set union's documentation was incomplete in its describing preservation of order. Saying union preserves the order of the original array neglects the idea that the order of the elements in both arrays, as given, will be preserved. - Instead, saying set union preserves the order from the given arrays (and adding an example) fully demonstrates the idea. [Fix GH-1273] [ci skip] ------------------------------------------------------------------------ r53957 | duerst | 2016-02-27 17:06:17 +0900 (Sat, 27 Feb 2016) | 4 lines * enc/unicode/case-folding.rb, casefold.h: Reducing size of TitleCase table by eliminating duplicates. (with Kimihito Matsui) ------------------------------------------------------------------------ r53956 | nobu | 2016-02-27 14:10:44 +0900 (Sat, 27 Feb 2016) | 5 lines test/unit: refine output in job_status=normal * test/lib/test/unit.rb (Test::Unit::StatusLine#jobs_status): show status of only changed woker, not to show same lines repeatedly, in normal job_status mode. ------------------------------------------------------------------------ r53955 | nobu | 2016-02-27 13:16:44 +0900 (Sat, 27 Feb 2016) | 13 lines test/unit: fix for the test * test/lib/test/unit.rb (_run_parallel): make sure retrying message is a separate line. * test/lib/test/unit.rb (_prepare_run): do not add Output if testing. * test/lib/test/unit.rb (Skipping#failed): defer showing reports when showing skips, to be sorted. * test/testunit/test_hideskip.rb (test_hideskip): fix assertion for output misordered by mixing output destinations. ------------------------------------------------------------------------ r53954 | nobu | 2016-02-27 11:01:57 +0900 (Sat, 27 Feb 2016) | 5 lines test/unit: refine output in verbose mode * test/lib/test/unit.rb (Test::Unit::StatusLine#_prepare_run): add StatusLine::Output even if job_status is not replace, to filter extra outputs and newlines. ------------------------------------------------------------------------ r53953 | nobu | 2016-02-27 10:56:44 +0900 (Sat, 27 Feb 2016) | 4 lines test/unit: add --jobs-status=none * test/lib/test/unit.rb (Test::Unit::StatusLine#setup_options): add :none to --jobs-status option. ------------------------------------------------------------------------ r53952 | svn | 2016-02-27 10:56:44 +0900 (Sat, 27 Feb 2016) | 1 line * 2016-02-27 ------------------------------------------------------------------------ r53951 | nobu | 2016-02-27 10:56:43 +0900 (Sat, 27 Feb 2016) | 4 lines test/unit: no newlines to be chomped * test/lib/test/unit.rb (Test::Unit::StatusLine::Output#print): matched part never contains a newline to be chomped. ------------------------------------------------------------------------ r53950 | nobu | 2016-02-26 16:18:26 +0900 (Fri, 26 Feb 2016) | 6 lines README.md: fix linked file name [ci skip] * README.md: fix linked file name, COPYING does not a suffix. [Fix GH-1265] * README.ja.md: update a link too. ------------------------------------------------------------------------ r53949 | nobu | 2016-02-26 14:41:37 +0900 (Fri, 26 Feb 2016) | 5 lines numeric.c: wrong type step should raise TypeError * numeric.c (num_step_scan_args): comparison String with Numeric should raise TypeError. it is an invalid type, but not a mismatch the number of arguments. [ruby-core:62430] [Bug #9810] ------------------------------------------------------------------------ r53948 | nobu | 2016-02-26 14:40:28 +0900 (Fri, 26 Feb 2016) | 5 lines doc: editor local variables [ci skip] * doc/extension.rdoc, doc/extension.ja.rdoc: add editor local variables, with commenting out by :enddoc: directives which are just ignored unless code object mode. [Bug #12111] ------------------------------------------------------------------------ r53947 | hsbt | 2016-02-26 12:26:55 +0900 (Fri, 26 Feb 2016) | 3 lines * doc/extension.ja.rdoc: removed rendering error caused by editor specific configuration on http://docs.ruby-lang.org/en/trunk/extension_rdoc.html . [Bug #12111][ruby-core:73990] ------------------------------------------------------------------------ r53946 | hsbt | 2016-02-26 11:25:40 +0900 (Fri, 26 Feb 2016) | 4 lines * lib/xmlrpc.rb: Removed references to NQXML. It's obsoleted parser. [fix GH-1245][ruby-core:59593][Feature #9371] * lib/xmlrpc/config.rb: ditto. * lib/xmlrpc/parser.rb: ditto. ------------------------------------------------------------------------ r53945 | hsbt | 2016-02-26 11:11:14 +0900 (Fri, 26 Feb 2016) | 2 lines * lib/tmpdir.rb: Unify to coding-style for method definition. [fix GH-1252] ------------------------------------------------------------------------ r53944 | hsbt | 2016-02-26 11:03:03 +0900 (Fri, 26 Feb 2016) | 2 lines * README.md: update markdown syntax for anchor tag. [fix GH-1265] Patch by @lukBarros ------------------------------------------------------------------------ r53943 | hsbt | 2016-02-26 10:57:58 +0900 (Fri, 26 Feb 2016) | 2 lines * lib/irb.rb: avoid to needless truncation when using back_trace_limit option. [fix GH-1205][ruby-core:72773][Bug #11969] ------------------------------------------------------------------------ r53942 | svn | 2016-02-26 08:23:31 +0900 (Fri, 26 Feb 2016) | 1 line * 2016-02-26 ------------------------------------------------------------------------ r53941 | tenderlove | 2016-02-26 08:23:30 +0900 (Fri, 26 Feb 2016) | 84 lines Reduce system calls by activating the `did_you_mean` gem. Activating the gem puts the gem on the load path, where simply requiring the file will search every gem that's installed until it can find a gem that contains the `did_you_mean` file. Calling RubyGems' `require` will search each installed gem until it can find one that contains the file it should require. This means that the more gems you have installed, the longer it can take to require that gem. To see this in action, lets compare the number of `stat` calls for a "bare require" vs the number of `stat` calls for a require that follows a gem activation by using these two programs: ``` [aaron@TC rubygems (master)]$ cat req_dym.rb begin require 'did_you_mean' rescue LoadError end [aaron@TC rubygems (master)]$ cat gem_dym.rb begin gem 'did_you_mean' require 'did_you_mean' rescue Gem::LoadError, LoadError end ``` The first program just requires the `did_you_mean` gem, where the second one activates the gem, then requires it. We can count the number of `stat` calls using `dtrace`: ``` [aaron@TC rubygems (master)]$ ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15] [aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean req_dym.rb" | wc -l dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 283 [aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean gem_dym.rb" | wc -l dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 13 ``` The "bare require" version does over 10x the number of stat calls compared to the "gem, then require" version. Of course the number for the first one depends on the number of gems you have installed that sort before the `did_you_mean` gem. Lets also look at trunk Ruby: ``` [aaron@TC rubygems (master)]$ ruby -v ruby 2.4.0dev (2016-02-25 trunk 53940) [x86_64-darwin15] [aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean req_dym.rb" | wc -l dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 2325 [aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean gem_dym.rb" | wc -l dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 685 ``` This change will reduce the number of `stat` calls on trunk Ruby too, but since this installation doesn't have the `did_you_mean` gem, RubyGems is still reading every gem spec file so that it can raise a `Gem::LoadError` exception with a nice error message. If we can modify RubyGems a little, it may be possible to drop the number of stat calls even on a Ruby installation that doesn't have the `did_you_mean` gem. ------------------------------------------------------------------------ r53940 | nobu | 2016-02-25 21:36:25 +0900 (Thu, 25 Feb 2016) | 1 line eval_error.c: constify ------------------------------------------------------------------------ r53939 | nobu | 2016-02-25 21:36:24 +0900 (Thu, 25 Feb 2016) | 6 lines eval_error.c: remove warn_printf * eval_error.c (warn_printf): remove. * eval_error.c (error_pos_str): return error position string, split from error_pos. ------------------------------------------------------------------------ r53930 | duerst | 2016-02-25 19:04:59 +0900 (Thu, 25 Feb 2016) | 4 lines * enc/unicode/case-folding.rb: Adding possibility for debugging output for TitleCase table in casefold.h. (with Kimihito Matsui) ------------------------------------------------------------------------ r53928 | usa | 2016-02-25 18:54:11 +0900 (Thu, 25 Feb 2016) | 2 lines * test/ruby/test_process.rb (test_execopts_open_chdir_m17n_path): it's originally for Windows. should not ignore on the platform. ------------------------------------------------------------------------ r53919 | nobu | 2016-02-25 16:22:01 +0900 (Thu, 25 Feb 2016) | 4 lines eval_error.c: error position format * eval_error.c (error_print): use same error position format when no backtrace too. ------------------------------------------------------------------------ r53918 | svn | 2016-02-25 13:42:17 +0900 (Thu, 25 Feb 2016) | 1 line * 2016-02-25 ------------------------------------------------------------------------ r53917 | nobu | 2016-02-25 13:42:16 +0900 (Thu, 25 Feb 2016) | 6 lines eval_error.c: colon in message * eval_error.c (error_pos): include a clone after the position. * eval_error.c (error_print, error_handle): do not print a colon if the error position is unavailable. ------------------------------------------------------------------------ r53916 | svn | 2016-02-24 22:32:02 +0900 (Wed, 24 Feb 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53915 | duerst | 2016-02-24 22:32:01 +0900 (Wed, 24 Feb 2016) | 7 lines * include/ruby/oniguruma.h: Rearranging flag assignments and making space for titlecase indices; adding additional macros to add or extract titlecase index; adding comments for better documentation. * enc/unicode.c: Moving some macros to include/ruby/oniguruma.h; activating use of titlecase indices. (with Kimihito Matsui) ------------------------------------------------------------------------ r53914 | akr | 2016-02-24 21:30:20 +0900 (Wed, 24 Feb 2016) | 3 lines * random.c (limited_rand): Add a specialized path for the limit fits in 32 bit. ------------------------------------------------------------------------ r53913 | nobu | 2016-02-24 17:21:04 +0900 (Wed, 24 Feb 2016) | 9 lines parse without $. * io.c (rb_io_gets_internal): read one line from an IO without setting ARGF.lineno. * parse.y (lex_io_gets): use rb_io_gets_internal not to affect $. global variable. * ruby.c (load_file): no longer reset $. ------------------------------------------------------------------------ r53912 | nobu | 2016-02-24 11:42:40 +0900 (Wed, 24 Feb 2016) | 4 lines parse.y: hide compile_option * parse.y (parser_set_compile_option_flag): hide compile_option hash from ObjectSpace. ------------------------------------------------------------------------ r53911 | nobu | 2016-02-24 11:38:43 +0900 (Wed, 24 Feb 2016) | 4 lines vm_method.c: for hidden object * vm_method.c (rb_method_basic_definition_p): methods of hidden objects cannot be overridden, return TRUE. ------------------------------------------------------------------------ r53910 | nobu | 2016-02-24 11:20:45 +0900 (Wed, 24 Feb 2016) | 4 lines numeric.c: micro optimizations * numeric.c (flo_to_s, rb_fix2str): use rb_usascii_str_new instead of rb_usascii_str_new_cstr, when the length can be calculated. ------------------------------------------------------------------------ r53908 | svn | 2016-02-24 01:51:44 +0900 (Wed, 24 Feb 2016) | 1 line * 2016-02-24 ------------------------------------------------------------------------ r53907 | headius | 2016-02-24 01:51:43 +0900 (Wed, 24 Feb 2016) | 2 lines * test/ruby/test_exception.rb: fix bad spawn argument (multiple args in single) in test_thread_signal_location. ------------------------------------------------------------------------ r53906 | duerst | 2016-02-23 21:53:10 +0900 (Tue, 23 Feb 2016) | 5 lines * enc/unicode/case-folding.rb, casefold.h: Outputting actual titlecase data (new table, with indices from other tables). * enc/unicode.c: Ignoring titlecase data indices for the moment. (with Kimihito Matsui) ------------------------------------------------------------------------ r53905 | nobu | 2016-02-23 16:59:17 +0900 (Tue, 23 Feb 2016) | 4 lines iseq.h: remove trailing comma * iseq.h (iseq_mark_ary_index): get rid of trailing comma and name the magic number for iseq_mark_ary_create. ------------------------------------------------------------------------ r53904 | duerst | 2016-02-23 15:21:55 +0900 (Tue, 23 Feb 2016) | 4 lines * enc/unicode/case-folding.rb, casefold.h: Reading casing data from SpecialCasing.txt. (with Kimihito Matsui) ------------------------------------------------------------------------ r53903 | headius | 2016-02-23 11:03:37 +0900 (Tue, 23 Feb 2016) | 1 line Bump up timeout for slower-starting implementations/platforms. ------------------------------------------------------------------------ r53902 | headius | 2016-02-23 08:23:10 +0900 (Tue, 23 Feb 2016) | 2 lines * test/ruby/test_math.rb: use 64 bits in test_override_bignum_to_f to ensure it's a bignum on all impls. ------------------------------------------------------------------------ r53901 | headius | 2016-02-23 08:22:56 +0900 (Tue, 23 Feb 2016) | 5 lines * test/ruby/test_math.rb: override tests must always put to_f back Conflicts: test/ruby/test_math.rb ------------------------------------------------------------------------ r53900 | svn | 2016-02-23 08:22:39 +0900 (Tue, 23 Feb 2016) | 1 line * 2016-02-23 ------------------------------------------------------------------------ r53899 | headius | 2016-02-23 08:22:39 +0900 (Tue, 23 Feb 2016) | 2 lines * test/psych/test_emitter.rb: test_resizing_tags missing start_stream call, caused strict parsers like on JRuby to err. ------------------------------------------------------------------------ r53893 | nobu | 2016-02-22 23:54:31 +0900 (Mon, 22 Feb 2016) | 5 lines ruby.c: remove unnecessary context * ruby.c (process_options): remove unnecessary context. rb_parser_append_print and rb_parser_while_loop just append some nodes and do not depend on the context. ------------------------------------------------------------------------ r53892 | kazu | 2016-02-22 20:00:38 +0900 (Mon, 22 Feb 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r53891 | duerst | 2016-02-22 18:34:34 +0900 (Mon, 22 Feb 2016) | 4 lines * enc/unicode/case-folding.rb, casefold.h: Adding flag for title-case, not yet operational. (with Kimihito Matsui) ------------------------------------------------------------------------ r53890 | duerst | 2016-02-22 18:17:43 +0900 (Mon, 22 Feb 2016) | 4 lines * enc/unicode/case-folding.rb, casefold.h: Fixed bug that avoided inclusion of compatibility characters in uppper-/lower-case mappings. (with Kimihito Matsui) ------------------------------------------------------------------------ r53889 | svn | 2016-02-22 16:15:57 +0900 (Mon, 22 Feb 2016) | 1 line * 2016-02-22 ------------------------------------------------------------------------ r53888 | nobu | 2016-02-22 16:15:57 +0900 (Mon, 22 Feb 2016) | 4 lines vm_core.h: CoreDataFromValue * vm_core.h (CoreDataFromValue): split as an expression from GetCoreDataFromValue, which can be a statement only. ------------------------------------------------------------------------ r53887 | nobu | 2016-02-22 16:15:56 +0900 (Mon, 22 Feb 2016) | 4 lines internal.h: shortcut macros * internal.h (RRATIONAL_SET_{NUM,DEN}): shortcut macros for internal only. ------------------------------------------------------------------------ r53886 | nobu | 2016-02-21 19:42:40 +0900 (Sun, 21 Feb 2016) | 1 line vm.c (vm_cref_new0): adjust indent [ci skip] ------------------------------------------------------------------------ r53885 | nobu | 2016-02-21 13:57:57 +0900 (Sun, 21 Feb 2016) | 4 lines cgi/escape: Optimize CGI.unescape * cgi/escape/escape.c: Optimize CGI.unescape performance by C ext for ASCII-compatible encodings. [Fix GH-1250] ------------------------------------------------------------------------ r53884 | nobu | 2016-02-21 13:57:35 +0900 (Sun, 21 Feb 2016) | 4 lines cgi/escape: Optimize CGI.unescapeHTML * cgi/escape/escape.c: Optimize CGI.unescapeHTML performance by C ext for ASCII-compatible encodings. [Fix GH-1242] ------------------------------------------------------------------------ r53883 | svn | 2016-02-21 13:52:05 +0900 (Sun, 21 Feb 2016) | 1 line * 2016-02-21 ------------------------------------------------------------------------ r53882 | nobu | 2016-02-21 13:52:04 +0900 (Sun, 21 Feb 2016) | 3 lines NEWS: update [ci skip] * NEWS: change of Symbol#match. [Bug #11991] ------------------------------------------------------------------------ r53881 | nobu | 2016-02-20 18:36:08 +0900 (Sat, 20 Feb 2016) | 5 lines test_dir_m17n.rb: fix ASCII-8BIT env * test/ruby/test_dir_m17n.rb (test_glob_encoding): get rid of conversion when LC_ALL=C and filesystem encoding is ASCII-8BIT. [ruby-core:73868] [Bug #12081] ------------------------------------------------------------------------ r53880 | normal | 2016-02-20 15:39:14 +0900 (Sat, 20 Feb 2016) | 3 lines doc/extension.rdoc: update paths for defs/ directory These files were moved in r19844 ------------------------------------------------------------------------ r53879 | nobu | 2016-02-20 14:44:52 +0900 (Sat, 20 Feb 2016) | 4 lines Fix Module#module_eval rdoc [ci skip] * vm_eval.c (rb_mod_module_eval): [DOC] Fix documentation signature for Module#module_eval. [Fix GH-1258] ------------------------------------------------------------------------ r53878 | nobu | 2016-02-20 14:41:20 +0900 (Sat, 20 Feb 2016) | 4 lines Update README.md * README.md: a few grammatical changes to the main Ruby README.md. [Fix GH-1259] ------------------------------------------------------------------------ r53877 | nobu | 2016-02-20 13:04:59 +0900 (Sat, 20 Feb 2016) | 5 lines dir.c: paths as UTF-8 * dir.c (push_pattern, push_glob): deal with read paths as UTF-8 to stat later, on Windows as well as OS X. [ruby-core:73868] [Bug #12081] ------------------------------------------------------------------------ r53876 | svn | 2016-02-20 01:54:09 +0900 (Sat, 20 Feb 2016) | 1 line * 2016-02-20 ------------------------------------------------------------------------ r53875 | nobu | 2016-02-20 01:54:08 +0900 (Sat, 20 Feb 2016) | 4 lines object.c: fix error message * object.c (rb_mod_const_get): make error message at uninterned string consistent with symbols. [ruby-dev:49498] [Bug #12089] ------------------------------------------------------------------------ r53874 | nobu | 2016-02-19 23:38:28 +0900 (Fri, 19 Feb 2016) | 4 lines find.rb: raise with the name * lib/find.rb (Find#find): raise with the given path name if it does not exist. [ruby-dev:49497] [Bug #12087] ------------------------------------------------------------------------ r53873 | nobu | 2016-02-19 16:58:09 +0900 (Fri, 19 Feb 2016) | 1 line test/ruby: suppress runtime warnings ------------------------------------------------------------------------ r53872 | nobu | 2016-02-19 16:48:02 +0900 (Fri, 19 Feb 2016) | 1 line test/ruby: suppress parser warnings ------------------------------------------------------------------------ r53871 | nobu | 2016-02-19 16:45:58 +0900 (Fri, 19 Feb 2016) | 1 line test: use assert_not_* ------------------------------------------------------------------------ r53870 | duerst | 2016-02-19 12:45:32 +0900 (Fri, 19 Feb 2016) | 3 lines * enc/unicode.c: Activated use of case mapping data in CaseUnfold_11 array. (with Kimihito Matsui) ------------------------------------------------------------------------ r53869 | svn | 2016-02-19 11:09:07 +0900 (Fri, 19 Feb 2016) | 1 line * 2016-02-19 ------------------------------------------------------------------------ r53868 | nobu | 2016-02-19 11:09:06 +0900 (Fri, 19 Feb 2016) | 4 lines extmk.rb: cygwin case * ext/extmk.rb: add cygwin case, nothing excluded. [ruby-core:73806] [Bug#12071] ------------------------------------------------------------------------ r53867 | kazu | 2016-02-18 21:33:48 +0900 (Thu, 18 Feb 2016) | 1 line fix output in EXAMPLES [ci skip] ------------------------------------------------------------------------ r53866 | nobu | 2016-02-18 21:06:20 +0900 (Thu, 18 Feb 2016) | 4 lines string.c: Symbol#match * string.c (sym_match_m): delegate to String#match but not String#=~. [ruby-core:72864] [Bug #11991] ------------------------------------------------------------------------ r53865 | nobu | 2016-02-18 16:53:13 +0900 (Thu, 18 Feb 2016) | 4 lines downloader.rb: defer warning * tool/downloader.rb (Downloader.download): warn using http only when really downloading. ------------------------------------------------------------------------ r53864 | svn | 2016-02-18 14:29:19 +0900 (Thu, 18 Feb 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53863 | sorah | 2016-02-18 14:29:18 +0900 (Thu, 18 Feb 2016) | 6 lines * re.c: Add MatchData#named_captures [Feature #11999] [ruby-core:72897] * test/ruby/test_regexp.rb(test_match_data_named_captures): Test for above. * NEWS: News about MatchData#named_captures. ------------------------------------------------------------------------ r53862 | nobu | 2016-02-18 00:16:37 +0900 (Thu, 18 Feb 2016) | 3 lines test_dir.rb: Dir.empty? with directories * test/ruby/test_dir.rb (test_empty): check with directories. ------------------------------------------------------------------------ r53861 | nobu | 2016-02-18 00:14:03 +0900 (Thu, 18 Feb 2016) | 3 lines test_dir.rb: Dir.empty? with dot file * test/ruby/test_dir.rb (test_empty): check with a dot file. ------------------------------------------------------------------------ r53860 | svn | 2016-02-18 00:00:11 +0900 (Thu, 18 Feb 2016) | 1 line * 2016-02-18 ------------------------------------------------------------------------ r53859 | nobu | 2016-02-18 00:00:10 +0900 (Thu, 18 Feb 2016) | 1 line ChangeLog: remove duplicate entry [ci skip] ------------------------------------------------------------------------ r53858 | kazu | 2016-02-17 23:33:31 +0900 (Wed, 17 Feb 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r53857 | usa | 2016-02-17 23:21:57 +0900 (Wed, 17 Feb 2016) | 2 lines * test/ruby/test_dir.rb (TestDir#test_empty?): fix a platform dependent test. ------------------------------------------------------------------------ r53856 | nobu | 2016-02-17 21:42:00 +0900 (Wed, 17 Feb 2016) | 5 lines id.def: $~ and $_ * defs/id.def (predefined): add idLASTLINE and idBACKREF for $~ and $_ respectively. * parse.y: use idLASTLINE and idBACKREF instead of rb_intern. ------------------------------------------------------------------------ r53855 | nobu | 2016-02-17 20:24:09 +0900 (Wed, 17 Feb 2016) | 4 lines string.c: fix rb_str_init * string.c (rb_str_init): fix segfault and memory leak, consider wide char encoding terminator. ------------------------------------------------------------------------ r53854 | naruse | 2016-02-17 19:15:28 +0900 (Wed, 17 Feb 2016) | 1 line Additional fix and tests for r53851 ------------------------------------------------------------------------ r53853 | nobu | 2016-02-17 17:29:58 +0900 (Wed, 17 Feb 2016) | 4 lines assertions.rb: fix assert_no_memory_leak * test/lib/test/unit/assertions.rb (assert_no_memory_leak): fix path of memory_status.rb, as this method has been moved. ------------------------------------------------------------------------ r53852 | nobu | 2016-02-17 16:37:20 +0900 (Wed, 17 Feb 2016) | 1 line remove unnecessary declaration so that rdoc works ------------------------------------------------------------------------ r53851 | naruse | 2016-02-17 16:24:13 +0900 (Wed, 17 Feb 2016) | 3 lines fix rubyspec error from r53850 http://rubyci.s3.amazonaws.com/tk2-243-31075/ruby-trunk/log/20160217T061402Z.fail.html.gz ------------------------------------------------------------------------ r53850 | naruse | 2016-02-17 12:21:35 +0900 (Wed, 17 Feb 2016) | 2 lines * string.c (rb_str_init): introduce String.new(capacity: size) [Feature #12024] ------------------------------------------------------------------------ r53849 | nobu | 2016-02-17 11:54:50 +0900 (Wed, 17 Feb 2016) | 4 lines numeric.c: adjust types * numeric.c (coerce_rescue, coerce_rescue_quiet): rescue functions should have errinfo too. ------------------------------------------------------------------------ r53848 | svn | 2016-02-17 11:38:09 +0900 (Wed, 17 Feb 2016) | 1 line * 2016-02-17 ------------------------------------------------------------------------ r53847 | nobu | 2016-02-17 11:38:09 +0900 (Wed, 17 Feb 2016) | 4 lines numeric.c: adjust types * numeric.c (coerce_body, coerce_rescue, coerce_rescue_quiet): adjust parameter types for rb_rescue. ------------------------------------------------------------------------ r53846 | kazu | 2016-02-16 21:25:54 +0900 (Tue, 16 Feb 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r53845 | kazu | 2016-02-16 21:25:53 +0900 (Tue, 16 Feb 2016) | 1 line fix indent [ci skip] ------------------------------------------------------------------------ r53844 | kazu | 2016-02-16 21:25:51 +0900 (Tue, 16 Feb 2016) | 1 line ChangeLog should be us-ascii [ci skip] ------------------------------------------------------------------------ r53843 | duerst | 2016-02-16 19:10:37 +0900 (Tue, 16 Feb 2016) | 4 lines * enc/unicode/case-folding.rb, casefold.h: Used only first element (rather than all) of target in CaseUnfold_11 array. (with Kimihito Matsui) ------------------------------------------------------------------------ r53842 | nobu | 2016-02-16 18:25:08 +0900 (Tue, 16 Feb 2016) | 4 lines numeric.c: fix segfault * numeric.c (compare_with_zero): fix variable name, rb_cmperr requires VALUEs but not an ID. ------------------------------------------------------------------------ r53841 | nobu | 2016-02-16 17:34:47 +0900 (Tue, 16 Feb 2016) | 4 lines dir.c: Dir.empty? * dir.c (rb_dir_s_empty_p): add Dir.empty? method, which tells the argument is the name of an empty directory. [Feature #10121] ------------------------------------------------------------------------ r53840 | nobu | 2016-02-16 09:51:48 +0900 (Tue, 16 Feb 2016) | 6 lines rbinstall.rb: drive letter in without_destdir * tool/rbinstall.rb (without_destdir): just strip a drive letter which is prepended by with_destdir. pointed out by @DavidEGrayson. https://github.com/ruby/ruby/commit/0e5f9ae#commitcomment-16101763 ------------------------------------------------------------------------ r53839 | naruse | 2016-02-16 04:42:59 +0900 (Tue, 16 Feb 2016) | 4 lines * insns.def (opt_plus): simply use LONG2NUM() instead of wrongly complex overflow case. * insns.def (opt_sub): ditto. ------------------------------------------------------------------------ r53838 | nobu | 2016-02-16 02:50:08 +0900 (Tue, 16 Feb 2016) | 6 lines rbinstall.rb: drive letter in without_destdir * tool/rbinstall.rb (without_destdir): compare with the destdir after stripping a drive letter, on dosish platforms. pointed out by @DavidEGrayson. https://github.com/ruby/ruby/commit/d0cf23b#commitcomment-16100407 ------------------------------------------------------------------------ r53837 | svn | 2016-02-16 02:41:47 +0900 (Tue, 16 Feb 2016) | 1 line * 2016-02-16 ------------------------------------------------------------------------ r53836 | nobu | 2016-02-16 02:41:46 +0900 (Tue, 16 Feb 2016) | 5 lines parse.y: short circuit by result * parse.y (parse_ident): short circuit by result, as only tIDENTIFIER can be a local variable, but tFID and tCONSTANT not. fix up r53834. ------------------------------------------------------------------------ r53835 | nobu | 2016-02-15 15:44:36 +0900 (Mon, 15 Feb 2016) | 5 lines parse.y: kwarg to method with same name variable * parse.y (parse_ident): allow keyword arguments just after a method where the same name local variable is defined. [ruby-core:73816] [Bug#12073] ------------------------------------------------------------------------ r53834 | nobu | 2016-02-15 15:06:31 +0900 (Mon, 15 Feb 2016) | 5 lines parse.y: simplify local ID condition * parse.y (tokenize_ident, parse_ident): ident in tokenize_ident() can be a local id only when called from parse_ident(), but never from parse_gvar() and parse_atmark(). ------------------------------------------------------------------------ r53833 | duerst | 2016-02-15 14:43:55 +0900 (Mon, 15 Feb 2016) | 3 lines * enc/unicode/case-folding.rb: Added debugging option (with Kimihito Matsui) ------------------------------------------------------------------------ r53832 | nobu | 2016-02-15 14:15:33 +0900 (Mon, 15 Feb 2016) | 5 lines bignum.c: micro optimization * bignum.c (rb_big_uminus, bigsub_int): use BIGNUM_NEGATE. * internal.h (BIGNUM_NEGATE): simplify negation. ------------------------------------------------------------------------ r53831 | nobu | 2016-02-15 14:09:59 +0900 (Mon, 15 Feb 2016) | 3 lines use particlar macros * bignum.c: use particlar macros for positive/negative conditions. ------------------------------------------------------------------------ r53830 | nobu | 2016-02-15 13:23:15 +0900 (Mon, 15 Feb 2016) | 4 lines win32/resolv.rb: invert the condition * ext/win32/lib/win32/resolv.rb: invert the condition to return immediately in the future. ------------------------------------------------------------------------ r53829 | nobu | 2016-02-15 12:42:09 +0900 (Mon, 15 Feb 2016) | 4 lines win32/resolv.rb: check pointer size * ext/win32/lib/win32/resolv.rb: check pointer size first, NT if it is larger than 4 as Windows 9X are 32-bit mode only. ------------------------------------------------------------------------ r53828 | nobu | 2016-02-15 12:29:00 +0900 (Mon, 15 Feb 2016) | 4 lines avoid ruby-mode.el bug * ext/win32/lib/win32/{resolv,resolv9x}.rb: get rid of ruby-mode.el of Emacs 24. ------------------------------------------------------------------------ r53827 | svn | 2016-02-15 12:29:00 +0900 (Mon, 15 Feb 2016) | 1 line * 2016-02-15 ------------------------------------------------------------------------ r53826 | nobu | 2016-02-15 12:28:59 +0900 (Mon, 15 Feb 2016) | 4 lines split win32/resolv9x.rb * ext/win32/lib/win32/resolv9x.rb: split code for Windows 9x from resolv.rb. now it is rarely used. ------------------------------------------------------------------------ r53823 | nobu | 2016-02-14 17:52:38 +0900 (Sun, 14 Feb 2016) | 4 lines test_cgi_util.rb: test_cgi_unescapeHTML_invalid * test/cgi/test_cgi_util.rb (test_cgi_unescapeHTML_invalid): test for invalid escaped HTML, borrowed from rubyspec. ------------------------------------------------------------------------ r53822 | nobu | 2016-02-14 17:37:05 +0900 (Sun, 14 Feb 2016) | 4 lines test_exception.rb: fix commit miss * test/ruby/test_exception.rb: remove duplicate method. fix commit miss at r53819. ------------------------------------------------------------------------ r53821 | nobu | 2016-02-14 17:32:15 +0900 (Sun, 14 Feb 2016) | 5 lines mkmf.rb: Do not modify caller strings * lib/mkmf.rb (with_{cpp,c,ld}flags): copy caller strings not to be modified, in append_{cpp,c,ld}flags respectively. [Fix GH-1246] ------------------------------------------------------------------------ r53820 | svn | 2016-02-14 16:19:23 +0900 (Sun, 14 Feb 2016) | 1 line * 2016-02-14 ------------------------------------------------------------------------ r53819 | nobu | 2016-02-14 16:19:23 +0900 (Sun, 14 Feb 2016) | 4 lines not overwrite cause * eval.c (setup_exception): set the cause only if it is explicitly given or not set yet. [Bug #12068] ------------------------------------------------------------------------ r53818 | akr | 2016-02-13 21:45:59 +0900 (Sat, 13 Feb 2016) | 2 lines * hash.c (rb_hash_invert): [DOC] more examples. ------------------------------------------------------------------------ r53817 | nobu | 2016-02-13 17:31:12 +0900 (Sat, 13 Feb 2016) | 4 lines CIDR in no_proxy * lib/uri/generic.rb (URI::Generic#find_proxy): support CIDR in no_proxy. [ruby-core:73769] [Feature#12062] ------------------------------------------------------------------------ r53816 | nobu | 2016-02-13 17:12:21 +0900 (Sat, 13 Feb 2016) | 14 lines no_proxy with whitespaces and leading dots * lib/uri/generic.rb (find_proxy): exclude white-spaces and allow for a leading dot in the domain name in no_proxy. [ruby-core:54542] [Feature #8317] The previous implementation wouldn't allow for white-spaces nor a leading dot in the domain name. The latter is described in the wget documentation as a valid case. By being more strict on the characters, which are counted to a domainname, we allow for white-spaces. Also, a possible leading dot will be handled gracefully. [Fix GH-285] ------------------------------------------------------------------------ r53815 | nobu | 2016-02-13 16:52:25 +0900 (Sat, 13 Feb 2016) | 1 line test/uri/test_generic.rb: split test_find_proxy ------------------------------------------------------------------------ r53814 | svn | 2016-02-13 11:00:55 +0900 (Sat, 13 Feb 2016) | 1 line * 2016-02-13 ------------------------------------------------------------------------ r53813 | nobu | 2016-02-13 11:00:54 +0900 (Sat, 13 Feb 2016) | 4 lines domainname no_proxy assertions * test/uri/test_generic.rb (test_find_proxy): assertions for no_proxy of domainname. ------------------------------------------------------------------------ r53812 | nobu | 2016-02-12 13:24:10 +0900 (Fri, 12 Feb 2016) | 4 lines drbtest.rb: make command an array * test/drb/drbtest.rb (DRbService): make @@ruby an array to be consistent with r35424. ------------------------------------------------------------------------ r53811 | nobu | 2016-02-12 12:21:17 +0900 (Fri, 12 Feb 2016) | 5 lines error.c: fix doc [ci skip] * error.c (name_err_initialize, nometh_err_initialize): [DOC] fix argument positions. optional parameters except for the message are placed at the last. ------------------------------------------------------------------------ r53810 | nobu | 2016-02-12 11:50:09 +0900 (Fri, 12 Feb 2016) | 4 lines net/ftp.rb: NullSocket#closed? * net/ftp.rb: add NullSocket#closed? to fix closing not opened connection. [Fix GH-1232] ------------------------------------------------------------------------ r53809 | svn | 2016-02-12 11:17:59 +0900 (Fri, 12 Feb 2016) | 1 line * 2016-02-12 ------------------------------------------------------------------------ r53808 | nobu | 2016-02-12 11:17:58 +0900 (Fri, 12 Feb 2016) | 4 lines Update re.c [ci skip] * re.c (rb_reg_initialize_m): [DOC] fix missing right bracket. [Fix GH-1243] ------------------------------------------------------------------------ r53807 | nobu | 2016-02-11 14:58:16 +0900 (Thu, 11 Feb 2016) | 5 lines configure.in: fix universal binary * configure.in (RUBY_CHECK_SIZEOF, RUBY_DEFINT): fix for types which are conditionally available depending on architectures when universal binary, e.g., __int128. ------------------------------------------------------------------------ r53806 | nobu | 2016-02-11 14:32:22 +0900 (Thu, 11 Feb 2016) | 4 lines configure.in: use quadrigraphs * configure.in (RUBY_DEFINT): use quadrigraphs instead of bare hash signs not to comment out closing parenthesis. ------------------------------------------------------------------------ r53805 | naruse | 2016-02-11 06:29:50 +0900 (Thu, 11 Feb 2016) | 1 line * configure.in (RUBY_DEFINT): use Parameter Expansion. ------------------------------------------------------------------------ r53804 | naruse | 2016-02-11 06:29:48 +0900 (Thu, 11 Feb 2016) | 1 line fix r53801: the argument should remove UNSIGNED ------------------------------------------------------------------------ r53803 | svn | 2016-02-11 05:57:49 +0900 (Thu, 11 Feb 2016) | 1 line * 2016-02-11 ------------------------------------------------------------------------ r53802 | naruse | 2016-02-11 05:57:49 +0900 (Thu, 11 Feb 2016) | 4 lines * configure.in (int128_t): don't check HAVE_XXX (for example HAVE___INT128) because RUBY_CHECK_SIZEOF() don't define it for config.h and use of $ac_cv_sizeof___int128 alternates the check. (and don't need to define because users shouldn't know that) ------------------------------------------------------------------------ r53801 | nobu | 2016-02-10 16:06:12 +0900 (Wed, 10 Feb 2016) | 4 lines configure.in: remove unnecessary qualifier * configure.in (RUBY_DEFINT): remove unnecessary unsigned qualifier from preprocessing symbols. ------------------------------------------------------------------------ r53800 | nobu | 2016-02-10 15:28:55 +0900 (Wed, 10 Feb 2016) | 5 lines ARFLAGS needs a space * configure.in (ARFLAGS): needs a trailing space to separate from the target library name, whereas VC linker flag must not separate from its argument. ------------------------------------------------------------------------ r53799 | nobu | 2016-02-10 13:16:53 +0900 (Wed, 10 Feb 2016) | 4 lines configure.in: unique names * configure.in (RUBY_CHECK_SIZEOF): make variable names unique with rbcv_sizeof_ prefix. ------------------------------------------------------------------------ r53798 | nobu | 2016-02-10 12:03:57 +0900 (Wed, 10 Feb 2016) | 4 lines check ar D flag * configure.in (ARFLAGS): check if deterministic mode flag is effective, which is on by default on Ubuntu. ------------------------------------------------------------------------ r53797 | svn | 2016-02-10 03:43:46 +0900 (Wed, 10 Feb 2016) | 1 line * 2016-02-10 ------------------------------------------------------------------------ r53796 | naruse | 2016-02-10 03:43:45 +0900 (Wed, 10 Feb 2016) | 1 line Add example for Method#parameters from [ruby-core:19759] ------------------------------------------------------------------------ r53795 | nobu | 2016-02-09 19:18:50 +0900 (Tue, 09 Feb 2016) | 4 lines ruby.c: fixup r53791 * ruby.c (DEFAULT_FEATURES): debug features are no longer set since r53791. ------------------------------------------------------------------------ r53794 | kazu | 2016-02-09 17:55:18 +0900 (Tue, 09 Feb 2016) | 1 line * ruby.c (dump_option): fix a typo. ------------------------------------------------------------------------ r53793 | nobu | 2016-02-09 17:32:20 +0900 (Tue, 09 Feb 2016) | 4 lines ruby.c: available list from enum * ruby.c (feature_option, debug_option, dump_option): build available list in warning messages from enum lists. ------------------------------------------------------------------------ r53792 | nobu | 2016-02-09 17:24:37 +0900 (Tue, 09 Feb 2016) | 3 lines ruby.c: EACH_DUMPS * ruby.c (EACH_DUMPS): define the list of dumping feature names. ------------------------------------------------------------------------ r53791 | nobu | 2016-02-09 16:42:21 +0900 (Tue, 09 Feb 2016) | 4 lines ruby.c: set feature bits only * ruby.c (DEFAULT_FEATURES): set feature bits only, excluding debug features. ------------------------------------------------------------------------ r53790 | sonots | 2016-02-09 16:41:51 +0900 (Tue, 09 Feb 2016) | 2 lines * lib/logger.rb: Remove block from Logger.add as it's not needed patch provided by Daniel Lobato Garci [fix GH-1240] [Bug #12054] ------------------------------------------------------------------------ r53789 | nobu | 2016-02-09 16:36:27 +0900 (Tue, 09 Feb 2016) | 4 lines ruby.c: EACH_DEBUG_FEATURES * ruby.c (EACH_DEBUG_FEATURES): define the list of debug feature names. ------------------------------------------------------------------------ r53788 | nobu | 2016-02-09 15:57:09 +0900 (Tue, 09 Feb 2016) | 3 lines mkrunnable.rb: symlink on Windows [ci skip] * tool/mkrunnable.rb: File.symlink is supported on Windows now. ------------------------------------------------------------------------ r53787 | nobu | 2016-02-09 15:50:53 +0900 (Tue, 09 Feb 2016) | 4 lines mkrunnable.rb: clean link before symlink [ci skip] * tool/mkrunnable.rb (clean_link): clean link before symlink not to make a symlink in the linked directory. ------------------------------------------------------------------------ r53786 | nobu | 2016-02-09 14:47:12 +0900 (Tue, 09 Feb 2016) | 4 lines rename ADD_FEATURE * ruby.c (ADD_FEATURE_NAME): rename ADD_FEATURE, as it does not add a feature, but just append a name to the message string. ------------------------------------------------------------------------ r53785 | zzak | 2016-02-09 14:33:35 +0900 (Tue, 09 Feb 2016) | 3 lines * ext/zlib/zlib.c: Document mtime header behavior with patch by @schneems Fixes [GH-1129]: https://github.com/ruby/ruby/pull/1129 ------------------------------------------------------------------------ r53784 | zzak | 2016-02-09 13:54:39 +0900 (Tue, 09 Feb 2016) | 3 lines * re.c: Remove deprecated kcode argument from Regexp.new and compile patch provided by Dylan Pulliam [Bug #11495] ------------------------------------------------------------------------ r53783 | nobu | 2016-02-09 11:09:24 +0900 (Tue, 09 Feb 2016) | 3 lines .gdbinit: improve rb_imemo [ci skip] * .gdbinit (rp_imemo): support imemo_ment and imemo_iseq. ------------------------------------------------------------------------ r53782 | svn | 2016-02-09 10:51:38 +0900 (Tue, 09 Feb 2016) | 1 line * 2016-02-09 ------------------------------------------------------------------------ r53781 | nobu | 2016-02-09 10:51:38 +0900 (Tue, 09 Feb 2016) | 3 lines Support 1.8 Merged https://github.com/rubygems/rubygems/commit/72b3701 ------------------------------------------------------------------------ r53780 | svn | 2016-02-08 21:26:36 +0900 (Mon, 08 Feb 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53779 | duerst | 2016-02-08 21:26:35 +0900 (Mon, 08 Feb 2016) | 4 lines * enc/unicode/case-folding.rb, enc/unicode/casefold.h: Flags for upper/lower conversion added (titlecase and SpecialCasing still missing) (with Kimihito Matsui) ------------------------------------------------------------------------ r53778 | duerst | 2016-02-08 20:44:12 +0900 (Mon, 08 Feb 2016) | 4 lines * string.c, enc/unicode.c: Disassociating ONIGENC_CASE_FOLD flag from ONIGENC_CASE_DOWNCASE. (with Kimihito Matsui) ------------------------------------------------------------------------ r53777 | nobu | 2016-02-08 14:09:49 +0900 (Mon, 08 Feb 2016) | 5 lines test_gem_remote_fetcher.rb: terminate watcher * test/rubygems/test_gem_remote_fetcher.rb (stop_servers): terminate timeout watcher thread to fix thread leak. re-apply r53439. ------------------------------------------------------------------------ r53776 | nobu | 2016-02-08 14:01:00 +0900 (Mon, 08 Feb 2016) | 4 lines unicode.c: magic numbers * enc/unicode.c (I_WITH_DOT_ABOVE, DOTLESS_i, DOT_ABOVE): name magic numbers. ------------------------------------------------------------------------ r53775 | duerst | 2016-02-08 13:00:31 +0900 (Mon, 08 Feb 2016) | 7 lines * enc/unicode.c: Shortened macros for enc/unicode/casefold.h to single-letter; use flags in casefold.h for logic. * enc/unicode/case-folding.rb: Added flag for case folding. Changed parameter passing. * enc/unicode/casefold.h: New flags added. (with Kimihito Matsui) ------------------------------------------------------------------------ r53774 | nobu | 2016-02-08 12:44:48 +0900 (Mon, 08 Feb 2016) | 4 lines string.c: remove magic number * string.c (rb_str_dump): share same string literal instead of a magic number. ------------------------------------------------------------------------ r53773 | nobu | 2016-02-08 12:41:16 +0900 (Mon, 08 Feb 2016) | 4 lines string.c: use encoding index * string.c (rb_external_str_with_enc, rb_str_concat, rb_str_dump): use encoding index as shortcut without rb_encoding. ------------------------------------------------------------------------ r53772 | nobu | 2016-02-08 10:30:22 +0900 (Mon, 08 Feb 2016) | 4 lines ruby.c: err ambiguous feature name [ci skip] * ruby.c (feature_option): raise a runtime error if ambiguous feature name is given, in the future. [Bug #12050] ------------------------------------------------------------------------ r53771 | duerst | 2016-02-08 09:44:10 +0900 (Mon, 08 Feb 2016) | 4 lines * common.mk: Removed enc/unicode/casefold.h from automatic build because some CI systems don't have gperf. Creation of enc/unicode/casefold.h is now possible with make unicode-up. This is intended as a temporary measure. ------------------------------------------------------------------------ r53770 | svn | 2016-02-08 04:40:06 +0900 (Mon, 08 Feb 2016) | 1 line * 2016-02-08 ------------------------------------------------------------------------ r53769 | nagachika | 2016-02-08 04:40:05 +0900 (Mon, 08 Feb 2016) | 1 line * ChangeLog: revive an entry for r53762 accidentally removed at r53764. ------------------------------------------------------------------------ r53768 | svn | 2016-02-07 22:10:21 +0900 (Sun, 07 Feb 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53767 | duerst | 2016-02-07 22:10:20 +0900 (Sun, 07 Feb 2016) | 7 lines * common.mk: Added two more precondition files for enc/unicode/casefold.h * enc/unicode.c: Added shortening macros for enc/unicode/casefold.h * enc/unicode/case-folding.rb: Fixed file encoding for CaseFolding.txt to ASCII-8BIT (should fix some ci errors). Clarified usage. Created class MapItem. Partially implemented class CaseMapping. (with Kimihito Matsui) ------------------------------------------------------------------------ r53766 | nobu | 2016-02-07 19:21:27 +0900 (Sun, 07 Feb 2016) | 3 lines ruby.c: EACH_FEATURES * ruby.c (EACH_FEATURES): define the list of feature names. ------------------------------------------------------------------------ r53765 | duerst | 2016-02-07 14:12:44 +0900 (Sun, 07 Feb 2016) | 3 lines * enc/unicode/case-folding.rb: Fixing parameter passing. (with Kimihito Matsui) ------------------------------------------------------------------------ r53764 | duerst | 2016-02-07 11:44:14 +0900 (Sun, 07 Feb 2016) | 4 lines * enc/unicode/case-folding.rb: New classes CaseMapping/CaseMappingDummy to pass as parameters; not yet implemented or used. (with Kimihito Matsui) ------------------------------------------------------------------------ r53763 | nobu | 2016-02-07 11:40:52 +0900 (Sun, 07 Feb 2016) | 4 lines ruby.c: show feature names * ruby.c (feature_option): show possible feature names when unknown argument is given. ------------------------------------------------------------------------ r53762 | duerst | 2016-02-07 11:16:12 +0900 (Sun, 07 Feb 2016) | 4 lines * common.mk: using new option in recipe for enc/unicode/casefold.h * enc/unicode/case-folding.rb: Correctly specify argument to new option. (with Kimihito Matsui) ------------------------------------------------------------------------ r53761 | duerst | 2016-02-07 10:43:39 +0900 (Sun, 07 Feb 2016) | 6 lines (this commit message applies to the previous commit) * common.mk: explicit recipe for enc/unicode/casefold.h * enc/unicode/case-folding.rb: Adding -m option to prepare for using multiple data files. (with Kimihito Matsui) ------------------------------------------------------------------------ r53760 | svn | 2016-02-07 10:39:27 +0900 (Sun, 07 Feb 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53759 | duerst | 2016-02-07 10:39:26 +0900 (Sun, 07 Feb 2016) | 1 line ------------------------------------------------------------------------ r53758 | svn | 2016-02-07 02:56:47 +0900 (Sun, 07 Feb 2016) | 1 line * 2016-02-07 ------------------------------------------------------------------------ r53757 | naruse | 2016-02-07 02:56:47 +0900 (Sun, 07 Feb 2016) | 5 lines Revert "check __int64_t and __int128_t" This reverts commit r53750. Those types seems to be for C++, and breaks old GCC. http://rubyci.s3.amazonaws.com/c64b/ruby-trunk/log/20160206T130202Z.diff.html.gz ------------------------------------------------------------------------ r53756 | naruse | 2016-02-06 23:45:49 +0900 (Sat, 06 Feb 2016) | 1 line Fix r53748; the datafile includes non ASCII ------------------------------------------------------------------------ r53755 | nobu | 2016-02-06 23:23:26 +0900 (Sat, 06 Feb 2016) | 3 lines fix types order * configure.in: types without _t have prior than types with _t. ------------------------------------------------------------------------ r53754 | nobu | 2016-02-06 22:31:07 +0900 (Sat, 06 Feb 2016) | 4 lines ASCII-incompatible escape * lib/cgi/util.rb (escapeHTML, unescapeHTML): consider ASCII-incompatible encodings. [Fix GH-1239] ------------------------------------------------------------------------ r53753 | nobu | 2016-02-06 21:02:09 +0900 (Sat, 06 Feb 2016) | 3 lines lex.c.blt: update * lex.c.blt: follows r52429, not removing casts to int. ------------------------------------------------------------------------ r53752 | nobu | 2016-02-06 20:51:40 +0900 (Sat, 06 Feb 2016) | 5 lines get rid of ruby-mode.el bugs * lib/optparse.rb: get rid of confusing ruby-mode.el of Emacs 24, - if-end expression inside an expression - a comma just followed by a bar ------------------------------------------------------------------------ r53751 | svn | 2016-02-06 20:44:34 +0900 (Sat, 06 Feb 2016) | 1 line * 2016-02-06 ------------------------------------------------------------------------ r53750 | nobu | 2016-02-06 20:44:33 +0900 (Sat, 06 Feb 2016) | 4 lines check __int64_t and __int128_t * configure.in: check __int64_t and __int128_t for RUBY_DEFINT on OS X. ------------------------------------------------------------------------ r53749 | duerst | 2016-02-06 15:18:38 +0900 (Sat, 06 Feb 2016) | 8 lines * test/ruby/enc/test_regex_casefold.rb: Added data-based testing for String#downcase :fold. * enc/unicode.c: Fixed a range error (lowest non-ASCII character affected by case operations is U+00B5, MICRO SIGN) * test/ruby/enc/test_case_mapping.rb: Explicit test for case folding of MICRO SIGN to Greek mu. (with Kimihito Matsui) ------------------------------------------------------------------------ r53748 | duerst | 2016-02-06 14:51:33 +0900 (Sat, 06 Feb 2016) | 8 lines * test/ruby/enc/test_regex_casefold.rb: Tests for three case folding primitives (mbc_case_fold, get_case_fold_codes_by_str, apply_all_case_fold) in the various encodings. Currently only known good encodings are tested to avoid test failures. For bug hunting, start by adding more encodings with generate_test_casefold encoding (with Kimihito Matsui) ------------------------------------------------------------------------ r53747 | duerst | 2016-02-06 14:37:29 +0900 (Sat, 06 Feb 2016) | 5 lines * enc/unicode.c, test/ruby/enc/test_case_mapping.rb: Implemented :fold option for String#downcase by using case folding data from regular expression engine, and added a few simple tests. (with Kimihito Matsui) ------------------------------------------------------------------------ r53746 | duerst | 2016-02-05 20:09:07 +0900 (Fri, 05 Feb 2016) | 3 lines * test/ruby/enc/test_case_mapping.rb: added tests for :ascii option. (with Kimihito Matsui) ------------------------------------------------------------------------ r53745 | nobu | 2016-02-05 16:45:39 +0900 (Fri, 05 Feb 2016) | 3 lines configure.in: fix doc [ci skip] * configure.in (RUBY_CHECK_SIGNEDNESS): [DOC] fix function name. ------------------------------------------------------------------------ r53744 | naruse | 2016-02-05 15:52:41 +0900 (Fri, 05 Feb 2016) | 44 lines improve r53741 * Remove branching by a==0 case Before r53741: % perf stat ./miniruby -e'a=100;i=0;while i<0xfffffff;i+=1;a=(a*557+2)%100000;end' Performance counter stats for './miniruby -vea=100;i=0;while i<0xfffffff;i+=1;a=(a*557+2)%100000;end': 16412.994492 task-clock (msec) # 0.999 CPUs utilized 195 context-switches # 0.012 K/sec 2 cpu-migrations # 0.000 K/sec 876 page-faults # 0.053 K/sec 48488588328 cycles # 2.954 GHz 18464835712 stalled-cycles-frontend # 38.08% frontend cycles idle stalled-cycles-backend 85665428518 instructions # 1.77 insns per cycle # 0.22 stalled cycles # per insn 10207419707 branches # 621.911 M/sec 6334713 branch-misses # 0.06% of all branches 16.426858699 seconds time elapsed After this: % perf stat ./miniruby -ve'a=100;i=0;while i<0xfffffff;i+=1;a=(a*557+2)%100000;end' Performance counter stats for './miniruby -vea=100;i=0;while i<0xfffffff;i+=1;a=(a*557+2)%100000;end': 13363.540634 task-clock (msec) # 0.999 CPUs utilized 137 context-switches # 0.010 K/sec 2 cpu-migrations # 0.000 K/sec 874 page-faults # 0.065 K/sec 39477429278 cycles # 2.954 GHz 14615402375 stalled-cycles-frontend # 37.02% frontend cycles idle stalled-cycles-backend 83514678452 instructions # 2.12 insns per cycle # 0.18 stalled cycles per insn 9401528135 branches # 703.521 M/sec 432567 branch-misses # 0.00% of all branches 13.371484310 seconds time elapsed ------------------------------------------------------------------------ r53743 | nobu | 2016-02-05 13:45:10 +0900 (Fri, 05 Feb 2016) | 6 lines incompatible encoding workaround * test/lib/minitest/unit.rb (puke): workaround incompatible encoding error messages. * test/lib/test/unit/assertions.rb (AllFailures.message): ditto. ------------------------------------------------------------------------ r53742 | svn | 2016-02-05 13:31:28 +0900 (Fri, 05 Feb 2016) | 1 line * 2016-02-05 ------------------------------------------------------------------------ r53741 | naruse | 2016-02-05 13:31:27 +0900 (Fri, 05 Feb 2016) | 8 lines * insns.def (opt_mult): Use int128_t for overflow detection. * bignum.c (rb_uint128t2big): added for opt_mult. * bignum.c (rb_uint128t2big): added for rb_uint128t2big.. * configure.in: define int128_t, uint128_t and related MACROs. Initially introduced by r41379 but reverted by r50749. ------------------------------------------------------------------------ r53740 | duerst | 2016-02-04 21:05:23 +0900 (Thu, 04 Feb 2016) | 3 lines * enc/unicode.c: Activated :ascii flag for ASCII-only case conversion (with Kimihito Matsui) ------------------------------------------------------------------------ r53739 | nobu | 2016-02-04 17:38:06 +0900 (Thu, 04 Feb 2016) | 6 lines fstring without copy * re.c (reg_set_source): make source string frozen without copying. * re.c (rb_reg_initialize_m): refactor initialization with encoding. ------------------------------------------------------------------------ r53738 | nobu | 2016-02-04 15:46:28 +0900 (Thu, 04 Feb 2016) | 4 lines revert re.c in r53736 * re.c (rb_reg_initialize): must copy the source string content, it is not a static literal. ------------------------------------------------------------------------ r53737 | nobu | 2016-02-04 15:44:55 +0900 (Thu, 04 Feb 2016) | 3 lines return shared string * re.c (rb_reg_source): return shared string without copying. ------------------------------------------------------------------------ r53736 | nobu | 2016-02-04 15:35:34 +0900 (Thu, 04 Feb 2016) | 5 lines fstring_enc_new * string.c (rb_fstring_enc_new, rb_fstring_enc_cstr): functions to make fstring with encoding. * re.c (rb_reg_initialize): make fstring without copying. ------------------------------------------------------------------------ r53735 | nobu | 2016-02-04 15:34:10 +0900 (Thu, 04 Feb 2016) | 4 lines end of UNICODE_FILES * common.mk (UNICODE_FILES): append empty END-OF-LIST to put backslashes uniformly. ------------------------------------------------------------------------ r53734 | duerst | 2016-02-04 14:42:35 +0900 (Thu, 04 Feb 2016) | 3 lines * common.mk: Added Unicode data file SpecialCasing.txt to be additionally downloaded (with Kimihito Matsui) ------------------------------------------------------------------------ r53733 | nobu | 2016-02-04 14:10:36 +0900 (Thu, 04 Feb 2016) | 5 lines mask upper nibble * ext/cgi/escape/escape.c (optimized_escape): move c and use it instead of cstr[i]. mask upper nibble for the platforms where CHAR_BIT > 8. [Fix GH-1238] ------------------------------------------------------------------------ r53732 | nobu | 2016-02-04 12:40:41 +0900 (Thu, 04 Feb 2016) | 7 lines initialize dest to 0 * ext/cgi/escape/escape.c (optimized_escape_html): initialize dest to 0 and tell the result to be modified, instead of a separate flag. * ext/cgi/escape/escape.c (optimized_escape): ditto. ------------------------------------------------------------------------ r53731 | nobu | 2016-02-04 12:39:12 +0900 (Thu, 04 Feb 2016) | 4 lines cgi/escape: Optimize CGI.escape * cgi/escape/escape.c: Optimize CGI.escape performance by C ext for ASCII-compatible encodings. [Fix GH-1238] ------------------------------------------------------------------------ r53730 | nobu | 2016-02-04 12:16:50 +0900 (Thu, 04 Feb 2016) | 4 lines encoding.h: rb_enc_asciicompat_inline * include/ruby/encoding.h (rb_enc_asciicompat): turn into an inline function to get rid of evalucating the argument twice. ------------------------------------------------------------------------ r53729 | svn | 2016-02-04 11:54:03 +0900 (Thu, 04 Feb 2016) | 1 line * 2016-02-04 ------------------------------------------------------------------------ r53728 | duerst | 2016-02-04 11:54:02 +0900 (Thu, 04 Feb 2016) | 3 lines * common.mk: Introduce two variables (UNICODE_DATA_DIR and UNICODE_SRC_DATA_DIR) to eliminate repetitions. ------------------------------------------------------------------------ r53727 | naruse | 2016-02-03 19:08:49 +0900 (Wed, 03 Feb 2016) | 1 line Remove debug print introduced in r52386 ------------------------------------------------------------------------ r53726 | nobu | 2016-02-03 16:37:19 +0900 (Wed, 03 Feb 2016) | 4 lines test_exception.rb: NameError at FCALL * test/ruby/test_exception.rb (test_name_error_info): add assertions for FCALL. ------------------------------------------------------------------------ r53725 | nobu | 2016-02-03 16:21:48 +0900 (Wed, 03 Feb 2016) | 4 lines vm_eval.c: argument names * vm_eval.c (make_no_method_exception): enumerate argument meanings instead of a magic number. ------------------------------------------------------------------------ r53724 | naruse | 2016-02-03 13:52:13 +0900 (Wed, 03 Feb 2016) | 2 lines * string.c (str_new_frozen): if the given string is embeddedable but not embedded, embed a new copied string. [Bug #11946] ------------------------------------------------------------------------ r53723 | nobu | 2016-02-03 08:25:40 +0900 (Wed, 03 Feb 2016) | 4 lines Fix typo on OpenSSL::PKey doc [ci skip] * ext/openssl/ossl_pkey.c (Init_ossl_pkey): [DOC] Fix typo "encrypted" to "decrypted". [Fix GH-1235] ------------------------------------------------------------------------ r53722 | nobu | 2016-02-03 08:21:34 +0900 (Wed, 03 Feb 2016) | 5 lines Fix Ripper.lex error in dedenting squiggly heredoc * ext/ripper/lib/ripper/lexer.rb (on_heredoc_dedent): Fix Ripper.lex error in dedenting squiggly heredoc. heredoc tree is also an array of Elem in the outer tree. [Fix GH-1234] ------------------------------------------------------------------------ r53721 | svn | 2016-02-03 02:38:01 +0900 (Wed, 03 Feb 2016) | 1 line * 2016-02-03 ------------------------------------------------------------------------ r53720 | naruse | 2016-02-03 02:38:00 +0900 (Wed, 03 Feb 2016) | 3 lines * re.c (rb_reg_prepare_enc): use already compiled US-ASCII regexp if given string is ASCII only. 121.2s to 113.9s on my x86_64-freebsd10.2 Intel Core i5 661 ------------------------------------------------------------------------ r53719 | kazu | 2016-02-02 22:01:09 +0900 (Tue, 02 Feb 2016) | 1 line follow r53691 ------------------------------------------------------------------------ r53718 | naruse | 2016-02-02 20:02:10 +0900 (Tue, 02 Feb 2016) | 4 lines Skip SHA from test_digest_constants for LibreSSL 2.3 The first one of ruby/openssl#40 https://github.com/ruby/openssl/issues/40#issuecomment-159839338 ------------------------------------------------------------------------ r53717 | nobu | 2016-02-02 16:08:13 +0900 (Tue, 02 Feb 2016) | 4 lines downloader.rb: https setter * tool/downloader.rb (Downloader.https): define class variable setter for 1.8, class_variable_set was private. ------------------------------------------------------------------------ r53716 | nobu | 2016-02-02 14:43:44 +0900 (Tue, 02 Feb 2016) | 4 lines win32.c: reuse fullpath buffer * win32/win32.c (open_dir_handle): reuse the fullpath buffer instead of allocating another buffer for copy. ------------------------------------------------------------------------ r53715 | naruse | 2016-02-02 13:39:44 +0900 (Tue, 02 Feb 2016) | 13 lines * re.c: Introduce RREGEXP_PTR. patch by dbussink. partially merge https://github.com/ruby/ruby/pull/497 * include/ruby/ruby.h: ditto. * gc.c: ditto. * ext/strscan/strscan.c: ditto. * parse.y: ditto. * string.c: ditto. ------------------------------------------------------------------------ r53714 | nobu | 2016-02-02 13:39:38 +0900 (Tue, 02 Feb 2016) | 4 lines enc: workdir timestamps * enc/depend: make timestamps for each work directory, instead of making for each compilation and link. ------------------------------------------------------------------------ r53713 | nobu | 2016-02-02 12:53:01 +0900 (Tue, 02 Feb 2016) | 3 lines ChangeLog: reword * ChangeLog: reword "affect" as it is a verb. ------------------------------------------------------------------------ r53712 | hsbt | 2016-02-02 09:11:34 +0900 (Tue, 02 Feb 2016) | 3 lines * lib/rubygems/specification.rb: `coding` is affect only first line except shebang. * lib/rubygems/package.rb, lib/rubygems/package/*: ditto. ------------------------------------------------------------------------ r53711 | svn | 2016-02-02 00:06:18 +0900 (Tue, 02 Feb 2016) | 1 line * 2016-02-02 ------------------------------------------------------------------------ r53710 | nobu | 2016-02-02 00:06:17 +0900 (Tue, 02 Feb 2016) | 5 lines win32.c: w32_wopendir * win32/win32.c (w32_wopendir): remove filename parameter, and check the drive letter in wpath instead. rename from opendir_internal. ------------------------------------------------------------------------ r53709 | svn | 2016-02-01 21:43:30 +0900 (Mon, 01 Feb 2016) | 1 line * properties. ------------------------------------------------------------------------ r53708 | svn | 2016-02-01 21:43:30 +0900 (Mon, 01 Feb 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53707 | hsbt | 2016-02-01 21:43:26 +0900 (Mon, 01 Feb 2016) | 5 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.5.2. It supports to enable frozen string literal and add `--norc` option for disable to `.gemrc` configuration. See 2.5.2 release notes for other fixes and enhancements. https://github.com/rubygems/rubygems/blob/a8aa3bac723f045c52471c7b9328310a048561e0/History.txt#L3 ------------------------------------------------------------------------ r53706 | nobu | 2016-02-01 21:08:08 +0900 (Mon, 01 Feb 2016) | 4 lines win32.c: volume_prefix_len * win32/win32.c (rb_w32_read_reparse_point): name the prefix length to be dropped. ------------------------------------------------------------------------ r53705 | nobu | 2016-02-01 17:14:03 +0900 (Mon, 01 Feb 2016) | 5 lines win32.c: suffix should be alnum * win32/win32.c (fileattr_to_unixmode): built-in executable suffixes are alpha-numeric only, no needs to scan whole path, especially path separators. ------------------------------------------------------------------------ r53704 | svn | 2016-02-01 15:25:22 +0900 (Mon, 01 Feb 2016) | 1 line * 2016-02-01 ------------------------------------------------------------------------ r53703 | nobu | 2016-02-01 15:25:21 +0900 (Mon, 01 Feb 2016) | 4 lines win32.c: move counting length * win32/win32.c (opendir_internal): defer counting the length just before the loop where it is used. ------------------------------------------------------------------------ r53702 | nobu | 2016-01-31 18:43:22 +0900 (Sun, 31 Jan 2016) | 4 lines r53688 test * test/ruby/test_file_exhaustive.rb (test_realpath_mount_point): test for r53688. ------------------------------------------------------------------------ r53701 | nobu | 2016-01-31 12:34:21 +0900 (Sun, 31 Jan 2016) | 4 lines additional math operations * test/drb/ut_large.rb (multiply, avg, median): add additional math operations to DRbLarge. [Fix GH-1086] ------------------------------------------------------------------------ r53700 | nobu | 2016-01-31 12:20:22 +0900 (Sun, 31 Jan 2016) | 4 lines test for File#lstat. * test/ruby/test_file_exhaustive.rb (test_lstat): Add lacking test for File#lstat. [Fix GH-1231] ------------------------------------------------------------------------ r53699 | nobu | 2016-01-31 12:16:40 +0900 (Sun, 31 Jan 2016) | 6 lines standard_library.rdoc: fix typo [ci skip] * doc/standard_library.rdoc: fix typo [Fix GH-1230] Spelling mistakes - outputing > outputting publich > publish ------------------------------------------------------------------------ r53698 | nobu | 2016-01-31 12:11:14 +0900 (Sun, 31 Jan 2016) | 7 lines io.c: rb_io_open_generic * io.c (rb_io_open_generic): split from rb_io_open without argument conversions. * io.c (rb_io_s_binread): get rid of unnecessary object creation and conversion. ------------------------------------------------------------------------ r53697 | svn | 2016-01-31 11:58:34 +0900 (Sun, 31 Jan 2016) | 1 line * 2016-01-31 ------------------------------------------------------------------------ r53696 | nobu | 2016-01-31 11:58:33 +0900 (Sun, 31 Jan 2016) | 4 lines io.c: constify * io.c (rb_file_open_generic, pipe_open, pipe_open_s): constify convconfig parameter. ------------------------------------------------------------------------ r53695 | nobu | 2016-01-30 15:19:13 +0900 (Sat, 30 Jan 2016) | 5 lines vm_eval.c: fix hook call * vm_eval.c (rb_check_funcall_with_hook): also should call the given hook before returning Qundef when overridden respond_to? method returned false. [ruby-core:73556] [Bug #12030] ------------------------------------------------------------------------ r53694 | nobu | 2016-01-30 10:49:05 +0900 (Sat, 30 Jan 2016) | 4 lines common.mk: update-bundled_gems * common.mk (update-bundled_gems): to update version numbers in gems/bundled_gems file. ------------------------------------------------------------------------ r53693 | nobu | 2016-01-30 10:08:20 +0900 (Sat, 30 Jan 2016) | 1 line update bundled gems ------------------------------------------------------------------------ r53692 | svn | 2016-01-30 00:21:53 +0900 (Sat, 30 Jan 2016) | 1 line * 2016-01-30 ------------------------------------------------------------------------ r53691 | naruse | 2016-01-30 00:21:52 +0900 (Sat, 30 Jan 2016) | 1 line suppress warning: assigned but unused variable ------------------------------------------------------------------------ r53690 | nobu | 2016-01-29 18:32:57 +0900 (Fri, 29 Jan 2016) | 4 lines r53689 test * test/ruby/test_file_exhaustive.rb (test_readlink_junction): test for r53689. ------------------------------------------------------------------------ r53689 | nobu | 2016-01-29 17:41:10 +0900 (Fri, 29 Jan 2016) | 6 lines win32/file.c: drop garbage * win32/file.c (rb_readlink): drop garbage after the substitute name, as rb_w32_read_reparse_point returns the expected buffer size but "\??\" prefix is dropped from the result. * win32/win32.c (w32_readlink): ditto, including NUL-terminator. ------------------------------------------------------------------------ r53688 | usa | 2016-01-29 17:13:42 +0900 (Fri, 29 Jan 2016) | 10 lines * win32/win32.c (fileattr_to_unixmode, rb_w32_reparse_symlink_p): volume mount point should be treated as directory, not symlink. [ruby-core:72483] [Bug #11874] * win32/win32.c (rb_w32_read_reparse_point): check the reparse point is a volume mount point or not. * win32/file.c (rb_readlink): follow above change (but this pass won't be used). ------------------------------------------------------------------------ r53687 | kazu | 2016-01-29 17:01:01 +0900 (Fri, 29 Jan 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r53686 | nobu | 2016-01-29 16:18:10 +0900 (Fri, 29 Jan 2016) | 4 lines Rename parameter name * enum.c (enum_take_while, enum_drop_while): rename block parameter to obj, since they are generic objects. [Fix GH-1226] ------------------------------------------------------------------------ r53685 | nobu | 2016-01-29 14:16:29 +0900 (Fri, 29 Jan 2016) | 4 lines erb.rb: fronzen-string-literal in comment [Fix GH-1229] * lib/erb.rb (ERB::Compiler#detect_magic_comment): allow fronzen-string-literal in comment as well as encoding. ------------------------------------------------------------------------ r53684 | nobu | 2016-01-29 14:14:31 +0900 (Fri, 29 Jan 2016) | 5 lines erb.rb: duplicated magic comments [Fix GH-1229] * lib/erb.rb (ERB#def_method): insert def line just before the first non-comment and non-empty line, not to leave duplicated and stale magic comments. ------------------------------------------------------------------------ r53683 | nobu | 2016-01-29 12:18:05 +0900 (Fri, 29 Jan 2016) | 6 lines test_erb.rb: improve assertions * test/erb/test_erb.rb: improve failure messages with assert_respond_to and assert_not_respond_to. * test/erb/test_erb.rb: use assert_raise instead of assert(false). ------------------------------------------------------------------------ r53682 | nobu | 2016-01-29 11:14:36 +0900 (Fri, 29 Jan 2016) | 5 lines erb.rb: frozen-string-literal safe * lib/erb.rb (ERB#set_eoutvar): explicitly make mutable string as a buffer to make ERB work with --enable-frozen-string-literal. [ruby-core:73561] [Bug #12031] ------------------------------------------------------------------------ r53681 | nobu | 2016-01-29 11:13:38 +0900 (Fri, 29 Jan 2016) | 5 lines test_erb.rb: escape * test/erb/test_erb.rb (test_token_extension): escape % in dedented heredoc for editors which do not support this syntax yet. ------------------------------------------------------------------------ r53680 | svn | 2016-01-29 10:46:03 +0900 (Fri, 29 Jan 2016) | 1 line * 2016-01-29 ------------------------------------------------------------------------ r53679 | hsbt | 2016-01-29 10:46:02 +0900 (Fri, 29 Jan 2016) | 3 lines * lib/net/http/header.rb: Warn nil variable on HTTP Header. It caused to NoMethodError. [fix GH-952][fix GH-641] Patch by @teosz * test/net/http/test_httpheader.rb: Added test for nil HTTP Header. ------------------------------------------------------------------------ r53678 | svn | 2016-01-28 17:32:45 +0900 (Thu, 28 Jan 2016) | 1 line * 2016-01-28 ------------------------------------------------------------------------ r53677 | nobu | 2016-01-28 17:32:44 +0900 (Thu, 28 Jan 2016) | 4 lines socket.c: unlimited size hostname * ext/socket/socket.c (sock_gethostname): support unlimited size hostname. ------------------------------------------------------------------------ r53676 | nobu | 2016-01-27 23:57:23 +0900 (Wed, 27 Jan 2016) | 3 lines depend: add capacity.o * ext/-test-/string/depend (capacity.o): add dependencies. ------------------------------------------------------------------------ r53675 | svn | 2016-01-27 21:04:48 +0900 (Wed, 27 Jan 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53674 | hsbt | 2016-01-27 21:04:47 +0900 (Wed, 27 Jan 2016) | 1 line * test/-ext-/string/test_capacity.rb: Added missing library. ------------------------------------------------------------------------ r53673 | usa | 2016-01-27 21:00:07 +0900 (Wed, 27 Jan 2016) | 4 lines * test/ruby/test_file.rb (TestFile#test_realpath_encoding): rescue Errno::EACCES and skip the testcase because it'll be raised on Windows always unless the runner doesn't have the administrator privilege. ------------------------------------------------------------------------ r53672 | svn | 2016-01-27 20:37:03 +0900 (Wed, 27 Jan 2016) | 1 line * properties. ------------------------------------------------------------------------ r53671 | naruse | 2016-01-27 20:37:02 +0900 (Wed, 27 Jan 2016) | 1 line Add tests about String's internal capacity ------------------------------------------------------------------------ r53670 | duerst | 2016-01-27 18:54:38 +0900 (Wed, 27 Jan 2016) | 2 lines * enc/unicode.c: Fixed bit mask in macro OnigCodePointCount ------------------------------------------------------------------------ r53669 | duerst | 2016-01-27 17:55:40 +0900 (Wed, 27 Jan 2016) | 4 lines * enc/unicode.c: Protect code point count by macro, in order to be able to use the remaining bits for flags. (with Kimihito Matsui) ------------------------------------------------------------------------ r53668 | nobu | 2016-01-27 16:35:34 +0900 (Wed, 27 Jan 2016) | 5 lines Fix doc with default value with GH-523 * lib/tempfile.rb (Tempfile#initialize): [DOC] the first parameter `basename` is optional and defaulted to an empty string since [GH-523]. [Fix GH-1225] ------------------------------------------------------------------------ r53667 | nobu | 2016-01-27 16:30:42 +0900 (Wed, 27 Jan 2016) | 3 lines hash.c: exception examples * hash.c (rb_hash_dig): [DOC] add examples of exceptions. ------------------------------------------------------------------------ r53666 | nobu | 2016-01-27 16:26:53 +0900 (Wed, 27 Jan 2016) | 5 lines Fix a Ruby-Doc comment for Array#dig * array.c (rb_ary_dig): [DOC] fix the exception class to be raised when intermediate object does not have dig method. TypeError will be raised now. [Fix GH-1224] ------------------------------------------------------------------------ r53665 | nobu | 2016-01-27 13:11:53 +0900 (Wed, 27 Jan 2016) | 6 lines test_require.rb: fix temporary library directory * test/rubygems/test_require.rb (test_dash_i_beats_gems): create temporary library directory under the temporary directory created by Gem::TestCase#setup, not to leave garbages in the default temporary directory. ------------------------------------------------------------------------ r53664 | svn | 2016-01-27 02:19:37 +0900 (Wed, 27 Jan 2016) | 1 line * 2016-01-27 ------------------------------------------------------------------------ r53663 | naruse | 2016-01-27 02:19:36 +0900 (Wed, 27 Jan 2016) | 1 line increase timeout for Solaris 10 SPARC ------------------------------------------------------------------------ r53661 | kazu | 2016-01-26 19:39:50 +0900 (Tue, 26 Jan 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r53660 | nobu | 2016-01-26 19:37:12 +0900 (Tue, 26 Jan 2016) | 4 lines array.c: reword [ci skip] * array.c (permute0, rpermute0): [DOC] Substitute indexes -> indices in documentation for consistency. [Fix GH-1222] ------------------------------------------------------------------------ r53659 | normal | 2016-01-26 15:23:47 +0900 (Tue, 26 Jan 2016) | 16 lines fstring early for internal iseq All of the strings created here eventually get converted to fstrings when they are frozen into the iseq. Prepare the fstring early so we may reduce a one or two objects. This is a very minor change, mainly for the '' dedupe. * compile.c (caller_location): use rb_fstring_cstr for "" (it is converted to fstring anyways inside rb_iseq_new_with_opt) * iseq.c (iseqw_s_compile): ditto * iseq.c (rb_iseq_new_main): use rb_fstring_cstr for "" * vm.c (Init_VM): ditto, share with with above * iseq.c (iseqw_s_compile_file): rb_fstring before rb_io_t->pathv share "" with above * vm.c (rb_binding_add_dynavars): fstring "" immediately ------------------------------------------------------------------------ r53658 | nobu | 2016-01-26 15:14:59 +0900 (Tue, 26 Jan 2016) | 7 lines compile.c: fix tailcall optimization * compile.c (iseq_peephole_optimize): don't apply tailcall optimization to send/invokesuper instructions with blockiseq. This is a follow-up to the changes in r51903; blockiseq is now the third operand of send/invokesuper instructions. [ruby-core:73413] [Bug #12018] ------------------------------------------------------------------------ r53657 | normal | 2016-01-26 14:33:28 +0900 (Tue, 26 Jan 2016) | 7 lines Signal.list deduplicates keys This allows us to reuse string objects used in symbols as well as any string representations of signal names in source code. * signal.c (sig_list): use fstring for hash key * test/ruby/test_signal.rb (test_signal_list_dedupe_keys): added ------------------------------------------------------------------------ r53656 | nobu | 2016-01-26 13:09:31 +0900 (Tue, 26 Jan 2016) | 4 lines signal.c: reserved signals * signal.c (rb_f_kill): should immediately deliver reserved signals SIGILL and SIGFPE, ont only SIGSEGV and SIGBUS. ------------------------------------------------------------------------ r53655 | svn | 2016-01-26 07:58:26 +0900 (Tue, 26 Jan 2016) | 1 line * 2016-01-26 ------------------------------------------------------------------------ r53654 | nobu | 2016-01-26 07:58:25 +0900 (Tue, 26 Jan 2016) | 4 lines Macro typo * gc.c (RVALUE_PAGE_WB_UNPROTECTED): fix a typo of argument name. [Fix GH-1221] ------------------------------------------------------------------------ r53653 | normal | 2016-01-25 17:34:00 +0900 (Mon, 25 Jan 2016) | 8 lines fix build with VM_CHECK_MODE > 0 * ruby_assert.h (RUBY_ASSERT_WHEN): fix reference to macro name * vm_core.h: include ruby_assert.h before using [ruby-core:73371] This does not fix the test failure documented in [ruby-core:73371], that is for later. ------------------------------------------------------------------------ r53652 | nobu | 2016-01-25 16:49:26 +0900 (Mon, 25 Jan 2016) | 3 lines common.mk: dependency of ripper.c * common.mk (ext/ripper/ripper.c): explicit parse.y for nmake. ------------------------------------------------------------------------ r53651 | nobu | 2016-01-25 16:45:54 +0900 (Mon, 25 Jan 2016) | 1 line revert r53618 partially ------------------------------------------------------------------------ r53650 | nobu | 2016-01-25 15:56:26 +0900 (Mon, 25 Jan 2016) | 5 lines symbol.c: more informative error message * symbol.c (sym_check_asciionly): more informative error message with the encoding name and the inspected content. [ruby-core:73398] [Feature #12016] ------------------------------------------------------------------------ r53649 | hsbt | 2016-01-25 09:39:26 +0900 (Mon, 25 Jan 2016) | 2 lines * test/ruby/test_string.rb: added testcase for next!, succ and succ! [fix GH-1213] Patch by @K0mAtoru ------------------------------------------------------------------------ r53648 | hsbt | 2016-01-25 09:33:17 +0900 (Mon, 25 Jan 2016) | 2 lines * lib/webrick/httpservlet/filehandler.rb: fix documentation for namespace. [fix GH-1219][ci skip] Patch by @leafac ------------------------------------------------------------------------ r53647 | svn | 2016-01-25 00:00:58 +0900 (Mon, 25 Jan 2016) | 1 line * 2016-01-25 ------------------------------------------------------------------------ r53646 | nobu | 2016-01-25 00:00:57 +0900 (Mon, 25 Jan 2016) | 4 lines test_class.rb: fix encoding * test/ruby/test_class.rb (test_namescope_error_message): fix encoding to UTF-8. ------------------------------------------------------------------------ r53645 | nobu | 2016-01-24 23:59:16 +0900 (Sun, 24 Jan 2016) | 4 lines test_class.rb: test_namescope_error_message * test/ruby/test_class.rb (test_namescope_error_message): test for r53644. ------------------------------------------------------------------------ r53644 | normal | 2016-01-24 19:36:16 +0900 (Sun, 24 Jan 2016) | 10 lines vm_insnhelper.c (vm_check_if_namespace): tiny size reduction Take advantage of "%+" modifier in the format string instead of explicitly calling rb_inspect to reduce object size. On x86 32-bit: text data bss dec hex filename before: 2949572 12448 30680 2992700 2daa3c miniruby after: 2949464 12448 30680 2992592 2da9d0 miniruby ------------------------------------------------------------------------ r53643 | duerst | 2016-01-24 18:13:30 +0900 (Sun, 24 Jan 2016) | 3 lines * common.mk: Simplifying Unicode data file download logic to make it more reliable (including additional fix not in r53633) [Bug #12007] ------------------------------------------------------------------------ r53642 | nobu | 2016-01-24 16:55:05 +0900 (Sun, 24 Jan 2016) | 5 lines wait readable/writable * ext/io/wait/wait.c (io_wait_readwrite): [EXPERIMENTAL] allow to wait for multiple modes, readable and writable, at once. the arguments may change in the future. [Feature #12013] ------------------------------------------------------------------------ r53641 | svn | 2016-01-24 14:30:55 +0900 (Sun, 24 Jan 2016) | 1 line * 2016-01-24 ------------------------------------------------------------------------ r53640 | nobu | 2016-01-24 14:30:54 +0900 (Sun, 24 Jan 2016) | 4 lines test_io_wait.rb: wait_readable * test/io/wait/test_io_wait.rb: add tests for IO#wait_readable, same as IO#wait. ------------------------------------------------------------------------ r53639 | nobu | 2016-01-23 22:31:51 +0900 (Sat, 23 Jan 2016) | 4 lines Add test for Array#keep_if * test/ruby/test_array.rb (test_keep_if): Add test for Array#keep_if separate from Array#select! [Fix GH-1218] ------------------------------------------------------------------------ r53638 | nobu | 2016-01-23 22:27:13 +0900 (Sat, 23 Jan 2016) | 4 lines appveyor.yml: simplify * appveyor.yml (install, build_script): simplify by using same opt dir for libressl and zlib. ------------------------------------------------------------------------ r53637 | hsbt | 2016-01-23 20:55:32 +0900 (Sat, 23 Jan 2016) | 2 lines * common.mk: revert r53633. It broke rubyci and travis. https://travis-ci.org/ruby/ruby/builds/104259623 ------------------------------------------------------------------------ r53636 | shugo | 2016-01-23 20:19:22 +0900 (Sat, 23 Jan 2016) | 1 line fix typo. ------------------------------------------------------------------------ r53635 | shugo | 2016-01-23 20:16:09 +0900 (Sat, 23 Jan 2016) | 5 lines * range.c (range_eqq): revert r11113 because rb_call_super() is called in range_include() and thus r11113 doesn't work when the receiver Range object consists of non linear objects such as Date objects. [ruby-core:72908] [Bug #12003] ------------------------------------------------------------------------ r53634 | duerst | 2016-01-23 18:38:50 +0900 (Sat, 23 Jan 2016) | 7 lines ChangeLog: Fixing wrong time on previous commit, and adding previous commit message to svn [ci skip] The message on the previous commit should have read: common.mk: Simplifying Unicode data file download logic to make it more reliable [Bug #12007] ------------------------------------------------------------------------ r53633 | duerst | 2016-01-23 18:32:44 +0900 (Sat, 23 Jan 2016) | 1 line ------------------------------------------------------------------------ r53632 | nobu | 2016-01-23 17:18:17 +0900 (Sat, 23 Jan 2016) | 4 lines appveyor.yml: exclude unavailable extensions * appveyor.yml (build_script): exclude unavailable extensions, gdb, gdbm, readline, and tk/tkutil. ------------------------------------------------------------------------ r53631 | duerst | 2016-01-23 16:30:32 +0900 (Sat, 23 Jan 2016) | 2 lines * tool/downloader.rb: Fixed a logical error, improved documentation ------------------------------------------------------------------------ r53630 | kazu | 2016-01-23 14:19:42 +0900 (Sat, 23 Jan 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r53629 | nobu | 2016-01-23 11:43:34 +0900 (Sat, 23 Jan 2016) | 4 lines Use SVG Travis badge over PNG * README.md: Use SVG Travis badge over PNG for better quality and devise support. [Fix GH-1214] [Fix GH-1216] ------------------------------------------------------------------------ r53628 | nobu | 2016-01-23 11:30:07 +0900 (Sat, 23 Jan 2016) | 4 lines Update documentation of CSV header converter * lib/csv.rb: Update documentation of CSV header converter for r45498, [GH-575]. [Fix GH-1215] ------------------------------------------------------------------------ r53627 | nobu | 2016-01-23 11:15:56 +0900 (Sat, 23 Jan 2016) | 4 lines configure.bat: put a space * win32/configure.bat: put a space after replaced string to get rid of something weird sometimes. ------------------------------------------------------------------------ r53626 | shugo | 2016-01-23 00:49:49 +0900 (Sat, 23 Jan 2016) | 2 lines * win32/configure.bat: set svn:eol-style to CRLF. ------------------------------------------------------------------------ r53625 | svn | 2016-01-23 00:13:17 +0900 (Sat, 23 Jan 2016) | 1 line * 2016-01-23 ------------------------------------------------------------------------ r53624 | svn | 2016-01-23 00:13:17 +0900 (Sat, 23 Jan 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53623 | nobu | 2016-01-23 00:13:16 +0900 (Sat, 23 Jan 2016) | 4 lines configure.bat: fix strange goto * win32/configure.bat: get rid of wrong goto destination by putting something before LF. ------------------------------------------------------------------------ r53622 | svn | 2016-01-22 23:40:48 +0900 (Fri, 22 Jan 2016) | 1 line * properties. ------------------------------------------------------------------------ r53621 | nobu | 2016-01-22 23:40:47 +0900 (Fri, 22 Jan 2016) | 3 lines configure.bat: set eol-style * win32/configure.bat: should be CRLF eol-style. ------------------------------------------------------------------------ r53620 | svn | 2016-01-22 23:28:33 +0900 (Fri, 22 Jan 2016) | 1 line * properties. ------------------------------------------------------------------------ r53619 | nobu | 2016-01-22 23:28:31 +0900 (Fri, 22 Jan 2016) | 4 lines configure.bat: --with-libdir * win32/configure.bat: add --with-libdir option for basename of libdir. on Windows it must be placed under exec_prefix always. ------------------------------------------------------------------------ r53618 | nobu | 2016-01-22 21:30:31 +0900 (Fri, 22 Jan 2016) | 5 lines common.mk: source dependency for nmake * common.mk (ext/rbconfig/sizeof/sizes.c): separate the dependency with VPATH and the command, get rid of weird VPATH behavior of nmake. ------------------------------------------------------------------------ r53617 | nobu | 2016-01-22 20:22:27 +0900 (Fri, 22 Jan 2016) | 4 lines common.mk: probes.dmyh for nmake * common.mk (probes.dmyh): separate the dependency and the command, get rid of weird VPATH behavior of nmake. ------------------------------------------------------------------------ r53616 | nobu | 2016-01-22 17:37:36 +0900 (Fri, 22 Jan 2016) | 3 lines vm_core.h: use RUBY_ASSERT * vm_core.h (VM_ASSERT): use RUBY_ASSERT instead of rb_bug. ------------------------------------------------------------------------ r53615 | nobu | 2016-01-22 17:33:55 +0900 (Fri, 22 Jan 2016) | 4 lines RUBY_ASSERT * error.c (rb_assert_failure): assertion with stack dump. * ruby_assert.h (RUBY_ASSERT): new header for the assertion. ------------------------------------------------------------------------ r53614 | naruse | 2016-01-22 16:02:37 +0900 (Fri, 22 Jan 2016) | 1 line Add badges ------------------------------------------------------------------------ r53613 | naruse | 2016-01-22 15:26:57 +0900 (Fri, 22 Jan 2016) | 1 line remove to allow trunk ------------------------------------------------------------------------ r53612 | naruse | 2016-01-22 15:09:19 +0900 (Fri, 22 Jan 2016) | 1 line Add appveyor.yml ------------------------------------------------------------------------ r53611 | svn | 2016-01-22 01:09:10 +0900 (Fri, 22 Jan 2016) | 1 line * 2016-01-22 ------------------------------------------------------------------------ r53610 | naruse | 2016-01-22 01:09:09 +0900 (Fri, 22 Jan 2016) | 4 lines * regparse.c (fetch_name_with_level): allow non word characters at the first character. [Feature #11949] * regparse.c (fetch_name): ditto. ------------------------------------------------------------------------ r53609 | naruse | 2016-01-21 17:36:01 +0900 (Thu, 21 Jan 2016) | 3 lines * marshal.c (r_object0): honor Marshal.load post proc value for TYPE_LINK. by Hiroshi Nakamura https://github.com/ruby/ruby/pull/1204 fix GH-1204 ------------------------------------------------------------------------ r53607 | naruse | 2016-01-21 16:40:17 +0900 (Thu, 21 Jan 2016) | 1 line * Makefile.in (update-rubyspec): fix r53208 like r53451. ------------------------------------------------------------------------ r53606 | nobu | 2016-01-21 15:58:03 +0900 (Thu, 21 Jan 2016) | 4 lines common.mk: update-config_files is back * common.mk (update-config_files): move back from Makefile.in, needs to be here for .travis.yml. ------------------------------------------------------------------------ r53605 | svn | 2016-01-21 15:23:19 +0900 (Thu, 21 Jan 2016) | 1 line * 2016-01-21 ------------------------------------------------------------------------ r53604 | nobu | 2016-01-21 15:23:18 +0900 (Thu, 21 Jan 2016) | 4 lines test_io_m17n.rb: BOM with non-UTF * test/ruby/test_io_m17n.rb (test_bom_non_utf): assert BOM with non-UTF encoding in encoding option, for r53084. ------------------------------------------------------------------------ r53603 | usa | 2016-01-20 21:09:39 +0900 (Wed, 20 Jan 2016) | 2 lines * ChangeLog: typo. ------------------------------------------------------------------------ r53602 | usa | 2016-01-20 21:00:14 +0900 (Wed, 20 Jan 2016) | 3 lines * common.mk, Makefile.in: update-config.files is only for Unix platforms. ------------------------------------------------------------------------ r53601 | nobu | 2016-01-20 17:17:57 +0900 (Wed, 20 Jan 2016) | 4 lines vcs.rb: git worktree * tool/vcs.rb (VCS.detect, VCS::GIT): support working directory created by `git worktree`. ------------------------------------------------------------------------ r53600 | nobu | 2016-01-20 17:16:39 +0900 (Wed, 20 Jan 2016) | 1 line ChangeLog: fix commit log of r53599 ------------------------------------------------------------------------ r53599 | nobu | 2016-01-20 17:14:24 +0900 (Wed, 20 Jan 2016) | 1 line extlibs.rb: add --cache option ------------------------------------------------------------------------ r53596 | svn | 2016-01-20 03:42:37 +0900 (Wed, 20 Jan 2016) | 1 line * 2016-01-20 ------------------------------------------------------------------------ r53595 | headius | 2016-01-20 03:42:36 +0900 (Wed, 20 Jan 2016) | 3 lines file.c: fix documentation * file.c: mode is optional, defaults to 0666. ------------------------------------------------------------------------ r53594 | nobu | 2016-01-19 20:04:52 +0900 (Tue, 19 Jan 2016) | 4 lines configure.in: suppress warnings * configure.in (warnflags): suppress warnings caused by macro expansion with clang (and maybe -save-temps option). ------------------------------------------------------------------------ r53593 | nobu | 2016-01-19 19:39:42 +0900 (Tue, 19 Jan 2016) | 1 line ripper: clean timestamp ------------------------------------------------------------------------ r53592 | nobu | 2016-01-19 18:50:27 +0900 (Tue, 19 Jan 2016) | 4 lines configure.in: suppress warnings * configure.in (warnflags): suppress warnings caused by macro expansion with clang. ------------------------------------------------------------------------ r53591 | nobu | 2016-01-19 17:36:02 +0900 (Tue, 19 Jan 2016) | 3 lines io.c: suppress warning * io.c (rb_update_max_fd): get rid of unused-value warning. ------------------------------------------------------------------------ r53590 | duerst | 2016-01-19 17:04:21 +0900 (Tue, 19 Jan 2016) | 3 lines * common.mk: Added Unicode data file CaseFolding.txt to be additionally downloaded (with Kimihito Matsui) ------------------------------------------------------------------------ r53589 | nobu | 2016-01-19 14:41:11 +0900 (Tue, 19 Jan 2016) | 4 lines make-snapshot: remove Unicode data * make-snapshot: remove Unicode data files, which are not necessary once all source have been generated. ------------------------------------------------------------------------ r53588 | nobu | 2016-01-19 14:05:47 +0900 (Tue, 19 Jan 2016) | 7 lines make-snapshot: download first * common.mk (update-download): split to download only, excluding VCS. * make-snapshot: download config, Unicode data, gem, and external library files first. ------------------------------------------------------------------------ r53587 | nobu | 2016-01-19 11:55:34 +0900 (Tue, 19 Jan 2016) | 1 line TestISeq.rb: exclude time consuming GC test ------------------------------------------------------------------------ r53586 | naruse | 2016-01-19 11:52:37 +0900 (Tue, 19 Jan 2016) | 3 lines increase timeout for ARMv7 http://rubyci.s3.amazonaws.com/scw-9d6766/ruby-trunk/log/20160113T091704Z.diff.html.gz ------------------------------------------------------------------------ r53585 | nobu | 2016-01-19 11:39:07 +0900 (Tue, 19 Jan 2016) | 4 lines common.mk: fix dependency * common.mk (.unicode-tables.time): should not depend on files which are not downloaded yet, but just the timestamp for them. ------------------------------------------------------------------------ r53584 | nobu | 2016-01-19 11:30:17 +0900 (Tue, 19 Jan 2016) | 3 lines common.mk: update-remote * common.mk (update-remote): update by downloading remote files. ------------------------------------------------------------------------ r53583 | sho-h | 2016-01-19 11:03:50 +0900 (Tue, 19 Jan 2016) | 3 lines * lib/shell.rb (Shell.debug_output_exclusive_unlock): remove because Mutex#exclusive_unlock was already deleted. [fix GH-1185] ------------------------------------------------------------------------ r53582 | sho-h | 2016-01-19 09:54:54 +0900 (Tue, 19 Jan 2016) | 2 lines * error.c: [DOC] fix Exception#backtrace_locations indent. [ci skip] ------------------------------------------------------------------------ r53581 | svn | 2016-01-19 09:39:12 +0900 (Tue, 19 Jan 2016) | 1 line * 2016-01-19 ------------------------------------------------------------------------ r53580 | hsbt | 2016-01-19 09:39:12 +0900 (Tue, 19 Jan 2016) | 2 lines * vm_method.c: fix grammar in respond_to? warning. [fix GH-1047] ------------------------------------------------------------------------ r53578 | nobu | 2016-01-18 22:49:51 +0900 (Mon, 18 Jan 2016) | 4 lines ruby-additional.el: ruby-decode-unicode * misc/ruby-additional.el (ruby-decode-unicode): new function to convert escaped Unicode to raw string. ------------------------------------------------------------------------ r53577 | nobu | 2016-01-18 21:48:41 +0900 (Mon, 18 Jan 2016) | 4 lines unicode_norm_gen.tmpl: Remove indicator * template/unicode_norm_gen.tmpl: Remove indicator for "frozen_string_literal: true", as r52526. ------------------------------------------------------------------------ r53576 | nobu | 2016-01-18 20:50:06 +0900 (Mon, 18 Jan 2016) | 1 line parse.y: show operations on BITSTACK ------------------------------------------------------------------------ r53575 | nobu | 2016-01-18 19:25:01 +0900 (Mon, 18 Jan 2016) | 4 lines common.mk: UPDATE_LIBRARIES to yes * common.mk (UPDATE_LIBRARIES): try to update unicode files by default. ------------------------------------------------------------------------ r53574 | nobu | 2016-01-18 19:21:03 +0900 (Mon, 18 Jan 2016) | 6 lines common.mk: get rid of repeating same names * common.mk (download-unicode-data): strip directory paths from the target names, to get rid of repeating same file names. * tool/downloader.rb: add -p option for prefix. ------------------------------------------------------------------------ r53573 | nobu | 2016-01-18 14:37:48 +0900 (Mon, 18 Jan 2016) | 5 lines parse.y: escaped newline in dedenting heredoc * parse.y (parser_here_document): an escaped newline is not an actual newline, and the rest part should not be dedented. [ruby-core:72855] [Bug #11989] ------------------------------------------------------------------------ r53572 | hsbt | 2016-01-18 12:05:20 +0900 (Mon, 18 Jan 2016) | 2 lines * test/ruby/test_string.rb: Added extra testcase for test_rstrip_bang and test_lstrip_bang. [fix GH-1178] Patch by @Matrixbirds ------------------------------------------------------------------------ r53571 | hsbt | 2016-01-18 11:48:24 +0900 (Mon, 18 Jan 2016) | 1 line * string.c: fix a typo. [fix GH-1202][ci skip] Patch by @sunboshan ------------------------------------------------------------------------ r53570 | nobu | 2016-01-18 01:14:44 +0900 (Mon, 18 Jan 2016) | 4 lines test_syntax.rb: try all * test/ruby/test_syntax.rb (assert_dedented_heredoc): try all terminators regardless failures. ------------------------------------------------------------------------ r53569 | svn | 2016-01-18 01:11:58 +0900 (Mon, 18 Jan 2016) | 1 line * 2016-01-18 ------------------------------------------------------------------------ r53568 | nobu | 2016-01-18 01:11:57 +0900 (Mon, 18 Jan 2016) | 4 lines remove extra dot * test/lib/test/unit/assertions.rb (all_assertions): remove tail dot as it is added in message again. ------------------------------------------------------------------------ r53566 | naruse | 2016-01-17 21:20:15 +0900 (Sun, 17 Jan 2016) | 13 lines * configure.in: improve ICC (Intel C Compiler) support. * configure.in (CXX): The name of icc's c++ compiler is `icpc`. * configure.in (warnings): Add `-diag-disable=2259` to suppress noisy warnings: "non-pointer conversion from "..." to "..." may lose significant bits". * configure.in (optflags): Add `-fp-model precise` like -fno-fast-math. * lib/mkmf.rb: icc supports -Werror=division-by-zero and -Werror=deprecated-declarations, but doesn't support -Wdivision-by-zero and -Wdeprecated-declarations. ------------------------------------------------------------------------ r53565 | duerst | 2016-01-17 20:40:46 +0900 (Sun, 17 Jan 2016) | 6 lines * string.c: Any kind of option is now taking the new code path for upcase/downcase/capitalize/swapcase. :lithuanian can be used for testing if no specific option is desired. * test/ruby/enc/test_case_mapping.rb: Adjusted to above. (with Kimihito Matsui) ------------------------------------------------------------------------ r53564 | duerst | 2016-01-17 20:10:45 +0900 (Sun, 17 Jan 2016) | 4 lines * enc/unicode.c: Fixed a logical error and some comments. * test/ruby/enc/test_case_mapping.rb: Made tests more general. (with Kimihito Matsui) ------------------------------------------------------------------------ r53563 | nobu | 2016-01-17 18:03:11 +0900 (Sun, 17 Jan 2016) | 1 line get rid of non-ascii chars ------------------------------------------------------------------------ r53562 | duerst | 2016-01-17 17:42:16 +0900 (Sun, 17 Jan 2016) | 7 lines * enc/unicode.c: Removed artificial expansion for Turkic, added hand-coded support for Turkic, fixed logic for swapcase. * string.c: Made use of new case mapping code possible from upcase, capitalize, and swapcase (with :lithuanian as a guard). * test/ruby/enc/test_case_mapping.rb: Adjusted for above. (with Kimihito Matsui) ------------------------------------------------------------------------ r53561 | nobu | 2016-01-17 15:31:36 +0900 (Sun, 17 Jan 2016) | 5 lines option.c: single byte boolean * ext/socket/option.c (sockopt_bool): relax boolean size to be one too not only sizeof(int). Winsock getsockopt() returns a single byte as a boolean socket option. [ruby-core:72730] [Bug #11958] ------------------------------------------------------------------------ r53560 | nobu | 2016-01-17 14:43:40 +0900 (Sun, 17 Jan 2016) | 5 lines Add a test case for ENV#select_bang,keep_if * test/ruby/test_env.rb: [Fix GH-1201] * Extract test code for ENV#keep_if from ENV#select_bang * Add a test case for ENV#select_bang,keep_if ------------------------------------------------------------------------ r53559 | nobu | 2016-01-17 14:43:04 +0900 (Sun, 17 Jan 2016) | 5 lines Add a test case for ENV#reject_bang,delete_if * test/ruby/test_env.rb: [Fix GH-1201] * Extract test code for ENV#delete_if from ENV#reject_bang * Add a test case for ENV#reject_bang,delete_if ------------------------------------------------------------------------ r53558 | svn | 2016-01-17 14:41:02 +0900 (Sun, 17 Jan 2016) | 1 line * 2016-01-17 ------------------------------------------------------------------------ r53557 | nobu | 2016-01-17 14:41:01 +0900 (Sun, 17 Jan 2016) | 6 lines option.c: make error messages consistent * ext/socket/option.c (check_size): extract a macro to check binary data size, with a consistent message. * ext/socket/option.c (sockopt_byte): fix error message, sizeof(int) differs from sizeof(unsigned char) in general. ------------------------------------------------------------------------ r53556 | kazu | 2016-01-16 23:53:06 +0900 (Sat, 16 Jan 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r53555 | nobu | 2016-01-16 21:16:59 +0900 (Sat, 16 Jan 2016) | 5 lines parse.y: should not deent concatenated string * parse.y (xstring): reset heredoc indent after dedenting, so that following string literal would not be dedented. [ruby-core:72857] [Bug #11990] ------------------------------------------------------------------------ r53554 | duerst | 2016-01-16 17:24:58 +0900 (Sat, 16 Jan 2016) | 5 lines * enc/unicode.c: Artificial mapping to test buffer expansion code. * string.c: Fixed buffer expansion logic. * test/ruby/enc/test_case_mapping.rb: Tests for above. (with Kimihito Matsui) ------------------------------------------------------------------------ r53553 | hsbt | 2016-01-16 16:51:24 +0900 (Sat, 16 Jan 2016) | 2 lines * ext/openssl/lib/openssl/pkey.rb: Added 2048 bit DH parameter. * test/openssl/test_pkey_dh.rb: ditto. ------------------------------------------------------------------------ r53552 | hsbt | 2016-01-16 10:51:58 +0900 (Sat, 16 Jan 2016) | 2 lines * enc/unicode.c: fix implicit conversion error with clang. fixup r53548. * string.c: ditto. ------------------------------------------------------------------------ r53551 | hsbt | 2016-01-16 10:37:47 +0900 (Sat, 16 Jan 2016) | 6 lines * common.mk: test-sample was changed to test-basic. [Feature #11982][ruby-core:72823] * basictest/runner.rb: ditto. rename from tool/rubytest.rb. * basictest/test.rb: ditto. rename from sample/test.rb. * defs/gmake.mk: picked from r53540 * sample/test.rb: backword compatibility for chkbuild. ------------------------------------------------------------------------ r53550 | svn | 2016-01-16 10:24:05 +0900 (Sat, 16 Jan 2016) | 1 line * 2016-01-16 ------------------------------------------------------------------------ r53549 | svn | 2016-01-16 10:24:04 +0900 (Sat, 16 Jan 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53548 | duerst | 2016-01-16 10:24:03 +0900 (Sat, 16 Jan 2016) | 5 lines * string.c, enc/unicode.c: New code path as a preparation for Unicode-wide case mapping. The code path is currently guarded by the :lithuanian option to avoid accidental problems in daily use. * test/ruby/enc/test_case_mapping.rb: Test for above. * string.c: function 'check_case_options': fixed logical errors ------------------------------------------------------------------------ r53547 | nobu | 2016-01-15 22:16:53 +0900 (Fri, 15 Jan 2016) | 3 lines .gdbinit: dump_node [ci skip] * .gdbinit (dump_node): dump NODE list in gdb. ------------------------------------------------------------------------ r53546 | nobu | 2016-01-15 22:15:39 +0900 (Fri, 15 Jan 2016) | 4 lines disable unaligned word access * include/ruby/defines.h, st.c: disable unaligned word access with gcc 6 or later. [Bug #11831] ------------------------------------------------------------------------ r53545 | nobu | 2016-01-15 22:12:17 +0900 (Fri, 15 Jan 2016) | 4 lines disable unaligned word access * regint.h: disable unaligned word access with gcc 6 or later. [Bug #11831] ------------------------------------------------------------------------ r53544 | nobu | 2016-01-15 22:08:45 +0900 (Fri, 15 Jan 2016) | 5 lines Revert r53539 and r53540 * basictest/test.rb: revert r53539 because it depends on r53537. * gmake.mk: ditto, revert r53540. ------------------------------------------------------------------------ r53543 | ngoto | 2016-01-15 20:25:29 +0900 (Fri, 15 Jan 2016) | 6 lines * regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): The value of UNALIGNED_WORD_ACCESS should be used to determine whether unaligned word access is allowed or not. After this commit, ./configure CPPFLAGS="-DUNALIGNED_WORD_ACCESS=0" disables unaligned word access even on platforms that support the feature. ------------------------------------------------------------------------ r53542 | naruse | 2016-01-15 20:05:51 +0900 (Fri, 15 Jan 2016) | 4 lines Revert "* common.mk: test-sample was changed to test-basic." This reverts r53537. Fix chkbuild first. ------------------------------------------------------------------------ r53541 | nobu | 2016-01-15 16:12:46 +0900 (Fri, 15 Jan 2016) | 5 lines parse.y: should not deent concatenated string * parse.y (string1): reset heredoc indent fore each string leteral so that concatenated string would not be dedented. [ruby-core:72857] [Bug #11990] ------------------------------------------------------------------------ r53540 | nobu | 2016-01-15 13:39:35 +0900 (Fri, 15 Jan 2016) | 4 lines gmake.mk: update order * defs/gmake.mk (yes-test-basic): update the target name and the order of tests. [Feature #11982] ------------------------------------------------------------------------ r53539 | nobu | 2016-01-15 13:33:43 +0900 (Fri, 15 Jan 2016) | 4 lines basictest/test.rb: update message * basictest/test.rb (test_check): update the file name in messages, as r53537. [Feature #11982] ------------------------------------------------------------------------ r53538 | svn | 2016-01-15 09:25:47 +0900 (Fri, 15 Jan 2016) | 1 line * 2016-01-15 ------------------------------------------------------------------------ r53537 | hsbt | 2016-01-15 09:25:46 +0900 (Fri, 15 Jan 2016) | 4 lines * common.mk: test-sample was changed to test-basic. [Feature #11982][ruby-core:72823] * basictest/runner.rb: ditto. rename from tool/rubytest.rb. * basictest/test.rb: ditto. rename from sample/test.rb. ------------------------------------------------------------------------ r53535 | naruse | 2016-01-14 20:20:24 +0900 (Thu, 14 Jan 2016) | 3 lines * lib/uri/generic.rb (URI::Generic#to_s): change encoding to UTF-8 as Ruby 2.2/ by Koichi ITO https://github.com/ruby/ruby/pull/1188 fix GH-1188 ------------------------------------------------------------------------ r53534 | nobu | 2016-01-14 17:36:49 +0900 (Thu, 14 Jan 2016) | 4 lines variable.c: matched backrefs only * variable.c (rb_f_global_variables): add matched back references only, as well as defiend? operator. ------------------------------------------------------------------------ r53533 | nobu | 2016-01-14 16:12:42 +0900 (Thu, 14 Jan 2016) | 3 lines sprintf.c: exact number * sprintf.c (rb_str_format): format exact number more exactly. ------------------------------------------------------------------------ r53532 | nobu | 2016-01-14 16:10:48 +0900 (Thu, 14 Jan 2016) | 4 lines test_sprintf.rb: simplify * test/ruby/test_sprintf.rb (test_rational): enumerate formatted flags and simplify. ------------------------------------------------------------------------ r53531 | hsbt | 2016-01-14 15:09:19 +0900 (Thu, 14 Jan 2016) | 3 lines * Remove 512-bit DH group. It's affected by LogJam Attack. https://weakdh.org/ [fix GH-1196][Bug #11968][ruby-core:72766] ------------------------------------------------------------------------ r53530 | nobu | 2016-01-14 11:45:03 +0900 (Thu, 14 Jan 2016) | 4 lines variable.c: $1..$9 in global_variables * variable.c (rb_f_global_variables): add $1..$9 only if $~ is set. fix the condition removed at r14014. ------------------------------------------------------------------------ r53529 | svn | 2016-01-14 11:15:01 +0900 (Thu, 14 Jan 2016) | 1 line * 2016-01-14 ------------------------------------------------------------------------ r53528 | nobu | 2016-01-14 11:15:00 +0900 (Thu, 14 Jan 2016) | 4 lines hash.c: trivial optimization * hash.c (rb_hash_initialize_copy): trivial optimization, copy HASH_PROC_DEFAULT bit directly. ------------------------------------------------------------------------ r53527 | hsbt | 2016-01-13 17:22:18 +0900 (Wed, 13 Jan 2016) | 1 line * .travis.yml: removed commented-out code. ------------------------------------------------------------------------ r53526 | hsbt | 2016-01-13 17:15:39 +0900 (Wed, 13 Jan 2016) | 1 line * .travis.yml: removed osx code. follow up with r53517 ------------------------------------------------------------------------ r53525 | nobu | 2016-01-13 17:05:07 +0900 (Wed, 13 Jan 2016) | 4 lines vm_eval.c: fstring format * vm_eval.c (make_no_method_exception): make format string fstring. ------------------------------------------------------------------------ r53524 | nobu | 2016-01-13 16:56:51 +0900 (Wed, 13 Jan 2016) | 4 lines iseq.c: mark parent iseq * iseq.c (rb_iseq_mark): mark parent iseq to prevent dynamically generated iseq by eval from GC. [ruby-core:72620] [Bug #11928] ------------------------------------------------------------------------ r53523 | naruse | 2016-01-13 13:02:31 +0900 (Wed, 13 Jan 2016) | 1 line fix previous commit ------------------------------------------------------------------------ r53522 | naruse | 2016-01-13 12:22:36 +0900 (Wed, 13 Jan 2016) | 1 line make CI output simpler ------------------------------------------------------------------------ r53521 | naruse | 2016-01-13 12:03:45 +0900 (Wed, 13 Jan 2016) | 4 lines don't replace job status, it consume log length count "The log length has exceeded the limit of 4 Megabytes (this usually means that test suite is raising the same exception over and over)." ------------------------------------------------------------------------ r53520 | nobu | 2016-01-13 11:24:07 +0900 (Wed, 13 Jan 2016) | 5 lines test_thread.rb: wait for the thread to sleep * test/ruby/test_thread.rb (test_thread_name): wait for the status of the subject thread to fix, so that the status does not change between two inspect methods. ------------------------------------------------------------------------ r53519 | naruse | 2016-01-13 11:04:18 +0900 (Wed, 13 Jan 2016) | 1 line try sudo:false on travis ------------------------------------------------------------------------ r53518 | normal | 2016-01-13 04:26:07 +0900 (Wed, 13 Jan 2016) | 22 lines resolve class name earlier and more consistently This further avoids class name resolution issues which came about due to relying on hash table ordering before r53376. Pre-caching the class name when it is never used raises memory use, but the overall gain from moving away from st still gives us a small gain. Reverting r53376 and this patch and testing with "valgrind -v ./ruby -rrdoc -eexit" on x86 (32-bit) shows: before: in use at exit: 1,662,239 bytes in 25,286 blocks total heap usage: 49,514 allocs, 24,228 frees, 6,005,561 bytes allocated after, with this change: in use at exit: 1,646,529 bytes in 24,572 blocks total heap usage: 48,891 allocs, 24,319 frees, 6,003,921 bytes allocated * class.c (Init_class_hierarchy): resolve name for rb_cObject ASAP * object.c (rb_mod_const_set): move name resolution to rb_const_set * variable.c (rb_const_set): do class resolution here [ruby-core:72807] [Bug #11977] ------------------------------------------------------------------------ r53517 | naruse | 2016-01-13 02:10:27 +0900 (Wed, 13 Jan 2016) | 1 line drop osx and clang because they are often fails and slow ------------------------------------------------------------------------ r53516 | nobu | 2016-01-13 00:37:42 +0900 (Wed, 13 Jan 2016) | 3 lines Fix typo [ci skip] * man/ruby.1: fix double word typo. [Fix GH-1194] ------------------------------------------------------------------------ r53515 | svn | 2016-01-13 00:17:20 +0900 (Wed, 13 Jan 2016) | 1 line * 2016-01-13 ------------------------------------------------------------------------ r53514 | nobu | 2016-01-13 00:17:19 +0900 (Wed, 13 Jan 2016) | 5 lines iseq.c: mark parents of wrapped iseq * iseq.c (iseqw_mark): as wrapped iseq is isolated from the call stack, it needs to take care of its parent and ancestors, so that they do not become orphans. [ruby-core:72620] [Bug #11928] ------------------------------------------------------------------------ r53513 | eregon | 2016-01-12 21:05:41 +0900 (Tue, 12 Jan 2016) | 1 line * common.mk: update URL and name for the Ruby spec suite. ------------------------------------------------------------------------ r53512 | sorah | 2016-01-12 20:23:05 +0900 (Tue, 12 Jan 2016) | 1 line correction to proper word ------------------------------------------------------------------------ r53511 | sorah | 2016-01-12 20:19:25 +0900 (Tue, 12 Jan 2016) | 13 lines * lib/forwardable.rb: Convert given accessors to String. r53381 changed to accept only Symbol or String for accessors, but there are several rubygems that pass classes (e.g. Array, Hash, ...) as accessors. Prior r53381, it was accepted because Class#to_s returns its class name. After r53381 given accessors are checked with define_method, but it accepts only Symbol or String, otherwise raises TypeError. def_delegator Foo, :some_method This change is to revert unwanted incompatibility. But this behavior may change in the future. ------------------------------------------------------------------------ r53510 | duerst | 2016-01-12 18:42:07 +0900 (Tue, 12 Jan 2016) | 1 line string.c: made a variable name more grammatically correct ------------------------------------------------------------------------ r53509 | duerst | 2016-01-12 18:35:00 +0900 (Tue, 12 Jan 2016) | 1 line string.c: minor grammar fix [ci skip] ------------------------------------------------------------------------ r53507 | naruse | 2016-01-12 16:44:18 +0900 (Tue, 12 Jan 2016) | 1 line fix test to follow r53503 ------------------------------------------------------------------------ r53506 | svn | 2016-01-12 16:09:35 +0900 (Tue, 12 Jan 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53505 | duerst | 2016-01-12 16:09:35 +0900 (Tue, 12 Jan 2016) | 3 lines test/ruby/enc/test_casing_options.rb: Tests for option parsing/checking for upcase/downcase/capitalize/swapcase (see r53503; with Kimihito Matsui) ------------------------------------------------------------------------ r53504 | svn | 2016-01-12 16:03:32 +0900 (Tue, 12 Jan 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53503 | duerst | 2016-01-12 16:03:31 +0900 (Tue, 12 Jan 2016) | 2 lines string.c: Added option parsing/checking for upcase/downcase/ capitalize/swapcase (with Kimihito Matsui ------------------------------------------------------------------------ r53501 | svn | 2016-01-12 10:51:02 +0900 (Tue, 12 Jan 2016) | 1 line * 2016-01-12 ------------------------------------------------------------------------ r53500 | nobu | 2016-01-12 10:51:01 +0900 (Tue, 12 Jan 2016) | 3 lines escape brackets * configure.in: escape char class brackets in regexp. ------------------------------------------------------------------------ r53499 | duerst | 2016-01-11 21:28:55 +0900 (Mon, 11 Jan 2016) | 2 lines include/ruby/oniguruma.h: Added flags needed for upcase/downcase Unicode addition (with Kimihito Matsui) ------------------------------------------------------------------------ r53498 | nobu | 2016-01-11 09:50:51 +0900 (Mon, 11 Jan 2016) | 4 lines configure.in: check API version * configure.in: check if the API version number is consistent with the program version number. ------------------------------------------------------------------------ r53497 | svn | 2016-01-11 09:01:12 +0900 (Mon, 11 Jan 2016) | 1 line * 2016-01-11 ------------------------------------------------------------------------ r53496 | nobu | 2016-01-11 09:01:12 +0900 (Mon, 11 Jan 2016) | 4 lines io.h: remove old macros * include/ruby/io.h (RB_IO_BUFFER_INIT, RB_IO_FPTR_NEW): remove old macros only for internal use and obsolete since 2.2. ------------------------------------------------------------------------ r53495 | nobu | 2016-01-10 20:57:51 +0900 (Sun, 10 Jan 2016) | 5 lines compile.c: fix lhs splat in massign * compile.c (compile_massign_lhs): when index ends with splat, append rhs value to it like POSTARG, since VM_CALL_ARGS_SPLAT splats the last argument only. [ruby-core:72777] [Bug #11970] ------------------------------------------------------------------------ r53494 | nobu | 2016-01-10 18:43:47 +0900 (Sun, 10 Jan 2016) | 4 lines ext/-test-: reduce feature names * ext/-test-/**/extconf.rb: bring up extension libraries which have same name as the parent directory to reduce feature names. ------------------------------------------------------------------------ r53493 | nobu | 2016-01-10 15:45:36 +0900 (Sun, 10 Jan 2016) | 6 lines missing.h: remove explicit_bzero_by_memset_s * include/ruby/missing.h (explicit_bzero_by_memset_s): remove inline implementation by memset_s, which needs a macro before including headers and can cause problems in extension libraries by the order of the macro and headers. ------------------------------------------------------------------------ r53492 | normal | 2016-01-10 13:44:08 +0900 (Sun, 10 Jan 2016) | 10 lines io.c: remove obsolete rb_deferr global variable This was made obsolete by r4190 back in July 2003. Furthermore, this existed less than 3 months as it was only introduced in r3782. So with absolutely no references to rb_deferr, I doubt any vim plugin would care anymore. ChangeLog: fixup indent of my previous commit, oops :X ------------------------------------------------------------------------ r53491 | normal | 2016-01-10 13:43:41 +0900 (Sun, 10 Jan 2016) | 3 lines ChangeLog: fixup indent for r53488 Oops :x ------------------------------------------------------------------------ r53490 | nobu | 2016-01-10 11:07:00 +0900 (Sun, 10 Jan 2016) | 3 lines insns.def: description [ci skip] * insns.def: [DOC] add missing English description. ------------------------------------------------------------------------ r53489 | svn | 2016-01-10 09:35:44 +0900 (Sun, 10 Jan 2016) | 1 line * 2016-01-10 ------------------------------------------------------------------------ r53488 | normal | 2016-01-10 09:35:43 +0900 (Sun, 10 Jan 2016) | 22 lines stdlib: avoid extra calls to eliminate "\n" from Base64 We may use the '0' (zero) to avoid adding the line feed. Furthermore, the '*' (asterisk) modifier is not needed for a single-element arrays. * ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String): eliminate chomp * lib/net/http.rb (connect): eliminate delete * lib/net/http/header.rb (basic_encode): ditto * lib/net/imap.rb (authenticate): eliminate gsub (self.encode_utf7): shorten delete arg * lib/net/smtp.rb (base64_encode): eliminate gsub * lib/open-uri.rb (OpenURI.open_http): eliminate delete * lib/rss/rss.rb: ditto * lib/securerandom.rb (base64): ditto (urlsafe_base64): eliminate delete! * lib/webrick/httpauth/digestauth.rb (split_param_value): eliminate chop * lib/webrick/httpproxy.rb (do_CONNECT): eliminate delete (setup_upstream_proxy_authentication): ditto [ruby-core:72666] [Feature #11938] ------------------------------------------------------------------------ r53487 | nobu | 2016-01-09 23:19:38 +0900 (Sat, 09 Jan 2016) | 4 lines test_hash.rb: add test * test/ruby/test_hash.rb (test_try_convert): Add test for Hash.try_convert. [Fix GH-1190] ------------------------------------------------------------------------ r53486 | nobu | 2016-01-09 23:15:49 +0900 (Sat, 09 Jan 2016) | 4 lines openssl: fix examples [ci skip] * ext/openssl/ossl.c: Add missing variables to documentation examples. [Fix GH-1189] ------------------------------------------------------------------------ r53485 | nobu | 2016-01-09 18:26:23 +0900 (Sat, 09 Jan 2016) | 4 lines symbol.h: unexpected safe call * symbol.h (is_attrset_id): ASET is an attrset ID. fix unexpected safe call instead of an ordinary ASET. ------------------------------------------------------------------------ r53484 | nobu | 2016-01-09 17:49:56 +0900 (Sat, 09 Jan 2016) | 5 lines nmake VPATH * ext/rbconfig/sizeof/depend (sizes.c): add nmake VPATH prefix. reapply r53482 with '#' as separator not to be removed in make-snapshot. ------------------------------------------------------------------------ r53483 | naruse | 2016-01-09 16:24:56 +0900 (Sat, 09 Jan 2016) | 4 lines Revert r53482 "nmake VPATH" it breaks `make dist`. http://rubyci.s3.amazonaws.com/tk2-243-31075/ruby-trunk/log/20160109T034902Z.fail.html.gz ------------------------------------------------------------------------ r53482 | nobu | 2016-01-09 12:33:20 +0900 (Sat, 09 Jan 2016) | 3 lines nmake VPATH * ext/rbconfig/sizeof/depend (sizes.c): add nmake VPATH prefix. ------------------------------------------------------------------------ r53481 | nobu | 2016-01-09 12:32:43 +0900 (Sat, 09 Jan 2016) | 6 lines probes.h including dummy header * Makefile.in, win32/Makefile.sub (probes.h): include dummy header instead of copying. * common.mk (probes.dmyh): add nmake VPATH prefix. ------------------------------------------------------------------------ r53480 | nobu | 2016-01-09 11:46:31 +0900 (Sat, 09 Jan 2016) | 4 lines fix rc files conflict in parallel build * cygwin/GNUmakefile.in (%.rc): generate .rc files separately to get rid of conflict in parallel build. ------------------------------------------------------------------------ r53479 | nobu | 2016-01-09 11:15:45 +0900 (Sat, 09 Jan 2016) | 3 lines vcs.rb: srcdir accessor * tool/vcs.rb (VCS#srcdir): add accessor for VCS::GIT. ------------------------------------------------------------------------ r53478 | nobu | 2016-01-09 11:03:22 +0900 (Sat, 09 Jan 2016) | 4 lines use stringized macros * version.h (RUBY_COPYRIGHT): use stringized macros, RUBY_BIRTH_YEAR_STR and RUBY_RELEASE_YEAR_STR. ------------------------------------------------------------------------ r53477 | nobu | 2016-01-09 10:44:56 +0900 (Sat, 09 Jan 2016) | 5 lines RUBY_PROGRAM_VERSION from RUBY_VERSION * configure.in, win32/setup.mak: extract RUBY_PROGRAM_VERSION from RUBY_VERSION in version.h instead of RUBY_API_VERSION numbers in include/ruby/version.h, and cut it into version numbers. ------------------------------------------------------------------------ r53476 | nobu | 2016-01-09 10:02:17 +0900 (Sat, 09 Jan 2016) | 4 lines extract version from version.h * tool/mkconfig.rb: extract version numbers from version.h but not from API version in include/ruby/version.h. ------------------------------------------------------------------------ r53475 | nobu | 2016-01-09 09:23:04 +0900 (Sat, 09 Jan 2016) | 4 lines RUBY_RELEASE_DATE in verconf.mk * win32/setup.mak (verconf.mk): extract RUBY_RELEASE_DATE without quotation marks. ------------------------------------------------------------------------ r53474 | nobu | 2016-01-09 09:20:46 +0900 (Sat, 09 Jan 2016) | 4 lines fix library teeny * configure.in, win32/Makefile.sub: fix teeny of library version to 0. ------------------------------------------------------------------------ r53473 | nobu | 2016-01-09 09:20:11 +0900 (Sat, 09 Jan 2016) | 4 lines configure.in: RUBY_PROGRAM_VERSION * configure.in: use $(RUBY_PROGRAM_VERSION) instead of the triplet macros. ------------------------------------------------------------------------ r53472 | nobu | 2016-01-09 09:19:16 +0900 (Sat, 09 Jan 2016) | 5 lines revert r53459, r53427, r53314 Revert "* tool/make-snapshot: fix for the changes of version.h in r53314." Revert "* version.h (RUBY_BUILD_VERSION_STR_3): Workaround for old version of" Revert "program version from API version" ------------------------------------------------------------------------ r53471 | ko1 | 2016-01-09 07:15:40 +0900 (Sat, 09 Jan 2016) | 5 lines * gc.c: rename PAGE_* to HEAP_PAGE_* because PAGE_SIZE is used in Mac OS X. * test/ruby/test_gc.rb: catch up this fix. ------------------------------------------------------------------------ r53470 | ko1 | 2016-01-09 05:46:36 +0900 (Sat, 09 Jan 2016) | 2 lines * gc.c: PAGE_BITMAP_PLANES (the number of bitmap) is 4, not 3. ------------------------------------------------------------------------ r53469 | svn | 2016-01-09 05:45:03 +0900 (Sat, 09 Jan 2016) | 1 line * 2016-01-09 ------------------------------------------------------------------------ r53468 | ko1 | 2016-01-09 05:45:02 +0900 (Sat, 09 Jan 2016) | 6 lines * gc.c: rename constant names HEAP_* to PAGE_*. Keys of GC::INTERNAL_CONSTANTS are also renamed. * test/ruby/test_gc.rb: catch up this fix. ------------------------------------------------------------------------ r53467 | knu | 2016-01-08 22:34:52 +0900 (Fri, 08 Jan 2016) | 1 line * doc/regexp.rdoc: [DOC] Elaborate on the \G anchor. [ci skip] ------------------------------------------------------------------------ r53466 | ko1 | 2016-01-08 19:56:27 +0900 (Fri, 08 Jan 2016) | 3 lines * gc.c: remove heap_page::body. Instead of this field, heap_page::start field works well. ------------------------------------------------------------------------ r53465 | nobu | 2016-01-08 19:52:24 +0900 (Fri, 08 Jan 2016) | 4 lines iseq.c: volatile only on gcc4.8 * iseq.c (rb_iseq_compile_with_option): no volatile on gcc other than 4.8. ------------------------------------------------------------------------ r53464 | ko1 | 2016-01-08 19:34:14 +0900 (Fri, 08 Jan 2016) | 6 lines * gc.c: rename rb_heap_t::page_length to rb_heap_t::total_pages. `page_length' is not clear (we may understand with length of a page). ------------------------------------------------------------------------ r53463 | nobu | 2016-01-08 17:24:01 +0900 (Fri, 08 Jan 2016) | 4 lines test_tempfile.rb: use assert_file * test/test_tempfile.rb (test_create_with{,out}_block): use assert_file for descriptive failure messages. ------------------------------------------------------------------------ r53462 | svn | 2016-01-08 17:23:59 +0900 (Fri, 08 Jan 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53461 | ko1 | 2016-01-08 17:23:58 +0900 (Fri, 08 Jan 2016) | 9 lines * gc.c: remove heap_page::heap. This field is only used to recognize whether a page is in a tomb or not. Instead of this field, heap_page::flags::in_tomb (1 bit field) is added. Also type of heap_page::(total|free|final)_slots are changed from int to short. 2B is enough for them. ------------------------------------------------------------------------ r53460 | nobu | 2016-01-08 16:47:49 +0900 (Fri, 08 Jan 2016) | 5 lines iseq.c: make local variables volatile * iseq.c (rb_iseq_compile_with_option): prepare arguments outside EXEC_TAG, and make local variables volatile not to be clobbered by longjmp. ------------------------------------------------------------------------ r53459 | shugo | 2016-01-08 12:35:06 +0900 (Fri, 08 Jan 2016) | 1 line * tool/make-snapshot: fix for the changes of version.h in r53314. ------------------------------------------------------------------------ r53458 | shugo | 2016-01-08 09:38:40 +0900 (Fri, 08 Jan 2016) | 2 lines * iseq.c (rb_iseq_compile_with_option): move variable initialization code to avoid maybe-uninitialized warnings by gcc 4.8. ------------------------------------------------------------------------ r53457 | svn | 2016-01-08 00:07:27 +0900 (Fri, 08 Jan 2016) | 1 line * 2016-01-08 ------------------------------------------------------------------------ r53456 | shugo | 2016-01-08 00:07:25 +0900 (Fri, 08 Jan 2016) | 1 line * enum.c (enum_min, enum_max): do the same optimization as r53454. ------------------------------------------------------------------------ r53455 | mrkn | 2016-01-07 22:35:32 +0900 (Thu, 07 Jan 2016) | 3 lines * ruby.h: undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P and HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P on C++. [ruby-core:72736] [Bug #11962] ------------------------------------------------------------------------ r53454 | shugo | 2016-01-07 22:06:23 +0900 (Thu, 07 Jan 2016) | 2 lines * enum.c (enum_minmax): optimize object comparison in Enumerable#minmax. ------------------------------------------------------------------------ r53453 | usa | 2016-01-07 21:28:32 +0900 (Thu, 07 Jan 2016) | 5 lines * ext/ripper/depend: Just like BSDmake, nmake also recognize the rule of ".eventids2.check" as inference one. but nmake is not cheated by macro. this fixes build failure introduced at r53448. see also the commit log of r53452. ------------------------------------------------------------------------ r53452 | naruse | 2016-01-07 16:11:33 +0900 (Thu, 07 Jan 2016) | 5 lines fix r53448 avoid mkmf.rb's suffix rule scanner (lib/mkmf.rb:2085), it detects suffix rule from depend file and adds .SUFFIXES. It breaks bsdmake to generate check file named ".eventids2.check". ------------------------------------------------------------------------ r53451 | naruse | 2016-01-07 15:51:09 +0900 (Thu, 07 Jan 2016) | 1 line Additional fix of r53450 ------------------------------------------------------------------------ r53450 | nobu | 2016-01-07 15:37:44 +0900 (Thu, 07 Jan 2016) | 6 lines mkmf.rb: fix for ODE make * lib/mkmf.rb (create_makefile): get rid of placing @ at the beginning of replacement, which is the loop expansion mechanism from the OSF Development Environment (ODE) make. fix failures with bmake by r53448. ------------------------------------------------------------------------ r53449 | nobu | 2016-01-07 14:49:31 +0900 (Thu, 07 Jan 2016) | 6 lines thread.c: interrupt queue on uninitialized thread * thread.c (rb_thread_pending_interrupt_p): no pending interrupt before initialization. * thread.c (thread_raise_m, rb_thread_kill): uninitialized thread cannot interrupt. [ruby-core:72732] [Bug #11959] ------------------------------------------------------------------------ r53448 | nobu | 2016-01-07 12:06:58 +0900 (Thu, 07 Jan 2016) | 5 lines mkmf.rb: library installation messages * lib/mkmf.rb (configuration, dummy_makefile, create_makefile): show library installation messages only when any files need to be updated. ------------------------------------------------------------------------ r53447 | svn | 2016-01-07 11:34:34 +0900 (Thu, 07 Jan 2016) | 1 line * 2016-01-07 ------------------------------------------------------------------------ r53446 | nobu | 2016-01-07 11:34:33 +0900 (Thu, 07 Jan 2016) | 7 lines version.c: no exit in ruby_show_copyright * include/ruby/backward.h (ruby_show_copyright_to_die): for source code backward compatibility. * ruby.c (process_options): return Qtrue to exit the process successfully. * version.c (ruby_show_copyright): no longer exit. ------------------------------------------------------------------------ r53445 | svn | 2016-01-06 17:23:11 +0900 (Wed, 06 Jan 2016) | 1 line * 2016-01-06 ------------------------------------------------------------------------ r53444 | nobu | 2016-01-06 17:23:10 +0900 (Wed, 06 Jan 2016) | 4 lines optparse.rb: into kwdarg * lib/optparse.rb (OptionParser#order!): add `into` optional keyword argument to store the results. [Feature #11191] ------------------------------------------------------------------------ r53443 | nobu | 2016-01-05 23:07:58 +0900 (Tue, 05 Jan 2016) | 1 line id.h.tmpl: no optparse here ------------------------------------------------------------------------ r53442 | hsbt | 2016-01-05 21:44:56 +0900 (Tue, 05 Jan 2016) | 1 line * ChangeLog: fix wrong class name. ------------------------------------------------------------------------ r53441 | hsbt | 2016-01-05 21:44:55 +0900 (Tue, 05 Jan 2016) | 2 lines * test/ruby/test_string.rb(test_chr): added test for String#chr [fix GH-1179] ------------------------------------------------------------------------ r53440 | hsbt | 2016-01-05 21:32:43 +0900 (Tue, 05 Jan 2016) | 2 lines * test/ruby/test_numeric.rb (test_nonzero_p): added test for String#nonzero? [fix GH-1187] ------------------------------------------------------------------------ r53439 | nobu | 2016-01-05 15:09:17 +0900 (Tue, 05 Jan 2016) | 10 lines leakchecker.rb: remove temporary measure * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#watcher): make watcher thread restartable. * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#terminate): new method to terminate watcher thread. * test/lib/leakchecker.rb (LeakChecker#find_threads): revert r46941. ------------------------------------------------------------------------ r53438 | nobu | 2016-01-05 11:47:38 +0900 (Tue, 05 Jan 2016) | 4 lines Clarify object references example * doc/marshal.rdoc: Clarify object references example, that the reference is same object. [Fix GH-1156] ------------------------------------------------------------------------ r53437 | nobu | 2016-01-05 09:48:04 +0900 (Tue, 05 Jan 2016) | 5 lines enc/Makefile.in: get rid of nmake bug * enc/Makefile.in (ECHO1): expand NULLCMD by configured value to get rid of a bug of nmake, that it can expand bare single name variable but cannot in substition. ------------------------------------------------------------------------ r53436 | svn | 2016-01-05 05:45:15 +0900 (Tue, 05 Jan 2016) | 1 line * 2016-01-05 ------------------------------------------------------------------------ r53435 | normal | 2016-01-05 05:45:14 +0900 (Tue, 05 Jan 2016) | 8 lines stringio: binmode sets encoding to ASCII-8BIT This should match the behavior of IO#binmode as far as treating content as ASCII-8BIT (binary). * ext/stringio/stringio.c (strio_binmode): implement to set encoding * test/stringio/test_stringio.rb (test_binmode): new test [ruby-core:72699] [Bug #11945] ------------------------------------------------------------------------ r53434 | naruse | 2016-01-04 16:59:55 +0900 (Mon, 04 Jan 2016) | 1 line Revert r53431 "temporally revert r53411 to debug" ------------------------------------------------------------------------ r53433 | nobu | 2016-01-04 16:47:44 +0900 (Mon, 04 Jan 2016) | 4 lines test_ostruct.rb: sort method names * test/ostruct/test_ostruct.rb (test_accessor_defines_method): should not depend on the order of methods. ------------------------------------------------------------------------ r53432 | nobu | 2016-01-04 16:27:02 +0900 (Mon, 04 Jan 2016) | 4 lines common.mk: double quotes * common.mk (ext/socket/constdefs.c): use double quotes to get rid of escape by caret in nmake. ------------------------------------------------------------------------ r53431 | naruse | 2016-01-04 16:23:25 +0900 (Mon, 04 Jan 2016) | 3 lines temporally revert r53411 to debug http://rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20151225T162507Z.diff.html.gz ------------------------------------------------------------------------ r53430 | nobu | 2016-01-04 16:16:09 +0900 (Mon, 04 Jan 2016) | 5 lines common.mk: generate socket constdefs * common.mk (ext/socket/constdefs.c): generate platform indenpendent constant definitions beforehand under the source tree at updating the working copy. ------------------------------------------------------------------------ r53429 | sho-h | 2016-01-04 16:08:05 +0900 (Mon, 04 Jan 2016) | 3 lines variable.c (rb_mod_deprecate_constant): [DOC] added documentation for Module#deprecate_constant. [ci skip] ------------------------------------------------------------------------ r53428 | sho-h | 2016-01-04 15:38:26 +0900 (Mon, 04 Jan 2016) | 2 lines thread_sync.c: [DOC] remove SizedQueue#close argument. [ci skip] ------------------------------------------------------------------------ r53427 | ngoto | 2016-01-04 12:12:44 +0900 (Mon, 04 Jan 2016) | 3 lines * version.h (RUBY_BUILD_VERSION_STR_3): Workaround for old version of Fujitsu C Compiler (fcc) on Solaris. [Bug #11944] [ruby-dev:49468] ------------------------------------------------------------------------ r53426 | nobu | 2016-01-04 10:50:06 +0900 (Mon, 04 Jan 2016) | 1 line ChangeLog: remove unnecessary preposition [ci skip] ------------------------------------------------------------------------ r53425 | nobu | 2016-01-04 10:46:36 +0900 (Mon, 04 Jan 2016) | 1 line ChangeLog: remove stale log [ci skip] ------------------------------------------------------------------------ r53424 | hsbt | 2016-01-04 10:14:45 +0900 (Mon, 04 Jan 2016) | 2 lines * test/coverage/test_coverage.rb: ignored test when enabled to coverage. It lead to crash with `make test-all`. ------------------------------------------------------------------------ r53423 | yui-knk | 2016-01-04 08:14:43 +0900 (Mon, 04 Jan 2016) | 7 lines Move a comment to the appropriate position. The position of `/* fall through */` was moved by r52931. * insns.def (opt_case_dispatch): Move a comment to the appropriate position. [ci skip] ------------------------------------------------------------------------ r53422 | nobu | 2016-01-04 00:24:10 +0900 (Mon, 04 Jan 2016) | 4 lines contributing.rdoc: update [ci skip] * doc/contributing.rdoc: mention some make targets, check, up, and love. ------------------------------------------------------------------------ r53421 | svn | 2016-01-04 00:03:50 +0900 (Mon, 04 Jan 2016) | 1 line * 2016-01-04 ------------------------------------------------------------------------ r53420 | nobu | 2016-01-04 00:03:49 +0900 (Mon, 04 Jan 2016) | 3 lines common.mk: up in help * common.mk (help): mention `up` target briefly. ------------------------------------------------------------------------ r53419 | nobu | 2016-01-03 23:55:25 +0900 (Sun, 03 Jan 2016) | 5 lines Fix defined? expressions * lib/rubygems/security.rb (DIGEST_ALGORITHM, KEY_ALGORITHM): should check same name as the used constants. [ruby-core:72674] [Bug #11940] ------------------------------------------------------------------------ r53418 | nobu | 2016-01-03 23:19:09 +0900 (Sun, 03 Jan 2016) | 4 lines Makefile.in: drop dependency * Makefile.in (aclocal.m4): drop the dependency of aclocal.m4 for broken autotools installations. ------------------------------------------------------------------------ r53417 | nobu | 2016-01-03 19:22:12 +0900 (Sun, 03 Jan 2016) | 4 lines aclocal.m4: add * aclocal.m4: add fallback file for non-aclocal environments. [ruby-core:72683] [Bug #11942] ------------------------------------------------------------------------ r53416 | yui-knk | 2016-01-03 13:59:54 +0900 (Sun, 03 Jan 2016) | 8 lines Use `rb_method_visibility_t` instead of `int` in `rb_print_undef` * eval_error.c (rb_print_undef): Use `rb_method_visibility_t` instead of `int`. * eval_intern.h (rb_print_undef): ditto * proc.c (mnew_internal): ditto * vm_method.c (rb_export_method): ditto [Misc #11649] [ruby-core:71311] [fix GH-1078] ------------------------------------------------------------------------ r53415 | svn | 2016-01-03 12:12:21 +0900 (Sun, 03 Jan 2016) | 1 line * 2016-01-03 ------------------------------------------------------------------------ r53414 | nobu | 2016-01-03 12:12:20 +0900 (Sun, 03 Jan 2016) | 4 lines acinclude.m4: rename * acinclude.m4: rename aclocal.m4, which should be generated by aclocal. [ruby-core:72675] [Bug #11941] ------------------------------------------------------------------------ r53413 | normal | 2016-01-02 21:08:34 +0900 (Sat, 02 Jan 2016) | 11 lines thread_sync.c: remove unnecessary casts for queue_sleep "Qfalse" and "(VALUE)0" are equivalent, and do not matter for an ignored argument, either. Additionally, there's no reason to cast the pointer to rb_thread_sleep_deadly when we already have a queue_sleep wrapper. * thread_sync.c (queue_do_pop): avoid cast with Qfalse (rb_szqueue_push): ditto, use queue_sleep wrapper ------------------------------------------------------------------------ r53412 | seki | 2016-01-02 16:19:58 +0900 (Sat, 02 Jan 2016) | 1 line Allow ERB subclass to add token easily. [Feature #11936] ------------------------------------------------------------------------ r53411 | nobu | 2016-01-02 14:44:41 +0900 (Sat, 02 Jan 2016) | 4 lines parse.y: use nd_tag * parse.y (regexp): set_yylval_num sets u1, should use nd_tag instead of nd_state. [ruby-core:72638] [Bug #11932] ------------------------------------------------------------------------ r53410 | naruse | 2016-01-02 13:39:56 +0900 (Sat, 02 Jan 2016) | 3 lines Revert r53409 "parse.y: yylval.num should be u3" It introduces SEGV ------------------------------------------------------------------------ r53409 | nobu | 2016-01-02 11:11:09 +0900 (Sat, 02 Jan 2016) | 4 lines parse.y: yylval.num should be u3 * parse.y (set_yylval_num): should be used as nd_state, set to u3. [ruby-core:72638] [Bug #11932] ------------------------------------------------------------------------ r53408 | svn | 2016-01-02 08:47:24 +0900 (Sat, 02 Jan 2016) | 1 line * 2016-01-02 ------------------------------------------------------------------------ r53407 | marcandre | 2016-01-02 02:27:38 +0900 (Sat, 02 Jan 2016) | 2 lines * lib/ostruct.rb: Fix case of frozen object with initializer. Bug revealed by RubySpec [ruby-core:72639] ------------------------------------------------------------------------ r53406 | kazu | 2016-01-01 22:02:56 +0900 (Fri, 01 Jan 2016) | 1 line * NEWS: mention about CSV's liberal_parsing option. ------------------------------------------------------------------------ r53405 | hsbt | 2016-01-01 21:39:29 +0900 (Fri, 01 Jan 2016) | 1 line * ChangeLog: added missing reference for GitHub ------------------------------------------------------------------------ r53404 | hsbt | 2016-01-01 19:39:16 +0900 (Fri, 01 Jan 2016) | 1 line * doc/NEWS-2.3.0: fix double words typo. ------------------------------------------------------------------------ r53403 | nobu | 2016-01-01 15:28:58 +0900 (Fri, 01 Jan 2016) | 4 lines compile.c: adjust call_info count * compile.c (remove_unreachable_chunk): decrease count of call_info in removed instructions. fix up r53402. ------------------------------------------------------------------------ r53402 | nobu | 2016-01-01 12:05:55 +0900 (Fri, 01 Jan 2016) | 4 lines compile.c: remove unreferred label * compile.c (remove_unreachable_chunk): remove unreferred label to optimize away unreachable chunk. ------------------------------------------------------------------------ r53401 | jeg2 | 2016-01-01 11:44:48 +0900 (Fri, 01 Jan 2016) | 1 line Adding a liberal_parsing option to CSV. Patch by Braden Anderson. ------------------------------------------------------------------------ r53400 | nobu | 2016-01-01 10:27:30 +0900 (Fri, 01 Jan 2016) | 5 lines mkconfig.rb: SDKROOT * tool/mkconfig.rb (RbConfig): prefix SDKROOT to oldincludedir not includedir, the latter is outside the ruby installation. [ruby-core:72496] [Bug #11881] ------------------------------------------------------------------------ r53399 | nobu | 2016-01-01 08:53:04 +0900 (Fri, 01 Jan 2016) | 5 lines Add test for Enumerator::Lazy#take * test/ruby/test_lazy_enumerator.rb (test_take_bad_arg): Add test code in case of Enumerator::Lazy#take called with negative number. [ruby-dev:49467] [Bug #11933] ------------------------------------------------------------------------ r53398 | nobu | 2016-01-01 05:06:22 +0900 (Fri, 01 Jan 2016) | 5 lines parse.y: single-quote indented heredoc * parse.y (parser_here_document): update indent for each line in indented here document with single-quotes. [ruby-core:72479] [Bug #11871] ------------------------------------------------------------------------ r53397 | svn | 2016-01-01 03:26:59 +0900 (Fri, 01 Jan 2016) | 1 line * 2016-01-01 ------------------------------------------------------------------------ r53396 | nobu | 2016-01-01 03:26:46 +0900 (Fri, 01 Jan 2016) | 5 lines ostruct.rb: deferred accessors * lib/ostruct.rb (freeze): define deferred accessors before freezing to get rid of an error when just reading frozen OpenStruct. ------------------------------------------------------------------------ r53395 | marcandre | 2015-12-31 14:37:21 +0900 (Thu, 31 Dec 2015) | 2 lines * lib/ostruct.rb: Fix new_ostruct_member to correctly avoid redefinition [#11901] ------------------------------------------------------------------------ r53394 | nobu | 2015-12-31 10:49:27 +0900 (Thu, 31 Dec 2015) | 4 lines test_module.rb: sort constants * test/ruby/test_module.rb (test_classpath): since r53376, all results of Module#constants should be sorted to compare. ------------------------------------------------------------------------ r53393 | nobu | 2015-12-31 10:38:28 +0900 (Thu, 31 Dec 2015) | 4 lines ruby-additional.el: escape control code * misc/ruby-additional.el (ruby-encode-unicode): escape control code except for LF. ------------------------------------------------------------------------ r53392 | nobu | 2015-12-31 09:39:03 +0900 (Thu, 31 Dec 2015) | 4 lines ruby-additional.el: encode non-ASCII code only * misc/ruby-additional.el (ruby-encode-unicode): encode non-ASCII code only, excluding ASCII control code, e.g. \t, \n, etc. ------------------------------------------------------------------------ r53391 | naruse | 2015-12-31 04:06:55 +0900 (Thu, 31 Dec 2015) | 1 line skip if locale is not UTF-8 ------------------------------------------------------------------------ r53390 | naruse | 2015-12-31 02:47:43 +0900 (Thu, 31 Dec 2015) | 5 lines * test/ruby/test_module.rb (test_classpath): r53376 may change the order of m.constants. `make TESTS='-v ruby/test_class.rb ruby/test_module.rb' test-all` may fail after that. http://rubyci.s3.amazonaws.com/tk2-243-31075/ruby-trunk/log/20151230T164202Z.log.html.gz ------------------------------------------------------------------------ r53389 | svn | 2015-12-31 02:20:50 +0900 (Thu, 31 Dec 2015) | 1 line * 2015-12-31 ------------------------------------------------------------------------ r53388 | eregon | 2015-12-31 02:20:28 +0900 (Thu, 31 Dec 2015) | 1 line * common.mk (help): Fix typo. ------------------------------------------------------------------------ r53387 | hsbt | 2015-12-30 20:53:15 +0900 (Wed, 30 Dec 2015) | 2 lines * lib/net/http/responses.rb: Added new response class for 451 status code. * lib/net/http.rb: documentation for HTTPUnavailableForLegalReasons ------------------------------------------------------------------------ r53386 | hsbt | 2015-12-30 20:45:52 +0900 (Wed, 30 Dec 2015) | 3 lines * lib/webrick/httpstatus.rb: Added HTTP 451 Status Code. [fix GH-1167] Patch by @MuhammetDilmac https://tools.ietf.org/html/draft-tbray-http-legally-restricted-status-00 ------------------------------------------------------------------------ r53385 | hsbt | 2015-12-30 20:26:09 +0900 (Wed, 30 Dec 2015) | 2 lines * doc/syntax/calling_methods.rdoc: fix old operator for safe navigation operator. [ci skip][fix GH-1182] Patch by @dougo ------------------------------------------------------------------------ r53384 | nobu | 2015-12-30 16:43:25 +0900 (Wed, 30 Dec 2015) | 4 lines Add test for String#ord * test/ruby/test_string.rb (test_ord): Add test for String#ord. [Fix GH-1181] ------------------------------------------------------------------------ r53383 | nobu | 2015-12-30 11:28:59 +0900 (Wed, 30 Dec 2015) | 6 lines forwardable.rb: adjust backtrace by tail call * lib/forwardable.rb (def_instance_delegator): adjust backtrace of method body by tail call optimization. adjusting the delegated target is still done by deleting backtrace. * lib/forwardable.rb (def_single_delegator): ditto. ------------------------------------------------------------------------ r53382 | nobu | 2015-12-30 11:26:15 +0900 (Wed, 30 Dec 2015) | 3 lines fix commit miss * test/test_forwardable.rb: add tests for r53381. ------------------------------------------------------------------------ r53381 | nobu | 2015-12-30 11:18:44 +0900 (Wed, 30 Dec 2015) | 71 lines Forwardable: Fix delegating to 'args' and 'block' * lib/forwardable.rb (def_instance_delegator) fix delegating to 'args' and 'block', clashing with local variables in generated methods. [ruby-core:72579] [Bug #11916] * lib/forwardable.rb (def_single_delegator): ditto. If you have a class that uses Forwardable to delegate a method to another object, and the method that returns the delegate object is called `args` or `block`, then Forwardable will fail to work. Here's a simple example: class ModelCreator extend Forwardable attr_reader :args def_delegator :args, :model_name def initialize(args) @args = args end end ModelCreator.new.model_name If you run the last line above, then you'll get: NoMethodError: undefined method `model_name' for []:Array This error occurs because `def_delegator` -- as it is written in Ruby -- uses metaprogramming to add methods to the class that will then delegate to the delegate object. So it's as if we had written: class ModelCreator extend Forwardable attr_reader :args def model_name(*args, &block) args.model_name(*args, &block) end def initialize(args) @args = args end end As you can see, `def_delegator` will not only forward the method call onto the delegate object, it will also forward any arguments provided as well. It is here that the bug arises: it splats all of the arguments into a variable which is called `args`, and because of how variable scope works in Ruby, it then attempts to call `model_name` on *this* variable and *not* our delegate object method. The fix is to call the delegate object method manually using `__send__`. (This assumes, of course, that the given receiver is, in fact, the name of a method and not the name of an instance variable, which is also a possibility.) We use `__send__` because the delegate object method could be private. So, that looks like this: def model_name(*args, &block) __send__(:args).model_name(*args, &block) end Because `def_delegators` and `delegate` use `def_delegator` internally, they also get this fix as well. ------------------------------------------------------------------------ r53380 | nobu | 2015-12-30 09:58:58 +0900 (Wed, 30 Dec 2015) | 5 lines object.c: fix prepend cmp * object.c (rb_class_inherited_p): search the corresponding ancestor to prepended module from prepending class itself. [ruby-core:72493] [Bug #11878] ------------------------------------------------------------------------ r53379 | nobu | 2015-12-30 09:20:03 +0900 (Wed, 30 Dec 2015) | 5 lines test_io.rb: test for rb_io_modestr_fmode * test/stringio/test_io.rb (test_flag): add assertion for error when text and binary mode are mixed. [ruby-dev:49465] [Feature #11921] ------------------------------------------------------------------------ r53378 | nobu | 2015-12-30 08:44:01 +0900 (Wed, 30 Dec 2015) | 4 lines test_stringio.rb: test_initialize * test/stringio/test_stringio.rb (test_initialize): add test for StringIO#initialize. [ruby-core:72585] [Feature #11920] ------------------------------------------------------------------------ r53377 | normal | 2015-12-30 05:21:17 +0900 (Wed, 30 Dec 2015) | 4 lines ChangeLog: add entry for r53376 Oops :x [ruby-core:72112] [Feature #11614] ------------------------------------------------------------------------ r53376 | normal | 2015-12-30 05:19:14 +0900 (Wed, 30 Dec 2015) | 40 lines use id_table for constant tables valgrind 3.9.0 on x86-64 reports a minor reduction in memory usage when loading only RubyGems and RDoc by running: ruby -rrdoc -eexit before: HEAP SUMMARY: in use at exit: 2,913,448 bytes in 27,394 blocks total heap usage: 48,362 allocs, 20,968 frees, 9,034,621 bytes alloc after: HEAP SUMMARY: in use at exit: 2,880,056 bytes in 26,712 blocks total heap usage: 47,791 allocs, 21,079 frees, 9,046,507 bytes alloc * class.c (struct clone_const_arg): adjust for id_table (clone_const): ditto (clone_const_i): ditto (rb_mod_init_copy): ditto (rb_singleton_class_clone_and_attach): ditto (rb_include_class_new): ditto (include_modules_at): ditto * constant.h (rb_free_const_table): ditto * gc.c (free_const_entry_i): ditto (rb_free_const_table): ditto (obj_memsize_of): ditto (mark_const_entry_i): ditto (mark_const_tbl): ditto * internal.h (struct rb_classext_struct): ditto * object.c (rb_mod_const_set): resolve class name on assignment * variable.c (const_update): replace with const_tbl_update (const_tbl_update): new function (fc_i): adjust for id_table (find_class_path): ditto (autoload_const_set): st_update => const_tbl_update (rb_const_remove): adjust for id_table (sv_i): ditto (rb_local_constants_i): ditto (rb_local_constants): ditto (rb_mod_const_at): ditto (rb_mod_const_set): ditto (rb_const_lookup): ditto ------------------------------------------------------------------------ r53375 | nagachika | 2015-12-30 04:26:52 +0900 (Wed, 30 Dec 2015) | 2 lines * thread_pthread.c (rb_thread_create_timer_thread): destroy attr even if pthread_create() failed. ------------------------------------------------------------------------ r53374 | svn | 2015-12-30 03:20:33 +0900 (Wed, 30 Dec 2015) | 1 line * 2015-12-30 ------------------------------------------------------------------------ r53373 | normal | 2015-12-30 03:20:27 +0900 (Wed, 30 Dec 2015) | 36 lines thread_pthread.c (rb_thread_create_timer_thread): fix race This fixes an occasional [ASYNC BUG] failure in bootstraptest/test_fork.rb '[ruby-dev:37934]' which tests fork/pthread_create failure by setting RLIMIT_NPROC to 1 and triggering EAGAIN on pthread_create when attempting to recreate the timer thread. The problem timeline is as follows: thread 1 thread 2 --------------------------------------------------------------- rb_thread_create_timer_thread setup_communication_pipe rb_thread_wakeup_timer_thread_low pthread_create fails pipe looks valid, write! CLOSE_INVALIDATE (x4) EBADF -> ASYNC BUG The checks in rb_thread_wakeup_timer_thread_low only tried to guarantee proper ordering with native_stop_timer_thread, not rb_thread_create_timer_thread :x Now, this should allow rb_thread_create_timer_thread to synchronize properly with rb_thread_wakeup_timer_thread_low by delaying the validation marking of the timer_thread_pipe until we are certain the timer thread is alive. In this version, rb_thread_wakeup_timer_thread_low becomes a noop. Threading is still completely broken with NPROC==1, but there's not much we can do about it beside warn the user. We no longer spew a scary [ASYNC BUG] message or dump core on them. * thread_pthread.c (setup_communication_pipe): delay setting owner (rb_thread_create_timer_thread): until thread creation succeeds [ruby-core:72590] [Bug #11922] ------------------------------------------------------------------------ r53372 | nobu | 2015-12-29 21:23:04 +0900 (Tue, 29 Dec 2015) | 4 lines ruby.c: overriding warning options * ruby.c (proc_options): successive -W option overrides previous warning options. ------------------------------------------------------------------------ r53371 | nagachika | 2015-12-29 21:17:21 +0900 (Tue, 29 Dec 2015) | 1 line * ChangeLog: remove duplicated entries at r53366. ------------------------------------------------------------------------ r53370 | nobu | 2015-12-29 19:39:53 +0900 (Tue, 29 Dec 2015) | 4 lines ruby.c: parse -W option * ruby.c (proc_options): parse and skip '-W' option and its argument even if ignored. ------------------------------------------------------------------------ r53369 | nobu | 2015-12-29 19:12:48 +0900 (Tue, 29 Dec 2015) | 4 lines ruby.c: command line option over RUBYOPT env * ruby.c (proc_options): -W command line option should be able to override -w in RUBYOPT environment variable. ------------------------------------------------------------------------ r53368 | nobu | 2015-12-29 17:54:18 +0900 (Tue, 29 Dec 2015) | 4 lines eval.c: warn block for using * eval.c (ignored_block): warn if a block is given to `using`, which is probably for `Module.new`. ------------------------------------------------------------------------ r53367 | nobu | 2015-12-29 17:36:22 +0900 (Tue, 29 Dec 2015) | 4 lines compile.c: adjust label reference * compile.c (new_adjust_body): labels referred by adjuststack shoud not be optimized away. ------------------------------------------------------------------------ r53366 | nobu | 2015-12-29 12:48:36 +0900 (Tue, 29 Dec 2015) | 5 lines ostruct.rb: respond_to? * lib/ostruct.rb (OpenStruct): make respond_to? working on just-allocated objects for workaround of Psych. [ruby-core:72501] [Bug #11884] ------------------------------------------------------------------------ r53365 | mrkn | 2015-12-29 10:37:20 +0900 (Tue, 29 Dec 2015) | 5 lines * test/mkmf/test_have_func.rb (test_have_func): Add assertion to examine the existence of HAVE_RUBY_INIT. * test/mkmf/test_have_func.rb (test_not_have_func): Add assertion to examine the absence of HAVE_RUBY_INIT. ------------------------------------------------------------------------ r53364 | normal | 2015-12-29 06:52:15 +0900 (Tue, 29 Dec 2015) | 4 lines thread_sync.c: static classes We do not want to waste space by exposing globals to other objects. ------------------------------------------------------------------------ r53363 | normal | 2015-12-29 05:31:10 +0900 (Tue, 29 Dec 2015) | 5 lines Resolv::IPv6.create: avoid modifying frozen string literal * lib/resolv.rb (Resolv::IPv6.create): avoid modifying frozen * test/resolv/test_dns.rb (test_ipv6_create): test for above [Bug #11910] [ruby-core:72559] ------------------------------------------------------------------------ r53362 | a_matsuda | 2015-12-29 00:10:25 +0900 (Tue, 29 Dec 2015) | 1 line :warning: key "accelerator" is duplicated and overwritten in Tk samples ------------------------------------------------------------------------ r53361 | a_matsuda | 2015-12-29 00:10:19 +0900 (Tue, 29 Dec 2015) | 1 line Missing require ------------------------------------------------------------------------ r53360 | a_matsuda | 2015-12-29 00:10:10 +0900 (Tue, 29 Dec 2015) | 1 line parsedate is no more available since 1.9 ------------------------------------------------------------------------ r53359 | svn | 2015-12-29 00:10:08 +0900 (Tue, 29 Dec 2015) | 1 line * 2015-12-29 ------------------------------------------------------------------------ r53358 | a_matsuda | 2015-12-29 00:09:59 +0900 (Tue, 29 Dec 2015) | 4 lines Convert euc-jp resource file in Tk sample to utf-8 The sample program assumes the file to be encoded in utf-8 https://github.com/ruby/ruby/blob/02531898987693bd28879c78b3cb660006891186/ext/tk/sample/tkoptdb.rb#L15-L17 ------------------------------------------------------------------------ r53357 | a_matsuda | 2015-12-29 00:09:51 +0900 (Tue, 29 Dec 2015) | 1 line Documentation typo ------------------------------------------------------------------------ r53356 | kazu | 2015-12-28 16:04:01 +0900 (Mon, 28 Dec 2015) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r53355 | nobu | 2015-12-28 15:42:18 +0900 (Mon, 28 Dec 2015) | 4 lines iseq.c: suppress warnings * iseq.c (rb_iseq_compile_with_option): suppress "clobbered" warnings by old gcc. ------------------------------------------------------------------------ r53354 | nobu | 2015-12-28 14:56:00 +0900 (Mon, 28 Dec 2015) | 4 lines Add test for String#rstrip! * test/ruby/test_string.rb (TestString#test_rstrip_bang): Add test for String#rstrip!. [Fix GH-1176] ------------------------------------------------------------------------ r53353 | svn | 2015-12-28 09:19:11 +0900 (Mon, 28 Dec 2015) | 1 line * 2015-12-28 ------------------------------------------------------------------------ r53352 | nobu | 2015-12-28 09:18:55 +0900 (Mon, 28 Dec 2015) | 4 lines Add test for String#lstrip! * test/ruby/test_string.rb (TestString#test_lstrip_bang): Add test for String#lstrip!. [Fix GH-1176] ------------------------------------------------------------------------ r53351 | svn | 2015-12-27 23:34:16 +0900 (Sun, 27 Dec 2015) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53350 | suke | 2015-12-27 23:34:11 +0900 (Sun, 27 Dec 2015) | 3 lines * ext/win32ole/win32ole.c (ole_variant2val): refactoring. ------------------------------------------------------------------------ r53349 | usa | 2015-12-27 21:24:03 +0900 (Sun, 27 Dec 2015) | 3 lines * test/ruby/test_process.rb (TestProcess#test_execopts_open_chdir_m17n_path): test for r53346, r53347 and r53348. ------------------------------------------------------------------------ r53348 | usa | 2015-12-27 21:15:20 +0900 (Sun, 27 Dec 2015) | 3 lines * process.c (rb_execarg_parent_start1): need to convert the encoding to ospath's one. ------------------------------------------------------------------------ r53347 | usa | 2015-12-27 21:03:45 +0900 (Sun, 27 Dec 2015) | 2 lines * process.c (rb_execarg_addopt): need to convert to ospath. ------------------------------------------------------------------------ r53346 | usa | 2015-12-27 20:54:59 +0900 (Sun, 27 Dec 2015) | 3 lines * process.c: use rb_w32_uchdir() instead of plain chdir() on Windows. reported by naruse via twitter. ------------------------------------------------------------------------ r53345 | hsbt | 2015-12-27 20:00:36 +0900 (Sun, 27 Dec 2015) | 1 line * enc/x_emoji.h: fix dead-link. ------------------------------------------------------------------------ r53344 | hsbt | 2015-12-27 19:55:59 +0900 (Sun, 27 Dec 2015) | 1 line * doc/NEWS-2.3.0: fix a typo. ------------------------------------------------------------------------ r53343 | a_matsuda | 2015-12-27 18:59:31 +0900 (Sun, 27 Dec 2015) | 3 lines Method name typo in a Tk sample * ext/tk/sample/tkextlib/treectrl/help.rb: kength => length ------------------------------------------------------------------------ r53342 | a_matsuda | 2015-12-27 18:59:20 +0900 (Sun, 27 Dec 2015) | 3 lines ivar name typo in a Tk sample * ext/tk/sample/tkextlib/treectrl/outlook-newgroup.rb: @Messge => @Message ------------------------------------------------------------------------ r53341 | a_matsuda | 2015-12-27 18:59:13 +0900 (Sun, 27 Dec 2015) | 3 lines Method name typo in a Tk sample * ext/tk/sample/tktextio.rb: trancate => truncate ------------------------------------------------------------------------ r53340 | a_matsuda | 2015-12-27 18:58:58 +0900 (Sun, 27 Dec 2015) | 3 lines ivar name typo in a Tk sample * ext/tk/sample/tktextio.rb: @opne => @open ------------------------------------------------------------------------ r53339 | a_matsuda | 2015-12-27 18:58:48 +0900 (Sun, 27 Dec 2015) | 4 lines Typo in Tk samples * ext/tk/sample/demos-en/goldberg.rb: miliseconds => milliseconds * ext/tk/sample/demos-jp/goldberg.rb: miliseconds => milliseconds ------------------------------------------------------------------------ r53338 | a_matsuda | 2015-12-27 18:58:22 +0900 (Sun, 27 Dec 2015) | 4 lines Method name typo in Tk samples * ext/tk/sample/demos-en/ctext.rb: seleect_adjust => select_adjust * ext/tk/sample/demos-jp/ctext.rb: seleect_adjust => select_adjust ------------------------------------------------------------------------ r53337 | a_matsuda | 2015-12-27 18:58:14 +0900 (Sun, 27 Dec 2015) | 3 lines Typo in a Tk sample * ext/tk/sample/tkextlib/bwidget/tree.rb: allways => always ------------------------------------------------------------------------ r53336 | a_matsuda | 2015-12-27 18:58:08 +0900 (Sun, 27 Dec 2015) | 3 lines Typo in a Tk sample * ext/tk/sample/demos-jp/mclist.rb: aquq => aqua ------------------------------------------------------------------------ r53335 | a_matsuda | 2015-12-27 18:57:47 +0900 (Sun, 27 Dec 2015) | 3 lines Typo in a gvar name * ext/tk/sample/demos-jp/hscale.rb: $hscale_deom => $hscale_demo ------------------------------------------------------------------------ r53334 | a_matsuda | 2015-12-27 18:57:42 +0900 (Sun, 27 Dec 2015) | 4 lines Typo in Tk samples * ext/tk/sample/demos-en/ttkbut.rb: happyness => happiness * ext/tk/sample/demos-jp/ttkbut.rb: happyness => happiness ------------------------------------------------------------------------ r53333 | a_matsuda | 2015-12-27 18:57:30 +0900 (Sun, 27 Dec 2015) | 1 line Typos in messages ------------------------------------------------------------------------ r53332 | a_matsuda | 2015-12-27 18:57:21 +0900 (Sun, 27 Dec 2015) | 3 lines Documentation typos [ci skip] ------------------------------------------------------------------------ r53331 | a_matsuda | 2015-12-27 18:57:12 +0900 (Sun, 27 Dec 2015) | 8 lines Typo: widget (?) * ext/tk/lib/tk.rb: wiget => widget * ext/tk/sample/demos-en/{floor.rb,floor2.rb,puzzle.rb}: widet => widget * ext/tk/sample/demos-en/textpeer.rb: Wdget => widget * ext/tk/sample/demos-jp/puzzle.rb: widet => widget * ext/tk/sample/demos-jp/textpeer.rb: Wdget => widget * ext/tk/sample/tkextlib/bwidget/basic.rb: widtet => widget ------------------------------------------------------------------------ r53330 | nobu | 2015-12-27 18:08:17 +0900 (Sun, 27 Dec 2015) | 5 lines Fix rdoc for String#rstrip!, lstrip! [ci skip] * string.c (rb_str_lstrip_bang, rb_str_rstrip_bang): [DOC] Fix ruby-doc comments for String#rstrip! and lstrip!. It looks like dropped bang. [Fix GH-1175] ------------------------------------------------------------------------ r53329 | normal | 2015-12-27 15:15:06 +0900 (Sun, 27 Dec 2015) | 8 lines IO#readpartial rejects bad args Sometimes a sleepy developer will want to swap read_nonblock for readpartial forget to remove "exception: false" * io.c (io_getpartial): remove unused kwarg from template * test/ruby/test_io.rb (test_readpartial_bad_args): new [Bug #11885] ------------------------------------------------------------------------ r53328 | nobu | 2015-12-27 11:50:56 +0900 (Sun, 27 Dec 2015) | 5 lines Add tests for String#lstrip and rstrip * test/ruby/test_string.rb (test_rstrip, test_lstrip): Add tests for String#lstrip and rstrip. The test cases are used from string.c ruby-doc comments. [Fix GH-1174] ------------------------------------------------------------------------ r53327 | nobu | 2015-12-27 11:47:49 +0900 (Sun, 27 Dec 2015) | 4 lines Add test for String#test_insert. * test/ruby/test_string.rb (test_insert): The test cases are written in string.c comments as a reference. [Fix GH-1173] ------------------------------------------------------------------------ r53326 | nobu | 2015-12-27 11:03:36 +0900 (Sun, 27 Dec 2015) | 3 lines parse.y: show_bitstack * parse.y (show_bitstack): trace stack_type value if yydebug. ------------------------------------------------------------------------ r53325 | nobu | 2015-12-27 10:51:50 +0900 (Sun, 27 Dec 2015) | 6 lines depend: version dependency * enc/depend (enc, trans): fix version dependency, let encoding and transcoding shared object files depend on config.status, instead of enc.mk which is regenerated at each build, for the RUBY_SO_NAME value used at runtime link. ------------------------------------------------------------------------ r53324 | nobu | 2015-12-27 10:03:16 +0900 (Sun, 27 Dec 2015) | 4 lines depend: version dependency * enc/depend (enc, trans): fix version dependency, shared object files depend on the RUBY_SO_NAME value for runtime link. ------------------------------------------------------------------------ r53323 | svn | 2015-12-27 09:48:25 +0900 (Sun, 27 Dec 2015) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53322 | suke | 2015-12-27 09:48:20 +0900 (Sun, 27 Dec 2015) | 6 lines * ext/win32ole/win32ole.c (ole_vstr2wc, ole_variant2val): fix blank string conversion. [Bug #11880] Thanks Akio Tajima for the patch! ------------------------------------------------------------------------ r53321 | svn | 2015-12-27 09:35:12 +0900 (Sun, 27 Dec 2015) | 1 line * 2015-12-27 ------------------------------------------------------------------------ r53320 | nobu | 2015-12-27 09:34:55 +0900 (Sun, 27 Dec 2015) | 4 lines `nul` should be uppercase [ci skip] * doc/extension.rdoc: [DOC] `nul` should be uppercase. change 'nul' => 'NUL'. [Fix GH-1172] ------------------------------------------------------------------------ r53319 | naruse | 2015-12-26 19:01:35 +0900 (Sat, 26 Dec 2015) | 3 lines Revert "* tool/post-commit.sh: copied from svn server." manged in another repo ------------------------------------------------------------------------ r53318 | kou | 2015-12-26 18:33:43 +0900 (Sat, 26 Dec 2015) | 5 lines * lib/xmlrpc/client.rb: Support SSL options in async methods of XMLRPC::Client. [Bug #11489] Reported by Aleksandar Kostadinov. Thanks!!! ------------------------------------------------------------------------ r53317 | svn | 2015-12-26 18:26:08 +0900 (Sat, 26 Dec 2015) | 1 line * properties. ------------------------------------------------------------------------ r53316 | naruse | 2015-12-26 18:25:58 +0900 (Sat, 26 Dec 2015) | 1 line * tool/post-commit.sh: copied from svn server. ------------------------------------------------------------------------ r53315 | nobu | 2015-12-26 11:26:40 +0900 (Sat, 26 Dec 2015) | 4 lines miniinit.c: built-in encoding aliases * miniinit.c (Init_enc): add some common aliases of built-in encodings. [ruby-core:72481] [Bug #11872] ------------------------------------------------------------------------ r53314 | nobu | 2015-12-26 01:24:43 +0900 (Sat, 26 Dec 2015) | 6 lines program version from API version * configure.in, version.h (RUBY_PROGRAM_VERSION): extract version numbers from API version in include/ruby/version.h except for TEENY, to save matz job next year. * win32/setup.mak (-version-): use program version. ------------------------------------------------------------------------ r53313 | svn | 2015-12-26 00:02:19 +0900 (Sat, 26 Dec 2015) | 1 line * 2015-12-26 ------------------------------------------------------------------------ r53312 | nobu | 2015-12-26 00:02:14 +0900 (Sat, 26 Dec 2015) | 7 lines setup.mak: split release date * win32/setup.mak (verconf.mk): split release date into year, month, and day. * common.mk (RUBY_RELEASE_DATE): move from Makefile.in to share with win32/setup.mak. ------------------------------------------------------------------------ r53311 | nobu | 2015-12-25 23:50:26 +0900 (Fri, 25 Dec 2015) | 4 lines setup.mak: follow up r53310 * win32/setup.mak (verconf.mk): no longer appends, and escape dollar. ------------------------------------------------------------------------ r53310 | nobu | 2015-12-25 23:46:27 +0900 (Fri, 25 Dec 2015) | 4 lines setup.mak: follow up r53303 * win32/setup.mak (verconf.mk): follow up r53303. needs STRINGIZE now. ------------------------------------------------------------------------ r53309 | nobu | 2015-12-25 22:57:38 +0900 (Fri, 25 Dec 2015) | 4 lines version.h: no bot * version.h (RUBY_RELEASE_MONTH_STR, RUBY_RELEASE_DAY_STR): get rid of substitution by svn bot. ------------------------------------------------------------------------ r53308 | svn | 2015-12-25 22:53:27 +0900 (Fri, 25 Dec 2015) | 1 line * 2015-12-25 ------------------------------------------------------------------------ r53307 | nobu | 2015-12-25 22:53:06 +0900 (Fri, 25 Dec 2015) | 4 lines version.h: no bot * version.h (RUBY_RELEASE_MONTH_STR, RUBY_RELEASE_DAY_STR): get rid of substitution by svn bot. ------------------------------------------------------------------------ r53306 | svn | 2015-12-25 22:48:56 +0900 (Fri, 25 Dec 2015) | 1 line * 2015-12-25 ------------------------------------------------------------------------ r53305 | nobu | 2015-12-25 22:48:38 +0900 (Fri, 25 Dec 2015) | 4 lines version.h: no bot * version.h (RUBY_RELEASE_MONTH_STR, RUBY_RELEASE_DAY_STR): get rid of substitution by svn bot. ------------------------------------------------------------------------ r53304 | svn | 2015-12-25 22:43:39 +0900 (Fri, 25 Dec 2015) | 1 line * 2015-12-25 ------------------------------------------------------------------------ r53303 | nobu | 2015-12-25 22:43:29 +0900 (Fri, 25 Dec 2015) | 5 lines version.h: RUBY_RELEASE_DATE from YMD * configure.in: extract RUBY_RELEASE_DAY at generating Makefile. * version.h (RUBY_RELEASE_DATE): construct from RUBY_RELEASE_YEAR, RUBY_RELEASE_MONTH, and RUBY_RELEASE_DAY. ------------------------------------------------------------------------ r53302 | matz | 2015-12-25 21:40:38 +0900 (Fri, 25 Dec 2015) | 1 line version.h (RUBY_VERSION): 2.4.0 development has started. ------------------------------------------------------------------------