summaryrefslogtreecommitdiff
path: root/ChangeLog
AgeCommit message (Collapse)Author
2015-02-26merge revision(s) 49750: [Backport #10876]naruse
* ext/win32/Win32API.rb (initialize): accept both a string and an array for the arguments of the imported function. reported by Aaron Stone [ruby-core:68208] [Bug #10876] [Fixes GH-835] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-25merge revision(s) 49740:naruse
* tool/merger.rb: support 2.1+ versioning scheme. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-24merge revision(s) 49693,46907,49702,49710: [Backport #10887]naruse
* time.c: Zone encoding should be US-ASCII if all 7-bits. Fix r46907. * test/ruby/test_time.rb, test/ruby/test_time_tz.rb: Update tests. * time.c (time_zone_name): should be US-ASCII only if all 7-bits, otherwise locale encoding. [ruby-core:68230] [Bug #10887] * time.c (time_zone_name): should be US-ASCII only if all 7-bits, otherwise locale encoding. [ruby-core:68230] [Bug #10887] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-24merge revision(s) 49706: [Backport #10893]naruse
* string.c (chompped_length): enable smart chomp for all non-dummy encoding strings, not only default_rs. [ruby-core:68258] [Bug #10893] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-24merge revision(s) 49695: [Backport #10886]naruse
* string.c (rb_str_split_m): raise ArgumentError at broken string not RegexpError, as Regexp is not involved in. [ruby-core:68229] [Bug #10886] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-24merge revision(s) 49474,49541,49545,49684: [Backport #10768]naruse
* gc.c (rb_objspace_free): cause rb_bug if lazy sweep is in progress during rb_objspace_free. Adds extra protection for r46340. Patch by Vicent Marti. [Bug #10768] [ruby-core:67734] * gc.c (rb_objspace_call_finalizer): Ensure GC is completed after finalizers have run. We already call gc_rest() before invoking finalizers, but finalizer can allocate new objects and start new GC cycle, so we call gc_rest() again after finalizers are complete. * gc.c (rb_objspace_call_finalizer): control GC execution during force firnalizations at the end of interpreter process. [Bug #10768] 1) Prohibit incremental GC while running Ruby-level finalizers to avoid any danger. 2) Prohibit GC while invoking T_DATA/T_FILE data structure because these operations break object relations consistency. This patch can introduce another memory consuming issue because Ruby-level finalizers can run after (2), GC is disabled. However, basically object consistency was broken at (2) as I described above. So that running Ruby-level finalizers contains danger originally. Because of this point, I need to suggest to remove these 3 lines (invoking remaining finalizers). And add a rule to add that finalizers should not add new finalizers, or say there is no guarantee to invoke finalizers that added by another finalizer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-24merge revision(s) 49685,49687: [Backport #10885]naruse
* vm_insnhelper.c (rb_vm_rewrite_cref_stack): copy nd_refinements of orignal crefs. It fixes segmentation fault when calling refined method in duplicate module. [ruby-dev:48878] [Bug #10885] * vm_core.h, class.c: change accordingly. * test/ruby/test_refinement.rb: add a test for above. of original crefs. It fixes segmentation fault when calling git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-22merge revision(s) 49675:naruse
* re.c (match_aref): RMatch::regexp is Qnil after matching by a string since r45451. [ruby-core:68209] [Bug #10877] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-22merge revision(s) 49411,49419,49451,49485,49489:naruse
configure.in: check dtace -G * configure.in (RUBY_DTRACE_POSTPROCESS): check if the object file is really modified by `dtrace -G`, this command is very system dependent. * common.mk (ruby-glommed.o): dependency on $(OBJ) should be written in common.mk (in which OBJ is defined) because of Makefile include and parse order. This partly reverts r49419. [ruby-dev:48849] [Bug #10808] * Makefile.in (ruby-glommed.o): ditto. * Makefile.in (ruby-glommed.o): remove excess $(DTRACE_OBJ) because it is included in $(OBJS) since r49451. * Makefile.in (probes.o): should depend on $(DTRACE_DEPENDENT_OBJS) * Makefile.in (probes.stamp): rebuild dtrace dependent objects only when `dtrace -G` modifies its input files. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-21merge revision(s) 49661,49662,49664:naruse
test_file_exhaustive.rb: remove useless assignment * test/ruby/test_file_exhaustive.rb (make_tmp_filename): not assign to instance variable, @hardlinkfile. * file.c (rb_file_identical_p): fix handle leak, ensure to close the handle of the first argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-21merge revision(s) 49634,49658,49663: [Backport #10865]naruse
* win32/win32.c (wrename): return EXDEV if moving a directory to another drive, since MoveFileExW does not set proper error code. [ruby-core:68162] [Bug #10865] * win32/win32.c (different_device_p): compare by volume serial numbers, not by path names. numbers, not by path names. [ruby-core:68162] [Bug #10865] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-21merge revision(s) 49618,49640: [Backport #10858]naruse
* win32/file.c (rb_file_expand_path_internal): do not make invalid (or ADS) path if the path has a drive letter, the result also should have be under it. [ruby-core:68130] [Bug #10858] * win32/file.c (rb_file_expand_path_internal): neither the drive of base directory nor the current drive are involved in the result if different than the drive of path. [ruby-core:68130] [Bug #10858] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-21merge revision(s) 49491: [Backport #10823]naruse
* ext/bigdecimal/bigdecimal.c (VpSetPTR): fix a typo, 'expoennt' to 'exponent'. [ruby-core:67980] [Bug #10823] [Fix GH-825] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-20merge revision(s) 49517: [Backport #10831]naruse
* vm_core.h (rb_call_info_kw_arg_struct): make keywords a symbols list to get rid of inadvertent creation by variable keyword arguments. [ruby-core:68031] [Bug #10831] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-20merge revision(s) 49478,49536,49533,49537: [Backport #10819]naruse
* dir.c (glob_helper): obtain real name with FindFirstFile API instead of matchin all entries, on Windows. [ruby-core:67954] [Bug #10819] * dir.c (has_magic): always get long path name on Windows even if no tilde is there. [ruby-core:68011] [Bug #10819] * dir.c (replace_real_basename): FindFirstFile ignore redirection character, check if exists before call it. cf. [Bug #8597] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-20merge revision(s) 49170:naruse
* dir.c (dir_initialize): workaround of opendir failure at symlink directories on Windows via CIFS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-19merge revision(s) 49503:naruse
* class.c (rb_obj_singleton_methods): should use RTEST() to convert VALUE to int. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-19merge revision(s) 49222:naruse
method.h: UNDEFINED_REFINED_METHOD_P * method.h (UNDEFINED_REFINED_METHOD_P): macro to tell if refined original method is defined. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-19merge revision(s) 49480,49493: [Backport #10765]naruse
* vm_method.c (remove_method): When remove refined method, raise a NameError if the method is not defined in refined class. But if the method is defined in refined class, it should keep refined method and remove original method. Patch by Seiei Higa. [ruby-core:67722] [Bug #10765] * class.c (method_entry_i, class_instance_method_list, rb_obj_singleton_methods): should not include methods of superclasses if recur is false. [ruby-dev:48854] [Bug #10826] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-19merge revision(s) 49259: [Backport #10744]naruse
* proc.c (rb_obj_singleton_method): Kernel#singleton_method should not use refinements, as well as Kernel#method. [ruby-core:67603] [Bug #10744] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-19merge revision(s) 49405-49408:naruse
* string.c (str_make_independent_expand): terminate String when moved from heap to embedded. [Fix GH-821]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-19merge revision(s) 49490: [Backport #10825]naruse
* ext/sdbm/_sdbm.c: include ruby/ruby.h for PRIdPTRDIFF when a macro `DEBUG` is defined. based on the patch by Owen Rodley in [ruby-core:67987]. [Bug #10825] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-17merge revision(s) 49620: [Backport #10857]naruse
* lib/resolv.rb (Resolv::DNS::Resource#==, #hash): elements returned by Kernel#instance_variables are Symbols now. [ruby-core:68128] [Bug #10857] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-17merge revision(s) 49542: [Backport #10820]naruse
* ext/win32/lib/win32/registry.rb (Win32::Registry::API): use wide versions of RegDeleteValue and RegDeleteKey. [ruby-core:67958] [Bug #10820] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-17merge revision(s) 49586: [Backport #10853]naruse
* string.c (str_discard): does not free for STR_NOFREE string. [Bug #10853][ruby-core:68110] * bootstraptest/test_string.rb: test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-15merge revision(s) 49543: [Backport #10854]naruse
* ext/socket/getaddrinfo.c (get_addr): reject too long hostname to get rid of GHOST vulnerability on very old platforms. * ext/socket/raddrinfo.c (make_hostent_internal): ditto, paranoic check for the canonnical name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-14merge revision(s) 49499,49500,49501,49502,49504,49505,49506,49507: [Backport ↵naruse
#10828] * vm_insnhelper.c: Fix one type of symbol leak with +send+ * vm_insnhelper.c: Fix symbol leak with +send+ [Bug #10828] * vm_insnhelper.c (ci_missing_reason): return the reason of method missing in call info. * vm_insnhelper.c (vm_call_opt_send): re-apply r49500 with the proper missing reason. [Bug #10828] * vm_eval.c (send_internal), vm_insnhelper.c (vm_call_opt_send): convert String method name into a Symbol, as method_missing method expects its first argument to be a Symbol. [Bug #10828] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-13merge revision(s) 49493: [Backport #10826]naruse
* class.c (method_entry_i, class_instance_method_list, rb_obj_singleton_methods): should not include methods of superclasses if recur is false. [ruby-dev:48854] [Bug #10826] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-13merge revision(s) 49482,49487: [Backport #10821]naruse
* lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): get rid of interference by modifying global variables in have_devel? method. [ruby-core:67962] [Bug #10821] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-12merge revision(s) 49452: [Backport #10813]naruse
* thread_pthread.c (reserve_stack): fix intermittent SIGBUS on Linux, by reserving the stack virtual address space at process start up so that it will not clash with the heap space. [Fix GH-822] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-06merge revision(s) 49428: [Backport #10694]naruse
* thread.c: Improve documentation for Thread#value [Bug #10694][ruby-core:67324][ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-06merge revision(s) 49397: [Backport #10780]naruse
* ext/fiddle/win32/libffi.mk.tmpl: assemble without directory prefix. workaround of a bug of VC12 ml, by unak at [ruby-core:67792]. [ruby-core:67789] [Bug #10780] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-05merge revision(s) 49376,49387,49389: [Backport #10761]naruse
* st.c (st_numhash): mix float value for flonum * hash.c (rb_any_hash): ditto * benchmark/bm_hash_aref_flo.rb: new benchmark * benchmark/bm_hash_ident_flo.rb: ditto [Bug #10761] * benchmark/bm_marshal_dump_flo.rb: new benchmark for [Bug #10761] * marshal.c (w_object, marshal_dump): use indetity tables for arbitrary VALUE keys, because of performance of FLONUM. [Bug #10761] * marshal.c (obj_alloc_by_klass, marshal_load): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-05merge revision(s) 49082: [Backport #10661]naruse
* parse.y (gettable_gen): disable warnings of possible reference to a local variable defined in a past scope. [ruby-core:67162] [Bug #10661] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-26merge revision(s) 49322: [Backport #10753]naruse
* vm_method.c (check_definition): Module#public_method_defined?, Module#private_method_defined?, Module#protected_method_defined? should not use refinements. [ruby-core:67656] [Bug #10753] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-22merge revision(s) 49056: [Backport #10671]naruse
* doc/syntax/literals.rdoc (Symbols): now Symbols created by interpolation can be garbage collected. patch by Yihang Ho in [ruby-core:67194]. [Bug #10671] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-22merge revision(s) 49266: [Backport #10689]naruse
* eval_intern.h, vm.c, vm_eval.c, vm_insnhelper.c: change throw mechanism (not save target ep, but save target cfp). It fixes `unexpected break' bug that occurs when TracePoint#binding is called. [ruby-dev:48797] [Bug #10689] * test/ruby/test_settracefunc.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-20merge revision(s) 49315: [Backport #10697]naruse
* ext/win32ole/win32ole.c (ole_invoke): avoid SEGV when VT_RECORD variable is passed by reference. [ruby-dev:48803] [Bug #10697] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-19merge revision(s) 49184: [Backport #10707]naruse
* vm_method.c (rb_method_entry): if no super class, no original method entry. [ruby-core:67389] [Bug #10707] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-19merge revision(s) 49321: [Backport #10752]naruse
* vm_dump.c (rb_vm_bugreport): check by configured result instead of system name for old FreeBSD. based on a patch by Steve Wills at [ruby-core:67655]. [Bug #10752] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-19merge revision(s) 49306: [Backport #10750]naruse
* configure.in: get rid of pattern substitution, which is not supported by ash, and ash on NetBSD parses whole source first and fails to start. [ruby-dev:48823] [Bug #10750] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-19merge revision(s) 49192: [Backport #10716]naruse
* configure.in (RUBY_SETJMP_TYPE): Remove superfluous semicolon which causes a syntax error with autoconf 2.63. [ruby-core:67429] [Bug #10716] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-19merge revision(s) 49223: [Backport #10732]naruse
* lib/rdoc/text.rb (expand_tabs): get rid of infinite loop with CR. should check if substitution occurred too. [ruby-dev:48813] [Bug #10732] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-17merge revision(s) 49224,49234,49235: [Backport #10711]naruse
* numeric.c (bit_coerce): use original value for error message [ruby-core:67405] [Bug #10711] * test/ruby/test_numeric.rb (test_coerce): check error message git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-17merge revision(s) 49221: [Backport #10731]naruse
* vm_method.c (rb_alias): raise a NameError when creating alias to a refined method if the original method of the refined method is not defined. [ruby-core:67523] [Bug #10731] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-17merge revision(s) 49168: [Backport #10700]naruse
* dir.c (need_normalization): not only HFS+, CIFS (SMB) is also decomposed. [Bug #10704] * dir.c (NORMALIZE_UTF8PATH): Unicode decomposition seems to perform in an upper layer than file systems on OSX, as all path names are always decomposed regardless of file system types. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-17merge revision(s) 49193: [Backport #10719]naruse
* parse.y (assocs, assoc): eliminate splatting empty literal hashes. [ruby-core:67446] [Bug #10719] * compile.c (compile_array_): supprt splatted hash in hash type. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-17merge revision(s) 49244: [Backport #6232]naruse
* ext/readline/readline.c (readline_s_refresh_line): initialize before rl_refresh_line(), as some function make the internal state non-clean but rl_refresh_line() does not re-initialize it. [ruby-core:43957] [Bug #6232] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-17merge revision(s) 49201,49203: [Backport #10727]naruse
* eval_error.c (error_print): pos and len parameters of rb_str_substr() are counted by characters, not bytes. use rb_str_subseq() instead. [Bug #10727] [ruby-core:67473] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-17merge revision(s) 49182,49183: [Backport #10706]naruse
vm_method.c: fix change refined new method visibility * vm_method.c (rb_export_method): bail out if the original method is undefined when the method is refined. [ruby-core:67387] [Bug #10706] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e