ruby-changes:44598
From: naruse <ko1@a...>
Date: Tue, 8 Nov 2016 18:31:58 +0900 (JST)
Subject: [ruby-changes:44598] naruse:r56671 (trunk): Moved deleted ChangeLog into doc/ChangeLog-2.4.0
naruse 2016-11-08 18:31:52 +0900 (Tue, 08 Nov 2016) New Revision: 56671 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=56671 Log: Moved deleted ChangeLog into doc/ChangeLog-2.4.0 And Add doc/ChangeLog-2016 as an anchor. Added files: trunk/doc/ChangeLog-2.4.0 trunk/doc/ChangeLog-2016 Removed files: trunk/doc/ChangeLog-2015 Index: doc/ChangeLog-2015 =================================================================== --- doc/ChangeLog-2015 (revision 56670) +++ doc/ChangeLog-2015 (revision 56671) @@ -1,791 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/doc/ChangeLog-2015#L0 ------------------------------------------------------------------------- -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 (... truncated) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/