Project

General

Profile

Activity

From 10/13/2021 to 10/19/2021

10/19/2021

10:57 PM Revision 8bf33a6f (git): Ensure the format argument of RUBY_DEBUG_LOG is a string literal
nobu (Nobuyoshi Nakada)
10:48 PM Revision 9b18f1bf (git): Supress `warning: data argument not used by format string [-Wformat-extra-args]`
znz (Kazuhiro NISHIYAMA)
09:29 PM Feature #17468: Deprecate RUBY_DEVEL
I looked into this. If we removed `RUBY_DEVEL`, we would make it so `ruby_debug_log` was never defined, since it is only defined if `RUBY_DEVEL` is defined. Basically, removing `RUBY_DEVEL` is equivalent to removing the removing the en... jeremyevans0 (Jeremy Evans)
05:51 PM Feature #18083: Capture error in ensure block.
ko1 (Koichi Sasada) wrote in #note-18:
> Another proposal is change `$!` semantics to `begin/rescue/ensure' clause local.
> ...
That seems elegant actually, because
```ruby
begin
...
rescue
foo($!)
end
```
would behave lik...
Eregon (Benoit Daloze)
04:46 AM Feature #18083: Capture error in ensure block.
Another proposal is change `$!` semantics to `begin/rescue/ensure' clause local.
Does it solve the issues?
ko1 (Koichi Sasada)
05:00 PM Revision 79f9f832 (git): * 2021-10-20 [ci skip]
git[bot]
05:00 PM Revision 3e96b94e (git): Enhanced RDoc for Numeric (#4991)
Treated:
#@-
#fdiv
#div
#abs
#zero?
#nonzero?
#to_int
#positive?
#negative?
burdettelamar (Burdette Lamar)
01:58 PM Bug #18255 (Open): ioctl zeroes the last buffer byte
~~Found the bug.
Does this patch fix it?~~
```diff
diff --git a/io.c b/io.c
index 50c9fea62c9..052155205d6 100644
--- a/io.c
+++ b/io.c
@@ -10143,8 +10143,8 @@ setup_narg(ioctl_req_t cmd, VALUE *argp, int io_p)
/* expand for data ...
nobu (Nobuyoshi Nakada)
01:32 PM Bug #18255: ioctl zeroes the last buffer byte
nobu (Nobuyoshi Nakada) wrote in #note-1:
>
> ...
"X"*364 is a request that makes ioctl fail and the SystemCallError is raised before the sanity check of the buffer.
However, given `req` as a proper request as a binary string:
```
> f...
vihai (Daniele Orlandi)
11:03 AM Bug #18255 (Feedback): ioctl zeroes the last buffer byte
vihai (Daniele Orlandi) wrote:
> The ioctl sanity check is triggered as if the buffer was too small however the size of the buffer passed to ioctl is correct.
> ...
Do you mean that `fd.ioctl(GPIO_GET_LINEHANDLE_IOCTL, "X"*364)` raises...
nobu (Nobuyoshi Nakada)
12:13 PM Revision 6b1efc54 (git): [ruby/racc] Bump up racc version to 1.6.0
https://github.com/ruby/racc/commit/0c5fe2637c hsbt (Hiroshi SHIBATA)
12:08 PM Revision de68de87 (git): [ruby/logger] Bump up logger version to 1.4.4
https://github.com/ruby/logger/commit/82a59c8d3f hsbt (Hiroshi SHIBATA)
11:55 AM Revision a7d07ee9 (git): [ruby/tempfile] Bump up tempfile version to 0.1.2
https://github.com/ruby/tempfile/commit/e5ec902256 hsbt (Hiroshi SHIBATA)
11:55 AM Revision 847eeafd (git): [ruby/etc] Bump up etc version to 1.3.0
https://github.com/ruby/etc/commit/85ca541d0b hsbt (Hiroshi SHIBATA)
11:28 AM Revision b482a516 (git): [ruby/zlib] Bump up zlib version to 2.1.1
https://github.com/ruby/zlib/commit/82e9a636a6 hsbt (Hiroshi SHIBATA)
11:12 AM Bug #18187: Float#clamp() returns ArgumentError (comparison of Float with 1 failed)
What about `Float#clamp`?
```diff
diff --git i/numeric.c w/numeric.c
index db2b2eb2793..12edb0f6006 100644
--- i/numeric.c
+++ w/numeric.c
@@ -2844,6 +2844,13 @@ num_step(int argc, VALUE *argv, VALUE from)
return from;
}
...
nobu (Nobuyoshi Nakada)
04:48 AM Bug #18187: Float#clamp() returns ArgumentError (comparison of Float with 1 failed)
I think it's OK to return NaN for all the cases of `Float::NAN.clamp`. mrkn (Kenta Murata)
10:44 AM Feature #18256: Change the canonical name of Thread::Mutex, Thread::Queue, Thread::SizedQueue and Thread::ConditionVariable to just Mutex, Queue, SizedQueue and ConditionVariable
nobu (Nobuyoshi Nakada) wrote in #note-3:
> The current names have been moved from the top level, to make clarify the roles.
I don't understand this reasoning. What else could a Mutex/Queue/SizedQueue/ConditionVariable be for if for ...
Eregon (Benoit Daloze)
09:35 AM Feature #18256: Change the canonical name of Thread::Mutex, Thread::Queue, Thread::SizedQueue and Thread::ConditionVariable to just Mutex, Queue, SizedQueue and ConditionVariable
I’m against.
The current names have been moved from the top level, to make clarify the roles.
nobu (Nobuyoshi Nakada)
09:25 AM Feature #18256: Change the canonical name of Thread::Mutex, Thread::Queue, Thread::SizedQueue and Thread::ConditionVariable to just Mutex, Queue, SizedQueue and ConditionVariable
Related, there is this PR by nobu to make ruby/spec use the `Thread::` prefix: https://github.com/ruby/spec/pull/867
I agree it makes sense to align the canonical name and specs hierarchy (although I think it's not too important either)...
Eregon (Benoit Daloze)
09:23 AM Feature #18256 (Open): Change the canonical name of Thread::Mutex, Thread::Queue, Thread::SizedQueue and Thread::ConditionVariable to just Mutex, Queue, SizedQueue and ConditionVariable
Currently these 4 classes are defined as both constants of `Object` and of `Thread`.
On CRuby 3.0.2, their `#inspect` shows they were first defined under `Thread` and then aliased in Object:
```
$ ruby -ve 'p [Mutex, Queue, SizedQue...
Eregon (Benoit Daloze)
10:27 AM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
In the description's code, there is `lock` and `unlock`.
Are those supposed to be thread-safe? If yes I think you'd need to synchronize in almost every method, if it's possible to access the buffer without GVL.
I think it's better to o...
Eregon (Benoit Daloze)
05:30 AM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
> mame: I cannot understand what is finally needed. Doesn’t String with ASCII-8BIT work?
String is both insufficient and inefficient. You can check how read and write on strings work with internal frozen copies, for example, it's both p...
ioquatix (Samuel Williams)
05:11 AM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
Today we read the ticket (not all comments, sorry) and mame, ko1 has comment:
mame: I cannot understand what is finally needed. Doesn’t String with ASCII-8BIT work?
ko1: I can’t understand how to use it with IO? Only for scheduler?
ko1 (Koichi Sasada)
09:28 AM Misc #18174: DevelopersMeeting20211021Japan
* [Feature #18256] Change the canonical name of Thread::Mutex, Thread::Queue, Thread::SizedQueue and Thread::ConditionVariable to just Mutex, Queue, SizedQueue and ConditionVariable (eregon)
* OK? (sorry for late addition for the meet...
Eregon (Benoit Daloze)
08:25 AM Revision ae25313e (git): [ruby/etc] Remove unnecessary declaration
Fix https://github.com/ruby/etc/pull/12
https://github.com/ruby/etc/commit/7cbf03d22d
nobu (Nobuyoshi Nakada)
08:09 AM Revision 8d6dbecc (git): Remove useless casts
nobu (Nobuyoshi Nakada)
08:08 AM Revision ec021e46 (git): Get rid of type-punning cast
nobu (Nobuyoshi Nakada)
07:41 AM Revision 1d9e1292 (git): Fill pid and error in the status
nobu (Nobuyoshi Nakada)
04:20 AM Feature #18035: Introduce general model/semantic for immutability.
ioquatix (Samuel Williams) wrote in #note-17:
> @ko1 changed `Process::Status` to be frozen by default. What is the logic? What is the problem we are trying to solve by doing this? Is it to make things sharable by Ractor?
Yes.
ko1 (Koichi Sasada)

10/18/2021

11:35 PM Revision 012cafa5 (git): Enhanced RDoc for numerics (#4982)
Treats:
Numeric#coerce
Numeric#clone
Numeric#dup
Numeric#@+ (unary plus)
Numeric#i
Float#coerce
burdettelamar (Burdette Lamar)
09:47 PM Bug #18255 (Open): ioctl zeroes the last buffer byte

Hello,
I'm running ruby 2.7.4p191 on an armv7 linux and experimenting with GPIO_GET_LINEHANDLE_IOCTL ioctl.
The ioctl sanity check is triggered as if the buffer was too small however the size of the buffer passed to ioctl is corr...
vihai (Daniele Orlandi)
06:32 PM Feature #6210: load should provide a way to specify the top-level module
I think this is a useful feature, and it can be implemented without any API changes/backwards compatibility issues. I submitted a pull request for it: https://github.com/ruby/ruby/pull/4986 jeremyevans0 (Jeremy Evans)
04:09 PM Bug #17719 (Closed): Irregular evaluation order in hash literals
Applied in changeset commit:git|fac2c0f73cafb5d65bfbba7aa8018fa427972d71.
----------
Fix evaluation order of hash values for duplicate keys
Fixes [Bug #17719]
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Co-authored-by: Ivo A...
jeremyevans (Jeremy Evans)
04:09 PM Revision 8bc24438 (git): * 2021-10-19 [ci skip]
git[bot]
04:09 PM Revision fac2c0f7 (git): Fix evaluation order of hash values for duplicate keys
Fixes [Bug #17719]
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Co-authored-by: Ivo Anjo <ivo@ivoanjo.me>
jeremyevans (Jeremy Evans)
02:46 PM Revision 59bec48e (git): Remove declarations unused since a95262356ef5
nobu (Nobuyoshi Nakada)
02:26 PM Feature #18254: Add an `offset` parameter to String#unpack and String#unpack1
I submitted a pull request for it, https://github.com/ruby/ruby/pull/4984. byroot (Jean Boussier)
08:32 AM Feature #18254: Add an `offset` parameter to String#unpack and String#unpack1
Ah, I didn't know about it, but then you just allocated a string and converted an integer to string, so it's even slower than the `slice` pattern:
```ruby
# frozen_string_literal: true
require 'benchmark/ips'
STRING = Random.byte...
byroot (Jean Boussier)
08:24 AM Feature #18254: Add an `offset` parameter to String#unpack and String#unpack1
You can use `unpack1("@#{pos + 24}N")`. znz (Kazuhiro NISHIYAMA)
08:04 AM Feature #18254 (Closed): Add an `offset` parameter to String#unpack and String#unpack1
When working with binary protocols it's common to have to first unpack some kind of header or type prefix, and then based on that unpack another part of the string.
For instance here's [a code snippet from Dalli, the most common Memca...
byroot (Jean Boussier)
08:41 AM Revision 57bf354c (git): Eliminate some redundant checks on `num` in `newhash`
The `newhash` instruction was checking if `num` is greater than 0, but
so is [`rb_hash_new_with_size`](https://github.com/ruby/ruby/blob/82e2443d8b1e3edd2607c78dddf5aac79a13492d/hash.c#L1564)
as well as [`rb_hash_bulk_insert`](https://gi...
tenderlovemaking (Aaron Patterson)
08:40 AM Revision dfe944bf (git): haiku configure fix (again).
David CARLIER
08:36 AM Revision 6c74976a (git): Remove `Test::Unit::TestCase.make_my_diffs_pretty!`
`Test::Unit::CoreAssertions#mu_pp` is defined always using
`pretty_inspect`.
nobu (Nobuyoshi Nakada)
08:36 AM Revision d1b8544b (git): Remove `Test::Unit::Assertions#exception_details`
Never used since fa0f3eff228bb26de6d5b0e1238b1f358165dbd0. nobu (Nobuyoshi Nakada)
07:11 AM Revision 9d2abb8e (git): Update bundled_gems at 2021-10-18
git[bot]
06:29 AM Feature #18253: `ID` in `rb_id_table_foreach_with_replace`
A patch to remove unused arguments.
```diff
diff --git c/gc.c i/gc.c
index fdd4ac5eb38..595ce038cbc 100644
--- c/gc.c
+++ i/gc.c
@@ -9757,7 +9757,7 @@ gc_ref_update_imemo(rb_objspace_t *objspace, VALUE obj)
}

static enum rb_...
nobu (Nobuyoshi Nakada)
06:22 AM Feature #18253 (Closed): `ID` in `rb_id_table_foreach_with_replace`
`rb_id_table_foreach_with_replace` doesn't pass the `ID` to `func` and `replace`.
If this is intensional, `func` should be `rb_id_table_foreach_values_func_t` and `rb_id_table_update_callback_func_t` doesn't need the `id` argument?
...
nobu (Nobuyoshi Nakada)
02:44 AM Revision 0bbfb6a3 (git): Fix error when srcdir not found
So that `spec/mspec/bin/mspec --help` works at least. nobu (Nobuyoshi Nakada)
02:43 AM Revision e1e36577 (git): Simplify srcdir fallback
nobu (Nobuyoshi Nakada)

10/17/2021

07:39 PM Feature #17795: Around `Process.fork` callbacks API
Here's hoping that a name, any name, will get matz' approval so this can make it into ruby 3.1
`Process._fork`
A name begining with an underscore is often used to indicate an internal/private method.
`Process.fork!`
A bang to com...
Dan0042 (Daniel DeLorme)
03:24 PM Revision 0381d105 (git): * 2021-10-18 [ci skip]
git[bot]
03:23 PM Revision 0871652f (git): Not all environment variables can be convertible to IBM-437
nobu (Nobuyoshi Nakada)
01:55 PM Feature #17837: Add support for Regexp timeouts
So if we have 536870911 backtracks per 48.6898231/10 seconds, that comes out to roughly 110M backtracks per second.
How about fixing a safe limit of 60s -> 6600M backtracks?
Since it only stops the most pathological regexp after 60s, tha...
Dan0042 (Daniel DeLorme)
01:40 PM Revision c7eac1be (git): Retry hung up tests verbosely
nobu (Nobuyoshi Nakada)
07:33 AM Revision 13716898 (git): Retry hung tests after parallel runs
nobu (Nobuyoshi Nakada)
07:33 AM Revision 478187e9 (git): Timeout parallel test worker processes
nobu (Nobuyoshi Nakada)
05:00 AM Revision 1831693c (git): haiku build update stack overflow check in libroot (haiku's libc) now
David CARLIER

10/16/2021

04:34 PM Revision 82e2443d (git): * 2021-10-17 [ci skip]
git[bot]
03:48 PM Revision 5de6e251 (git): Replace unpack with unpack1
nobu (Nobuyoshi Nakada)
10:39 AM Revision cc8ff8b5 (git): [ruby/openssl] require Ruby 2.6 or later
Drop support for Ruby 2.3, 2.4, and 2.5.
As of 2021-10, Ruby 2.6 is the oldest version that still receives
security fixes from the Ruby core team, so it doesn't make much sense
to keep code for those ancient versions.
https://github.co...
rhenium (Kazuki Yamaguchi)
09:57 AM Revision 4991dabd (git): [ruby/openssl] bump version number to 3.0.0.pre
https://github.com/ruby/openssl/commit/baa83a8a57 rhenium (Kazuki Yamaguchi)
09:34 AM Revision cea3c55d (git): [ruby/openssl] Ruby/OpenSSL 2.2.1
https://github.com/ruby/openssl/commit/65e7207a07 rhenium (Kazuki Yamaguchi)
09:34 AM Revision 75e72bab (git): [ruby/openssl] Ruby/OpenSSL 2.1.3
https://github.com/ruby/openssl/commit/e8ee01b22c rhenium (Kazuki Yamaguchi)
09:34 AM Revision e36906f9 (git): [ruby/openssl] test/openssl/test_ssl: use TLS 1.2 for finished_messages on LibreSSL
LibreSSL 2.2.x has a bug in the Finished message handling with TLS 1.3.
This is fixed by LibreSSL 3.3.2.
https://github.com/ruby/openssl/commit/0bea59d245
rhenium (Kazuki Yamaguchi)
09:34 AM Revision c1147f7f (git): [ruby/openssl] ssl: avoid directly storing String object in NPN callback
On the server side, the serialized list of protocols is stored in
SSL_CTX as a String object reference. We utilize a hidden instance
variable to prevent it from being GC'ed, but this is not enough because
it can also be relocated by GC.c...
rhenium (Kazuki Yamaguchi)
09:34 AM Revision f6612203 (git): [ruby/openssl] x509store: explicitly call rb_gc_mark() against Store/StoreContext
We store the reverse reference to the Ruby object in the OpenSSL
struct for use from OpenSSL callback functions. To prevent the Ruby
object from being relocated by GC.compact, we must "pin" it by calling
rb_gc_mark().
https://github.com...
rhenium (Kazuki Yamaguchi)
09:34 AM Revision ca28545b (git): [ruby/openssl] ssl: explicitly call rb_gc_mark() against SSLContext/SSLSocket objects
We store the reverse reference to the Ruby object in the OpenSSL
struct for use from OpenSSL callback functions. To prevent the Ruby
object from being relocated by GC.compact, we must "pin" it by calling
rb_gc_mark().
https://github.com...
rhenium (Kazuki Yamaguchi)
09:34 AM Revision c6c2190c (git): [ruby/openssl] digest: load digest library using Kernel#require
The digest library is a default gem now, too. Therefore we can't simply
use rb_require() to load it, but we should use Kernel#require instead.
This change is based on the suggestion by David Rodríguez in
https://github.com/ruby/digest/c...
rhenium (Kazuki Yamaguchi)
09:34 AM Revision f88401f3 (git): [ruby/openssl] fix segv in Timestamp::{Request,Response,TokenInfo}.new
prevent `ossl_ts_*_free()` from calling when `d2i_TS_*_bio()` failed.
https://github.com/ruby/openssl/commit/b29e215786
no6v (Nobuhiro IMAI)
09:34 AM Revision 6dcc7415 (git): [ruby/openssl] ts: libressl build fix warning
TS_time_cb on libressl expects an long long/time_t 64 bits long instead.
https://github.com/ruby/openssl/commit/4c99f577b2
David Carlier
09:34 AM Revision daeb914a (git): [ruby/openssl] ssl: temporary lock string buffer while reading
Similarly to SSLSocket#syswrite, the blocking SSLSocket#sysread allows
context switches. We must prevent other threads from modifying the
string buffer.
We can use rb_str_locktmp() and rb_str_unlocktmp() to temporarily
prohibit modifica...
rhenium (Kazuki Yamaguchi)
09:25 AM Revision 58288076 (git): [ruby/openssl] ssl: create a temporary frozen string buffer when writing
Since a blocking SSLSocket#syswrite call allows context switches while
waiting for the underlying socket to be ready, we must freeze the string
buffer to prevent other threads from modifying it.
Reference: https://github.com/ruby/openss...
rhenium (Kazuki Yamaguchi)
09:25 AM Revision ed7ea35d (git): [ruby/openssl] Fixed misspellings
[ This is a backport to the 2.1 branch. ]
Fixed misspellings reported at [Bug #16437], for default gems.
(cherry picked from commit ruby/ruby@e68999c82c4863d33a6f893661fba1b7538c5671)
https://github.com/ruby/openssl/commit/0f43789503
nobu (Nobuyoshi Nakada)
09:19 AM Revision 6105ef76 (git): [ruby/openssl] ssl: add SSLContext#tmp_dh=
Provide a wrapper of SSL_set0_tmp_dh_pkey()/SSL_CTX_set_tmp_dh(), which
sets the DH parameters used for ephemeral DH key exchange.
SSLContext#tmp_dh_callback= already exists for this purpose, as a
wrapper around SSL_CTX_set_tmp_dh_callb...
rhenium (Kazuki Yamaguchi)
09:19 AM Revision 49217086 (git): [ruby/openssl] ssl: remove private method SSLSocket#tmp_ecdh_callback
Commit ee037e146037 ("ssl: remove SSL::SSLContext#tmp_ecdh_callback",
2020-08-12) forgot to remove the method.
https://github.com/ruby/openssl/commit/bef9ea84e4
rhenium (Kazuki Yamaguchi)
08:41 AM Misc #18192 (Third Party's Issue): Advertise that OpenSSL 3.0 is not supported
openssl gem version 2.1.3 and 2.2.1 have been released with this change in addition to other bug fixes/improvements.
Backport to ruby core is requested in [Bug #18251] and [Bug #18252].
rhenium (Kazuki Yamaguchi)
08:36 AM Bug #18252 (Closed): Backport openssl 2.2.1 to ruby_3_0
Please merge openssl 2.2.1 into ruby_3_0. ruby_3_0's openssl is currently at version 2.2.0 with local modifications.
openssl 2.2.1 incorporated these and includes some additional bug fixes: https://github.com/ruby/openssl/compare/v2.2...
rhenium (Kazuki Yamaguchi)
08:36 AM Bug #18251 (Closed): Backport openssl 2.1.3 to ruby_2_7
Please merge openssl 2.1.3 into ruby_2_7. ruby_2_7's openssl is currently at version 2.1.2 with local modifications.
openssl 2.1.3 incorporated these and includes some additional bug fixes: https://github.com/ruby/openssl/compare/v2.1...
rhenium (Kazuki Yamaguchi)
04:56 AM Bug #18232: Ractor.make_shareable is broken in code loaded with RubyVM::InstructionSequence.load_from_binary
ruby_3_0 a2fe4b75e4b236ad15778c59ace63006ace53889 merged revision(s) 217df51f0e5d9824ed712a4d175f555d932e44d8. nagachika (Tomoyuki Chikanaga)
04:55 AM Bug #18023: Ractor#make_shareable changes the values of closured shareable objects
ruby_3_0 5427b08381fb0d644ec69d5aa94234f90a4fbed1 merged revision(s) 76228191474c76810043b294a74bbb2f1808b3d9. nagachika (Tomoyuki Chikanaga)
04:28 AM Revision 5427b083 (git): merge revision(s) 76228191474c76810043b294a74bbb2f1808b3d9: [Backport #18023]
Fix Ractor.make_shareable changing locals for Procs
env_copy() uses rb_ary_delete_at() with a loop counting up while
iterating through the list of read only locals. rb_ary_delete_at() can
shift elements in the ar...
nagachika (Tomoyuki Chikanaga)
04:26 AM Revision a2fe4b75 (git): merge revision(s) 217df51f0e5d9824ed712a4d175f555d932e44d8: [Backport #18232]
Dump outer variables tables when dumping an iseq to binary
This commit dumps the outer variables table when dumping an iseq to
binary. This fixes a case where Ractors aren't able to tell what outer
variables bel...
nagachika (Tomoyuki Chikanaga)
12:51 AM Feature #8780 (Closed): DBM#to_h alias for #to_hash
jeremyevans0 (Jeremy Evans)
12:38 AM Feature #11758 (Closed): Add keyword assignment syntax
jeremyevans0 (Jeremy Evans)
12:30 AM Feature #12010 (Closed): Exclude dot and dotdot from Dir#each
jeremyevans0 (Jeremy Evans)

10/15/2021

10:47 PM Feature #12338 (Closed): bypass Exception.new
jeremyevans0 (Jeremy Evans)
10:41 PM Feature #12996 (Closed): Optimize Range#===
jeremyevans0 (Jeremy Evans)
09:55 PM Feature #14091 (Closed): Remove Time#succ
`Time#succ` was removed in Ruby 3.0. jeremyevans0 (Jeremy Evans)
09:51 PM Feature #14098 (Closed): The HowToContribute guide can be improved
I updated https://bugs.ruby-lang.org/projects/ruby/wiki/HowToContribute to discuss testing and where to document changes. The guide already contained a statement to follow the style of the existing code, and I don't think we need to be ... jeremyevans0 (Jeremy Evans)
09:31 PM Revision 4ffc3fb0 (git): [ruby/rdoc] fix: alias to method with call-seq
This change fixes alias call-seq to return nil if the method's
call-seq does not specify the alias.
Previously, the alias's call-seq would be an empty string in this case
which broke darkfish rendering.
This change also backfills test ...
mdalessio (Mike Dalessio)
09:20 PM Revision 5d975684 (git): Enhanced RDoc for remainder (#4975)
Treats Numeric#remainder and Integer#remainder. burdettelamar (Burdette Lamar)
09:00 PM Feature #14347 (Closed): Explain How Symbols Differ From Strings in Symbol's Rdoc
Applied in changeset commit:git|2a5c3a4d0f693ad0fe7b76dd99155e57149d2cac.
----------
Update documentation for String and Symbol to discuss differences
Implements [Feature #14347]
jeremyevans (Jeremy Evans)
08:54 PM Revision 2a5c3a4d (git): Update documentation for String and Symbol to discuss differences
Implements [Feature #14347] jeremyevans (Jeremy Evans)
06:56 PM Feature #14443 (Closed): Omit 'pattern' parameter in '(g)sub(!)' when 'hash' is given
jeremyevans0 (Jeremy Evans)
06:49 PM Feature #14444 (Closed): MatchData: alias for #[]
jeremyevans0 (Jeremy Evans)
06:47 PM Feature #14766 (Closed): Indicate `find_all` and `select` methods are aliases.
jeremyevans0 (Jeremy Evans)
06:39 PM Feature #18124 (Closed): Hash shorthands (matching constructors functionality in JS)
jeremyevans0 (Jeremy Evans)
06:34 PM Feature #14394: Class.descendants
I'd like this feature to make 3.1, so I submitted a pull request for it, borrowing somewhat from @fatkodima's pull request: https://github.com/ruby/ruby/pull/4974
As @ko1 specified, the receiver is not included in the array, nor are s...
jeremyevans0 (Jeremy Evans)
05:51 PM Revision 37ea909f (git): Enhanced RDoc for divmod (#4973)
Treats:
Integer#divmod
Float#divmod
Numeric#divmod
burdettelamar (Burdette Lamar)
05:16 PM Feature #17760: Where we should install a header file when `gem install --user`?
> then it should bump the major version (or some other well-documented scheme).
I can hardly see something like this working in practice. Maybe for digest it would work as realistically it won't change much in the future. But if Rubyg...
byroot (Jean Boussier)
04:30 PM Feature #17760: Where we should install a header file when `gem install --user`?
byroot (Jean Boussier) wrote in #note-8:
> e.g. I have `app1` with `digest 3.0.0` and `app2` with `digest 3.2.0`, both have `somegem-that-link-to-digest`, this means we'd need to compile that gem twice and link against different headers...
Eregon (Benoit Daloze)
04:25 PM Feature #17760: Where we should install a header file when `gem install --user`?
byroot (Jean Boussier) wrote in #note-8:
> But then I suppose them that compile against `digest.h` would also need to know where to look, I'm really unsure how it's supposed to work. If I have 5 different versions of digest, which one s...
Eregon (Benoit Daloze)
11:01 AM Feature #17760: Where we should install a header file when `gem install --user`?
Kind of yes. From my understanding the problem is that $INSTALL_FILES always install files in `site_ruby` https://github.com/ruby/digest/blob/1cb6bac1a6732a1415278b94fad2fdc695477dec/ext/digest/extconf.rb#L7-L9
So from my limited unde...
byroot (Jean Boussier)
08:05 AM Feature #17760: Where we should install a header file when `gem install --user`?
Hi, no I wasn't, and I'm not sure how it should be fixed. If I understand correctly, this is about cases where rubygems does not have write access to the location where ruby itself is installed, while it does have write access to the loc... deivid (David Rodríguez)
07:44 AM Feature #17760: Where we should install a header file when `gem install --user`?
@deivid are you aware of this issue? Any idea how we could fix this or what decision would need to be taken?
I fear that the `digest` extraction might cause major problem to people trying to upgrade to 3.1 next year, or trying to test...
byroot (Jean Boussier)
04:57 PM Revision 2043c2e7 (git): Enhanced RDoc for numeric.c (#4964)
Treats Integer#% and Float#%. burdettelamar (Burdette Lamar)
04:40 PM Revision 4c42540d (git): [ruby/rdoc] Support linking #==
See related commits:
- ebc66662 for #===
- 4943d208 for #[], #[]=, #<<, and #>>
https://github.com/ruby/rdoc/commit/8e47f7840a
mdalessio (Mike Dalessio)
04:39 PM Revision 7aec65ad (git): [ruby/rdoc] feat: add support for :category: on C functions
https://github.com/ruby/rdoc/commit/45c92005fe mdalessio (Mike Dalessio)
04:39 PM Revision c322069a (git): * 2021-10-16 [ci skip]
git[bot]
04:39 PM Revision fbd0516a (git): [ruby/rdoc] fix: comments in C files use the global markup option
Previously, Parser::C comments all defaulted to "rdoc" format, even
when the user had set a different default with the `--markup=<choice>`
option.
https://github.com/ruby/rdoc/commit/4643b08a26
mdalessio (Mike Dalessio)
04:39 PM Revision d4894e81 (git): [ruby/rdoc] extract Comment creation in Parser::C
This is a prefactor for fixing comment format handling.
https://github.com/ruby/rdoc/commit/a3d366feed
mdalessio (Mike Dalessio)
04:39 PM Revision 9225f3c1 (git): [ruby/rdoc] test: add coverage for comment format in a C file
https://github.com/ruby/rdoc/commit/3b8334a796 mdalessio (Mike Dalessio)
12:35 PM Feature #15973: Let Kernel#lambda always return a lambda
@jeremyevans added a test for this in https://github.com/ruby/ruby/commit/2188d6d160d3ba82432c87277310a4d417e136d5#diff-8b146f8f5073c5ee6526a128c3e9c05ae7a52d2cd496f601351470137f2a87a0
but it was removed by @nobu in https://github.com/r...
Eregon (Benoit Daloze)
11:09 AM Misc #18174: DevelopersMeeting20211021Japan
- [Feature #17760] Where we should install a header file when `gem install --user`?
- `digest` have been gemified. However its `extconf.rb` have `$INSTALLFILES = { "digest.h" => "$(HDRDIR)" }` which fail for most people because ruby's ...
byroot (Jean Boussier)
10:59 AM Revision 19beb028 (git): Make explicit opening files
nobu (Nobuyoshi Nakada)
10:42 AM Revision 855db8e9 (git): Use `__dir__`
nobu (Nobuyoshi Nakada)
10:32 AM Feature #17873: Update of default gems in Ruby 3.1
I figured the `digest` issue. It only happens if you have a `git` source gem as well in the Gemfile, because the git source does a MD5 of the repository URL.
I submitted a PR that could fix the problem: https://github.com/rubygems/rub...
byroot (Jean Boussier)
09:47 AM Revision 370fff98 (git): Prefer `require_relative`
nobu (Nobuyoshi Nakada)
06:31 AM Revision 027a3379 (git): [ruby/zlib] Fix a bug that GZipReader#gets may return incomplete line
See also: https://github.com/ruby/csv/issues/117#issuecomment-933289373
How to reproduce with x.csv.gz in the issue comment:
Zlib::GzipReader.open("x.csv.gz") do |rio|
rio.gets(nil, 1024)
while line = rio.gets(nil, 8192...
Sutou Kouhei
06:07 AM Revision 67905420 (git): Use `__dir__`
nobu (Nobuyoshi Nakada)
01:57 AM Bug #16953: Windows bash bin files removed in master
@jeremyevans0
Thanks. Everything seems fine with master. I looked at a commit somewhat later than the version listed (2020-06-11), and all the bin stubs were contained in the `bin` folder. Today, they are generated in another manner;...
MSP-Greg (Greg L)

10/14/2021

10:56 PM Bug #16953 (Feedback): Windows bash bin files removed in master
@MSP-Greg Can you figure out which commit caused this issue? I tried looking for commits before commit:631c01f5ae, but I was not able to find a likely culprit. jeremyevans0 (Jeremy Evans)
10:55 PM Bug #17719: Irregular evaluation order in hash literals
nobu (Nobuyoshi Nakada) wrote in #note-2:
> I think it can be fixed by removing the optimization in the parser and leaving it to the compiler.
I tried the approach of removing the optimization from the parser completely (https://gith...
jeremyevans0 (Jeremy Evans)
07:55 PM Revision 46291a29 (git): [rubygems/rubygems] Update broken link in Bundler::Fetcher::CertificateFailureError
https://github.com/rubygems/rubygems/commit/11b5d479cb Jack Schuss
04:26 PM Revision c658834c (git): * 2021-10-15 [ci skip]
git[bot]
03:40 PM Feature #17760: Where we should install a header file when `gem install --user`?
Is there a RubyGems issue tracking this? Eregon (Benoit Daloze)
02:44 PM Revision e057b9ee (git): Prefer the reentrant versions of gmtime and localtime
nobu (Nobuyoshi Nakada)
02:35 PM Misc #18174: DevelopersMeeting20211021Japan
- [Feature #10917] Add `GC.stat[:total_time]` when GC profiling enabled
- @ko1 did submit a pull request which seem fine except maybe for 32bits support.
- @ko1 did also measure the overhead and it appeared small.
- Could this feat...
byroot (Jean Boussier)
02:17 PM Revision fc9f9231 (git): Update bundled_gems
znz (Kazuhiro NISHIYAMA)
01:57 PM Revision c19685e2 (git): Reap rarely leaked threads
nobu (Nobuyoshi Nakada)
12:15 PM Revision 2fa0d51a (git): [ruby/date] Bump up date version to 3.2.0
https://github.com/ruby/date/commit/e0a4cbc8f6 hsbt (Hiroshi SHIBATA)
12:14 PM Revision befb37c2 (git): [ruby/drb] Bump up drb version to 2.1.0
https://github.com/ruby/drb/commit/e4b7b68d67 hsbt (Hiroshi SHIBATA)
12:14 PM Revision 20bd9e7c (git): [ruby/drb] Bump up drb version to 2.0.5
https://github.com/ruby/drb/commit/7edf67654c hsbt (Hiroshi SHIBATA)
12:14 PM Revision e6b3eab1 (git): [ruby/time] Bump up time version to 0.2.0
https://github.com/ruby/time/commit/b9dd593b23 hsbt (Hiroshi SHIBATA)
12:14 PM Revision 9c96bcf0 (git): [ruby/open-uri] Bump up open-uri version to 0.2.0
https://github.com/ruby/open-uri/commit/ec4275a1eb hsbt (Hiroshi SHIBATA)
12:08 PM Revision b7f55717 (git): [ruby/pathname] Bump up pathname version to 0.2.0
https://github.com/ruby/pathname/commit/e6b3b3ed25 hsbt (Hiroshi SHIBATA)
11:41 AM Revision d13c6c56 (git): [ruby/base64] Bump up base64 version to 0.1.1
https://github.com/ruby/base64/commit/b9e23b27f9 hsbt (Hiroshi SHIBATA)
11:29 AM Revision f8862801 (git): [ruby/nkf] Bump up nkf version to 0.1.1
https://github.com/ruby/nkf/commit/9aa7c6b841 hsbt (Hiroshi SHIBATA)
11:26 AM Revision b6e52647 (git): [ruby/find] Bump up find version to 0.1.1
https://github.com/ruby/find/commit/90c35c477a hsbt (Hiroshi SHIBATA)
11:16 AM Revision 9ed12504 (git): [ruby/yaml] Bump up yaml version to 0.2.0
https://github.com/ruby/yaml/commit/cef5360823 hsbt (Hiroshi SHIBATA)
11:13 AM Revision 391ebfc3 (git): Disable install-doc at CodeQL
nobu (Nobuyoshi Nakada)
11:13 AM Revision 4cf367b8 (git): Set GNUMAKEFLAGS at CodeQL
nobu (Nobuyoshi Nakada)
11:12 AM Revision 2c75fc91 (git): [ruby/timeout] Bump up timeout version to 0.2.0
https://github.com/ruby/timeout/commit/02e792ddd8 hsbt (Hiroshi SHIBATA)
11:09 AM Revision 6f67a78a (git): [ruby/cgi] Bump up cgi version to 0.3.0
https://github.com/ruby/cgi/commit/95324433b4 hsbt (Hiroshi SHIBATA)
11:09 AM Revision caf34400 (git): [ruby/benchmark] Bump up benchamark version to 0.2.0
https://github.com/ruby/benchmark/commit/eea1657fa2 hsbt (Hiroshi SHIBATA)
09:44 AM Revision d2109501 (git): [ruby/etc] Get rid of alloca in the loop
https://github.com/ruby/etc/commit/c989bacc4c nobu (Nobuyoshi Nakada)
09:43 AM Revision 1d6a490c (git): Cast up to get rid of the potential overflow posibility
nobu (Nobuyoshi Nakada)
08:18 AM Revision 1220556f (git): [ruby/fcntl] Bump up fcntl version to 1.0.1
https://github.com/ruby/fcntl/commit/0bcc0c4518 hsbt (Hiroshi SHIBATA)
08:04 AM Revision 91c2069d (git): [flori/json] Bump up json version to 2.6.0
https://github.com/flori/json/commit/1942689b67 hsbt (Hiroshi SHIBATA)
07:18 AM Revision 6b134480 (git): [ruby/zlib] Bump up zlib version to 2.1.0
https://github.com/ruby/zlib/commit/dd593acaee hsbt (Hiroshi SHIBATA)
07:18 AM Revision db500f05 (git): [ruby/zlib] Bump version to v2.0.0
https://github.com/ruby/zlib/commit/434eba55ae hsbt (Hiroshi SHIBATA)
06:05 AM Revision 724c6577 (git): Remove repeated 'the' (#4966)
180909 (佳华 王)
05:07 AM Revision 9e86a603 (git): Removed redundant digest namespace
hsbt (Hiroshi SHIBATA)
04:31 AM Revision 3265af2f (git): separate pure ruby location under the digest/* extensions
hsbt (Hiroshi SHIBATA)
04:23 AM Revision 13772cae (git): Move pure ruby files under the ext/gemname/lib directory.
hsbt (Hiroshi SHIBATA)
01:23 AM Revision 3099bb6e (git): rb_encoding is already const
- this change get rid of a warning of mswin build.
see include/ruby/internal/encoding/encoding.h(116)
U.Nakamura
12:12 AM Revision fa12e3e2 (git): [ruby/fileutils] Remove counterproductive optimization
I think it's debatable which is the most common usage of
`FileUtils.mkdir_p`, but even assuming the most common use case is
creating a folder when it doesn't previously exist but the parent does,
this optimization doesn't seem to have a ...
deivid (David Rodríguez)
12:12 AM Revision d8d97872 (git): [ruby/fileutils] Simplify loop to find out segments to be created
Doing it this way is simpler and it doesn't end up adding "/" to the
list of folders, so it doesn't need to be removed later.
https://github.com/ruby/fileutils/commit/df08e124ce
deivid (David Rodríguez)

10/13/2021

08:03 PM Revision a4f2aafd (git): [rubygems/rubygems] Remove save_loaded_features
https://github.com/rubygems/rubygems/commit/f5e408f83d nobu (Nobuyoshi Nakada)
08:03 PM Revision 3f0150f2 (git): [rubygems/rubygems] Keep loaded features
Now `$LOADED_FEATURES` list is being maintained by `setup` and
`teardown` and, only libaries under the temporary directory will
be removed. As `save_loaded_features` removes the rest libraries
other than this test directory, ordinary li...
nobu (Nobuyoshi Nakada)
04:43 PM Bug #17774: Quantified empty group causes regex to fail
I looked into fixing this by removing the define of `USE_MONOMANIAC_CHECK_CAPTURES_IN_ENDLESS_REPEAT`, as @mame indicated: https://github.com/ruby/ruby/commit/018922ba15eb7aea86957789d7defae9ffc43688
It ends up breaking a few specs. ...
jeremyevans0 (Jeremy Evans)
04:11 PM Revision 1aa9fcca (git): Fix STATIC_SYM2ID for large ID on IL32LLP64 platforms
nobu (Nobuyoshi Nakada)
03:48 PM Bug #14103: Regexp absense operator has no chance to ^C
I submitted a pull request to fix this: https://github.com/ruby/ruby/pull/4960
The issue is unlikely to be specific to the absence operator, I think it affects any case where a regexp takes a long time due to backtracking. In additio...
jeremyevans0 (Jeremy Evans)
03:42 PM Bug #18076: ext/digest/md5/md5.c: `-Wnull-pointer-subtraction` warning by Clang 13
I submitted a pull request upstream to fix this: https://github.com/ruby/digest/pull/29 jeremyevans0 (Jeremy Evans)
03:20 PM Revision c44f7a6c (git): * 2021-10-14 [ci skip]
git[bot]
03:20 PM Revision 8f480eaf (git): rb_group_member: Simplify
nobu (Nobuyoshi Nakada)
03:20 PM Revision 9a333398 (git): Add more `grpowned?` tests
nobu (Nobuyoshi Nakada)
02:30 PM Revision 058cd3a6 (git): [rubygems/rubygems] Remove unnecessary method
https://github.com/rubygems/rubygems/commit/97241e0ea4 deivid (David Rodríguez)
02:30 PM Revision 621fe090 (git): [rubygems/rubygems] Reuse `sh` helper for `git push` too
https://github.com/rubygems/rubygems/commit/32aa540163 deivid (David Rodríguez)
02:30 PM Revision df21600b (git): [rubygems/rubygems] Simplify some code
This method always receives an array, and we require `shellwords`
unconditionally at the top of the file, so `shelljoin` will always be
available.
https://github.com/rubygems/rubygems/commit/05c8ac641d
deivid (David Rodríguez)
02:30 PM Revision e97c671b (git): [rubygems/rubygems] Reuse `sh` helper
https://github.com/rubygems/rubygems/commit/c218d4d79e deivid (David Rodríguez)
02:30 PM Revision 30b6df41 (git): [rubygems/rubygems] Improve error messages in gem helpers
Previously they were printing the original command that was run, and
telling the user to rerun it. However, the command sometimes would not
match the exact command that was run (for example, when using the
`--local` flag), and in any cas...
deivid (David Rodríguez)
12:16 PM Revision 853004e0 (git): [rubygems/rubygems] Fix `bundle install` crash due to an incorrectly incomplete resolve
In case we have a corrupted lockfile that claims to support a platform, but
it's missing platform specific gems for it, bundler has a check that
detects the situation and forces a re-resolve. The result of this check
is kept under the `@...
deivid (David Rodríguez)
12:16 PM Revision d1e6f222 (git): [rubygems/rubygems] No need to use converged dependencies either
This is exclusively about the lockfile.
https://github.com/rubygems/rubygems/commit/d6c6d040cd
deivid (David Rodríguez)
12:16 PM Revision ec5f732b (git): [rubygems/rubygems] Extract `locked_dependencies` helper
https://github.com/rubygems/rubygems/commit/7326d47530 deivid (David Rodríguez)
12:16 PM Revision 15f50d3b (git): [rubygems/rubygems] Simplify the incomplete locked specs for platform check
It doesn't really need converged specs, since it's only about the
lockfile.
https://github.com/rubygems/rubygems/commit/9cd6224b5e
deivid (David Rodríguez)
12:12 PM Feature #16456: Ruby 2.7 argument delegation (...) should be its own kind of parameter in Method#parameters
Since #18011 was fixed it seems unlikely to change again.
Regarding detection, in the light of https://github.com/ruby/ruby/pull/4961 it seems best to detect `(...)` via `parameters.include?([:block, :&])`.
Eregon (Benoit Daloze)
10:04 AM Revision 275b55ae (git): Revert "Shallow clone on TravisCI"
This reverts commit 10d2341640c57544ca81bd21cfa60a6aff015692.
TravisCI clones the head of the target branch, and it may not be
the target commit at that time.
nobu (Nobuyoshi Nakada)
07:46 AM Bug #18250: Anonymous variables seem to break `Ractor.make_shareable`
https://github.com/nobu/ruby/tree/anonymous-lvar
```diff
commit 147cbbc4a648bf9671efec2604a00305ef74f2a6
Author: Nobuyoshi Nakada <nobu@ruby-lang.org>
AuthorDate: 2021-10-13 14:25:34 +0900
Commit: Nobuyoshi Nakada <nobu@ruby-lang...
nobu (Nobuyoshi Nakada)
02:21 AM Bug #18250: Anonymous variables seem to break `Ractor.make_shareable`
That is not enough.
```
$ ./ruby -v -e 'def foo((x, y)) -> {super}; end' -e 'Ractor.make_shareable(foo(nil))'
ruby 3.1.0dev (2021-10-13T02:03:39Z master e309d0260b) [x86_64-darwin19]
last_commit=Give `*` params a name
<internal:ract...
nobu (Nobuyoshi Nakada)
07:21 AM Revision 0f1f95a3 (git): [rubygems/rubygems] Fix `bundle install` to force reinstallation of deleted gems
https://github.com/rubygems/rubygems/commit/8950631f02 deivid (David Rodríguez)
07:21 AM Revision bd87397f (git): [rubygems/rubygems] Use correct way to detect default gems
The other way, in particular matching a substring in the gemspec
summary, is brittle and no longer used since Ruby 2.0.
This needed rewriting the specs that depended on that way.
https://github.com/rubygems/rubygems/commit/059dbfa971
deivid (David Rodríguez)
07:21 AM Revision d6627ab8 (git): [rubygems/rubygems] Remove unnecessary code
All supported rubygems versions implement this.
https://github.com/rubygems/rubygems/commit/2130782ef6
deivid (David Rodríguez)
07:21 AM Revision ad4e7308 (git): [rubygems/rubygems] Make spec more realistic
The spec was just faking an installed gemspec without any installed gem
backing it up, resulting in `bundle install` claiming that the gem was
already installed when it was not.
https://github.com/rubygems/rubygems/commit/c35531d1c7
deivid (David Rodríguez)
07:02 AM Revision 10d23416 (git): Shallow clone on TravisCI
nobu (Nobuyoshi Nakada)
06:41 AM Bug #18155: (nil..nil).cover?(x) is true for all x since beginless ranges were introduced
For interests sake, I've put together a short patch that implements option 2: Reinstating the old behaviour of returning false only when the range has `nil` at the beginning and the end. All other behaviour should remain the same. eightbitraptor (Matt V-H)
06:04 AM Revision 5deb273a (git): Fix a typo
znz (Kazuhiro NISHIYAMA)
04:00 AM Revision 1b35808a (git): Moved the common code
nobu (Nobuyoshi Nakada)
03:07 AM Revision bad61d34 (git): Qundef is not for ID
nobu (Nobuyoshi Nakada)
02:27 AM Revision aa5759a2 (git): `rb_id_serial_to_id` is used in `key2id` since 4c2d014e9216
nobu (Nobuyoshi Nakada)
 

Also available in: Atom