------------------------------------------------------------------------
r66547 | naruse | 2018-12-25 15:20:00 +0900 (Tue, 25 Dec 2018) | 1 line

add tag v2_6_0
------------------------------------------------------------------------
r66546 | naruse | 2018-12-25 15:17:00 +0900 (Tue, 25 Dec 2018) | 2 lines

v2.6.0p0

------------------------------------------------------------------------
r66545 | naruse | 2018-12-25 15:00:37 +0900 (Tue, 25 Dec 2018) | 3 lines

merge revision(s) 66539:

	io-console: bump to 0.4.7
------------------------------------------------------------------------
r66544 | naruse | 2018-12-25 15:00:14 +0900 (Tue, 25 Dec 2018) | 7 lines

merge revision(s) 66538:

	vm_insnhelper.c: use COLDFUNC

	COLDFUNC is introduced in r66228.  Use it for pre-existing
	__attribute__((__cold__)) usages.

------------------------------------------------------------------------
r66543 | naruse | 2018-12-25 14:58:52 +0900 (Tue, 25 Dec 2018) | 3 lines

merge revision(s) 66537:

	[DOC] Fix typos [ci skip]
------------------------------------------------------------------------
r66542 | naruse | 2018-12-25 14:57:55 +0900 (Tue, 25 Dec 2018) | 7 lines

merge revision(s) 66536:

	Import REXML 3.1.9

	It restores removed REXML::Parsers::BaseParser::UNQME_STR.
	Because it's used by kramdown.

------------------------------------------------------------------------
r66541 | naruse | 2018-12-25 14:57:13 +0900 (Tue, 25 Dec 2018) | 5 lines

merge revision(s) 66535:

	Import bigdecimal 1.4.1

	* https://github.com/ruby/bigdecimal/compare/v1.4.0..v1.4.1
------------------------------------------------------------------------
r66540 | naruse | 2018-12-25 14:56:17 +0900 (Tue, 25 Dec 2018) | 5 lines

