summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-03-25merge revision(s) 57780: [Backport #12975]usa
docs for IO#print * io.c: [DOC] split documentation for IO#print into smaller paragraphs, delete duplicate sentence, fix call-seq. Based on a patch by Dario Daic. [ruby-core:78291] [Bug #12975] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57816,57817: [Backport #13292]usa
fix UTF-32 valid_encoding? * enc/utf_32be.c (utf32be_mbc_enc_len): check arguments precisely. [ruby-core:79966] [Bug #13292] * enc/utf_32le.c (utf32le_mbc_enc_len): ditto. * regenc.h (UNICODE_VALID_CODEPOINT_P): predicate for valid Unicode codepoints. fix UTF-32 valid_encoding? * test/ruby/test_io_m17n.rb (TestIO_M17N#test_puts_widechar): do not use invalid codepoint. [ruby-core:79966] [Bug #13292] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25* regcomp.c (set_bm_skip): Need to check the end of the string.usa
this patch is from https://github.com/k-takata/Onigmo/commit/e5c0e6c36187898bb27960cd66d591f172558848 . [Backport #12997] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57549: [Backport #13193]usa
date_core.c: [DOC] revise docs [ci skip] * fix malformed rdoc for Date#today, Date._strptime, and DateTime._strptime * add code examples for Date#<< and Date#>> to demonstrate that different dates can result in the same return value * use Date::ITALY in call-seq instead of only ITALY * fix some copy/paste mistakes where Date should be DateTime * fix various errors and grammar * fix cross references and formatting [ruby-core:79433] [Bug #13193] Author: Marcus Stollsteimer <sto.mar@web.de> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57515: [Backport #13169]usa
lib/ostruct.rb: Fix returned value of each_pair. From a patch by Marcus Stollsteimer. [Fixes #13169] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57278,57279: [Backport #12855]usa
fix optimization for hash aset/aref with fstring Patch by Eric Wong [ruby-core:78797]. I don't like the idea of making insns.def any bigger to support a corner case, and "test_hash_aref_fstring_identity" shows how contrived this is. [ruby-core:78783] [Bug #12855] adjust indent [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57374: [Backport #13135]usa
string.c: rindex(//) should set $~. This seems a bug introduced by r520 (1.4.0). [ruby-core:79110] [Bug #13135] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57741: [Backport #13254]usa
disable critical-error-handler * win32/win32.c (rb_w32_sysinit): disable critical-error-handler message box even on mswin, regardless of runtime DLL version. [ruby-dev:49988] [Bug #13254] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57762: [Backport #13267]usa
broken mingw * configure.in: check whether frexp and modf are broken. * include/ruby/win32.h (frexp, modf): ignore bad declarations when compiling as C++. [ruby-core:79859] [Bug #13267] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57589: [Backport #13205]usa
parallel.rb: fix intervention * test/lib/test/unit/parallel.rb (_report): send a response and a newline atomically, to get rid of intervention with "p" which runs in a separate thread. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57422: [Backport #13158]usa
io.c: close before wait * io.c (io_close_fptr): notify then close, and wait for other threads before free fptr. [ruby-core:79262] [Bug #13158] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57199,57202,57206,57224: [Backport #13076]usa
io.c: fix race between read and close * io.c (io_fillbuf): fix race between read and close, in the case the IO gets closed before the reading thread achieve the lock. [ruby-core:78845] [Bug #13076] thread.c: fix race between read and close * thread.c (rb_thread_fd_close): wait until all threads using the fd finish the operation, not to free the buffer in use. [ruby-core:78845] [Bug #13076] revert a part of r57199 * io.c (io_fillbuf): revert a part of r57199 because it broke IO#getch. see also [Bug #13076] io.c: fix race between read and close * io.c (io_fillbuf): fix race between read and close and bail out in the case the IO gets closed before the reading thread achieve the lock. [ruby-core:78845] [Bug #13076] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57360: [Backport #12884]usa
class.c: non-keyword hash class * class.c (rb_extract_keywords): keep the class of non-keyword elements hash as the original. [ruby-core:77813] [Bug #12884] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57302,57303,57304: [Backport #13119]usa
string.c: block for scrub with ASCII-incompatible * string.c (rb_enc_str_scrub): honor the given block with ASCII-incompatible encoding. [ruby-core:79039] [Bug #13120] string.c: yield invalid part * string.c (rb_enc_str_scrub): yield the invalid part only with ASCII-incompatible. [ruby-core:79039] [Bug #13120] string.c: replacement and block * string.c (rb_enc_str_scrub): only one of replacement and block is allowed. [ruby-core:79038] [Bug #13119] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57368: [Backport #12613]usa
compile.c: check err_info * compile.c (iseq_setup): bail out if any errors found. [ruby-core:76531] [Bug #12613] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57236: [Backport #13089]usa
rational.c: memory leak in gcd * rational.c (rb_gcd_gmp): fix memory leak. patched by KISHIMOTO, Makoto <ksmakoto AT dd.iij4u.or.jp> in [ruby-dev:49934]. [Bug #13089] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57187,57234: [Backport #13075]usa
pack.c: avoid returning uninitialized String Fix unpacking with 'b', 'B', 'h' and 'H' format. Do not return an uninitialized String to Ruby before filling the content bytes. Fixes r11175 ("pack.c (pack_unpack): execute block if given with unpacked value instead of creating an array", 2006-10-15). [ruby-core:78841] [Bug #13075] test/ruby/test_pack.rb: fix test case added by r57187 The test case for String#unpack added by r57187 is not properly testing because the String will be filled after the block invocation. [ruby-core:78841] [Bug #13075] Thanks to nagachika for pointing this out: http://d.hatena.ne.jp/nagachika/20161226/ruby_trunk_changes_57184_57194#r57187 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25* 2017-03-26svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 57027: [Backport #13012]usa
ruby-lex.rb: fix for label * lib/irb/ruby-lex.rb (identify_identifier): treat identifier just followed by a colon as a lable. this is not a precise solution but enough for the time being. [ruby-core:78526] [Bug #13012] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-25merge revision(s) 53383,55366: [Backport #12478]usa
* 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. * lib/forwardable.rb (Forwardable._delegator_method): extract method generator and deal with non-module objects. [ruby-dev:49656] [Bug #12478] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-04Revert r57229 and finally giving up backporting [Bug #13043]usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-28merge revision(s) 57137: [Backport #13043]usa
eval.c: fix circular cause * eval.c (exc_setup_cause): always set cause of cause to get rid of circular references. [ruby-core:78688] [Bug #13043] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27revert r57222 because of SEGVusa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 57172: [Backport #13066]usa
time.c: fix type of usec2subsecx * time.c (usec2subsecx): fix return type, which is a numeric object but not a long int. [ruby-dev:49912] [Bug #13066] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 56884,56892: [Backport #12910]usa
test_fileutils.rb: Use primary group too * test/fileutils/test_fileutils.rb (TestFileUtils#setup): Use primary group as well as supplementary groups. based on the patch by Vit Ondruch at [ruby-core:78053]. [Bug #12910] It might happen in certain environments (systemd-nspawn) that process has no supplementary groups, but primary groups should be enough to pass most of the tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 57137: [Backport #13043]usa
eval.c: fix circular cause * eval.c (exc_setup_cause): always set cause of cause to get rid of circular references. [ruby-core:78688] [Bug #13043] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 57123: [Backport #13054]usa
re.c: consider the case of RMatch::regexp is nil Follow r49675, r57098 and r57110. Don't assume RMatch::regexp always contains a valid Regexp instance; it will be Qnil if the MatchData is created by rb_backref_set_string(). [ruby-core:78741] [Bug #13054] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 57119: [Backport #13052]usa
array.c: check array length every time after yielding Since the Array may be modified during rb_yield(), the length before invoking the block can't be trusted. Fix possible out-of-bounds read in Array#combination and Array#repeated_combination. It may better to make a defensive copy of the Array, but for now let's follow what Array#permutation does. [ruby-core:78738] [Bug #13052] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 57108: [Backport #13049]usa
sprintf.c: fix width underflow * sprintf.c (rb_str_format): fix memory corruption by width underflow. https://github.com/mruby/mruby/issues/3347 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 57098: [Backport #13042]usa
re.c: non-regexp name reference * re.c (rb_reg_regsub): other than regexp has no name references. [ruby-core:78686] [Bug #13042] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 57078: [Backport #13034]usa
encoding.c: handle needmore error from rb_enc_precise_mbclen() rb_enc_ascget() erroneously reports success even if the given byte sequence is incomplete, for non-ASCII compatible encoding strings. rb_enc_precise_mbclen() may return a negative value on error, and thus rb_enc_ascget() must not store the return value in 'unsigned int'; otherwise the subsequent MBCLEN_CHARFOUND_P() check won't catch the error. [ruby-core:78646] [Bug #13034] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 57020,57021: [Backport #13014]usa
Add clang volatile fixes from FreeBSD and NetBSD. Use volatile instead of optnone to avoid optimization which causes segmentation faults. Patch by Dimitry Andric. [ruby-core:78531] [Bug #13014] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 56980,56981: [Backport #13004]usa
extension.rdoc: fix rb_get_kwargs [ci skip] * doc/extension.rdoc: [DOC] optional keyword arguments are defaulted to Qundef. ignored keys are kept in the hash but a new Hash is not created. [ruby-dev:49893] [Bug #13004] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 56938: [Backport #12988]usa
Stop reading past the end of `ivptr` array If you have code like this: ```ruby class A def initialize @a = nil @b = nil @c = nil @d = nil @e = nil end end x = A.new y = x.clone 100.times { |z| x.instance_variable_set(:"@foo#{z}", nil) } puts y.inspect ``` `x` and `y` will share `iv_index_tbl` hashes. However, the size of the hash will grow larger than the number if entries in `ivptr` in `y`. Before this commit, `rb_ivar_count` would use the size of the hash to determine how far to read in to the array, but this means that it could read past the end of the array and cause the program to segv [ruby-core:78403] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 56928: [Backport #12991]usa
thread.c: fix doc of abort_on_exception [ci skip] * thread.c (rb_thread_s_abort_exc, rb_thread_s_abort_exc_set): [DOC] the raised exception will be re-raised in the main thread, and then follows the ordinary exception sequence, exit status is not 0. [ruby-core:78415] [Bug #12991] * thread.c (rb_thread_abort_exc_set): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 56905: [Backport #12983]usa
Reverse compatibility_version and current_version for Darwin The `compatibility_version` should have an API version and the `current_version` should have a program version of Ruby, but they have been reversed and the binary compatibility has never worked. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 56894: [Backport #12974]usa
marshal.c: fix infinite recursion * marshal.c (check_userdump_arg): marshal_dump should not return an instance of the same class, otherwise it causes infinite recursion. [ruby-core:78289] [Bug #12974] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 56469: [Backport #12860]usa
* compile.c (setup_args): duplicate splatting array if more arguments present to obey left-to-right execution order. [ruby-core:77701] [Bug# 12860] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27* ChangeLog: for r57207 and r57208.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 56832: [Backport #12956]usa
dln.c: raise LoadError * dln.c (dln_load): raise LoadError instead of fatal error on recent OSX, dlclose seems fixed in El Capitan or later. [ruby-core:78200] [Bug #12956] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-27merge revision(s) 56224: [Backport #12785]usa
* test/misc/test_ruby_mode.rb (assert_indent): since write-region in Emacs 25.1 no longer displays the "Wrote file" message, shows the explicit message to check if successfully finished. [ruby-core:77355] [Bug #12785] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-15* version.h: Bump up version to 2.2.7.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@56803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-15merge revision(s) 53064: [Backport #11810]usa
* ext/openssl/ossl_ssl.c (ssl_npn_select_cb_common): fix parsing protocol list. The protocol list from OpenSSL is not null-terminated. patched by Kazuki Yamaguchi [Bug #11810] [ruby-core:72082] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@56798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-14merge revision(s) 56559,56582,56584,56585: [Backport #12903]usa
* test/ruby/test_file.rb (TestFile#test_stat): fix noatime case. [ruby-core:77943] [Bug #12903] * ext/-test/file/fs.c (get_atime_p): Updating of file access times is enabled or not. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@56789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-14merge revision(s) 56625: [Backport #12936]usa
* test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast, test_make_socket_ipv6_multicast_hops): skip if IPv6 multicast address is not available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@56788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-14merge revision(s) 56596: [Backport #12890]usa
* lib/net/http.rb (transport_request): other than HTTPContinue in 1xx (HTTPInformation) also needs to continue. [Bug #12890] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@56787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-14merge revision(s) 56766,56767: [Backport #12925]usa
error.c: rb_get_backtrace * error.c (rb_get_backtrace): move from eval_error.c to call exc_backtrace directly. [ruby-core:78097] [Bug #12925] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@56786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-11merge revision(s) 56682: [Backport #12922]usa
default.mspec: end of options * spec/default.mspec (MSpecScript): add the end of options to runruby.rb, to fix failure at ruby/spec@a0e55db. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@56732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-11merge revision(s) 56489: [Backport #12832]usa
* proc.c (mnew_internal): follow the original class, not to loop the prepended module. [ruby-core:77591] [Bug #12832] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@56731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-11merge revision(s) 56561: [Backport #12893]usa
* cont.c (cont_new): disable optimization if clang's version is 3.8.0. [ruby-core:77894] [Bug #12893] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@56730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e