| Age | Commit message (Collapse) | Author |
|
To prevent the CI failure due to the change of io-wait
https://github.com/ruby/rbs/pull/828/
Notes:
Merged: https://github.com/ruby/ruby/pull/5130
|
|
This behavior changed in dfb47bbd17c3c2b8ce17dbafaf62df023b0224b2,
but only for normal exit, not for early exit. Fix it for early
exit as well.
While here, fix example code in documentation so that it doesn't
indicate that the method returns nil.
Notes:
Merged: https://github.com/ruby/ruby/pull/5129
|
|
This already passes in master, 3.0, and 2.7, but would fail in
ruby 2.6 as it segfaults instead of raising an exception. I think
it's good to have a test for this to catch possible future
regressions.
Notes:
Merged: https://github.com/ruby/ruby/pull/5128
|
|
Reverts https://github.com/ruby/io-wait/commit/2eb3841e9c8f3279955253a93d3db98b80787548
because it fails on "update-deps" check in the ruby/ruby CI.
https://github.com/ruby/ruby/runs/4230891140?check_suite_focus=true
```
diff --git a/ext/io/wait/depend b/ext/io/wait/depend
index 7b314b9..449e9fe 100644
--- a/ext/io/wait/depend
+++ b/ext/io/wait/depend
...
```
Maybe now it does not work on Ruby 2.6. This file must be changed for
each Ruby version. I have no good idea to fix this issue.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5115
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5114
|
|
`vm_ci_argc` gives the number of arguments, but `*[1, 2, 3]` only
counts for one.
Notes:
Merged: https://github.com/ruby/ruby/pull/5124
|
|
|
|
Treated:
#+
#-
#*
#fdiv
#/
#div
#**
#[]
#digits
#upto
#downto
Notes:
Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
|
|
This reverts commit 17e64cca6b737060884f6fd9ab1c5055e9b49577.
The specs should work now.
|
|
https://github.com/ruby/date/commit/376c65942b
|
|
Fix: https://github.com/ruby/date/issues/39
This is how versions previous to 3.2.1 behaved and Active Support
currently rely on this behavior.
https://github.com/rails/rails/blob/90357af08048ef5076730505f6e7b14a81f33d0c/activesupport/lib/active_support/values/time_zone.rb#L383-L384
Any Rails application upgrading to date `3.2.1` might run into unexpected errors.
https://github.com/ruby/date/commit/8f2d7a0c7e
|
|
|
|
https://github.com/ruby/nkf/commit/18c118c83c
|
|
https://github.com/ruby/ipaddr/commit/37007e7812
|
|
`Date.parse` now raises an ArgumentError when a given date string is
longer than 128. You can configure the limit by giving `limit` keyword
arguments like `Date.parse(str, limit: 1000)`. If you pass `limit: nil`,
the limit is disabled.
Not only `Date.parse` but also the following methods are changed.
* Date._parse
* Date.parse
* DateTime.parse
* Date._iso8601
* Date.iso8601
* DateTime.iso8601
* Date._rfc3339
* Date.rfc3339
* DateTime.rfc3339
* Date._xmlschema
* Date.xmlschema
* DateTime.xmlschema
* Date._rfc2822
* Date.rfc2822
* DateTime.rfc2822
* Date._rfc822
* Date.rfc822
* DateTime.rfc822
* Date._jisx0301
* Date.jisx0301
* DateTime.jisx0301
https://github.com/ruby/date/commit/3959accef8
|
|
https://github.com/ruby/net-protocol/commit/d4982420e6
|
|
https://github.com/ruby/set/commit/db2ebc946d
|
|
https://github.com/ruby/io-wait/commit/2eb3841e9c
|
|
https://github.com/ruby/io-wait/commit/1060f9348c
|
|
https://github.com/ruby/io-wait/commit/e8e1e99d4c
|
|
https://github.com/ruby/io-wait/commit/898248931f
|
|
https://github.com/ruby/io-wait/commit/1f59f7b02f
|
|
Picked from https://github.com/rubygems/rubygems/commit/4b498709a015a94e14a3852a1841a7a3e669133d
|
|
|
|
|
|
|
|
|
|
|
|
https://github.com/ruby/digest/commit/efd76821b8a467c193c753104c29b476debbb2c9
|
|
https://github.com/ruby/digest/commit/efd76821b8
|
|
Fixes warning on Clang 13.
Fixes [Bug #18076]
https://github.com/ruby/digest/commit/32135c7487
|
|
Also add tag property.
|
|
Treats:
#allbits?
#anybits?
#nobits?
#succ
#pred
#chr`
#to_s
#+
#-
Notes:
Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
|
|
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
|
|
|
|
|
|
https://github.com/ruby/net-http/commit/ca7bb8c51c
|
|
See https://bugs.ruby-lang.org/issues/18338
|
|
|
|
|
|
and also drop a weird newline from benchmark/array_sample.yml.
|
|
```
ruby_2_6 ruby_2_7 ruby_3_0 master modified
Time.at(0) 12.362M 11.015M 9.499M 6.615M 9.000M i/s - 32.115M times in 2.597946s 2.915517s 3.380725s 4.854651s 3.568234s
Time.at(0, 500) 7.542M 7.136M 8.252M 5.707M 5.646M i/s - 20.713M times in 2.746279s 2.902556s 2.510166s 3.629644s 3.668854s
Time.at(0, in: "+09:00") 1.426M 1.346M 1.565M 1.674M 1.667M i/s - 4.240M times in 2.974049s 3.149753s 2.709416s 2.533043s 2.542853s
```
```
ruby_2_6: ruby 2.6.7p150 (2020-12-09 revision 67888) [x86_64-linux]
ruby_2_7: ruby 2.7.3p140 (2020-12-09 revision 9b884df6dd) [x86_64-linux]
ruby_3_0: ruby 3.0.3p150 (2021-11-06 revision 6d540c1b98) [x86_64-linux]
master: ruby 3.1.0dev (2021-11-13T20:48:57Z master fc456adc6a) [x86_64-linux]
modified: ruby 3.1.0dev (2021-11-15T01:12:51Z mandatory_only_bui.. b0228446db) [x86_64-linux]
```
Notes:
Merged: https://github.com/ruby/ruby/pull/5112
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5112
|
|
```
ruby_2_6 ruby_2_7 ruby_3_0 master modified
ary.sample 32.113M 30.146M 11.162M 10.539M 26.620M i/s - 64.882M times in 2.020428s 2.152296s 5.812981s 6.156398s 2.437325s
ary.sample(2) 9.420M 8.987M 7.500M 6.973M 7.191M i/s - 25.170M times in 2.672085s 2.800616s 3.355896s 3.609534s 3.500108s
```
```
ruby_2_6: ruby 2.6.7p150 (2020-12-09 revision 67888) [x86_64-linux]
ruby_2_7: ruby 2.7.3p140 (2020-12-09 revision 9b884df6dd) [x86_64-linux]
ruby_3_0: ruby 3.0.3p150 (2021-11-06 revision 6d540c1b98) [x86_64-linux]
master: ruby 3.1.0dev (2021-11-13T20:48:57Z master fc456adc6a) [x86_64-linux]
modified: ruby 3.1.0dev (2021-11-15T01:12:51Z mandatory_only_bui.. b0228446db) [x86_64-linux]
```
Notes:
Merged: https://github.com/ruby/ruby/pull/5112
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5112
|
|
Compare with the C methods, A built-in methods written in Ruby is
slower if only mandatory parameters are given because it needs to
check the argumens and fill default values for optional and keyword
parameters (C methods can check the number of parameters with `argc`,
so there are no overhead). Passing mandatory arguments are common
(optional arguments are exceptional, in many cases) so it is important
to provide the fast path for such common cases.
`Primitive.mandatory_only?` is a special builtin function used with
`if` expression like that:
```ruby
def self.at(time, subsec = false, unit = :microsecond, in: nil)
if Primitive.mandatory_only?
Primitive.time_s_at1(time)
else
Primitive.time_s_at(time, subsec, unit, Primitive.arg!(:in))
end
end
```
and it makes two ISeq,
```
def self.at(time, subsec = false, unit = :microsecond, in: nil)
Primitive.time_s_at(time, subsec, unit, Primitive.arg!(:in))
end
def self.at(time)
Primitive.time_s_at1(time)
end
```
and (2) is pointed by (1). Note that `Primitive.mandatory_only?`
should be used only in a condition of an `if` statement and the
`if` statement should be equal to the methdo body (you can not
put any expression before and after the `if` statement).
A method entry with `mandatory_only?` (`Time.at` on the above case)
is marked as `iseq_overload`. When the method will be dispatch only
with mandatory arguments (`Time.at(0)` for example), make another
method entry with ISeq (2) as mandatory only method entry and it
will be cached in an inline method cache.
The idea is similar discussed in https://bugs.ruby-lang.org/issues/16254
but it only checks mandatory parameters or more, because many cases
only mandatory parameters are given. If we find other cases (optional
or keyword parameters are used frequently and it hurts performance),
we can extend the feature.
Notes:
Merged: https://github.com/ruby/ruby/pull/5112
|
|
This reverts commit a698181021c11711dc56b74dacbdebc2895b5384.
It failed on macos for a unknown problem.
```
1) Error:
TestM17N#test_object_inspect_external:
Encoding::ConverterNotFoundError: code converter not found (US-ASCII to UTF-16BE)
/Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:312:in `encode'
/Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:312:in `inspect'
/Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:315:in `inspect'
/Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:315:in `<main>'
/Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:299:in `test_object_inspect_external'
```
https://github.com/ruby/ruby/runs/4207871418?check_suite_focus=true
|
|
This reverts commit fc456adc6a62d09b755243b8c8f190934b9965d6.
It broke the CI check.
https://github.com/ruby/ruby/runs/4207922247?check_suite_focus=true#step:3:4
```
numeric.c:3518: * 255.chr(Encoding::UTF_8) # => "ÿ"
Error: Process completed with exit code 1.
```
|
|
The test uses `Encoding.default_external = Encoding::UTF_16BE`, which
may add a wrongly UTF_16BE-encoded path to $LOADED_FEATURES (depending
on the order of tests). Unfortunately this breaks another test:
http://ci.rvm.jp/results/trunk-test@ruby-sky1/3711615
```
/tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:11:in `===': incompatible encoding regexp match (US-ASCII regexp with UTF-16BE string) (Encoding::CompatibilityError)
```
According to @naruse-san, we don't pay effort to such a case, so this
change just avoids the issue by running the test in question under
another process.
Co-Authored-By: Koichi Sasada <ko1@atdot.net>
|