Project

General

Profile

Activity

From 03/08/2022 to 03/14/2022

03/14/2022

11:40 PM Revision b85457c7 (git): [rubygems/rubygems] [DOC] Enable Gem::Package example
Other code must not be between the doc and class definition.
https://github.com/rubygems/rubygems/commit/366784aae5
nobu (Nobuyoshi Nakada)
11:33 PM Revision 63b1633f (git): [ruby/win32ole] Get rid of potential undefined behavior
See https://bugs.llvm.org/show_bug.cgi?id=50236
https://github.com/ruby/win32ole/commit/019ec2b3cb
xtkoba (Tee KOBAYASHI)
11:20 PM Revision aa347cbe (git): [ruby/win32ole] Rename toplevel WIN32OLE_* classes
https://github.com/ruby/win32ole/commit/bc7deb6a6a nobu (Nobuyoshi Nakada)
10:47 PM Bug #18633: proc { |a, **kw| a } autosplats and treats empty kwargs specially
Eregon (Benoit Daloze) wrote:
> ```ruby
> irb(main):005:0> proc { |a| a }.call([1, 2])
> => [1, 2]
> irb(main):00...
jeremyevans0 (Jeremy Evans)
05:41 PM Bug #18633: proc { |a, **kw| a } autosplats and treats empty kwargs specially
This is the logic in TruffleRuby, basically we can see the inconsistency and the need for a hack just to support this... Eregon (Benoit Daloze)
05:36 PM Bug #18633 (Closed): proc { |a, **kw| a } autosplats and treats empty kwargs specially
```ruby
irb(main):005:0> proc { |a| a }.call([1, 2])
=> [1, 2]
irb(main):006:0> proc { |a, **kw| a }.call([1, 2])
...
Eregon (Benoit Daloze)
10:14 PM Bug #18627 (Feedback): segmentation fault when doing a lot of redundant Module#include
I think the best way to address this would be to take your existing code that segfaults in earlier versions, and bise... jeremyevans0 (Jeremy Evans)
07:44 PM Revision 6a8bc902 (git): [rubygems/rubygems] Report Github Actions CI provider within user agent string
See
https://docs.github.com/es/actions/learn-github-actions/environment-variables#default-environment-variables.
So ...
deivid (David Rodríguez)
05:38 PM Misc #18591: DevMeeting-2022-03-17
* [Bug #18633] proc { |a, **kw| a } autosplats and treats empty kwargs specially (eregon)
* Intended or bug? Shoul...
Eregon (Benoit Daloze)
05:29 PM Misc #18591: DevMeeting-2022-03-17
* [Bug #18632] Struct.new wrongly treats a positional Hash as keyword arguments (eregon)
* Some C functions incorr...
Eregon (Benoit Daloze)
05:36 PM Feature #16166: Remove exceptional treatment of *foo when it is the sole block parameter
^ filed as a proper issue: https://bugs.ruby-lang.org/issues/18633 Eregon (Benoit Daloze)
12:41 PM Feature #16166: Remove exceptional treatment of *foo when it is the sole block parameter
What's the reason for this behavior?
It seems inconsistent with the resolution of this issue, and it seems nobody wo...
Eregon (Benoit Daloze)
05:23 PM Bug #18625: ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
Thank you for the PR, I think we should merge it.
Fixing this is important for multiple reasons:
* Can cause issu...
Eregon (Benoit Daloze)
04:21 PM Bug #18632: Struct.new wrongly treats a positional Hash as keyword arguments
Eregon (Benoit Daloze) wrote in #note-3:
> You mean rb_scan_args/rb_scan_args_kw correctly separate positional & kwa...
jeremyevans0 (Jeremy Evans)
04:08 PM Bug #18632: Struct.new wrongly treats a positional Hash as keyword arguments
For `Kernel#raise` I found that it's actually important to separate positional and kwargs, because `raise` does have ... Eregon (Benoit Daloze)
04:03 PM Bug #18632: Struct.new wrongly treats a positional Hash as keyword arguments
And another maybe related issue, this time in Struct#initialize:
```
$ ruby -we 'p Struct.new(:name, :legs, keyword_i...
Eregon (Benoit Daloze)
04:01 PM Bug #18632: Struct.new wrongly treats a positional Hash as keyword arguments
A lot of C methods will still treat positional hashes as keywords. I think only those that use `rb_scan_args`/`rb_sc... jeremyevans0 (Jeremy Evans)
03:52 PM Bug #18632 (Closed): Struct.new wrongly treats a positional Hash as keyword arguments
```
$ ruby -e 'Struct.new(:a, name: "b")'
-e:1:in `new': unknown keyword: :name (ArgumentError)
from -e:1:in `...
Eregon (Benoit Daloze)
04:18 PM Revision b7fe052a (git): * 2022-03-15 [ci skip]
git[bot]
04:18 PM Revision 41d63d31 (git): [rubygems/rubygems] Move `:stopdoc:` directive
If this is at the top level, it stops the documentation of the
entire module, but not only the part in this file.
ht...
nobu (Nobuyoshi Nakada)
03:44 PM Bug #18631 (Closed): Range check breaks multiplex backreferences in regular expressions
The regular expression engine can sometimes produce wrong results when using multiplex backreferences near the end of... jirkamarsik (Jirka Marsik)
02:52 PM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
> I'm not sure a timeout per IO instance makes sense, some IO operations might take longer e.g. reading many bytes at... ioquatix (Samuel Williams)
09:05 AM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
I'm not sure a timeout per IO instance makes sense, some IO operations might take longer e.g. reading many bytes at o... Eregon (Benoit Daloze)
04:28 AM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
I am positive about introducing safer timeout feature.
But I have several concerns:
* time-out may happen from I/...
matz (Yukihiro Matsumoto)
02:43 AM Feature #18630 (Closed): Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
I would like us to consider introducing a general IO timeout for all (non-)blocking operations, specified per-IO inst... ioquatix (Samuel Williams)
02:05 PM Revision b1bcad5e (git): spec: skip '~' test for wasi due to lack of shell
katei (Yuta Saito)
02:04 PM Revision fe2e5c13 (git): spec: skip ruby_exe tests for wasi due to lack of subprocess
katei (Yuta Saito)
01:45 PM Revision 41299126 (git): Assume that refcnt of shared root is non-negative
The refcnt of a shared root array should always be non-negative. peterzhu2118 (Peter Zhu)
01:45 PM Revision 45786667 (git): Assume that shared_root exists in rb_ary_decrement_share
All callers of rb_ary_decrement_share guarantee that
shared_root is not 0.
peterzhu2118 (Peter Zhu)
09:50 AM Revision 7348db86 (git): [DOC] Remove outdated note from WeakRef#initialize
The note
> Raises an ArgumentError if the given +orig+ is immutable, such as Symbol,
> Integer, or Float.
has not b...
ivoanjo (Ivo Anjo)
07:45 AM Bug #18614 (Assigned): Error (busy loop) in TestGemCommandsSetupCommand#test_destdir_flag_does_not_try_to_write_to_the_default_gem_home
I will investigate this test on WSL2 environment. hsbt (Hiroshi SHIBATA)
06:01 AM Revision e859a218 (git): [DOC] hide `UnicodeNormalize` in module index
nobu (Nobuyoshi Nakada)
05:48 AM Revision 0bf194fb (git): [ruby/rdoc] Start with open when only one visible class/module
https://github.com/ruby/rdoc/commit/6bb93001db nobu (Nobuyoshi Nakada)
05:48 AM Revision 976431d9 (git): [ruby/rdoc] Fold class and module index
https://github.com/ruby/rdoc/commit/4c7c46fcc4 nobu (Nobuyoshi Nakada)
05:44 AM Revision a8844316 (git): [ruby/forwardable] Move `:stopdoc:` directive
If this is at the top level, it stops the documentation of the
entire module, but not only the part in this file.
ht...
nobu (Nobuyoshi Nakada)
05:40 AM Revision 8760b270 (git): [ruby/irb] Move `:stopdoc:` directive
If this is at the top level, it stops the documentation of the
entire module, but not only the part in this file.
ht...
nobu (Nobuyoshi Nakada)

03/13/2022

11:57 PM Revision 3c59913a (git): Fix failures
http://ci.rvm.jp/results/trunk-no-mjit@phosphorus-docker/3870646
```
1) Error:
TestEmojiBreaks#test_single_...
znz (Kazuhiro NISHIYAMA)
11:39 PM Revision 267f0089 (git): clarify meaning of version guards for Unicode version specs [ci skip]
duerst (Martin Dürst)
10:52 PM Revision 9d6cc7e4 (git): Fix a link [ci skip]
znz (Kazuhiro NISHIYAMA)
08:43 PM Revision a6799d73 (git): * 2022-03-14 [ci skip]
git[bot]
08:43 PM Revision 840bef0e (git): [rubygems/rubygems] Remove extra closing bracket in version warning
https://github.com/rubygems/rubygems/commit/a3b9f19080 rohitpaulk (Paul Kuruvilla)
04:57 PM Bug #18629: block args array splatting assigns to higher scope _ var
I'm guessing this isn't a bug, because variables prefixed by `_` (including `_` itself) are supposed to be used in ca... jeremyevans0 (Jeremy Evans)
04:20 PM Bug #18629 (Closed): block args array splatting assigns to higher scope _ var
``` ruby
v = 1; [[2]].each{ |(v)| }; p v
_ = 1; [[2]].each{ |(_)| }; p _
```
prints
```
1
2
```
You can see ...
Nakilon (Victor Maslov)
01:55 PM Bug #18622: const_get still looks in Object, while lexical constant lookup no longer does
> That makes sense, I think we should improve const_get docs to says it's like module A; B; end and not A::B (which I... fxn (Xavier Noria)
12:53 PM Bug #18622: const_get still looks in Object, while lexical constant lookup no longer does
That makes sense, I think we should improve `const_get` docs to says it's like `module A; B; end` and not `A::B` (whi... Eregon (Benoit Daloze)
12:52 PM Bug #18622: const_get still looks in Object, while lexical constant lookup no longer does
For completeness, let me add that that the described lookup is incomplete. Like all the lookup descriptions I've seen... fxn (Xavier Noria)
12:34 PM Bug #18622: const_get still looks in Object, while lexical constant lookup no longer does
> Actually I'd argue it's in the nesting (just not shown by Module.nesting), the outermost (implicit) "root" lexical ... fxn (Xavier Noria)
12:08 PM Bug #18622: const_get still looks in Object, while lexical constant lookup no longer does
fxn (Xavier Noria) wrote in #note-6:
> Why is `String` found there? It is not in the nesting. It is not in the ances...
Eregon (Benoit Daloze)
10:03 AM Bug #18622: const_get still looks in Object, while lexical constant lookup no longer does
It would not be enough.
When you do a relative constant lookup in which the cref is a module, `Object` is checked by...
fxn (Xavier Noria)
09:49 AM Bug #18622: const_get still looks in Object, while lexical constant lookup no longer does
If the current definition is correct, could we add as a feature an additional lookup parameter (or method) that says ... NuriYuri (Youri Nouri)
12:27 PM Revision 1b571d0a (git): Fix guards for unicode versions specs
Eregon (Benoit Daloze)
12:15 PM Revision 416c63c1 (git): [ruby/rdoc] Refine `pretty_print`
https://github.com/ruby/rdoc/commit/acb91ea74a nobu (Nobuyoshi Nakada)
12:10 PM Revision 2af8b04e (git): Fix conversion macro for `size_t`
nobu (Nobuyoshi Nakada)
12:09 PM Revision e081f333 (git): Fix experimental Fiber::Pool definition
Toplevel `Pool` is too generic, and `struct fiber_pool` does not
seem compatible with `rb_fiber_t`.
nobu (Nobuyoshi Nakada)
10:56 AM Revision 0bcc3bd6 (git): [ruby/rdoc] Clean documents for backwards compatibility
https://github.com/ruby/rdoc/commit/23e61a208e nobu (Nobuyoshi Nakada)
06:44 AM Bug #18578: Hash#shift を繰り返していると ruby が無応答になる。
ruby_3_0 f404b21f849af06fb8bbd4b87fdfb585e904d6c3 merged revision(s) 496591de96b261b8789332c7f8b2bfbd17658955. nagachika (Tomoyuki Chikanaga)
06:43 AM Bug #18574: Backport Get `ruby_nonempty_memcpy` to have C linkage to to ruby_3_0
ruby_3_0 2bb5fa495bf9d366d3c1fefc6b093dc4830f27bf merged revision(s) 29f6f79e7396018962eb25c5f5e409f5fe28a73b. nagachika (Tomoyuki Chikanaga)
06:43 AM Bug #17788: ruby 3.0.0 - compiling c++ extension on alpine fails
ruby_3_0 2bb5fa495bf9d366d3c1fefc6b093dc4830f27bf merged revision(s) 29f6f79e7396018962eb25c5f5e409f5fe28a73b. nagachika (Tomoyuki Chikanaga)
06:43 AM Bug #18562: throw_data passed to rescue through require
ruby_3_0 0bd3e436e27c048933133bc19f863c954ed3e3a6 merged revision(s) c79d2e54748f52c5023b0a1ee441561df9826c17. nagachika (Tomoyuki Chikanaga)
06:42 AM Bug #18388: IO.copy_stream incompatibility between Ruby 2 and Ruby 3
ruby_3_0 f4f0c793f6eb427b0a85445bff49fdc6b73447ae merged revision(s) b555e659c4974acc423083b71b1bd5ec6a926046. nagachika (Tomoyuki Chikanaga)
06:42 AM Revision f404b21f (git): merge revision(s) 496591de96b261b8789332c7f8b2bfbd17658955: [Backport #18578]
st.c: Do not clear entries_bound when calling Hash#shift for empty
hash
tab->entries_bound is used ...
nagachika (Tomoyuki Chikanaga)
06:20 AM Revision 2bb5fa49 (git): merge revision(s) 29f6f79e7396018962eb25c5f5e409f5fe28a73b: [Backport #17788] [Backport #18574]
Get `ruby_nonempty_memcpy` to have C linkage
Fixes [Bug #17788]
---
include/ruby/internal/m...
nagachika (Tomoyuki Chikanaga)
06:16 AM Revision 0bd3e436 (git): merge revision(s) c79d2e54748f52c5023b0a1ee441561df9826c17: [Backport #18562]
Fix TAG_THROW through require [Bug #18562]
Previously this was being incorrectly swapped with TAG_RAISE in t...
nagachika (Tomoyuki Chikanaga)
06:10 AM Revision f4f0c793 (git): merge revision(s) b555e659c4974acc423083b71b1bd5ec6a926046: [Backport #18388]
Do not use `fcopyfile` if appending to non-empty file [Bug #18388]
`fcopyfile` appends `src` to `to` and the...
nagachika (Tomoyuki Chikanaga)
03:13 AM Bug #18516: Memory leak on aliasing method to itself
ruby_3_0 6175823bab28b5d12f66371d67d006df37751fbc merged revision(s) 7ff1bf317887c0d7b21e91ad548d07b9f05c540c,e89d807... nagachika (Tomoyuki Chikanaga)
03:13 AM Bug #18517: 0 << (2**40) is NoMemoryError but 0 << (2**80) is 0
ruby_3_0 9c2213f6695a16917dbe7b5a3a334116d6d8bbf6 merged revision(s) 6a6227e0168b059c3ed34c9f0ace2e5dc2364221. nagachika (Tomoyuki Chikanaga)
03:12 AM Bug #18497: Fiber内でProcess.daemonをするとSegmentation faultが起こる
ruby_3_0 6a8c166498b856ca1dcb53248f0be5fc138f1af3 merged revision(s) 5c7af72304d0ad33cd3f21b24a4bc44e8acd5b2c,d650b17... nagachika (Tomoyuki Chikanaga)
03:12 AM Bug #18475: Yielding an element for Enumerator in another thread dumps core
ruby_3_0 42b1e87ba7856f92973924985a63a60b5fa750c8 merged revision(s) ae5458f228a5477383e9c00425d85d50a3867817. nagachika (Tomoyuki Chikanaga)
02:52 AM Revision 6175823b (git): merge revision(s) 7ff1bf317887c0d7b21e91ad548d07b9f05c540c,e89d80702bd98a8276243a7fcaa2a158b3bfb659: [Backport #18516]
An alias can suppress method redefinition warning
---
test/ruby/test_alias.rb | 11 +++++++++++
...
nagachika (Tomoyuki Chikanaga)
02:49 AM Revision 9c2213f6 (git): merge revision(s) 6a6227e0168b059c3ed34c9f0ace2e5dc2364221: [Backport #18517]
Shifting zero always results in zero [Bug #18517]
---
numeric.c | 2 ++
1 file changed, 2 i...
nagachika (Tomoyuki Chikanaga)
02:47 AM Revision 6a8c1664 (git): merge revision(s) 5c7af72304d0ad33cd3f21b24a4bc44e8acd5b2c,d650b17686d49c2ce8e6a87039861154e93d4621: [Backport #18497]
Assuming EXIT_SUCCESS equals 0 is not portable
---
test/ruby/test_fiber.rb | 6 +++---
1 fi...
nagachika (Tomoyuki Chikanaga)
02:37 AM Revision 42b1e87b (git): merge revision(s) ae5458f228a5477383e9c00425d85d50a3867817: [Backport #18475]
thread.c: Convert TAG_BREAK to a normal exception at thread top-level
[Bug #18475]
---
test...
nagachika (Tomoyuki Chikanaga)
01:52 AM Revision 45187a0f (git): comment out failing Unicode/Emoji version checks temporarily
duerst (Martin Dürst)
12:19 AM Revision 8f59482f (git): add some tests for Unicode Version 14.0.0
duerst (Martin Dürst)
12:19 AM Revision 9b545b0c (git): update specs to check for Unicode Version 14.0.0/Emoji Version 14.0
duerst (Martin Dürst)
12:19 AM Revision 26725024 (git): mention Unicode Version 14.0.0
duerst (Martin Dürst)
12:19 AM Revision 8e1f3a96 (git): switch UNICODE_BETA back to NO
duerst (Martin Dürst)
12:19 AM Revision 45e0711f (git): update Unicode Version to 14.0.0 and Emoji version to 14.0
duerst (Martin Dürst)

03/12/2022

05:15 PM Revision db57b070 (git): * 2022-03-13 [ci skip]
git[bot]
05:15 PM Revision 06594e71 (git): Fix crash on GC stress and RGENGC_CHECK_MODE=2
rb_ary_reset could leave the array in a bad state since it frees memory
but does not unset any flags. This can cause ...
peterzhu2118 (Peter Zhu)
04:01 PM Bug #18628 (Third Party's Issue): Link contributing is broken
Link used to doc/contributing.rdoc is redirecting to https://ruby-doc.org/core-3.1.1/contributing.rdoc.
https://ru...
kaiquekandykoga (Kaíque Koga)
03:53 PM Bug #18624: `const_source_location` returns [false, 0] when autoload is defined for the constant
jeremyevans0 (Jeremy Evans) wrote in #note-4:
> Sorry, but you are incorrect. #17354 is regarding behavior of `co...
ufuk (Ufuk Kayserilioglu)
03:45 PM Bug #18624: `const_source_location` returns [false, 0] when autoload is defined for the constant
ufuk (Ufuk Kayserilioglu) wrote in #note-3:
> This is a duplicate of Issue #17354 and @jeremyevans0, in that issue, ...
jeremyevans0 (Jeremy Evans)
02:09 PM Bug #18624: `const_source_location` returns [false, 0] when autoload is defined for the constant
This is a duplicate of Issue #17354 and @jeremyevans0, in that issue, you had argued that just because the autoload l... ufuk (Ufuk Kayserilioglu)
06:51 AM Bug #18624: `const_source_location` returns [false, 0] when autoload is defined for the constant
I've submitted a pull request to fix this: https://github.com/ruby/ruby/pull/5646 jeremyevans0 (Jeremy Evans)
07:59 AM Feature #18626: 注釈付き代入演算子 ()= の提案
Related to #18603 sawa (Tsuyoshi Sawada)
01:47 AM Feature #18626 (Rejected): 注釈付き代入演算子 ()= の提案
型制約を実現するために以下のような注釈付き代入演算子を提案します。
```
class Object
def self.()= (what)
what.is_a? self or raise TypeRestr...
takiuchi (Genki Takiuchi)
07:57 AM Bug #18458: Segmentation fault when missing Warning#warn method
ruby_3_0 e18e6af604786be481115c7340c1450332615b57 merged revision(s) 9e0a91d0640600f2dfd7fc1d5fae6667019c9ca5. nagachika (Tomoyuki Chikanaga)
07:57 AM Bug #18421: `IO#readpartial` and `IO#read_nonblock` return non-empty string on empty file
ruby_3_0 7c0537906314f0c2a317b37661ccdec8dddc6277 merged revision(s) fdf39963490cf2cf95b30d91bb9b35964c2c2350. nagachika (Tomoyuki Chikanaga)
07:57 AM Bug #18500: Fix segfault in `TestArray#test_sample` on s390x.
ruby_3_0 bac99c5175bf58815846f9987093a6d944d07fd3 merged revision(s) bcc2bb28b04054106f4a36e8fd69b2af6ecb033a. nagachika (Tomoyuki Chikanaga)
07:56 AM Bug #18392: ObjectSpace::WeakMap#inspect causes BUG
ruby_3_0 f2d996dcff56057b48ae41ab6f23e7654848ea4b merged revision(s) d6c5a30cfdf658280338dbb8c8b17fab3190b928,a2d4e1c... nagachika (Tomoyuki Chikanaga)
07:56 AM Bug #18409: Crash (free(): invalid pointer) if LD_PRELOAD doesn't explicitly include libjemalloc.so.2
ruby_3_0 09b27ec6a984ec1b660d5b7b48f2ff4d5a0065bc merged revision(s) 737e4432b978eb4b9f5b10fb6cc6d9c883a5d17a. nagachika (Tomoyuki Chikanaga)
07:55 AM Bug #18415: String#rpartition is not sufficiently greedy compared to String#partition
ruby_3_0 4b1cee1431b44e923611c65a8ec5cc61d4025641 merged revision(s) e2ec97c4b823a0b2e0c31e7a6d77b1dcdc0dfada. nagachika (Tomoyuki Chikanaga)
07:55 AM Bug #18394: Backports for read barrier for GC compaction for Ruby 3.0
ruby_3_0 3ce60f44b8de3aabb31c37d2afd2a622a64a3e6f merged revision(s) 0130e17a410d60a10e7041ce98748b8de6946971,32b7dcf... nagachika (Tomoyuki Chikanaga)
07:54 AM Bug #18403: Backport ecb2ff60507a41c624f59cb9da6a008ab3ec36e1 to ruby_3_0
ruby_3_0 e413a8ff970fc7692e6c0050a23678605ade884e merged revision(s) ecb2ff60507a41c624f59cb9da6a008ab3ec36e1. nagachika (Tomoyuki Chikanaga)
07:54 AM Bug #18382: Crash in compaction for ObjectSpace.trace_object_allocations
ruby_3_0 2ec864d9b7a2c79b5bd9136665aa6f705fa76e53 merged revision(s) 9f0c6f20c58067923864575b60af730d191b8f6c. nagachika (Tomoyuki Chikanaga)
07:53 AM Revision e18e6af6 (git): merge revision(s) 9e0a91d0640600f2dfd7fc1d5fae6667019c9ca5: [Backport #18458]
Don't segfault if Warning.warn is undefined
Check that there is a method entry for the method before passing...
nagachika (Tomoyuki Chikanaga)
07:39 AM Bug #18627 (Closed): segmentation fault when doing a lot of redundant Module#include
I'm adding support for ruby 3 and consistently encountering segfaults.
my library does a fair bit of extending obj...
Ethan (Ethan -)
07:36 AM Revision bac99c51 (git): merge revision(s) bcc2bb28b04054106f4a36e8fd69b2af6ecb033a: [Backport #18500]
Fix stack buffer overflow
https://hackerone.com/reports/1306859
---
include/ruby/internal/m...
nagachika (Tomoyuki Chikanaga)
07:30 AM Revision 7c053790 (git): merge revision(s) fdf39963490cf2cf95b30d91bb9b35964c2c2350: [Backport #18421]
Empty and return the buffer if zero size is given [Bug #18421]
In `IO#readpartial` and `IO#read_nonblock`, a...
nagachika (Tomoyuki Chikanaga)
07:28 AM Revision f2d996dc (git): merge revision(s) d6c5a30cfdf658280338dbb8c8b17fab3190b928,a2d4e1cda68a49980a4f9f353f400efbde7e7884: [Backport #18392]
ObjectSpace::WeakMap#inspect: check if living object [Bug #18392]
---
gc.c | 2...
nagachika (Tomoyuki Chikanaga)
07:01 AM Revision 09b27ec6 (git): merge revision(s) 737e4432b978eb4b9f5b10fb6cc6d9c883a5d17a: [Backport #18409]
configure: add -Wl,--no-as-needed
It is reported that combination of `--enable-shared --with-jemalloc`
...
nagachika (Tomoyuki Chikanaga)
07:00 AM Revision 4b1cee14 (git): merge revision(s) e2ec97c4b823a0b2e0c31e7a6d77b1dcdc0dfada: [Backport #18415]
[DOC] How to get the longest last match [Bug #18415]
---
string.c | 32 ++++++++++++++++++++++++++++...
nagachika (Tomoyuki Chikanaga)
06:58 AM Revision 3ce60f44 (git): merge revision(s) 0130e17a410d60a10e7041ce98748b8de6946971,32b7dcfb56a417c1d1c354102351fc1825d653bf,79cc566ab4cdf75f125ecf413a27d353a9756c08: [Backport #18394]
Always enabled read barrier even on GC.compact
Some objects can survive the GC before compaction, but get co...
nagachika (Tomoyuki Chikanaga)
06:52 AM Revision e413a8ff (git): merge revision(s) ecb2ff60507a41c624f59cb9da6a008ab3ec36e1: [Backport #18403]
intern/select/posix.h: remove unused parameter from rb_fd_dup
This unused parameter seems to be accidently i...
nagachika (Tomoyuki Chikanaga)
05:43 AM Revision 2ec864d9 (git): merge revision(s) 9f0c6f20c58067923864575b60af730d191b8f6c: [Backport #18382]
[Bug #18382] Fix crash in compaction for
ObjectSpace.trace_object_allocations
ObjectSpace.trace_obj...
nagachika (Tomoyuki Chikanaga)
05:29 AM Bug #18250: Anonymous variables seem to break `Ractor.make_shareable`
I have confirmed the bootstraptest/test_ractor.rb cause SEGV after backporting the commits in my previous comment htt... nagachika (Tomoyuki Chikanaga)

03/11/2022

11:21 PM Bug #18625: ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
Based on @matz's comments (https://bugs.ruby-lang.org/issues/16466#note-3), I do not think this is a bug. Splatted a... jeremyevans0 (Jeremy Evans)
06:01 PM Bug #18625 (Closed): ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
The code below shows the inconsistency.
In all cases the `marked` Hash is copied at call sites using `some_call(*arg...
Eregon (Benoit Daloze)
06:56 PM Bug #18622: const_get still looks in Object, while lexical constant lookup no longer does
I do not know which is the correct definition of `const_get`, Ruby core knows :).
However, let me say that I have al...
fxn (Xavier Noria)
06:55 PM Feature #11547: remove top-level constant lookup
(Pervious comment moved to #18622) fxn (Xavier Noria)
06:36 PM Revision 83fabfcc (git): Add test for protected methods on module included
jhawthorn (John Hawthorn)
06:36 PM Revision 4d8f7628 (git): Fast object is iclass checks
Calling rb_obj_is_kind_of with an ICLASS returns the same result as
calling it with the ICLASS's original Module.
Mo...
jhawthorn (John Hawthorn)
06:16 PM Revision 9a4bddd7 (git): Add rb_ary_reset
rb_ary_reset will free heap allocated arrays and unshare shared arrays. peterzhu2118 (Peter Zhu)
04:46 PM Revision 09186f38 (git): Adding guidance about characters in C-code doc (#5641)
Showing how to do as @nobu does -- putting doc into doc/*.rdoc instead of in *.c. burdettelamar (Burdette Lamar)
04:46 PM Revision 95a85b6d (git): * 2022-03-12 [ci skip]
git[bot]
04:45 PM Revision 42e5ec94 (git): Refactor duplicate code in rb_array_replace
In both cases in the if statement, we free heap allocated arrays and
unshare shared arrays.
peterzhu2118 (Peter Zhu)
12:26 PM Bug #18624 (Closed): `const_source_location` returns [false, 0] when autoload is defined for the constant
`const_source_location` returns `[false, 0]` unexpectedly with the following code.
```ruby
# test.rb
path = Fi...
pocke (Masataka Kuwabara)
12:18 PM Bug #11063: Special singleton class should return true for singleton_class? test
Changing this would cause the reverse inconsistency:
```ruby
false.class.singleton_class? #=> would be true, but .c...
Eregon (Benoit Daloze)
08:38 AM Revision 2e4516be (git): [ruby/rdoc] Scrollable sidebar
This change makes the sidebar scrollable via `position: sticky` and `overflow: auto`;
See also <https://caniuse.com/?...
Masafumi Koba
08:30 AM Bug #18623 (Closed): `make runnable` does not work
When I try `make runnable` to be able to run individual tests with `.\ruby test/runner.rb ...`, I get the error below... duerst (Martin Dürst)
06:08 AM Revision 49447f82 (git): Move ruby.h in `#ifdef RUBY` block
Must not depend on ruby specific files in Ruby unrelated cases. nobu (Nobuyoshi Nakada)

03/10/2022

09:24 PM Misc #18591: DevMeeting-2022-03-17
* [Bug #18620] Not possible to partially curry lambda or proc's `call` method (jeremyevans0)
* Should we make chan...
jeremyevans0 (Jeremy Evans)
08:39 PM Bug #18620: Not possible to partially curry lambda or proc's `call` method
`.arity` is normally fixed for a given method definition (e.g., `Proc#call`) so I'm not sure supporting this is a goo... Eregon (Benoit Daloze)
08:21 PM Bug #18620: Not possible to partially curry lambda or proc's `call` method
Turns out that fixing `Method#arity` is not sufficient for this to work. This is because `Method#curry` does the equ... jeremyevans0 (Jeremy Evans)
06:05 PM Bug #18620: Not possible to partially curry lambda or proc's `call` method
This likely comes from the fact that `lambda{|x|}.arity => 1`, but `lambda{|x|}.method(:call).arity => -1`. I think ... jeremyevans0 (Jeremy Evans)
12:07 PM Bug #18620 (Rejected): Not possible to partially curry lambda or proc's `call` method
You can curry the call method of a regular object:
``` ruby
class Foo
def foo(a, b)
a + b
end
end
Fo...
waiting_for_dev (Marc Busqué)
08:38 PM Feature #17403 (Closed): Remove Fixnum and Bignum
Fixnum and Bignum were removed in commit:40e7aefebad412bde50fa9bdadcc8405f7605355 jeremyevans0 (Jeremy Evans)
07:07 PM Bug #14103 (Closed): Regexp absense operator has no chance to ^C
Applied in changeset commit:git|edc8576a65b7082597d45a694434261ec3ac0d9e.
----------
Allow interrupting regexps that...
jeremyevans (Jeremy Evans)
07:06 PM Revision 82dea290 (git): Revert "Fast object is iclass checks"
This reverts commit 1b15756d24c11ed6bfddb5ae53402a071a20ea97. jhawthorn (John Hawthorn)
07:06 PM Revision edc8576a (git): Allow interrupting regexps that backtrack
Fixes [Bug #14103]
Co-authored-by: Nobuyoshi Nakada <[email protected]>
jeremyevans (Jeremy Evans)
05:58 PM Bug #18622: const_get still looks in Object, while lexical constant lookup no longer does
NuriYuri (Youri Nouri) wrote in #note-2:
> I always believed it was expected because ConstantSpecs.const_get("Constan...
Eregon (Benoit Daloze)
04:23 PM Bug #18622: const_get still looks in Object, while lexical constant lookup no longer does
I always believed it was expected because ConstantSpecs.const_get("ConstantSpecsTwo::Foo") behave like:
```
module ...
NuriYuri (Youri Nouri)
04:12 PM Bug #18622 (Closed): const_get still looks in Object, while lexical constant lookup no longer does
There is some inconsistency here between literal constant lookup and the meta API (const_get).
Lexical constant lo...
Eregon (Benoit Daloze)
05:47 PM Feature #18621: Fiber.yield loses the fact it was kwargs from Fiber#resume
And thank you for this fast and detailed reply :) Eregon (Benoit Daloze)
05:46 PM Feature #18621 (Rejected): Fiber.yield loses the fact it was kwargs from Fiber#resume
> So in order for it to work, the final line would need to be: foo(*[args])
Right, due to `make_passing_arg` inde...
Eregon (Benoit Daloze)
05:29 PM Feature #18621: Fiber.yield loses the fact it was kwargs from Fiber#resume
I don't think this is a bug, I think this should be expected behavior. Absent use of ruby2_keywords, in no other pla... jeremyevans0 (Jeremy Evans)
03:14 PM Feature #18621: Fiber.yield loses the fact it was kwargs from Fiber#resume
Note that kwargs are correctly passed through for Fiber.new:
```ruby
Fiber.new do |*args, **kwargs|
p kwargs # =...
Eregon (Benoit Daloze)
03:12 PM Feature #18621 (Rejected): Fiber.yield loses the fact it was kwargs from Fiber#resume
```ruby
f = Fiber.new do
args = Fiber.yield
args
end
f.resume
args = f.resume(a: 1)
Hash.ruby2_keywords_ha...
Eregon (Benoit Daloze)
05:34 PM Revision 1b15756d (git): Fast object is iclass checks
Calling rb_obj_is_kind_of with an ICLASS returns the same result as
calling it with the ICLASS's original Module.
Mo...
jhawthorn (John Hawthorn)
05:29 PM Feature #18589: Finer-grained constant invalidation
Tested this patch out on GitHub's largest app and the size of the additional constant cache bookkeeping was only ~3MB... jhawthorn (John Hawthorn)
01:45 PM Feature #18589: Finer-grained constant invalidation
@kddeisz is away for a few days, so I'll take the liberty to answer even though he may correct me later.
> A 5.7% ...
byroot (Jean Boussier)
01:40 PM Feature #18589: Finer-grained constant invalidation
What's the memory overhead of this? (probably the biggest concern from CRuby's side)
A 5.7% increase does sound li...
Eregon (Benoit Daloze)
02:18 AM Feature #18589: Finer-grained constant invalidation
@Dan0042 yeah sorry, I was looking at different numbers and got wires crossed. kddnewton (Kevin Newton)
04:44 PM Revision 67faea97 (git): Small optimization for the opt_and instruction
This change eagerly performs a bitwise and on the parameters. If both
parameters are fixnums, then the result value ...
tenderlovemaking (Aaron Patterson)
04:40 PM Feature #18615: Use -Werror=implicit-function-declaration by default for building C extensions
shyouhei (Shyouhei Urabe) wrote in #note-9:
> @jeremyevans0 Do you have any suggestions for this kind of situations?...
jeremyevans0 (Jeremy Evans)
01:08 PM Feature #18615: Use -Werror=implicit-function-declaration by default for building C extensions
That would maybe help for that specific function and nothing else.
It seems fairly straightforward that in 2022 `-...
Eregon (Benoit Daloze)
12:46 PM Feature #18615: Use -Werror=implicit-function-declaration by default for building C extensions
How about adding `rb_check_safe_obj` entry which is `__attribute__((__error__))` to our headers? This is granular th... shyouhei (Shyouhei Urabe)
11:37 AM Feature #18615: Use -Werror=implicit-function-declaration by default for building C extensions
shyouhei (Shyouhei Urabe) wrote in #note-8:
> There is nothing that a Ruby _user_ can do for this situation. Gem _a...
Eregon (Benoit Daloze)
02:53 AM Feature #18615: Use -Werror=implicit-function-declaration by default for building C extensions
What I have learned so far:
- Authors of sqlite gem have already fixed their code and released a new one.
- The l...
shyouhei (Shyouhei Urabe)
02:02 AM Feature #18615: Use -Werror=implicit-function-declaration by default for building C extensions
There is nothing that a Ruby _user_ can do for this situation. Gem _authors_ should be aware of their bugs. Hiding ... shyouhei (Shyouhei Urabe)
04:35 PM Bug #18600 (Closed): Aliased method visibility issue on Ruby 3.1
Applied in changeset commit:git|0c6e24d102e894a7211a596e6aa95828b1cf4406.
----------
Fix visibility of alias of zsup...
jeremyevans (Jeremy Evans)
04:35 PM Revision 702f4062 (git): * 2022-03-11 [ci skip]
git[bot]
04:35 PM Revision 0c6e24d1 (git): Fix visibility of alias of zsuper methods
This was broken by 71c746379d5872e250d90ae45c585760afaf9516.
Fixes [Bug #18600]
jeremyevans (Jeremy Evans)
04:08 PM Feature #11547: remove top-level constant lookup
There is some inconsistency here between literal constant lookup and the meta API (const_get).
`const_get` still loo...
Eregon (Benoit Daloze)
02:51 PM Feature #18619: Reverse the order of GC Compaction cursor movement
Any idea why this PR results in so many more pinned slots? Dan0042 (Daniel DeLorme)
01:33 PM Feature #18619: Reverse the order of GC Compaction cursor movement
From the `After compaction (this PR)` image, it seems some objects of the leftmost heap are not moved, even though th... Eregon (Benoit Daloze)
09:57 AM Feature #18619 (Closed): Reverse the order of GC Compaction cursor movement
# Reverse the order of GC Compaction cursor movement
**Github PR: [https://github.com/ruby/ruby/pull/5637](https...
eightbitraptor (Matt V-H)
01:59 PM Revision 7f544075 (git): Update default gems list at bd1862330756b177ba189597b9de10 [ci skip]
git[bot]
01:58 PM Revision bd186233 (git): [ruby/io-wait] Update version to 0.2.2.pre1 for testing
https://github.com/ruby/io-wait/commit/12e26f574e headius (Charles Nutter)
01:36 PM Feature #18617: Allow multiples keys in Hash#[] acting like Hash#dig
janosch-x (Janosch Müller) wrote in #note-2:
> i think this would be confusing.
Agreed. Also IMHO accessing deep ...
Eregon (Benoit Daloze)
08:31 AM Feature #18617: Allow multiples keys in Hash#[] acting like Hash#dig
i think this would be confusing.
- its not obvious what `hash[:a, :b]` does, it could also mean `hash.values_at(:a...
janosch-x (Janosch Müller)
12:25 PM Feature #18618: no clobber def
Note that you could perfectly implement this in pure Ruby today.
```ruby
module ClobberChecker
def method_adde...
byroot (Jean Boussier)
06:12 AM Feature #18618: no clobber def
@Dan0042 I like that syntax --much more convenient-- but I don't know if it would be useful to me if it were just tog... ed_ (Ed Mangimelli)
05:50 AM Feature #18618: no clobber def
>Isn’t this the same idea as final methods in other languages like Java?
Had this discussion with a coworker --`fi...
ed_ (Ed Mangimelli)
03:14 AM Feature #18618: no clobber def
Ah, forgot to say sorbet already have support to final, abstract and override. Having support in Ruby could help with... rafaelfranca (Rafael França)
03:11 AM Feature #18618: no clobber def
Isn’t this the same idea as final methods in other languages like Java?
There is an implementation for this https:...
rafaelfranca (Rafael França)
02:11 AM Feature #18618: no clobber def
I like this idea.
But no one will use this feature if you need to always opt-in via `ncdef`.
It would make more sen...
Dan0042 (Daniel DeLorme)
04:35 AM Revision 0024a76e (git): Ignore pre-release for sync target on sync_default_gems
hsbt (Hiroshi SHIBATA)
01:53 AM Revision 561dda99 (git): [DOC] Enhanced RDoc for String (#5635)
Treats:
#count
#delete
#delete!
#squeeze
#squeeze!
Adds section "Multiple Character Selectors" ...
burdettelamar (Burdette Lamar)
01:45 AM Revision ee5bf4ca (git): [DOC] Remove an unnecessary character [ci skip]
znz (Kazuhiro NISHIYAMA)

03/09/2022

11:37 PM Bug #18561: Make singleton def operation and define_singleton_method explicitly use public visibility
I couldn't get `def $o.foo` to have non-public visibility in any version of Ruby. I definitely don't think it is pos... jeremyevans0 (Jeremy Evans)
11:16 PM Revision cadfeb36 (git): * 2022-03-10 [ci skip]
git[bot]
11:16 PM Revision 5f4e7842 (git): Avoid unnecessary conditional
All frames should be either iseq frames or cfunc frames. Use a
VM assert instead of a conditional to check for a cfu...
jeremyevans (Jeremy Evans)
10:22 PM Bug #18580: Range#include? inconsistency for beginless String ranges
This was discussed during the February 2022 developer meeting, and @matz said he needs more time to consider it. jeremyevans0 (Jeremy Evans)
03:31 PM Feature #18618 (Closed): no clobber def
Sometimes I want to be certain I'm not clobbering/masking a method:
```
class Dog
def bark
'bark!'
end...
ed_ (Ed Mangimelli)
02:42 PM Revision 72c038a8 (git): [DOC] Enhanced RDoc for String (#5633)
Treats:
#tr (revised to link to "Character Selectors" document)
#tr!
#tr_s
#tr_s!
Also renames doc/...
burdettelamar (Burdette Lamar)
02:38 PM Revision f62f9131 (git): [ruby/rdoc] Support crossref of methods with multiple arguments
For example, consider the following markup:
C1#m(a, b)
Before this patch, it generated this HTML:
<p><a href=\...
peterzhu2118 (Peter Zhu)
02:01 PM Bug #18588: ruby -e 'p gets' with japanese charactors gets additional invalid leading chars and caught Encoding::InvalidByteSequenceError
It seems to ANSI version of PeekConsoleInput read multibyte charactor partially, subsequent ReadFile returns wrong da... YO4 (Yoshinao Muramatsu)
01:43 PM Revision 77f3f8a1 (git): exts.mk.tmpl: propagate MINIRUBY to enc.mk even though invoking from exts.mk
This is another attempt to fix out-of-src build with
--with-static-linked-ext. The first attempt was
4f1888bda70981d9...
katei (Yuta Saito)
12:48 PM Feature #18615: Use -Werror=implicit-function-declaration by default for building C extensions
shyouhei (Shyouhei Urabe) wrote in #note-6:
> Mmm... Rubygems' hiding compiler warnings is the root cause of this pro...
Eregon (Benoit Daloze)
02:55 AM Feature #18615: Use -Werror=implicit-function-declaration by default for building C extensions
Mmm... Rubygems' hiding compiler warnings is the root cause of this problem, meseems. Implicit function declaration ... shyouhei (Shyouhei Urabe)
10:50 AM Bug #18616: Error with clang(1) on MacOS due to __declspec()
shyouhei (Shyouhei Urabe) wrote in #note-2:
> Thank you for reporting! Are you using the compiler that nginx detect...
alx (Alejandro Colomar)
03:13 AM Bug #18616: Error with clang(1) on MacOS due to __declspec()
Thank you for reporting! Are you using the compiler that nginx detects here? If you use one that the ruby's build s... shyouhei (Shyouhei Urabe)
07:51 AM Misc #18591: DevMeeting-2022-03-17
- [Feature #18566] Merge `io-wait` gem into core `IO` class. (byroot)
- It's very small and any non-trivial IO code...
byroot (Jean Boussier)
07:06 AM Misc #18591: DevMeeting-2022-03-17
* [Feature #18563] Add "graphemes" and "each_grapheme" aliases (znz)
* Some languages already use graphemes.
znz (Kazuhiro NISHIYAMA)
06:15 AM Revision b068a53d (git): [DOC] Fix default offset of String#byterindex
znz (Kazuhiro NISHIYAMA)

03/08/2022

10:27 PM Revision cd9a9bdf (git): * 2022-03-09 [ci skip]
git[bot]
10:27 PM Revision 1d356300 (git): [DOC] RDoc for character selectors (#5632)
This file will be a link target for methods doc that cites character selectors (e.g., String#tr),
It covers only the...
burdettelamar (Burdette Lamar)
09:52 PM Feature #18617 (Open): Allow multiples keys in Hash#[] acting like Hash#dig
# Abstract
Since is very common the hash nested hashes, expecialy in the API world, I whold love to use Hash#[] sy...
ddfznt (Ederson Fuzinato)
08:42 PM Bug #18616: Error with clang(1) on MacOS due to __declspec()
Never mind, the bug is in `clang`(1):
<https://github.com/llvm/llvm-project/issues/49958>
alx (Alejandro Colomar)
08:10 PM Bug #18616 (Closed): Error with clang(1) on MacOS due to __declspec()
Issue originally reported in Nginx Unit <https://github.com/nginx/unit/issues/653>.
Apple version of `clang`(1) be...
alx (Alejandro Colomar)
01:11 PM Feature #18615: Use -Werror=implicit-function-declaration by default for building C extensions
Actually compiling CRuby itself already uses `-Werror=implicit-function-declaration` (https://github.com/ruby/ruby/bl... Eregon (Benoit Daloze)
01:01 PM Feature #18615 (Closed): Use -Werror=implicit-function-declaration by default for building C extensions
Currently, if a C extension refers a non-existing function it will continue to compile and only emit a warning.
And ...
Eregon (Benoit Daloze)
01:04 PM Misc #18591: DevMeeting-2022-03-17
* [Feature #18615] Use -Werror=implicit-function-declaration by default for building C extensions (eregon)
* OK to...
Eregon (Benoit Daloze)
12:08 PM Revision 1adc7aa6 (git): Added release option to sync only released version of the default gems
hsbt (Hiroshi SHIBATA)
11:19 AM Feature #18611: Promote best practice for combining multiple values into a hash code
Including the class is often (maybe even always?) unnecessary, and does impact performance.
Struct is special becaus...
Eregon (Benoit Daloze)
08:46 AM Bug #18614: Error (busy loop) in TestGemCommandsSetupCommand#test_destdir_flag_does_not_try_to_write_to_the_default_gem_home
Some additional information: The permissions in the related directories are as follows (from a different test run):
...
duerst (Martin Dürst)
08:39 AM Bug #18614 (Closed): Error (busy loop) in TestGemCommandsSetupCommand#test_destdir_flag_does_not_try_to_write_to_the_default_gem_home
When running `make check`, I get a busy loop in
`TestGemCommandsSetupCommand#test_destdir_flag_does_not_try_to_write...
duerst (Martin Dürst)
08:40 AM Revision bfc697f1 (git): test/io/console/test_io_console.rb: parens needed
mame (Yusuke Endoh)
07:29 AM Bug #18613 (Feedback): Voluntary wanted: Some signal-related tests fail on FreeBSD 13
Some tests fail randomly on FreeBSD 13.
http://rubyci.s3.amazonaws.com/freebsd13/ruby-master/log/20220216T143001Z....
mame (Yusuke Endoh)
07:23 AM Bug #18612: ffi gem installed successfully but while using raises Bus Error.
I think this issue should be fixed by `gem install ffi -- --enable-libffi-alloc`. See #18555 and https://github.com/f... mame (Yusuke Endoh)
06:53 AM Bug #18612 (Third Party's Issue): ffi gem installed successfully but while using raises Bus Error.
-- Crash Report log information --------------------------------------------
See Crash Report log file under the ...
nareshdvd (Naresh Dwivedi)
07:06 AM Revision 17e09f03 (git): Skip three tests on FreeBSD 13
Some tests that use signals frequently fail randomly on FreeBSD 13.
Maybe something around signals has changed in Fre...
mame (Yusuke Endoh)
02:42 AM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
Is it this? https://bugs.chromium.org/p/v8/issues/detail?id=11389#c18, https://github.com/nodejs/node/issues/37061#is... dentarg (Patrik Ragnarsson)
 

Also available in: Atom