Age | Commit message (Collapse) | Author |
|
This copies the private/deprecate constant visibility across the
autoload. It still is backwards compatible with setting the
private/deprecate constant visibility in the autoloaded file.
However, if you explicitly set public constant in the autoloaded
file, that will be reset after the autoload.
Fixes [Bug #11055]
Notes:
Merged: https://github.com/ruby/ruby/pull/2716
|
|
|
|
Fixes a hang when Thread.new calls Thread.new in a loop.
Fixes [Bug #13688]
Notes:
Merged: https://github.com/ruby/ruby/pull/2715
|
|
|
|
```
$ ./miniruby -e 'def foo(kw: 1); end; h = {kw: 1}; foo(h)'
-e:1: warning: The last argument is used as the keyword parameter
-e:1: warning: for `foo' defined here; maybe ** should be added to the call?
```
|
|
`(ulimit -n 30; make test-tool)` fails with unexplicit message:
"undefined method `write' for nil:NilClass" due to lack of stdout.
This change makes it explicit. [Bug #5577]
|
|
|
|
|
|
|
|
Get rid of infinite recursion in expanding a load path to the real
path while loading a transcoder.
Notes:
Merged: https://github.com/ruby/ruby/pull/2714
|
|
Coverity Scan found this issue.
|
|
* Process.clock_getres specs use 10_000 but that's quite slow for
the Process.times spec.
|
|
|
|
In the incremental search by C-r, search word is saved when it's determined. In
the next incremental search by C-r, if a user presses C-r again with the empty
search word, the determined previous search word is used to search.
|
|
|
|
`* 1e6` makes a spurious result about floating point number's precision.
```
irb(main)[01:0]> 16.028
=> 16.028
irb(main)[02:0]> (16.028 * 1e6)
=> 16027999.999999998
```
|
|
https://github.com/ruby/ruby/commit/de74d2c3b0005048a2c4433bde68b9be10c86f01/checks?check_suite_id=336910877#step:19:131
```
Leaked file descriptor: NameErrorExtensionTest#test_correctable_error_objects_are_dumpable: 7 : #<File:test_name_error_extension.rb>
```
Notes:
Merged: https://github.com/ruby/ruby/pull/2712
|
|
|
|
This reverts commit 2615030c521afc822c66a7e139ccba3d2365ab56,
which doesn't work when cross compiling, except for mingw.
|
|
|
|
It causes a link error due to some `__*_chk` functions on mingw.
|
|
Otherwise, the written data to pty before the reading started may
be just lost.
|
|
|
|
|
|
to fix test failure on trunk-no-mjit
https://gist.github.com/ko1/32ab982ffd7555988818773c08f97123
|
|
it fails like
https://ci.appveyor.com/project/ruby/ruby/builds/29235837/job/v0apdjj4qx8afars
|
|
|
|
|
|
Akatsuki reported ENV['TZ'] = 'UTC' improved 7x-8x faster on following code.
t = Time.now; 100000.times { Time.new(2019) }; Time.now - t
https://hackerslab.aktsk.jp/2019/12/01/141551
commit 4bc1669127(reduce tzset) dramatically improved this situation. But still,
TZ=UTC is faster than default.
This patch removs unnecessary tzset() call completely.
Performance check
----------------------
test program: t = Time.now; 100000.times { Time.new(2019) }; Time.now - t
before: 0.387sec
before(w/ TZ): 0.197sec
after: 0.162sec
after(w/ TZ): 0.165sec
OK. Now, Time creation 2x faster *and* TZ=UTC doesn't improve anything.
We can forget this hack completely. :)
Side note:
This patch slightly changes Time.new(t) behavior implicitly. Before this patch, it might changes
default timezone implicitly. But after this patch, it doesn't. You need to reset TZ
(I mean ENV['TZ'] = nil) explicitly.
But I don't think this is big impact. Don't try to change /etc/localtime on runtime.
Side note2: following test might be useful for testing "ENV['TZ'] = nil".
-----------------------------------------
% cat <<'End' | sudo sh -s
rm -f /etc/localtime-; cp -a /etc/localtime /etc/localtime-
rm /etc/localtime; ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
./ruby -e '
p Time.new(2000).zone # JST
File.unlink("/etc/localtime"); File.symlink("/usr/share/zoneinfo/America/Los_Angeles", "/etc/localtime")
p Time.new(2000).zone # JST (ruby does not follow /etc/localtime modification automatically)
ENV["TZ"] = nil
p Time.new(2000).zone # PST (ruby detect /etc/localtime modification)
'
rm /etc/localtime; cp -a /etc/localtime- /etc/localtime; rm /etc/localtime-
End
|
|
|
|
|
|
|
|
|
|
|
|
|
|
https://github.com/ruby/spec/commit/51047687c0
https://github.com/ruby/spec/commit/2b87b467cc
|
|
|
|
|
|
|
|
https://ci.appveyor.com/project/ruby/ruby/builds/29230976/job/c910t37313edb97k
|
|
to fix failure like https://github.com/ruby/ruby/runs/327745536
|
|
This is a secret feature for me. It's only for testing and any behavior
with this flag override is unsupported.
I needed this because I sometimes want to add debug options but do not
want to disable optimizations, for using Linux perf.
|
|
|
|
|
|
|
|
23d7f4c5e1ce164e78d77de694dccc0c41f6de3d breaks a test which expect
to match error message. To avoid this failure, use #strip for expect
and actual results.
|
|
|
|
This will slow down the time that the +require+ method takes to load DYM,
but this has caused a build failure in a certain situation:
https://ci.appveyor.com/project/ruby/ruby/builds/29214253/job/r9u9c8p95tnlftt3#L24965
which is reported as a separate bug:
https://bugs.ruby-lang.org/issues/16382?next_issue_id=16381
For now this commit should fix the builds, but we should come back and
add back the 'gem' call.
Notes:
Merged: https://github.com/ruby/ruby/pull/2689
|
|
At the moment, there are some problems with regard to bundler + did_you_mean because of did_you_mean being a bundled gem. Since the vendored version of thor inside bundler and ruby itself explicitly requires did_you_mean, it can become difficult to load it when using Bundler.setup. See this issue: https://github.com/yuki24/did_you_mean/issues/117#issuecomment-482733159 for more details.
Notes:
Merged: https://github.com/ruby/ruby/pull/2689
|
|
`Exception#full_message` is only defined on ruby 2.5.0 and above.
https://github.com/ruby/fileutils/commit/a8968f41ed
|