merge revision(s) 66534:

	Mention rb_gc_register_mark_object [ci skip]

	[Feature #9894]
------------------------------------------------------------------------
r66532 | naruse | 2018-12-25 07:13:36 +0900 (Tue, 25 Dec 2018) | 1 line

Release branch of Ruby 2.6
------------------------------------------------------------------------
r66531 | naruse | 2018-12-25 07:09:40 +0900 (Tue, 25 Dec 2018) | 1 line

exception bactrace in reverse order is Ruby 2.5 feature
------------------------------------------------------------------------
r66530 | stomar | 2018-12-25 06:14:38 +0900 (Tue, 25 Dec 2018) | 4 lines

Small improvement in refinements docs

Move general statement about refinements of modules
from example to the top of the document.
------------------------------------------------------------------------
r66529 | svn | 2018-12-25 05:41:19 +0900 (Tue, 25 Dec 2018) | 1 line

* 2018-12-25
------------------------------------------------------------------------
r66528 | stomar | 2018-12-25 05:41:15 +0900 (Tue, 25 Dec 2018) | 1 line

complex.c, object.c: [DOC] improve "exception: false" docs
------------------------------------------------------------------------
r66527 | hsbt | 2018-12-24 20:03:52 +0900 (Mon, 24 Dec 2018) | 1 line

Added entry for RubyGems 3.0.1 to NEWS.
------------------------------------------------------------------------
r66526 | stomar | 2018-12-24 19:52:44 +0900 (Mon, 24 Dec 2018) | 1 line

NEWS: various improvements
------------------------------------------------------------------------
r66525 | knu | 2018-12-24 17:11:49 +0900 (Mon, 24 Dec 2018) | 1 line

Document the "cause" keyword argument for raise
------------------------------------------------------------------------
r66524 | k0kubun | 2018-12-24 12:50:39 +0900 (Mon, 24 Dec 2018) | 5 lines

test_win32ole_event.rb: use better retry strategy

because
https://ci.appveyor.com/project/ruby/ruby/builds/21208728/job/lm5k0lxnn51pcljl
seems to fail with just sleeping
------------------------------------------------------------------------
r66523 | k0kubun | 2018-12-24 12:48:32 +0900 (Mon, 24 Dec 2018) | 1 line

test_win32ole_event.rb: avoid unlimited retries
------------------------------------------------------------------------
r66522 | ko1 | 2018-12-24 11:02:47 +0900 (Mon, 24 Dec 2018) | 9 lines

remove "deprecated" for rb_frame_method_id_and_class [Bug #15300]

* include/ruby/backward.h (rb_frame_method_id_and_class): we had labeled
  `rb_frame_method_id_and_class()` as deprecated because MRI internal
  doesn't use it, but we found there are user of this API in external
  C-extensions. Now we don't have proper alternative API and no time
  to make alternative API, so I remove "deprecated" label.
  [Bug #15300]

------------------------------------------------------------------------
r66521 | nobu | 2018-12-24 10:56:21 +0900 (Mon, 24 Dec 2018) | 1 line

Compact AST::Node#inspect
------------------------------------------------------------------------
r66520 | nobu | 2018-12-24 10:46:48 +0900 (Mon, 24 Dec 2018) | 6 lines

time.c: zone in fixoff mode

* time.c (time_set_utc_offset): reset zone when setting to fixoff
  mode.  while previously TZMODE_SET_FIXOFF has reset it always,
  the zone is kept for loaded zone since r65025.
  [ruby-core:90627] [Bug #15439]
------------------------------------------------------------------------
r66519 | nobu | 2018-12-24 09:48:15 +0900 (Mon, 24 Dec 2018) | 3 lines

enumerator.c: fix inspect with the last empty hash

[ruby-core:90685] [Bug #15455]
------------------------------------------------------------------------
r66518 | mrkn | 2018-12-24 03:54:51 +0900 (Mon, 24 Dec 2018) | 1 line

Add test case of ArithmeticSequence#sum
------------------------------------------------------------------------
r66517 | mrkn | 2018-12-24 03:32:03 +0900 (Mon, 24 Dec 2018) | 3 lines

NEWS: Update for bigdecimal future plan

[ci skip]
------------------------------------------------------------------------
r66516 | mrkn | 2018-12-24 03:32:01 +0900 (Mon, 24 Dec 2018) | 3 lines

Import bigdecimal-1.4.0

* https://github.com/ruby/bigdecimal/compare/v1.4.0.pre.20181220a..v1.4.0
------------------------------------------------------------------------
r66515 | svn | 2018-12-24 00:02:23 +0900 (Mon, 24 Dec 2018) | 1 line

* 2018-12-24
------------------------------------------------------------------------
r66514 | ko1 | 2018-12-24 00:02:17 +0900 (Mon, 24 Dec 2018) | 9 lines

move checking code.

* gc.c (gc_mark_ptr): this check was introduced by accidentaly
  (this is why message is "...", crazy simple) for debugging.
  However, this check is useful because if there is T_NONE
  object here, we can't know which object points to it.
  For debugging reason, I remain this checking code and
  set reasonable error message.

------------------------------------------------------------------------
r66513 | ko1 | 2018-12-23 23:58:41 +0900 (Sun, 23 Dec 2018) | 8 lines

fix marking T_NONE object bug.

* array.c (rb_ary_splice): do not use RARRAY_PTR() here because it can cause
  GC because of rb_ary_detransient(). Here ary can contain T_NONE object
  because of increasing capacity and not initialized yet.

  error log: http://ci.rvm.jp/results/trunk-test@ruby-sky1/1557174

------------------------------------------------------------------------
r66512 | aycabta | 2018-12-23 22:15:17 +0900 (Sun, 23 Dec 2018) | 1 line

Add RDoc section to NEWS
------------------------------------------------------------------------
r66511 | aycabta | 2018-12-23 22:14:28 +0900 (Sun, 23 Dec 2018) | 1 line

Merge RDoc 6.1.0 from upstream
------------------------------------------------------------------------
r66510 | nobu | 2018-12-23 20:11:36 +0900 (Sun, 23 Dec 2018) | 1 line

Prohibit circular causes [Bug #15447]
------------------------------------------------------------------------
r66509 | nobu | 2018-12-23 20:11:35 +0900 (Sun, 23 Dec 2018) | 1 line

remove trailing spaces [ci skip]
------------------------------------------------------------------------
r66508 | normal | 2018-12-23 17:42:44 +0900 (Sun, 23 Dec 2018) | 6 lines

test/ruby/test_thread.rb (test_fork_while_parent_locked): rewrite to avoid OOM

Instead of using a torture test, trigger the condition for the old
segfault in [Bug #15383] exactly.

[ruby-core:90676] [Bug #15430]
------------------------------------------------------------------------
r66507 | kou | 2018-12-23 16:00:35 +0900 (Sun, 23 Dec 2018) | 5 lines

Import CSV 3.0.2

This includes performance improvement especially writing. Writing is
about 2 times faster.

------------------------------------------------------------------------
r66506 | nobu | 2018-12-23 14:49:43 +0900 (Sun, 23 Dec 2018) | 1 line

Restrict cause to an exception object [Bug #15447]
------------------------------------------------------------------------
r66505 | marcandre | 2018-12-23 12:43:45 +0900 (Sun, 23 Dec 2018) | 3 lines

Struct#to_h: Add doc for block form.

Patch by Shuji Kobayashi [doc] [ci skip] [#15454]
------------------------------------------------------------------------
r66504 | k0kubun | 2018-12-23 10:58:33 +0900 (Sun, 23 Dec 2018) | 4 lines

.travis.yml: refine explanation of no -j3 on osx [ci skip]

With travis_wait, we may not need -j3 for test-all anymore, but still we
need to avoid hanging on building Ruby somehow.
------------------------------------------------------------------------
r66503 | k0kubun | 2018-12-23 10:40:33 +0900 (Sun, 23 Dec 2018) | 5 lines

test/fiddle/test_function.rb: loosen timeout

We're hitting `Expected |200 - 351| (151) to be <= 150.` in several places:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/osx1012/ruby-trunk/log/20181215T094505Z.fail.html.gz
https://travis-ci.org/ruby/ruby/jobs/471483171
------------------------------------------------------------------------
r66502 | k0kubun | 2018-12-23 10:35:14 +0900 (Sun, 23 Dec 2018) | 3 lines

.travis.yml: wrap setarch with travis_wait

because travis_wait is not found via setarch
------------------------------------------------------------------------
r66501 | k0kubun | 2018-12-23 10:10:06 +0900 (Sun, 23 Dec 2018) | 4 lines

.travis.yml: try travis_wait instead of -v

Using -v somehow makes test-all on osx stable. Let me check if travis_wait
solves the issue or not.
------------------------------------------------------------------------
r66500 | k0kubun | 2018-12-23 09:45:11 +0900 (Sun, 23 Dec 2018) | 3 lines

iseq.c: avoid Null pointer dereference

detected by coverity scan
------------------------------------------------------------------------
r66499 | hsbt | 2018-12-23 09:20:49 +0900 (Sun, 23 Dec 2018) | 4 lines

Merge RubyGems 3.0.1 from rubygems/rubygems.

  It fixed the issues of RubyGems 3.0.0.
  https://blog.rubygems.org/2018/12/23/3.0.1-released.html
------------------------------------------------------------------------
r66498 | normal | 2018-12-23 07:39:31 +0900 (Sun, 23 Dec 2018) | 5 lines

{complex,object,rational}.c: document exception: false

From: Victor Shepelev <zverok.offline@gmail.com>

[ruby-core:90673] [Bug #15452]
------------------------------------------------------------------------
r66497 | svn | 2018-12-23 02:05:05 +0900 (Sun, 23 Dec 2018) | 1 line

* 2018-12-23
------------------------------------------------------------------------
r66496 | marcandre | 2018-12-23 02:05:03 +0900 (Sun, 23 Dec 2018) | 3 lines

ostruct.rb: Accept block for to_h [#15451].

Patch by Shuji Kobayashi.
------------------------------------------------------------------------
r66495 | nobu | 2018-12-22 19:23:06 +0900 (Sat, 22 Dec 2018) | 1 line

Use idException
------------------------------------------------------------------------
r66494 | normal | 2018-12-22 17:08:03 +0900 (Sat, 22 Dec 2018) | 7 lines

test/ruby/test_thread.rb (test_fork_while_parent_locked): reduce threads

Reduce thread counts unconditionally for some CI systems with
low limits..  And Solaris apparently lacks RLIMIT_NPROC, so we
can't detect resource limits and scale the test appropriately.

[ruby-core:90670] [Bug #15430]
------------------------------------------------------------------------
r66493 | nobu | 2018-12-22 16:14:14 +0900 (Sat, 22 Dec 2018) | 4 lines

Fix for circular causes

* eval_error.c (show_cause): get rid of infinite recursion on
  circular causes.  [Bug #15447]
------------------------------------------------------------------------
r66492 | nobu | 2018-12-22 16:14:13 +0900 (Sat, 22 Dec 2018) | 1 line

Removed garbage output
------------------------------------------------------------------------
r66491 | nobu | 2018-12-22 16:14:12 +0900 (Sat, 22 Dec 2018) | 1 line

Moved regexps not to confuse ruby-mode.el
------------------------------------------------------------------------
r66490 | k0kubun | 2018-12-22 10:43:45 +0900 (Sat, 22 Dec 2018) | 3 lines

benchmark/app_erb.yml: remove unused variable

https://github.com/ruby/ruby/commit/3efcb74036af32cbcc889d06d8c6c546289e89f4#r31762996
------------------------------------------------------------------------
r66489 | normal | 2018-12-22 10:41:18 +0900 (Sat, 22 Dec 2018) | 15 lines

thread_sync.c (rb_mutex_t): eliminate fork_gen

The true bug fork_gen was hiding was rb_mutex_abandon_locking_mutex
failing to unconditionally clear the waitq of mutexes it was
waiting on.  So we fix rb_mutex_abandon_locking_mutex, instead,
and eliminate rb_mutex_cleanup_keeping_mutexes.

This commit was tested heavily on a single-core Pentium-M which
was my most reliable reproducer of the "crash.rb" script from
[Bug #15383]

[Bug #14578] [Bug #15383]

Note: [Bug #15430] turned out to be an entirely different
problem: RLIMIT_NPROC limit was hit on the CI VMs.
------------------------------------------------------------------------
r66488 | normal | 2018-12-22 08:32:36 +0900 (Sat, 22 Dec 2018) | 7 lines

test/ruby/test_thread.rb: reduce thread count to avoid SIGKILL

Perhaps this error report is down to resource limits on a VM:

http://rubyci.s3.amazonaws.com/centos7/ruby-trunk/log/20181221T230003Z.fail.html.gz

But rb_mutex_t.fork_gen is still redundant, I think.
------------------------------------------------------------------------
r66487 | normal | 2018-12-22 06:44:09 +0900 (Sat, 22 Dec 2018) | 6 lines

test/ruby/test_thread.rb: add diagnosis code for [Bug #15430]

I can't find stderr in the test-all output of the CI machine,
so maybe the assertion will show what's going on.

http://rubyci.s3.amazonaws.com/centos7/ruby-trunk/log/20181221T170003Z.log.html.gz#test-all
------------------------------------------------------------------------
r66486 | k0kubun | 2018-12-22 01:36:37 +0900 (Sat, 22 Dec 2018) | 1 line

.travis.yml: use -v for osx to find a blocking test
------------------------------------------------------------------------
r66485 | k0kubun | 2018-12-22 01:19:31 +0900 (Sat, 22 Dec 2018) | 1 line

../arith_seq/../extract.c: remove unused variable
------------------------------------------------------------------------
r66484 | k0kubun | 2018-12-22 01:07:41 +0900 (Sat, 22 Dec 2018) | 6 lines

.travis.yml: give up parallel build for osx

Even building ruby seems to hang for unknown reasons.
https://travis-ci.org/ruby/ruby/jobs/471021727

Travis's osx environment is too fragile. Avoid anything dangerous.
------------------------------------------------------------------------
r66483 | svn | 2018-12-22 00:07:19 +0900 (Sat, 22 Dec 2018) | 1 line

* 2018-12-22
------------------------------------------------------------------------
r66482 | k0kubun | 2018-12-22 00:07:18 +0900 (Sat, 22 Dec 2018) | 14 lines

.travis.yml: avoid using -j3 for osx

osx build has failed too often. we don't know why.

To know which test hangs forever, we might want to have hard timeout for
all test case (like 9min, slightly less than no-output timeout) in test-all.
But it's a little hard to implement and I would workaround an unknown
cause somehow.

It's known that -j is harmful for some tests in test-all. Let's try to
remove it first, and if it doesn't work, I'll resurrect -v option to
easily know which test is the culprit.

Slow correctness is much better than fast false-positive.
------------------------------------------------------------------------
r66481 | svn | 2018-12-21 23:33:26 +0900 (Fri, 21 Dec 2018) | 1 line

* properties.
------------------------------------------------------------------------
r66480 | k0kubun | 2018-12-21 23:33:25 +0900 (Fri, 21 Dec 2018) | 4 lines

test/excludes/_wercker: give up testing TestGemRemoteFetcher

The tests are really fragile with --jit-wait and it doesn't have interface
to modify this timeout at all.
------------------------------------------------------------------------
r66479 | k0kubun | 2018-12-21 23:01:49 +0900 (Fri, 21 Dec 2018) | 4 lines

test_jit.rb: show debug info for success_count test

to investigate
https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20181221T092505Z.fail.html.gz
------------------------------------------------------------------------
r66478 | mrkn | 2018-12-21 22:05:16 +0900 (Fri, 21 Dec 2018) | 4 lines

range.c: reject ArithmeticSequence in rb_range_values

Reject ArithmeticSequence in rb_range_values so that methods like
Array#[] raises TypeError for ArithmeticSequence as an index.
------------------------------------------------------------------------
r66477 | normal | 2018-12-21 21:32:52 +0900 (Fri, 21 Dec 2018) | 8 lines

thread_sync.c (rb_mutex_cleanup_keeping_mutexes): update fork_gen

... when clearing waitq. Otherwise, we risk redundantly clearing
valid waiters in future calls to `mutex_ptr`.

Note: I am not sure if this fixes [Bug #15430], and even if it
did, fork_gen is a belt-and-suspenders redundancy for [Bug #15383]
which wastes one word for every Mutex object.
------------------------------------------------------------------------
r66476 | normal | 2018-12-21 21:32:48 +0900 (Fri, 21 Dec 2018) | 5 lines

thread_sync.c (rb_mutex_abandon_keeping_mutexes): remove unnecessary check

rb_mutex_abandon_all functions fine when passed a NULL value,
so let the compiler deal with the complexity of the branch
instead of the person reading the code.
------------------------------------------------------------------------
r66475 | mame | 2018-12-21 20:44:21 +0900 (Fri, 21 Dec 2018) | 3 lines

eval_error.c (show_cause): check if cause is an Exception or not

Fixes [Bug #15447]
------------------------------------------------------------------------
r66474 | mrkn | 2018-12-21 09:03:39 +0900 (Fri, 21 Dec 2018) | 5 lines

enumerator.c: Fix airth_seq_each for Rational

Fix the wrong uses of rb_int_ge in arith_seq_each.

[ruby-core:90648] [Bug #15444]
------------------------------------------------------------------------
r66473 | mrkn | 2018-12-21 08:29:49 +0900 (Fri, 21 Dec 2018) | 3 lines

Import bigdecimal-1.4.0.pre.20181220a

* https://github.com/ruby/bigdecimal/compare/v1.4.0.pre.20181214a..v1.4.0.pre.20181220a
------------------------------------------------------------------------
r66472 | nobu | 2018-12-21 08:21:50 +0900 (Fri, 21 Dec 2018) | 1 line

iseq.c: resurrect literal hash operands
------------------------------------------------------------------------
r66471 | stomar | 2018-12-21 07:54:36 +0900 (Fri, 21 Dec 2018) | 1 line

NEWS: small improvements
------------------------------------------------------------------------
r66470 | svn | 2018-12-21 06:17:15 +0900 (Fri, 21 Dec 2018) | 1 line

* 2018-12-21
------------------------------------------------------------------------
r66469 | nobu | 2018-12-21 06:17:11 +0900 (Fri, 21 Dec 2018) | 5 lines

A couple of small English fixes [ci skip]

[Fix GH-2052]

From: Jon Burgess <jkburges@gmail.com>
------------------------------------------------------------------------
r66468 | mame | 2018-12-20 19:17:37 +0900 (Thu, 20 Dec 2018) | 5 lines

ext/coverage/lib/coverage.rb (Coverage.line_stub): use only line events

It wrongly used all linenos of ISeq#trace_points which includes not only
line events but also call, return, and other events.  So, the result
included some linenos that can not be covered at all by line coverage.
------------------------------------------------------------------------
r66467 | kazu | 2018-12-20 18:55:05 +0900 (Thu, 20 Dec 2018) | 3 lines

[DOC] Update CI build status badges [ci skip]

copy from README.md
------------------------------------------------------------------------
r66466 | ko1 | 2018-12-20 16:17:55 +0900 (Thu, 20 Dec 2018) | 7 lines

hide iseq operand object for duphash. [Bug #15440]

* compile.c (compile_array): hide source Hash object.

* hash.c (rb_hash_resurrect): introduced to dup Hash object
  using rb_cHash.

------------------------------------------------------------------------
r66465 | nobu | 2018-12-20 15:59:27 +0900 (Thu, 20 Dec 2018) | 1 line

Test separately to get rid of risk to modify unrelated hash
------------------------------------------------------------------------
r66464 | nobu | 2018-12-20 15:44:50 +0900 (Thu, 20 Dec 2018) | 23 lines

Freeze hash literals embedded in duphash instructions

Previously, these hash literals were not frozen, and thus could be
modified by ObjectSpace, resulting in undesired behavior.  Example:

```ruby
require 'objspace'

def a(b={0=>1,1=>4,2=>17})
  b
end

p a
ObjectSpace.each_object(Hash) do |a|
  a[3] = 8 if a.class == Hash && a[0] == 1 && a[1] == 4 && a[2] == 17
end
p a
```

It may be desirable to hide such hashes from ObjectSpace, since
they are internal, but I'm not sure how to do that.

From: Jeremy Evans <code@jeremyevans.net>
------------------------------------------------------------------------
r66463 | nobu | 2018-12-20 14:43:15 +0900 (Thu, 20 Dec 2018) | 5 lines

parse.y: ignore constant name captures

* parse.y (reg_named_capture_assign_iter): ignore non-local name
  captures, including non-ASCII constant names.
  [ruby-dev:50719] [Bug #15437]
------------------------------------------------------------------------
r66462 | kou | 2018-12-20 13:03:10 +0900 (Thu, 20 Dec 2018) | 2 lines

Really ensure loading REXML in tests

------------------------------------------------------------------------
r66461 | nobu | 2018-12-20 13:03:07 +0900 (Thu, 20 Dec 2018) | 3 lines

rbinstall.rb: purge %x[git ls-files] too

[Bug #13423]
------------------------------------------------------------------------
r66460 | nobu | 2018-12-20 12:51:15 +0900 (Thu, 20 Dec 2018) | 4 lines

rbinstall.rb: syntax error in gemspec

* tool/rbinstall.rb (load_gemspec): do not hide syntax errors in
  a gemspec file.  check if the result instead.
------------------------------------------------------------------------
r66459 | kou | 2018-12-20 12:08:57 +0900 (Thu, 20 Dec 2018) | 3 lines

Ensure loading REXML


------------------------------------------------------------------------
r66458 | kou | 2018-12-20 11:49:10 +0900 (Thu, 20 Dec 2018) | 6 lines

rexml: upgrade to 3.1.8

See https://github.com/ruby/rexml/blob/master/NEWS.md for change summary.

Changes for spec/ has been reported: https://github.com/ruby/spec/pull/639

------------------------------------------------------------------------
r66457 | normal | 2018-12-20 09:07:19 +0900 (Thu, 20 Dec 2018) | 18 lines

thread_pthread.c (ubf_timer_disarm): ignore EINVAL iff timer is dead

The following race may happen if ubf_timer_destroy calls
timer_delete before ubf_timer_disarm gets called from
a different thread.  Consider the following timelines:

  ubf_timer_destroy                    | ubf_timer_disarm
  -------------------------------------+-----------------------------
                                       | CAS(ARM => DISARM)
  CAS(DISARM => DEAD)                  |
  timer_delete                         |
                                       | timer_settime(disarm)

Another option may be to add an intermediate "RTIMER_DISARMING"
state to the transition, but I figure the EINVAL check is
simpler and less intrusive code-wise.

cf. http://ci.rvm.jp/results/trunk-iseq_binary@silicon-docker/1545794
------------------------------------------------------------------------
r66456 | svn | 2018-12-20 04:01:04 +0900 (Thu, 20 Dec 2018) | 1 line

* 2018-12-20
------------------------------------------------------------------------
r66455 | yuki | 2018-12-20 04:01:02 +0900 (Thu, 20 Dec 2018) | 1 line

* gems/bundled_gems: Upgrade the did_you_mean gem to 1.3.0
------------------------------------------------------------------------
r66454 | hsbt | 2018-12-19 21:57:19 +0900 (Wed, 19 Dec 2018) | 1 line

Update entry of Psych on NEWS file.
------------------------------------------------------------------------
r66453 | hsbt | 2018-12-19 21:46:29 +0900 (Wed, 19 Dec 2018) | 1 line

Update entry of RubyGems on NEWS file.
------------------------------------------------------------------------
r66452 | normal | 2018-12-19 20:08:05 +0900 (Wed, 19 Dec 2018) | 22 lines

webrick: add the ability to override res, req creation

So that a customized HTTPServer subclass can use it's own
Request/Response classes.

To apply the override, make a subclass of WEBrick::HTTPServer
and override the
`create_request_and_response(with_webrick_config)` method. The
method should return an Array of [request, response].

To check whether the Server supports this method (i.e. when
using older versions of WEBrick when needing this
functionality), you can ask the server if it responds to the
method

    server.respond_to?(:create_request_and_response)

This is backportable.

[ruby-core:69604] [Feature #11266]

From: Julik Tarkhanov <me@julik.nl>
------------------------------------------------------------------------
r66451 | hsbt | 2018-12-19 16:20:17 +0900 (Wed, 19 Dec 2018) | 3 lines

Merge RubyGems 3.0.0 from upstream.

  https://blog.rubygems.org/2018/12/19/3.0.0-released.html
------------------------------------------------------------------------
r66450 | hsbt | 2018-12-19 16:02:57 +0900 (Wed, 19 Dec 2018) | 1 line

Update metadata of Bundler 1.17.2
------------------------------------------------------------------------
r66449 | duerst | 2018-12-19 13:08:46 +0900 (Wed, 19 Dec 2018) | 6 lines

avoid passing unnecessary options to download method

The option --unicode-beta for tool/downloader.rb introduced in
r66448 must not be passed as an option to actual download machinery.
Thanks to MSP-Greg (Greg L.) for bug report and patch.
This closes issue #15434.
------------------------------------------------------------------------
r66448 | duerst | 2018-12-19 09:26:31 +0900 (Wed, 19 Dec 2018) | 16 lines

add option to deal with Unicode beta data files

Unicode uses file names with explicit versions for beta publication.
This commit introduces a variable on the makefile level to distinguish
between beta and regular versions of file names.
 
common.mk: Define new variable UNICODE_BETA, usually set to NO,
but would be YES during tests with beta data files. Pass the value
of this variable to tool/downloader.rb with option --unicode-beta.

tool/downloader.rb: Receive and store value of --unicode-beta.
Raise an exception if value is YES, because we don't yet actually
deal with this case. Continue as usual if value is not YES.

This completes the changes needed in the makefile. Upcomming changes
will only affect tool/downloader.rb.
------------------------------------------------------------------------
r66447 | kazu | 2018-12-19 08:36:47 +0900 (Wed, 19 Dec 2018) | 1 line

sample/fib.py: Fix syntax error in Python 3 [ci skip]
------------------------------------------------------------------------
r66446 | normal | 2018-12-19 03:25:54 +0900 (Wed, 19 Dec 2018) | 6 lines

thread_pthread.c (ubf_timer_destroy): more careful state transition

We must not call timer_destroy while another thread is
calling timer_settime to arm the timer.

cf. http://ci.rvm.jp/results/trunk-iseq_binary@silicon-docker/1541578
------------------------------------------------------------------------
r66445 | nobu | 2018-12-19 01:11:07 +0900 (Wed, 19 Dec 2018) | 1 line

Constified to fix warning at r66442
------------------------------------------------------------------------
r66444 | nobu | 2018-12-19 01:01:58 +0900 (Wed, 19 Dec 2018) | 1 line

CHDIR to follow symlink [ci skip]
------------------------------------------------------------------------
r66443 | svn | 2018-12-19 00:11:18 +0900 (Wed, 19 Dec 2018) | 1 line

* expand tabs.
------------------------------------------------------------------------
r66442 | nobu | 2018-12-19 00:11:17 +0900 (Wed, 19 Dec 2018) | 1 line

Expand cross-recursion to a loop
------------------------------------------------------------------------
r66441 | svn | 2018-12-19 00:06:21 +0900 (Wed, 19 Dec 2018) | 1 line

* 2018-12-19
------------------------------------------------------------------------
r66440 | nobu | 2018-12-19 00:06:20 +0900 (Wed, 19 Dec 2018) | 1 line

Freeze and hide callback arguments holder
------------------------------------------------------------------------
r66439 | nobu | 2018-12-18 22:59:46 +0900 (Tue, 18 Dec 2018) | 11 lines

Enable refinements on symbol-proc in ruby-level methods

* vm_args.c (refine_sym_proc_call): resolve refinements when the
  proc is invoked, instead of resolving at making the proc, to
  enable refinements on symbol-proc in ruby-level methods

* vm.c (vm_cref_dup): clear cached symbol-procs when duplicating.

[Bug #15114] [Fix GH-2039]

From: manga_osyo <manga.osyo@gmail.com>
------------------------------------------------------------------------
r66438 | normal | 2018-12-18 18:21:05 +0900 (Tue, 18 Dec 2018) | 12 lines

thread_sync.c (mutex_ptr): only reinitalize waitqueue at fork

Mutexes need to remain locked after forking.

This fixes "[BUG] invalid keeping_mutexes: Attempt to unlock a
mutex which is locked by another thread" and should
fix test_fork_while_parent_locked failures in CI

[ruby-core:90581] [Bug #15424]
[ruby-core:90595] [Bug #15430]

Fixes: r66230 ("handle mutexes held by parent threads in children")
------------------------------------------------------------------------
r66437 | svn | 2018-12-18 17:33:23 +0900 (Tue, 18 Dec 2018) | 1 line

* expand tabs.
------------------------------------------------------------------------
r66436 | ko1 | 2018-12-18 17:33:20 +0900 (Tue, 18 Dec 2018) | 6 lines

should use defined_class.

* vm_insnhelper.c (vm_call_method_each_type): we should use me->defined_class
  instead of me->owner because me->owner doesn't has correct ancestors list.
  [Bug #15427]

------------------------------------------------------------------------
r66435 | svn | 2018-12-18 17:11:57 +0900 (Tue, 18 Dec 2018) | 1 line

* expand tabs.
------------------------------------------------------------------------
r66434 | ko1 | 2018-12-18 17:11:52 +0900 (Tue, 18 Dec 2018) | 2 lines

rb_raw_obj_info() support T_MODULE and T_ICLASS.

------------------------------------------------------------------------
r66433 | hsbt | 2018-12-18 15:49:12 +0900 (Tue, 18 Dec 2018) | 1 line

Bump version to 1.0.0.
------------------------------------------------------------------------
r66432 | knu | 2018-12-18 14:09:08 +0900 (Tue, 18 Dec 2018) | 4 lines

Import ipaddr 1.2.2

- Enable frozen_string_literal and do a bit of code cleanup

------------------------------------------------------------------------
r66431 | akr | 2018-12-18 12:09:54 +0900 (Tue, 18 Dec 2018) | 4 lines

Pathname#relative_path_from uses is_a?

I reconsidered because simpler code would have better maintainablity.

------------------------------------------------------------------------
r66430 | hsbt | 2018-12-18 11:01:39 +0900 (Tue, 18 Dec 2018) | 1 line

Bump version to psych 3.1.0.
------------------------------------------------------------------------
r66429 | svn | 2018-12-18 07:49:01 +0900 (Tue, 18 Dec 2018) | 1 line

* 2018-12-18
------------------------------------------------------------------------
r66428 | normal | 2018-12-18 07:48:57 +0900 (Tue, 18 Dec 2018) | 7 lines

Fix test failure if ENV["USER"] doesn't match Process.euid

When dropping privileges to run tests, ENV["USER"] could be set
to a user that doesn't match Process.euid, which causes this
test to fail with Errno::EPERM.  Try to get the name for the
current euid, and only fallback to ENV["USER"] if that doesn't
work.
------------------------------------------------------------------------
r66427 | nobu | 2018-12-17 14:57:15 +0900 (Mon, 17 Dec 2018) | 1 line

Split test_fnmatch
------------------------------------------------------------------------
r66426 | nobu | 2018-12-17 13:58:50 +0900 (Mon, 17 Dec 2018) | 1 line

Already nlink is properly set on Windows
------------------------------------------------------------------------
r66425 | nobu | 2018-12-17 13:58:49 +0900 (Mon, 17 Dec 2018) | 1 line

Split test_expand_path, test_basename, test_dirname
------------------------------------------------------------------------
r66424 | mrkn | 2018-12-17 12:08:46 +0900 (Mon, 17 Dec 2018) | 5 lines

NEWS: Note for the bigdecimal versions

The differences between bigdecimal 1.3.5, 1.4.0, and 1.5.0 are explained.

[ci skip]
------------------------------------------------------------------------
r66423 | nobu | 2018-12-17 10:36:34 +0900 (Mon, 17 Dec 2018) | 6 lines

Workaround for OpenBSD make

* common.mk: read from node.h in the source directly, without
  VPATH.  [ruby-core:89151] [Bug #15154]

From: kernigh (George Koehler) <xkernigh@netscape.net>
------------------------------------------------------------------------
r66422 | svn | 2018-12-17 09:43:45 +0900 (Mon, 17 Dec 2018) | 1 line

* 2018-12-17
------------------------------------------------------------------------
r66421 | nobu | 2018-12-17 09:43:40 +0900 (Mon, 17 Dec 2018) | 4 lines

Range check is only for interaval

* time.c (time_timespec): range check is only for time interval
  value if time_t is signed.
------------------------------------------------------------------------
r66420 | kazu | 2018-12-16 23:54:05 +0900 (Sun, 16 Dec 2018) | 3 lines

[DOC] Update Object#=~ [ci skip]

see r65989
------------------------------------------------------------------------
r66419 | k0kubun | 2018-12-16 23:24:20 +0900 (Sun, 16 Dec 2018) | 5 lines

bin/erb: improve documentation of -P flag

man/erb.1: ditto

[Bug #15421]
------------------------------------------------------------------------
r66418 | nobu | 2018-12-16 21:55:59 +0900 (Sun, 16 Dec 2018) | 6 lines

Refine error message for time interval

* time.c (time_timespec): Time interval value can be zero, not
  only positive.  [ruby-dev:50709] [Bug #15420]

From: shuujii (Shuji KOBAYASHI) <shuujii@gmail.com>
------------------------------------------------------------------------
r66417 | normal | 2018-12-16 21:33:44 +0900 (Sun, 16 Dec 2018) | 3 lines

thread_pthread (ubf_timer_destroy): use VM_ASSERT

Don't need the overhead at runtime
------------------------------------------------------------------------
r66416 | akr | 2018-12-16 21:26:52 +0900 (Sun, 16 Dec 2018) | 4 lines

Pathname#relative_path_from compatible with mock.

[Fix GH-2049]

------------------------------------------------------------------------
r66415 | nobu | 2018-12-16 21:09:08 +0900 (Sun, 16 Dec 2018) | 5 lines

Enhance Tempfile docs [ci skip]

[ruby-core:90525] [Bug #15411]

From: zverok (Victor Shepelev) <zverok.offline@gmail.com>
------------------------------------------------------------------------
r66414 | svn | 2018-12-16 16:51:11 +0900 (Sun, 16 Dec 2018) | 1 line

* expand tabs.
------------------------------------------------------------------------
r66413 | normal | 2018-12-16 16:51:09 +0900 (Sun, 16 Dec 2018) | 15 lines

thread_pthread.c: fix memory leak from fork loop leapfrog (v3)

Constantly forking a single-threaded process in a loop leads to
a memory leak when using POSIX timers.  This fixes the leak for
GNU/Linux systems running glibc.

v2: disarm before timer_delete
v3: ubf_timer_arm prevents double-arming

This unreverts r66291 / commit ab73ef6b7037039a05edcbf2a0c1b1108197e036
Example Linux-only reproduction may be found in:

  r66290 / commit 043047a8fd5315d98eac38ddbd04ebe8db361817

Note: FreeBSD 11.2 still leaks, I'm not sure why, yet.
------------------------------------------------------------------------
r66412 | k0kubun | 2018-12-16 09:55:56 +0900 (Sun, 16 Dec 2018) | 3 lines

spec/../initialize_spec.rb: skip fd-specific spec

https://gist.github.com/ko1/72c03695e81a54d40649f29d0c421f26
------------------------------------------------------------------------
r66411 | svn | 2018-12-16 06:28:37 +0900 (Sun, 16 Dec 2018) | 1 line

* 2018-12-16
------------------------------------------------------------------------
r66410 | stomar | 2018-12-16 06:28:34 +0900 (Sun, 16 Dec 2018) | 1 line

time.c: [DOC] improve docs for tz argument of Time.new
------------------------------------------------------------------------
r66409 | k0kubun | 2018-12-15 23:45:36 +0900 (Sat, 15 Dec 2018) | 6 lines

Revert "* expand tabs."

This reverts commit 298180f0450df6e975057cc7e90b3ae3248586fc.

It looks like we should not expand ext/nkf:
https://git.ruby-lang.org/ruby-commit-hook.git/commit/?id=91fd9708b7cf04a4dcddd9614c24e27ddef5d43b
------------------------------------------------------------------------
r66407 | svn | 2018-12-15 18:55:26 +0900 (Sat, 15 Dec 2018) | 1 line

* expand tabs.
------------------------------------------------------------------------
r66406 | naruse | 2018-12-15 18:55:24 +0900 (Sat, 15 Dec 2018) | 1 line

Merge nkf v2.1.5
------------------------------------------------------------------------
r66405 | suke | 2018-12-15 14:04:40 +0900 (Sat, 15 Dec 2018) | 4 lines

use System Monitor Control for spec of Win32OLE.

* spec/ruby/library/win32ole/win32ole_method/event_interface_spec.rb:
  use System Monitor Control instead of Microsoft Internet Control
------------------------------------------------------------------------
r66404 | normal | 2018-12-15 13:40:14 +0900 (Sat, 15 Dec 2018) | 12 lines

test/lib/test/unit.rb: do not propagate MAKEFLAGS to children

Propagating MAKEFLAGS to children running test/unit caused stuck
tests with GNU make when "-jN" is passed in both the make(1)
command-line and the "TESTS=" variable; because the forked child
process would see MAKEFLAGS and try to use jobserver on its own.

This is regression caused by r64399
(commit b53fadfd5f200dbd6fe9f4b2a91ebb68618e59bb,
"process.c: defaults to close_others false");
but that change also fixed a regression when close-on-exec
became the default in 2.0 :<
------------------------------------------------------------------------
r66403 | svn | 2018-12-15 00:18:16 +0900 (Sat, 15 Dec 2018) | 1 line

* 2018-12-15
------------------------------------------------------------------------
r66402 | stomar | 2018-12-15 00:18:14 +0900 (Sat, 15 Dec 2018) | 1 line

proc.c: [DOC] fix typos
------------------------------------------------------------------------
r66401 | naruse | 2018-12-14 18:44:20 +0900 (Fri, 14 Dec 2018) | 4 lines

Move autoload to toplevel

So that classes which uses Net::HTTP with https can use OpenSSL
namespace for example exception classes like OpenSSL::SSL::SSLError.
------------------------------------------------------------------------
r66400 | naruse | 2018-12-14 17:01:40 +0900 (Fri, 14 Dec 2018) | 3 lines

fix r66163

OpenSSL maybe aren't loaded in rubygems.
------------------------------------------------------------------------
r66399 | svn | 2018-12-14 14:44:43 +0900 (Fri, 14 Dec 2018) | 1 line

* remove trailing spaces. [ci skip]
------------------------------------------------------------------------
r66398 | duerst | 2018-12-14 14:44:41 +0900 (Fri, 14 Dec 2018) | 1 line

tweak syntax of Proc documentation [ci skip]
------------------------------------------------------------------------
r66397 | nobu | 2018-12-14 13:10:42 +0900 (Fri, 14 Dec 2018) | 1 line

Suppress deprecation warnings
------------------------------------------------------------------------
r66396 | mrkn | 2018-12-14 12:45:32 +0900 (Fri, 14 Dec 2018) | 3 lines

NEWS: Fix description of BigDecimal.new [ci skip]

BigDecimal.new is restored, and will be removed on bigdecimal 1.5
------------------------------------------------------------------------
r66395 | nobu | 2018-12-14 12:36:13 +0900 (Fri, 14 Dec 2018) | 1 line

No document of Tempfile::Remover [ci skip]
------------------------------------------------------------------------
r66394 | svn | 2018-12-14 12:33:54 +0900 (Fri, 14 Dec 2018) | 1 line

* properties.
------------------------------------------------------------------------
