Project

General

Profile

Activity

From 01/13/2021 to 01/19/2021

01/19/2021

11:43 PM Bug #17564 (Closed): Source command in irb exits after reading and evaluating the file
In the irb of ruby 2.3.7 (the version that comes with Macos) the “source“ command allows ruby code to be fed to irb as if it were typed in by hand. This has a advantage over the “load” command because variables can be setup not just fun... rsharman (Richard Sharman)
11:36 PM Bug #17563: FrozenError raised from Module#const_set when receiver is not frozen
I’m afraid if it’s safe when multi-ractor. nobu (Nobuyoshi Nakada)
10:34 PM Bug #17563: FrozenError raised from Module#const_set when receiver is not frozen
Using `ivar_set` seems reasonable to me, but I'd like to get @nobu's input as to whether this is acceptable. jeremyevans0 (Jeremy Evans)
09:59 PM Bug #17563: FrozenError raised from Module#const_set when receiver is not frozen
Good bug hunting 👍
Your solution is sounds like the right one, I imagine @jeremyevans0 will confirm.
marcandre (Marc-Andre Lafortune)
09:52 PM Bug #17563: FrozenError raised from Module#const_set when receiver is not frozen
I've tried simply replacing `rb_ivar_set` with `ivar_set`, which skips the freeze check, but otherwise behaves the same. Since the instance variable `"__tmp_classpath__"` really looks like an internal property, modifying the frozen objec... ryannevell (Ryan Nevell)
08:03 PM Bug #17563 (Closed): FrozenError raised from Module#const_set when receiver is not frozen
The following code executed without error on Ruby 2.7.1 and many earlier 2.* versions. The behavior has changed on Ruby 3.0.0 and now raises a Frozen Error:
```
% ruby -e 'Module.new.const_set(:Foo, Class.new.freeze)'
-e:1:in `const...
ryannevell (Ryan Nevell)
08:06 PM Revision 9e0075a3 (git): Replace "iff" with "if and only if"
iff means if and only if, but readers without that knowledge might
assume this to be a spelling mistake. To me, this seems like
exclusionary language that is unnecessary. Simply using "if and only if"
instead should suffice.
gmcgibbon (Gannon McGibbon)
05:38 PM Feature #17562: Update -E option in --help
I need to fix description because --help and -h should be less than 80 characters... ima1zumi (Mari Imaizumi)
04:42 PM Feature #17562 (Open): Update -E option in --help
I would like to propose explaining the arguments of the -E option specifically in --help.
The current explanation is a bit difficult for beginners to understand.
I tried to change `Encoding.default_internal`, but I changed `Encoding....
ima1zumi (Mari Imaizumi)
05:01 PM Bug #17556: ruby 2.7.2 ::YAML.dump ArgumentError: invalid value for Integer(): "20210101_"
The fix was merged in https://github.com/ruby/psych/pull/438 byroot (Jean Boussier)
05:04 AM Bug #17556 (Closed): ruby 2.7.2 ::YAML.dump ArgumentError: invalid value for Integer(): "20210101_"
再現方法
ruby '2.7.2'
'rails', '~> 6.0.3'
- 利用している ruby のバージョン(ruby -v)
2.7.2
- 再現スクリプト
```ruby
$ bundle exec rails c
[1] pry(main)> ::YAML.dump '20210101_'
ArgumentError: invalid value for Integer(): "20210101_"
...
zhang.shuttlerock (Yuki Snow)
04:58 PM Revision a8dc5156 (git): * 2021-01-20 [ci skip]
git[bot]
04:57 PM Revision 1f87725c (git): [ruby/irb] Rescue Errno::EINVAL on IRB pp
http://rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20210119T070008Z.log.html.gz
is caused by:
/export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/reline/ansi.rb:157:in `winsize': Invalid argument - <STDIN> (...
k0kubun (Takashi Kokubun)
04:03 PM Bug #17560: Does `Module#ruby2_keywords` return `nil` or `self`?
Since ruby2_keywords is often used conditionally, I think there is little value for it to return Symbols:
https://github.com/rails/rails/blob/291a3d2ef29a3842d1156ada7526f4ee60dd2b59/actionpack/lib/action_dispatch/middleware/stack.rb#L9...
Eregon (Benoit Daloze)
03:28 PM Bug #17560: Does `Module#ruby2_keywords` return `nil` or `self`?
zverok (Victor Shepelev) wrote in #note-4:
> Shouldn't it actually return method's name?.. For things like
> ...
That was not my intention, though I don't object to it if someone else wants to make that change. Note that it would have...
jeremyevans0 (Jeremy Evans)
03:08 PM Bug #17560: Does `Module#ruby2_keywords` return `nil` or `self`?
Shouldn't it actually return method's name?.. For things like
```ruby
private ruby2_keywords def my_method
# ....
end
```
?..
zverok (Victor Shepelev)
03:03 PM Bug #17560: Does `Module#ruby2_keywords` return `nil` or `self`?
My intention was to return `nil`, so this is a documentation bug. jeremyevans0 (Jeremy Evans)
09:41 AM Bug #17560: Does `Module#ruby2_keywords` return `nil` or `self`?
I think either is fine. This is a weak opinion, but it looks safer to me not to change the actual return value. @jeremyevans0 Do you have an opinion? mame (Yusuke Endoh)
09:34 AM Bug #17560 (Closed): Does `Module#ruby2_keywords` return `nil` or `self`?
The RDoc says that it returns `self`:
```
ruby2_keywords(method_name, ...) -> self
```
This seems consistent with other methods which accept method names, e.g., `public`, `private`, etc.
But it actually returns `nil`, and `...
nobu (Nobuyoshi Nakada)
02:40 PM Bug #17561 (Closed): The timeout option for Addrinfo.getaddrinfo is not reliable on Ruby 2.7.2
#15553 introduced a timeout option for Addrinfo.getaddrinfo, which uses getaddrinfo_a internally. It appears this has since been reverted in the development branch via https://github.com/ruby/ruby/commit/5d8bcc4870601ab1ee05346346f241d4a... smcgivern (Sean McGivern)
01:21 PM Bug #17559: Conflict with BasicSocket#send and Object#send
It's intentional. It's kind of a crash of cultures (message send from Lisp culture, data send from UNIX culture). The conflict has been known for years (actually from the beginning). That's the reason we introduced `__send__` as workarou... matz (Yukihiro Matsumoto)
08:38 AM Bug #17559 (Closed): Conflict with BasicSocket#send and Object#send
`Object#__send__` nobu (Nobuyoshi Nakada)
08:14 AM Bug #17559 (Closed): Conflict with BasicSocket#send and Object#send
`Object#send` can be used in most objects like:
```
's'.send :class
=> String
```
But `BasicSocket` objects call `BasicSocket#send` instead of `Object#send`:
```
TCPSocket('example.com', 'echo').send :class
Traceback (most ...
sergioro (Sergio Romero)
10:01 AM Feature #14430: net/http: use Socket.tcp with connect_timeout, instead of TCPSocket.open wrapped in Timeout.timeout
The PR is updated, based on master and adds Net::HTTP#resolve_timeout, which delegates to Socket.tcp resolve_timeout, based on https://bugs.ruby-lang.org/issues/16381 but reraiseing Errno::ETIMEOUT as Net::OpenTimeout carl.hoerberg (Carl Hörberg)
08:59 AM Bug #17558 (Closed): ruby2_keywords ignores arguments after a block defined method
Applied in changeset commit:git|eeacdcb9a073c7d8ad703e0dc9faf229a5ebbe3c.
----------
Fixed premature return
After setting ruby2_keywords for bmethod, the rest of arguments
had been ignored. [Bug #17558]
nobu (Nobuyoshi Nakada)
07:46 AM Bug #17558 (Closed): ruby2_keywords ignores arguments after a block defined method
The result of `foo_bar2` should be the same as `foo_bar1`.
```ruby
class C
def bar(*args, **kw)
[args, kw]
end
def nothing_1(*args)
end
define_method(:nothing_2) do |*args|
end
def foo_bar1(*args)
...
nobu (Nobuyoshi Nakada)
08:59 AM Revision eeacdcb9 (git): Fixed premature return
After setting ruby2_keywords for bmethod, the rest of arguments
had been ignored. [Bug #17558]
nobu (Nobuyoshi Nakada)
08:14 AM Revision e6af81bd (git): [ruby/irb] Stub a screen size for test_context
http://ci.rvm.jp/logfiles/brlog.trunk-random1.20210119-074232
https://github.com/ruby/irb/commit/ea87592d4a
k0kubun (Takashi Kokubun)
07:55 AM Revision 4da4ad69 (git): [ruby/irb] Support GitHub Actions
https://github.com/ruby/irb/commit/8e9e6c4037 k0kubun (Takashi Kokubun)
07:50 AM Bug #17557: IRB array returned in multiple lines
Thanks, (1) solved the issue. sergioro (Sergio Romero)
06:46 AM Bug #17557: IRB array returned in multiple lines
The point 2 was merged to IRB master https://github.com/ruby/irb/pull/174. It seems `'s'.methods` returns way more things than what's written in the description and thus it doesn't help your case though. k0kubun (Takashi Kokubun)
06:18 AM Bug #17557 (Closed): IRB array returned in multiple lines
We changed the default IRB inspector from inspect-based one to pretty_inspect-based one, which prints a content in multiple lines when it exceeds 79 chars, for Ruby 3.1+ IRB.
Given that, we have two choices:
1. Use `IRB.conf[:INSPE...
k0kubun (Takashi Kokubun)
05:18 AM Bug #17557 (Closed): IRB array returned in multiple lines
Hi Rubysts. In previous versions of IRB an array was displayed in a single line like:
's'.methods
=> [:unicode_normalize, :unicode_normalize!, :ascii_only?, :to_r, :unpack, ..., :!=, :equal?, :__id__, :instance_eval, :instanc...
sergioro (Sergio Romero)
07:35 AM Revision b2159f7c (git): [ruby/irb] Stub a screen size for tests
https://github.com/ruby/irb/commit/6663057083 k0kubun (Takashi Kokubun)
06:52 AM Revision 82386f21 (git): [ruby/irb] Use a real screen size for pp by default
https://github.com/ruby/irb/commit/9b9300dec2 k0kubun (Takashi Kokubun)
05:16 AM Revision a7d933e5 (git): fix conditon of vm_cc_invalidated_p()
vm_cc_invalidated_p() returns false when the cme is *NOT*
invalidated.
ko1 (Koichi Sasada)
04:44 AM Revision 4886535a (git): Avoid suppressing unrelated warnings
k0kubun (Takashi Kokubun)
04:40 AM Revision f12320cd (git): test/ruby/test_jit.rb: Avoid a warning
http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20210119T033003Z.log.html.gz
```
/home/chkbuild/chkbuild/tmp/build/20210119T033003Z/ruby/test/ruby/test_jit.rb:781:
warning: -e:5: warning: possibly useless use of -@ in void cont...
mame (Yusuke Endoh)
04:34 AM Revision ff8c9235 (git): test/ruby/test_pattern_matching.rb: Avoid a warning
http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20210119T033003Z.log.html.gz
```
/home/chkbuild/chkbuild/tmp/build/20210119T033003Z/ruby/test/ruby/test_pattern_matching.rb:798:
warning: assigned but unused variable - x
```
mame (Yusuke Endoh)
04:27 AM Revision 41d0c708 (git): * 2021-01-19 [ci skip]
git[bot]
04:07 AM Feature #17551 (Closed): Pattern Matching - Default Object#deconstruct and Object#deconstruct_keys
marcandre (Marc-Andre Lafortune)
03:59 AM Feature #17551: Pattern Matching - Default Object#deconstruct and Object#deconstruct_keys
I believe this issue should be closed, as it has an alternative resolution available:
I will start to implement pattern matching interfaces in Ruby core classes as well as common gems, and I will link back providing tracking informati...
baweaver (Brandon Weaver)
04:01 AM Revision 58509767 (git): Backport lib/reline, ext/readline, and lib/irb for 3.0.1 (#4085)
* Get rid of inconsistent dll linkages against vcpkg readline
* [ruby/irb] Enhance colored inspect output
https://github.com/ruby/irb/commit/dffcdb5269
* [ruby/irb] Add color_printer.rb to gemspec
https://github.com/ruby/irb/commit/b...
aycabta (aycabta .)
02:51 AM Revision 5741236a (git): Use real-case version number for the result of `gem list`
hsbt (Hiroshi SHIBATA)
12:05 AM Feature #16806 (Assigned): Struct#initialize accepts keyword arguments too by default
k0kubun (Takashi Kokubun)

01/18/2021

11:47 PM Bug #17555 (Rejected): subclasses method in 2.7.2 is buggy
marcandre (Marc-Andre Lafortune)
09:31 PM Bug #17555: subclasses method in 2.7.2 is buggy
subclasses is provided by rails not Ruby.
Also it's not a bug, simply a known behavior. Rails's `subclass` method can only list loaded classes, you are testing in autoload mode.
byroot (Jean Boussier)
08:23 PM Bug #17555: subclasses method in 2.7.2 is buggy
mark@MacBook-Pro-2 my-project-rails5 % rvm use ruby-2.7.0
Using /Users/mark/.rvm/gems/ruby-2.7.0
mark@MacBook-Pro-2 my-project-rails5 % rails c
Warning: the running version of Bundler (2.1.2) is older than the version that created the...
RedOne (Mark Morgan)
08:21 PM Bug #17555 (Rejected): subclasses method in 2.7.2 is buggy
I am finding that the subclasses method in 2.7.2 gives a faulty result, containing only one of the many subclasses in my system. Example, running 2.7.0 first, then 2.7.2:
mark@MacBook-Pro-2 my-project-rails5 % rvm use ruby-2.7.0
Usi...
RedOne (Mark Morgan)
11:34 PM Revision 1b89b999 (git): Mark pattern labels as unremoveable
Peephole optimization doesn't play well with find pattern at
least. The only case when a pattern matching could have
unreachable patterns is when we have lasgn/dasgn node, which
shouldn't happen in real-life.
Fixes https://bugs.ruby-lan...
palkan (Vladimir Dementyev)
10:52 PM Revision 9d1475c6 (git): Fix JIT link failures
forgotten in https://github.com/ruby/ruby/pull/4018 k0kubun (Takashi Kokubun)
09:27 PM Bug #17534: Pattern-matching is broken with find pattern
As a quick fix I propose marking patterns as unremoveable: https://github.com/ruby/ruby/pull/4094 palkan (Vladimir Dementyev)
08:32 PM Bug #17534: Pattern-matching is broken with find pattern
So, what I found: the bug is caused by `iseq_peephole_optimize` and find patterns iseq incompatibility; `remove_unreachable_chunk` doesn't remove `while_begin`, `next_loop` and other find_pattern specific labels, but removes general patt... palkan (Vladimir Dementyev)
04:59 PM Bug #17534: Pattern-matching is broken with find pattern
palkan (Vladimir Dementyev) wrote in #note-1:
> That could be related to https://github.com/ruby/ruby/pull/3104.
> ...
Hm, nope. Reproduced in the older revision (`d6c9c014e2`). Investigating further.
palkan (Vladimir Dementyev)
07:18 AM Bug #17534: Pattern-matching is broken with find pattern
zverok (Victor Shepelev) wrote:
> The minimal reproduction code:
> ...
That could be related to https://github.com/ruby/ruby/pull/3104.
I'll take a look.
palkan (Vladimir Dementyev)
07:02 PM Revision e812b362 (git): Fix typo: invaldate -> invalidate
alanwu (Alan Wu)
06:11 PM Bug #17497: Ractor performance issue
I too have seen strange results testing ractors. I used the code at https://github.com/keithrbennett/keithrbennett-ractor-test/blob/master/my_ractor.rb to do some arbitrary but predictable work. I have a 24-core Ryzen 9 CPU, and I compar... keithrbennett (Keith Bennett)
05:16 PM Feature #17103 (Closed): Add a :since option to ObjectSpace.dump_all
jeremyevans0 (Jeremy Evans)
02:36 PM Feature #17103: Add a :since option to ObjectSpace.dump_all
This was merged in Ruby 3.0 and can now be closed. byroot (Jean Boussier)
04:59 PM Bug #17552: [PATCH] Fix a NULL pointer crash in ObjectSpace.dump_all
So with some extra debug code, I've managed to identify the object that causes this, it's only one object on a multi-GiB dump:
```json
{"address":"0x7f32c8b8d6c8", "type":"IMEMO", "class":"0x8", "imemo_type":"ment", "generation":57, ...
byroot (Jean Boussier)
09:30 AM Bug #17552 (Closed): [PATCH] Fix a NULL pointer crash in ObjectSpace.dump_all
Patch: https://github.com/ruby/ruby/pull/4078
I wasn't able to reproduce the issue in isolation just yet, but I confirmed the patch fixes the issue for us.
What seem to happen in that some objects have an `allocation_info`, but `al...
byroot (Jean Boussier)
04:19 PM Revision 21d2463f (git): Added empty ruby2_keywords gem to suffice dependencies
nobu (Nobuyoshi Nakada)
04:05 PM Revision fad9922d (git): Revert "[Document][Array] Add missing call-seq for Array#append"
This reverts commit ac1a4bccbda4358436a7a907a7f09d047f562740.
See https://github.com/ruby/ruby/pull/4088
Marc-Andre Lafortune
03:14 PM Revision 92e28842 (git): * 2021-01-19 [ci skip]
git[bot]
03:14 PM Revision 5cf6229e (git): Skip updating exts in also test-spec to reduce the turnaround time (#4089)
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Partially reversing a4f3e1762aa195969ace000ac0dc8d300dda85cb like 21df4dce5308bb0e04e09dc654cdc92af000caf6.
We usually run them through make check which has the dependency, and test-...
k0kubun (Takashi Kokubun)
02:39 PM Revision ac1a4bcc (git): [Document][Array] Add missing call-seq for Array#append
juanito (Juanito Fatas)
02:35 PM Bug #17554 (Closed): [PATCH] Fix ObjectSpace.dump to include singleton class name
Patch: https://github.com/ruby/ruby/pull/4087
This fixes a regression introduced in https://bugs.ruby-lang.org/issues/17044
In 2.7.2 `rb_class2name` would go up the inheritance chain to get a name for singleton classes. In 3.0 it n...
byroot (Jean Boussier)
12:15 PM Revision dff74ee6 (git): Revert "Autoconf 2.70 no longer has -o option"
This reverts commit 331f0bc1cb7965bec9aed5d7278360c2e9fc8946.
It seems a mistake.
nobu (Nobuyoshi Nakada)
11:41 AM Revision bb5747e1 (git): Added ruby2_keywords for Ruby 2.5 and 2.6
hsbt (Hiroshi SHIBATA)
10:32 AM Bug #17553 (Closed): Rails CI shows infinite loop of method_missing since f4ce78d5c139a8825ee2d09f39aef03ef762dfc6
### Steps to reproduce
```
git clone https://github.com/rails/rails.git
cd rails/activerecord
bundle install
bin/test test/cases/relations_test.rb test/cases/callbacks_test.rb test/cases/finder_test.rb -n "/^(?:RelationTest#(?:tes...
yahonda (Yasuo Honda)
10:23 AM Feature #17551: Pattern Matching - Default Object#deconstruct and Object#deconstruct_keys
One issue if we use the calls to `attr_*` is we would consider private `attr_*` like `private attr_reader :foo`, which seems wrong.
And of course at any time the visibility of methods can change, so it would probably be quite expensive ...
Eregon (Benoit Daloze)
05:51 AM Feature #17551: Pattern Matching - Default Object#deconstruct and Object#deconstruct_keys
Interestingly, the gem I immediately thought of (`ast`) needs a `deconstruct` that is different from `to_a`... marcandre (Marc-Andre Lafortune)
05:14 AM Feature #17551: Pattern Matching - Default Object#deconstruct and Object#deconstruct_keys
That is a very fair point, and I appreciate your insight there. I would be tempted to add it to `Enumerable` except in that `Hash` also implements that same interface. baweaver (Brandon Weaver)
04:54 AM Feature #17551: Pattern Matching - Default Object#deconstruct and Object#deconstruct_keys
Your example would have `deconstruct*` methods had it subclassed `Struct.new(:name, :age, :children)` (even though there are many things I personally dislike about `Struct`)
I don't think there is a sensible default for either methods, ...
marcandre (Marc-Andre Lafortune)
04:25 AM Feature #17551 (Closed): Pattern Matching - Default Object#deconstruct and Object#deconstruct_keys
Pattern Matching is a very powerful feature, but many classes are not able to enjoy its functionality due to the lacking of a default `deconstruct` and `deconstruct_keys` method being present.
This feature request is to introduce a se...
baweaver (Brandon Weaver)
10:16 AM Bug #13671: Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters
Unfortunately, the problem persists in Ruby 2.7.2 and 3.0.0 mauromorales (Mauro Morales)
08:57 AM Feature #17550: Why no function to get all subdirectories of a directory?
`Dir.glob("**/")`, if you don't mind trailing slashes. nobu (Nobuyoshi Nakada)
07:22 AM Revision 331f0bc1 (git): Autoconf 2.70 no longer has -o option
nobu (Nobuyoshi Nakada)
07:22 AM Revision 48bb0329 (git): Revert AC_PROG_CC_C99 for -std=gnu99 option to gcc 4.8
nobu (Nobuyoshi Nakada)
07:22 AM Revision c3237588 (git): Update for autoconf 2.70
nobu (Nobuyoshi Nakada)
07:22 AM Revision 41443868 (git): ruby_type_attribute is not used for now
nobu (Nobuyoshi Nakada)
06:55 AM Revision c3d6bac3 (git): Upcoming Struct#new behavior
nobu (Nobuyoshi Nakada)
06:33 AM Revision a3851d97 (git): Removed unused AC_CHECKING
nobu (Nobuyoshi Nakada)
03:43 AM Revision 6abf393e (git): OpenBSD has getentropy, but no sys/random.h
https://man.openbsd.org/getentropy
Try to fix https://rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20210118T023008Z.fail.html.gz
```
compiling random.c
random.c:53:11: fatal error: 'sys/random.h' file not found
# include <sys...
znz (Kazuhiro NISHIYAMA)

01/17/2021

08:59 PM Feature #17550 (Open): Why no function to get all subdirectories of a directory?
Googling around, this seems to be a relatively common request. Would you be willing to accept a pull request implementing this feature? asfarley (Alexander Farley)
05:18 PM Revision bf640bbf (git): * 2021-01-18 [ci skip]
git[bot]
05:13 PM Revision 9f7876ab (git): [ruby/irb] Version 1.3.2
https://github.com/ruby/irb/commit/a7699026cc aycabta (aycabta .)
05:13 PM Revision 166f33d0 (git): [ruby/irb] skip a failling test on TruffleRuby
* due to the difference of backtrace pointed out by @aycabta
https://github.com/ruby/irb/commit/5e00a0ae61
no6v (Nobuhiro IMAI)
05:12 PM Revision d290a02b (git): [ruby/irb] handle repeated exception separately
https://github.com/ruby/irb/commit/fcf6b34bc5 no6v (Nobuhiro IMAI)
05:12 PM Revision 3f0b4665 (git): [ruby/irb] handle `__ENCODING__` as a keyword as well
https://github.com/ruby/irb/commit/a6a33d908f no6v (Nobuhiro IMAI)
05:10 PM Revision edafde68 (git): [ruby/irb] [ruby/irb] [ruby/reline] Version 0.2.2
https://github.com/ruby/reline/commit/dfb710946f
https://github.com/ruby/irb/commit/1a1cdf9628
https://github.com/ruby/irb/commit/fe99faf8bd
aycabta (aycabta .)
05:09 PM Revision e1449ae7 (git): [ruby/reline] Reline::Windows.erase_after_cursor erases attributes too
https://github.com/ruby/reline/commit/68b961dfc7 aycabta (aycabta .)
05:09 PM Revision 05df7e0d (git): [ruby/reline] Support for change in Windows-specific behavior at eol
The behavior of automatically moving the cursor to the next line when
displaying a char at the eol on Windows suddenly disappeared.
https://github.com/ruby/reline/commit/cad4de6ee8
aycabta (aycabta .)
05:09 PM Revision f3156e45 (git): [ruby/reline] Windows needs more times to wait rendering
https://github.com/ruby/reline/commit/53ff2b09c7 aycabta (aycabta .)
05:08 PM Revision 9279d3f2 (git): [ruby/reline] Tests with yamatanooroti don't need chdir
Because of chdir, log files ware created in temporary directries on Windows.
https://github.com/ruby/reline/commit/200b469a68
aycabta (aycabta .)
05:07 PM Revision 1aba1a51 (git): [ruby/reline] Initialize a variable just in case
https://github.com/ruby/reline/commit/29b10f6e98 aycabta (aycabta .)
03:42 PM Feature #17548: Need simple way to include symlink directories in Dir.glob
By the way, this is what I was referring to when I mentioned "arcane workarounds":
https://stackoverflow.com/questions/357754/can-i-traverse-symlinked-directories-in-ruby-with-a-glob
(`Dir.glob("**{,/*/**}/*.rb")`)
keithrbennett (Keith Bennett)
03:14 PM Feature #17548: Need simple way to include symlink directories in Dir.glob
A clarifying comment that corrects something in my original post but does not change my recommendation:
I wish there a way for me to correct my original post, but I don't see a way to do that. I wanted to delete this text:
"The siz...
keithrbennett (Keith Bennett)
12:46 AM Feature #17548 (Open): Need simple way to include symlink directories in Dir.glob
I would like to suggest that Ruby provide a simple way to glob that includes the content of symlinked directories.
I have my Ruby projects in a `~/work` directory that is symlinked to a directory an another partition.
For example, ...
keithrbennett (Keith Bennett)
01:31 PM Feature #11882: Map or NamedMap
I agree that `{ {a: 1} }` and `{{a: 1}}` in my suggested syntax is difficult to disambiguate. The magic inside the Ruby parser that can separate the differences as they are today must be very mind bogglingly difficult. If it were possibl... hcatlin (Hampton Catlin)
12:57 PM Feature #17472: HashWithIndifferentAccess like Hash extension

During my 15 years of Ruby programming, I can't remember a single time that the difference between string-and-symbol with regards to Hashes was used on purpose. Instead, it's the source of countless bugs, extra type checking code, and ...
hcatlin (Hampton Catlin)
12:55 PM Revision f96eaf54 (git): Use the dedicated assertion
nobu (Nobuyoshi Nakada)
10:35 AM Bug #17549 (Closed): Backport e033c9d7db0 Include missing AvailabilityMacros.h
`SecRandomCopyBytes` function has not been used unexpectedly due to this lack.
commit:e033c9d7db0
nobu (Nobuyoshi Nakada)
09:48 AM Revision 54c91185 (git): random generator update for Mac proposal
using getentropy for seeding, reading 256 bytes at a time to avoid
the EIO errno since this is the maximum.
David CARLIER
09:36 AM Feature #16806 (Closed): Struct#initialize accepts keyword arguments too by default
Applied in changeset commit:git|8d099aa040427aede04e42c3ec9380afd431ffe3.
----------
Warn Struct#initialize with only keyword args (#4070)
* Warn Struct#initialize with only keyword args
A part of [Feature #16806]
* Do not warn if `k...
k0kubun (Takashi Kokubun)
09:35 AM Revision 8d099aa0 (git): Warn Struct#initialize with only keyword args (#4070)
* Warn Struct#initialize with only keyword args
A part of [Feature #16806]
* Do not warn if `keyword_init: false`
is explicitly specified
* Add a NEWS entry
* s/in/from/
* Make sure all fields are initialized
k0kubun (Takashi Kokubun)
09:28 AM Revision e033c9d7 (git): Include missing AvailabilityMacros.h
nobu (Nobuyoshi Nakada)
09:07 AM Revision 2bd8098c (git): Suppress the warning for the invalid method_explorer case
nobu (Nobuyoshi Nakada)
04:25 AM Bug #17547 (Closed): Fix `Ripper.lex("a <<b")`
nobu (Nobuyoshi Nakada)
03:58 AM Revision b84b253a (git): Fix Ripper with heredoc.
osyo (manga osyo)
03:20 AM Revision 562b97e2 (git): [ruby/fileutils] Removed code for dead versions
https://github.com/ruby/fileutils/commit/1f707d8cc6 nobu (Nobuyoshi Nakada)
03:20 AM Revision 905f58dc (git): [ruby/fileutils] Drop support for dead old versions
https://github.com/ruby/fileutils/commit/4526148c67 nobu (Nobuyoshi Nakada)

01/16/2021

11:45 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
Eregon (Benoit Daloze) wrote in #note-5:
> If it's needed to e.g. `Ractor.make_shareable(self); o = Ractor.make_shareable(Object.new); Ractor.make_shareable(-> { p o; ... })`, it feels so redundant.
I may be wrong, but I believe that...
marcandre (Marc-Andre Lafortune)
06:00 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
marcandre (Marc-Andre Lafortune) wrote in #note-4:
> Note that they are *not* treated the same way. `Ractor.new{}` forbids any reference to outside variables, while `make_shareable(proc)` allows it as long as the values are themselves s...
Eregon (Benoit Daloze)
04:41 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
Eregon (Benoit Daloze) wrote in #note-3:
> Not preserving `self` would be confusing, e.g., when calling other methods like:
> ...
In my proposal, calling that block would result in a `NoMethodError` on `<#DetachedSelf>`. Is it that con...
marcandre (Marc-Andre Lafortune)
02:40 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
Not preserving `self` would be confusing, e.g., when calling other methods like:
```ruby
class Foo
def bar
...
end
def foo
test { bar }
end
end
```
It does mean the `Foo` instance would be (deeply) frozen.
...
Eregon (Benoit Daloze)
12:55 AM Bug #17543: Ractor isolation broken by `self` in shareable proc
> Probably the self of the Proc should be made Ractor.make_shareable too.
Would that always be the case? would all the following freeze the `self`?
```ruby
class Foo
def test(&block)
Ractor.make_shareable(block)
end
...
marcandre (Marc-Andre Lafortune)
11:14 PM Revision 19902e2e (git): Update the maintainer of net-smtp
hsbt (Hiroshi SHIBATA)
09:09 PM Revision fd42d334 (git): * 2021-01-17 [ci skip]
git[bot]
09:08 PM Revision a4a6cb03 (git): Remove samples for test-unit
They are no longer needed. Sutou Kouhei
09:07 PM Revision f2767cf0 (git): Move rss samples to ruby/rss
Sutou Kouhei
08:13 PM Bug #17547 (Closed): Fix `Ripper.lex("a <<b")`
`Ripper.lex("a <<b")` was not parsed correctly.
```ruby
require "ripper"
p Ripper.lex("a <<b")
# Expected behavior => [[[1, 0], :on_ident, "a", CMDARG], [[1, 1], :on_sp, " ", CMDARG], [[1, 2], :on_heredoc_beg, "<<b", CMDARG]]
# ...
osyo (manga osyo)
03:19 PM Bug #17536: Segfault in `CFUNC :define_method`
Wow, thx for the effort to reduce the reproducer. I have applied this patch in Fedora and it fixes the segfault. Thx. vo.x (Vit Ondruch)
10:42 AM Revision 35a04730 (git): [ruby/io-console] Rubygems 3.2 supports `--platform` option
https://github.com/ruby/io-console/commit/c8046fde84 nobu (Nobuyoshi Nakada)
10:42 AM Revision 6ab5504f (git): [ruby/io-console] Moved JRuby version files into particular path
https://github.com/ruby/io-console/commit/b0691d2c20 nobu (Nobuyoshi Nakada)
10:42 AM Revision 92da224d (git): [ruby/io-console] Delegate to JRuby version
Add `--platform` option tentatively.
https://github.com/ruby/io-console/commit/3bf1a7b753
nobu (Nobuyoshi Nakada)
10:42 AM Revision c143a2f9 (git): [ruby/io-console] bump up to 0.5.7
https://github.com/ruby/io-console/commit/f55d7ebff6 nobu (Nobuyoshi Nakada)
01:06 AM Feature #17546 (Assigned): Native coroutine implementation for riscv64 Linux
mame (Yusuke Endoh)

01/15/2021

11:48 PM Feature #17546 (Closed): Native coroutine implementation for riscv64 Linux
The RISC-V architecture is getting more and more importance in the world. The first affordable RISC-V single board computer debuted last Wednesday.
A patch is attached which contains a native coroutine implementation for riscv64 Linux...
xtkoba (Tee KOBAYASHI)
11:23 PM Bug #17536 (Closed): Segfault in `CFUNC :define_method`
Applied in changeset commit:git|0ed71b37fa9af134fdd5a7fd1cebd171eba83541.
----------
Don't try to clear cache on garbage objects
Method cache can be cleared during lazy sweeping. An object that will
be collected during lazy sweep *sho...
tenderlovemaking (Aaron Patterson)
10:21 PM Bug #17536: Segfault in `CFUNC :define_method`
I was able to reproduce this, but it's hard to make a small script to reproduce the issue.
Here is the program I used to reproduce the issue:
```ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem '...
tenderlovemaking (Aaron Patterson)
11:23 PM Revision 0ed71b37 (git): Don't try to clear cache on garbage objects
Method cache can be cleared during lazy sweeping. An object that will
be collected during lazy sweep *should not* have it's method cache
cleared. Soon-to-be-collected objects can be in an inconsistent state and
this can lead to a crash...
tenderlovemaking (Aaron Patterson)
09:26 PM Bug #17545 (Closed): Calling dup on a subclass of Proc returns a Proc and not the subclass
Trivial example:
``` ruby
[1] pry(main)> class Test < Proc; end
=> nil
[3] pry(main)> Test.new { puts "foo" }.dup
=> #<Proc:0x00007f91a78913c8 (pry):3>
```
Also fairly trivial workaround:
```ruby
[4] pry(main)> class Tes...
lamont (Lamont Granquist)
08:25 PM Revision e7f1afbc (git): Additions to method_documentation.rdoc (#4065)
* Additions to method_documentation.rdoc burdettelamar (Burdette Lamar)
06:54 PM Bug #17543: Ractor isolation broken by `self` in shareable proc
Probably the self of the Proc should be made ` Ractor.make_shareable` too.
Changing the `self` of an arbitrary Proc would be very surprising I think.
Eregon (Benoit Daloze)
07:39 AM Bug #17543 (Closed): Ractor isolation broken by `self` in shareable proc
Discussing with @MaxLap we realized that the `self` in a shareable proc is not properly isolated:
```
class Foo
attr_accessor :x
def pr
Ractor.make_shareable(Proc.new { self })
end
end
f = Foo.new
f.x = [1, 2, 3]...
marcandre (Marc-Andre Lafortune)
06:08 PM Revision a2941d71 (git): Add What's Here to Array RDoc (#4062)
* Add What's Here to Array RDoc burdettelamar (Burdette Lamar)
03:15 PM Revision 4c4f873f (git): * 2021-01-16 [ci skip]
git[bot]
03:09 PM Revision b1306445 (git): [ruby/bigdecimal] Fix for the coerce cases in divide and DoDivmod
https://github.com/ruby/bigdecimal/commit/1cb92487f7 Kenta Murata
03:08 PM Revision 9d0c5e27 (git): [ruby/bigdecimal] Use pre-allocated special values in BigDecimal_DoDivmod
https://github.com/ruby/bigdecimal/commit/d2746121cf Kenta Murata
03:07 PM Revision f95f85b2 (git): [ruby/bigdecimal] Use new conversion functions in BigDecimal_DoDivmod
https://github.com/ruby/bigdecimal/commit/68c20200d5 Kenta Murata
02:44 PM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
I agree with `Thread::Backtrace.limit` because I think it's easy to understand. neg_hide (Hidenori Negishi)
10:04 AM Revision 5307fab6 (git): [ruby/time] Use Time#strftime to format
https://github.com/ruby/time/commit/6b8cc4799e nobu (Nobuyoshi Nakada)
09:04 AM Misc #17535: DevelopersMeeting20210216Japan
* [Feature #12194] `File.dirname` optional parameter
* `File.dirname(path, 2)` instead of `File.dirname(File.dirname(path))` or `File.expand_path("../..", path)`.
* [Feature #17544] Support RFC 3339 UTC for unknown offset local time
...
nobu (Nobuyoshi Nakada)
08:54 AM Feature #17544 (Closed): `Time#strftime` supports RFC 3339 UTC for unknown offset local time
In RFC 3339, -00:00 is used for the time in UTC is known, but the offset to local time is unknown.
Support that representation by `-` flag for `z` at `Time#strftime`.
[patch](https://github.com/ruby/ruby/pull/4075)
nobu (Nobuyoshi Nakada)
08:47 AM Bug #17517 (Closed): File.expand_path returns us-ascii when both arguments are ascii compat
Applied in changeset commit:git|0d57d59933fb7b826bd0e20d84ed7f6d6636ac90.
----------
Keep encoding in the result of File.expand_path [Bug #17517]
nobu (Nobuyoshi Nakada)
08:46 AM Revision 0d57d599 (git): Keep encoding in the result of File.expand_path [Bug #17517]
nobu (Nobuyoshi Nakada)
04:44 AM Bug #17423 (Closed): `Prepend` should prepend a module before the class
Applied in changeset commit:git|e09094546a19d6b62b3e21d0b061b103cf21f760.
----------
Make Module#prepend affect ancestor chain even if argument already included in receiver
Previously, if a class included a module and then prepended th...
jeremyevans (Jeremy Evans)
04:43 AM Revision e0909454 (git): Make Module#prepend affect ancestor chain even if argument already included in receiver
Previously, if a class included a module and then prepended the
same module, the prepend had no effect. This changes the behavior
so that the prepend has an effect unless the module is already
prepended the receiver.
While here, rename...
jeremyevans (Jeremy Evans)
03:43 AM Revision 1cb0c5ac (git): [ruby/time] No document for private methods
https://github.com/ruby/time/commit/44a55daa70 nobu (Nobuyoshi Nakada)
03:29 AM Revision 69ea2701 (git): Sort filenames [ci skip]
znz (Kazuhiro NISHIYAMA)
02:48 AM Revision 9c018958 (git): Add timev.rb to .document
znz (Kazuhiro NISHIYAMA)
12:37 AM Revision eb4319be (git): extlibs.rb: make patch command selectable [ci skip]
Some Windows ports fail an assertion on patch files with LF EOL
code. MSys2 patch.exe 2.7.6 seems fine, at least.
nobu (Nobuyoshi Nakada)

01/14/2021

11:30 PM Bug #17536: Segfault in `CFUNC :define_method`
I should also mention that there is currently Rails 6.0.3.4. vo.x (Vit Ondruch)
11:28 PM Bug #17536: Segfault in `CFUNC :define_method`
It is reproducible on every platform.
We had to hack the test suite a bit to make it work on Fedora. The full script is here [1], but the relevant part should be this:
~~~
# It is easier to recreate the Gemfile to use local versions of...
vo.x (Vit Ondruch)
09:58 PM Bug #17536: Segfault in `CFUNC :define_method`
vo.x (Vit Ondruch) wrote in #note-5:
> Just FTR, the reproducer I have is trying to execute shoulda-matchers [1] test suite such as:
> ...
When I try to run the command, this happens on Linux:
```
aaron@whiteclaw ~/g/shoulda-matche...
tenderlovemaking (Aaron Patterson)
09:52 PM Bug #17536: Segfault in `CFUNC :define_method`
vo.x (Vit Ondruch) wrote in #note-5:
> Just FTR, the reproducer I have is trying to execute shoulda-matchers [1] test suite such as:
> ...
Does this reproduce on any platform besides s390x?
tenderlovemaking (Aaron Patterson)
01:53 PM Bug #17536: Segfault in `CFUNC :define_method`
Just FTR, the reproducer I have is trying to execute shoulda-matchers [1] test suite such as:
~~~
$ bundle exec rspec spec/unit/shoulda/matchers/action_controller/set_flash_matcher_spec.rb
~~~
I guess the reproducer should be pos...
vo.x (Vit Ondruch)
12:55 PM Bug #17536: Segfault in `CFUNC :define_method`
Yes, I can hit it every time. And I am testing the patch commit:efcdf68e6443ab70fbff1703b9dabbfc5090df31 and it does not fix the issue. vo.x (Vit Ondruch)
09:24 AM Bug #17536: Segfault in `CFUNC :define_method`
> This looks like the segvs we were observing
I'm not certain. Ours was failing inside the GC code. Here it fails in `vm_method`.
@vo.x are you able to trigger this bug consistently?
byroot (Jean Boussier)
01:09 AM Bug #17536: Segfault in `CFUNC :define_method`
This looks like the segvs we were observing, which was fixed by https://bugs.ruby-lang.org/issues/17539 (and PR https://github.com/ruby/ruby/pull/4066).
@tenderlovemaking can you confirm?
ufuk (Ufuk Kayserilioglu)
09:42 PM Revision 0a039c5f (git): [ruby/bigdecimal] Use new conversion functions in BigDecimal_divide
https://github.com/ruby/bigdecimal/commit/3b55ad1c42 Kenta Murata
09:42 PM Revision 500fc63c (git): [ruby/bigdecimal] Reorder the arguments of BigDecimal_divide
https://github.com/ruby/bigdecimal/commit/1e03da7076 Kenta Murata
08:48 PM Bug #17423: `Prepend` should prepend a module before the class
Based on the decision made at the developer meeting (https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210113Japan.md#bug-17423-prepend-should-prepend-a-module-before-the-class-jeremyevans0), I've added a pull reques... jeremyevans0 (Jeremy Evans)
08:37 PM Bug #17539: Guard callinfo during compilation (backport)
Also please add 5e26619660f20272a53c7f839dde36cce034bb35 (it fixes a write barrier issue)
Thanks!
tenderlovemaking (Aaron Patterson)
12:17 AM Bug #17539 (Closed): Guard callinfo during compilation (backport)
Hi,
Please backport efcdf68e6443ab70fbff1703b9dabbfc5090df31 to ruby_3_0. We're seeing segvs, and efcdf68e6443ab70fbff1703b9dabbfc5090df31 fixes it.
Thanks!
tenderlovemaking (Aaron Patterson)
05:57 PM Revision 48589f34 (git): * 2021-01-15 [ci skip]
git[bot]
05:55 PM Revision 5e266196 (git): Fix WB for callinfo
The WB for callinfo needs to be executed *after* the reference is
written. Otherwise we get a WB miss.
tenderlovemaking (Aaron Patterson)
02:43 PM Feature #12607: Ruby needs an atomic integer
Eregon (Benoit Daloze) wrote in #note-34:
> And how do you implement that efficiently, and in a way that's thread-safe?
> ...
By "a generator" I did not mean the `Enumerator::Generator` class. I meant a new generator-type class (say, `...
Dan0042 (Daniel DeLorme)
01:06 PM Feature #12607: Ruby needs an atomic integer
There is also the well-known example of metrics in Sidekiq, and all these:
https://github.com/search?l=Ruby&q=AtomicFixnum&type=Code
> I really think a generator (like the above MyCounter.next) is a more appropriate tool than an atom...
Eregon (Benoit Daloze)
03:41 AM Feature #12607: Ruby needs an atomic integer
chrisseaton (Chris Seaton) wrote in #note-32:
> An use-case I was working on earlier today was profiling operations like coverage and sampling tools.
Ah yes, beautiful example! Accumulating metrics require both atomicity and performa...
Dan0042 (Daniel DeLorme)
02:34 AM Feature #12607: Ruby needs an atomic integer
> In my experience financial transactions will be handled at the DB level.
So imagine you're implementing the DB then.
> ...
If you want to perform an arbitrary operation on a counter you can do that atomically, without a lock, by ...
chrisseaton (Chris Seaton)
02:25 AM Feature #12607: Ruby needs an atomic integer
chrisseaton (Chris Seaton) wrote in #note-28:
> For example for issuing unique IDs across multiple Ractors.
That's the "monotonically increasing counter" case I was talking about, and for that I really think a generator (like the abo...
Dan0042 (Daniel DeLorme)
01:34 PM Bug #17429: Prohibit include/prepend in refinement modules
shugo (Shugo Maeda) wrote in #note-11:
> The behavior is similar to Module#mix proposed by Matz before.
Visually it's a more pleasing API than the `import` keyword, but would it be available in any module or just refinements?
If any...
Dan0042 (Daniel DeLorme)
03:15 AM Bug #17429: Prohibit include/prepend in refinement modules
marcandre (Marc-Andre Lafortune) wrote in #note-3:
> Is there a proposal to import modules in refinements?
> ...
I prefer the following way, but I'm not sure about the name import.
```
refine Object do
import Code
end
```
...
shugo (Shugo Maeda)
01:20 PM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
neg_hide (Hidenori Negishi) wrote in #note-3:
> I am making a library that makes error messages easier to read. Therefore, instead of using `Exception#full_message`, I need to analyze the Exception and output the error message myself.
...
Eregon (Benoit Daloze)
12:35 PM Revision 834b404b (git): [DOC] Fixed indent [ci skip]
nobu (Nobuyoshi Nakada)
12:30 PM Bug #17542 (Closed): Username and password are not decoded if retrieved from env
If someone sets an env variable defining a http_proxy (ENV['http_proxy']), containing a
username / password with percent-encoded characters, then the resulting
base64 encoded auth header will be wrong.
For example, suppose a usernam...
leipert (Lukas Eipert)
10:21 AM Bug #17537: === on ranges of strings is not consistant with include?
> ranges of strings have inconsistent semantics
That's an inherent property of string ranges, and of Range in general.
Range in Ruby represents TWO things:
* sequence (enumeration) from begin to end (based on the notion of the "ne...
zverok (Victor Shepelev)
04:55 AM Bug #17537: === on ranges of strings is not consistant with include?
Ok. Well, my personal opinion is that just to have some fancy way to handle version strings, ranges of strings have inconsistent semantics. With to_a, they behave like their natural order is shortlex on some imaginary alphabet:
```
...
akim (Akim Demaille)
09:50 AM Bug #17540: A segfault due to Clang/LLVM optimization on 32-bit ARM Linux
Mmm… That sounds like an LLVM issue. At least in the latest C++, `volatile` is deprecated. I don’t think that fix works for extension libraries written in that language.
cf: http://wg21.link/P1152
shyouhei (Shyouhei Urabe)
04:34 AM Bug #17540 (Closed): A segfault due to Clang/LLVM optimization on 32-bit ARM Linux
When built with `optflags=-O3` (which is the default), `ruby -e "pp Thread.main"` causes a segfault, which seems to be worked around by the following change:
```
--- a/include/ruby/internal/fl_type.h
+++ b/include/ruby/internal/fl_typ...
xtkoba (Tee KOBAYASHI)
08:54 AM Bug #17541 (Closed): shareable constant literals in a large script might be recycled
Please backport commit:6bcc4664bdaebbf9b28a762ae63f476a1ec6cfb2.
These are optional.
commit:bb40c5cbe977de9f36a2a739e94e9b2fd4496b6e
commit:c060bdc2b4ab8eeef5374f4174f5de48ab936d74
nobu (Nobuyoshi Nakada)
07:44 AM Revision 29777cb3 (git): Merge RubyGems-3.2.5
hsbt (Hiroshi SHIBATA)
07:44 AM Revision 93dcf082 (git): Merge Bundler-2.2.5
hsbt (Hiroshi SHIBATA)
07:44 AM Revision c721e36c (git): Merge RubyGems-3.2.4
hsbt (Hiroshi SHIBATA)
07:44 AM Revision d4f5827a (git): Merge Bundler-2.2.4
hsbt (Hiroshi SHIBATA)
07:15 AM Revision 6bcc4664 (git): Return new NODE_LIT
As NODE_ZLIST/NODE_LIST are not markable, cannot be reused as
NODE_LIT.
nobu (Nobuyoshi Nakada)
07:13 AM Revision bb40c5cb (git): Ensure symbol list node is either NODE_STR or NODE_DSTR
nobu (Nobuyoshi Nakada)
07:12 AM Revision c060bdc2 (git): NODE markability should not change by nd_set_type
nobu (Nobuyoshi Nakada)
06:50 AM Feature #17490 (Closed): Rename RubyVM::MJIT to RubyVM::JIT
Applied in changeset commit:git|e1fee7f949cb6719122672fa1081c60984a5339f.
----------
Rename RubyVM::MJIT to RubyVM::JIT
because the name "MJIT" is an internal code name, it's inconsistent with
--jit while they are related to each other...
k0kubun (Takashi Kokubun)
06:46 AM Revision e1fee7f9 (git): Rename RubyVM::MJIT to RubyVM::JIT
because the name "MJIT" is an internal code name, it's inconsistent with
--jit while they are related to each other, and I want to discourage future
JIT implementation-specific (e.g. MJIT-specific) APIs by this rename.
[Feature #17490]
k0kubun (Takashi Kokubun)
02:22 AM Revision 1824df40 (git): * 2021-01-14 [ci skip]
git[bot]
01:21 AM Revision 4d13f3e9 (git): [ruby/bigdecimal] Explicitly cast size_t to int
https://github.com/ruby/bigdecimal/commit/b1f1ed26c9 Kenta Murata
01:20 AM Revision b4ade739 (git): [ruby/bigdecimal] Explicitly cast uint64_t to double
https://github.com/ruby/bigdecimal/commit/f0d94e6843 Kenta Murata
01:20 AM Revision e129be75 (git): [ruby/bigdecimal] Suppress warning at NO_SANITIZE on gcc
https://github.com/ruby/bigdecimal/commit/f6765b8071 Kenta Murata
12:13 AM Revision efcdf68e (git): Guard callinfo
Callinfo was being written in to an array and the GC would not see the
reference on the stack. `new_insn_send` creates a new callinfo object,
then it calls `new_insn_core`. `new_insn_core` allocates a new INSN
linked list item, which c...
tenderlovemaking (Aaron Patterson)
12:06 AM Revision f4ce78d5 (git): delete negative cache from the table correctly
negative cache entry should be removed from
vm->negative_cme_table even if the redefined class has no
subclasses.
ko1 (Koichi Sasada)

01/13/2021

11:45 PM Feature #12607: Ruby needs an atomic integer
> You can achieve something similar with Object.new.object_id
You may want them to be consecutive.
> ...
A Ractor send has relatively high synchronisation overhead - an atomic integer is conventionally implemented at the cache-cohe...
chrisseaton (Chris Seaton)
10:40 PM Feature #12607: Ruby needs an atomic integer
chrisseaton (Chris Seaton) wrote in #note-28:
> > What is the use case for this atomic integer?
> ...
You can achieve something similar with `Object.new.object_id`
> > or in fact any integer atomic operations other than += 1
> ...
...
marcandre (Marc-Andre Lafortune)
09:45 PM Feature #12607: Ruby needs an atomic integer
> What is the use case for this atomic integer?
For example for issuing unique IDs across multiple Ractors.
> ...
For example a CAS to update a bank balance is a common requirement.
chrisseaton (Chris Seaton)
06:05 PM Feature #12607: Ruby needs an atomic integer
What is the use case for this atomic integer? I sometimes have a use for an atomic monotonically increasing counter, but that could be satisfied with a very simple API like `n = MyCounter.next`
On the other hand I've never felt the need...
Dan0042 (Daniel DeLorme)
07:32 AM Feature #12607: Ruby needs an atomic integer
Eregon (Benoit Daloze) wrote in #note-25:
> True, but an atomic integer remains useful even if there is an STM.
> ...
TVar proposed in https://bugs.ruby-lang.org/issues/17261 has `#increment` method and it is enough fast.
ko1 (Koichi Sasada)
10:56 PM Revision c8b47eb7 (git): only add the trailing nop if the catch table is not break / next / redo
We don't need nop padding when the catch tables are only for break /
next / redo, so lets avoid them. This eliminates nop padding in
many lambdas.
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
tenderlovemaking (Aaron Patterson)
10:53 PM Revision 589a8026 (git): fix ASAN errors
tenderlovemaking (Aaron Patterson)
09:37 PM Misc #17535: DevelopersMeeting20210216Japan
* [Feature #17291] Optimize `__send__` call (mrkn)
* [rspec-mocks](https://github.com/rspec/rspec-mocks) depends on redefining `__send__` to detect the form of the method call in a mock object.
* The mock object raises NoMethodErro...
mrkn (Kenta Murata)
04:26 PM Misc #17535 (Closed): DevelopersMeeting20210216Japan
# The next dev meeting
**Date: 2021/02/16 13:00-17:00**
Place/Sign-up/Agenda/Log: https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210216Japan.md
- Dev meeting *IS NOT* a decision-making place. All decisions ...
mame (Yusuke Endoh)
08:50 PM Feature #17528: Make Addrinfo.getaddrinfo fall back to Timeout.timeout for :resolv_timeout
I was just doing a similar test actually, I think you're correct! I'll close this issue and re-submit a patch to Net::HTTP to replace `Timeout::timeout` there, since it's not doing anything for DNS lookups anyway. Thank you! mohamedhafez (Mohamed Hafez)
05:50 PM Feature #17528: Make Addrinfo.getaddrinfo fall back to Timeout.timeout for :resolv_timeout
How to test:
```
% vi /etc/resolv.conf # specify non-existing nameserver
% time ./ruby -rtimeout -rsocket -e 'Timeout.timeout(2) { Addrinfo.getaddrinfo("www.ruby-lang.org",nil) }'
-e:1:in `getaddrinfo': execution expired (Time...
akr (Akira Tanaka)
04:05 PM Feature #17528: Make Addrinfo.getaddrinfo fall back to Timeout.timeout for :resolv_timeout
According to https://bugs.ruby-lang.org/issues/12435, the only reason we are using `Timeout.timeout` in `Net::HTTP#connect` instead of using nonblocking io and `IO.select` is so that we can place a timeout on the getaddrinfo function, @n... mohamedhafez (Mohamed Hafez)
07:06 PM Bug #17538 (Closed): Assertion failure when rincgc is turned off
[Pull request on GitHub](https://github.com/ruby/ruby/pull/4064).
When compiling with `-DUSE_RINCGC=0` (turn off rincgc) and `-DRGENGC_CHECK_MODE=1` (turn on assertions), there is an assertion error when running multiple ractors.
R...
peterzhu2118 (Peter Zhu)
05:35 PM Bug #17537: === on ranges of strings is not consistant with include?
It was intentional.
Before 2.6, `===` was using `include?` underneath, which had some undesirable consequences:
```ruby
case '2.5.2'
when '2.5'..'2.6'
puts "It is between 2.5 and 2.6"
else
puts "It is not"
end
```
This pr...
zverok (Victor Shepelev)
05:12 PM Bug #17537 (Closed): === on ranges of strings is not consistant with include?
Hi,
In Ruby up to 2.6 both `("1".."12").include?("6")` and `("1".."12") === "6"` were true. In 2.7 and 3.0, `include?` accepts `"6"`, but `===` does not. This was very handy in `case`s. Reading the documentation it is unclear to m...
akim (Akim Demaille)
04:47 PM Bug #17536: Segfault in `CFUNC :define_method`
This is part of the backtrace:
~~~
#0 lookup_method_table (id=349648, klass=93825096550280) at vm_method.c:690
#1 search_method (defined_class_ptr=<optimized out>, id=<optimized out>, klass=93825096550280) at vm_method.c:970
#2 ...
vo.x (Vit Ondruch)
04:41 PM Bug #17536 (Closed): Segfault in `CFUNC :define_method`
Trying to run test suite of `shoulda-matchers`, I observe the following issue:
~~~
... snip ...
if the given value is present in the store
/usr/share/gems/gems/actionpack-6.0.3.4/lib/action_dispatch/routing/route_set.rb...
vo.x (Vit Ondruch)
04:26 PM Misc #17480 (Closed): DevelopersMeeting20210113Japan
mame (Yusuke Endoh)
03:19 PM Bug #17517: File.expand_path returns us-ascii when both arguments are ascii compat
https://github.com/ruby/ruby/pull/4061 nobu (Nobuyoshi Nakada)
03:18 PM Feature #17407 (Closed): Fiber.current and require 'fiber'
Applied in changeset commit:git|521ad9a13aef1e1dae4eaff70d3e6b2e358aa095.
----------
Moved Fiber methods into core [Feature #17407]
nobu (Nobuyoshi Nakada)
06:52 AM Feature #17407: Fiber.current and require 'fiber'
I still think `Fiber.current` is not needed because `Fiber#transfer` is not easy feature to use.
However, Fiber scheduler is introduced and they can be utilize.
So I'm okay for nobu's PR.
ko1 (Koichi Sasada)
03:18 PM Revision 70cd351c (git): * 2021-01-14 [ci skip]
git[bot]
03:17 PM Revision 7f3c5e65 (git): mkmf.rb: remove exts.mk at distclean
nobu (Nobuyoshi Nakada)
02:46 PM Bug #17534 (Closed): Pattern-matching is broken with find pattern
The minimal reproduction code:
```ruby
case [1, 2, 3]
in y
puts "branch1"
in [*, x, *]
puts "branch2"
else
puts "branch3"
end
```
This outputs long "raw disasm" sequence, and then
```
---------------------
break_pm....
zverok (Victor Shepelev)
02:20 PM Revision 521ad9a1 (git): Moved Fiber methods into core [Feature #17407]
nobu (Nobuyoshi Nakada)
01:11 PM Bug #17533 (Closed): Named capture is not assigned to the same variable as reserved words.
Applied in changeset commit:git|0036648a420f945624898568bb82bc5f83195d12.
----------
Capture to reserved name variables if already defined [Bug #17533]
nobu (Nobuyoshi Nakada)
12:14 PM Bug #17533 (Closed): Named capture is not assigned to the same variable as reserved words.
It is expected that named captures don't add new variables same as reserved words, and such variables couldn't be made usually at the time when named capture was implemented.
Keyword arguments since 2.0 can be the same as reserved wor...
nobu (Nobuyoshi Nakada)
12:16 PM Revision 0036648a (git): Capture to reserved name variables if already defined [Bug #17533]
nobu (Nobuyoshi Nakada)
11:49 AM Bug #17429: Prohibit include/prepend in refinement modules
With https://bugs.ruby-lang.org/issues/17429#note-3 it would.
I think it makes sense adding such functionality at the same time as no longer allowing `include` for refinement modules.
Eregon (Benoit Daloze)
08:08 AM Bug #17429: Prohibit include/prepend in refinement modules
Calling include in refinement modules has certin use cases.
Here's an actual example.
https://github.com/tomykaira/rspec-parameterized/blob/v0.4.2/lib/rspec/parameterized/table_syntax.rb#L27-L61
This gem uses Module#include to avo...
matsuda (Akira Matsuda)
11:41 AM Feature #17485 (Closed): Keyword argument for timezone in Time.new
Applied in changeset commit:git|4b15caee8fe7a5aaa52ed5a3ab2a3517c9206fd7.
----------
Added `in:` timezone option to `Time.new` [Feature #17485]
nobu (Nobuyoshi Nakada)
09:37 AM Revision e9b93d67 (git): Positional and keyword arguments for timezone are exclusive
[Feature #17485] nobu (Nobuyoshi Nakada)
09:15 AM Revision 4b15caee (git): Added `in:` timezone option to `Time.new` [Feature #17485]
nobu (Nobuyoshi Nakada)
09:13 AM Bug #17523 (Closed): Inconsistent Warning[] values in scripts loaded by -r option
Applied in changeset commit:git|6f6dfdcc685077f0f85dcdd63843ecfc0f6fbfb6.
----------
Make warning values consistent [Bug #17523]
They should be affected, as well as `$VERBOSE`, by `-w`/`-W`
options, not only in the main script but in s...
nobu (Nobuyoshi Nakada)
09:13 AM Bug #17509 (Closed): Custom respond_to? methods in modules break defined?(super)
Applied in changeset commit:git|85b5d4c8bf4cdcba4f1af65f2bc0c8ac716cb795.
----------
Revert "[Bug #11213] let defined?(super) call respond_to_missing?"
This reverts commit fac2498e0299f13dffe4f09a7dd7657fb49bf643 for
now, due to [Bug #...
nobu (Nobuyoshi Nakada)
09:12 AM Revision 6f6dfdcc (git): Make warning values consistent [Bug #17523]
They should be affected, as well as `$VERBOSE`, by `-w`/`-W`
options, not only in the main script but in scripts loaded by `-r`
option too.
nobu (Nobuyoshi Nakada)
09:11 AM Revision 85b5d4c8 (git): Revert "[Bug #11213] let defined?(super) call respond_to_missing?"
This reverts commit fac2498e0299f13dffe4f09a7dd7657fb49bf643 for
now, due to [Bug #17509], the breakage in the case `super` is
called in `respond_to?`.
nobu (Nobuyoshi Nakada)
08:07 AM Revision 303533d2 (git): Avoid re-entering opt_invokebuiltin_delegate_leave
on interruption.
The cancellation code was originally written for leave insn, but re-entering
opt_invokebuiltin_delegate_leave insn on a cancellation is not safe, because
a builtin function is executed twice.
k0kubun (Takashi Kokubun)
08:07 AM Revision 98ca667b (git): Fixed a typo [Bug #17522]
xtkoba (Tee KOBAYASHI)
08:07 AM Revision 5b2a0fc6 (git): Fixed dangling imemo_tmpbuf
The count of rb_alloc_tmp_buffer_with_count is the allocation size
counted in VALUE size but not in the requested element size.
Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>
Co-authored-by: Koichi Sasada <ko1@atdot.net>
nobu (Nobuyoshi Nakada)
08:07 AM Revision 1614dd9f (git): expose some C-APIs for ractor
expose some C-APIs to try to make ractor utilities on external gems.
* add
* rb_ractor_local_storage_value_lookup() to check availability
* expose
* rb_ractor_make_shareable()
* rb_ractor_make_shareable_copy()
* rb_proc_isolate(...
ko1 (Koichi Sasada)
08:06 AM Revision b2beb858 (git): Make any hash values fixable [Bug #17488]
As hnum is an unsigned st_index_t, the result of RSHIFT may not be
in the fixable range.
Co-authored-by: NeoCat <neocat@neocat.jp>
nobu (Nobuyoshi Nakada)
08:06 AM Revision b93e16dc (git): enable constant cache on ractors
constant cache `IC` is accessed by non-atomic manner and there are
thread-safety issues, so Ruby 3.0 disables to use const cache on
non-main ractors.
This patch enables it by introducing `imemo_constcache` and allocates
it by every re-f...
ko1 (Koichi Sasada)
07:38 AM Bug #17504 (Closed): Allow UTC offset without colons per ISO-8601
Applied in changeset commit:git|9441f3f97087a4325ee80911859d37da41fa5050.
----------
Allow UTC offset without colons per ISO-8601 [Bug #17504]
nobu (Nobuyoshi Nakada)
07:37 AM Bug #17504: Allow UTC offset without colons per ISO-8601
Accepted.
Matz.
matz (Yukihiro Matsumoto)
07:37 AM Revision 9441f3f9 (git): Allow UTC offset without colons per ISO-8601 [Bug #17504]
nobu (Nobuyoshi Nakada)
07:10 AM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
matz (Yukihiro Matsumoto) wrote in #note-4:
> I am OK with introducing a way to get the limit. But I am strongly opposed to `$-B`. Any other idea?
If we are OK with this being a constant and not a variable, `RUBY_BACKTRACE_LIMIT`.
From...
jeremyevans0 (Jeremy Evans)
05:50 AM Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
I am OK with introducing a way to get the limit. But I am strongly opposed to `$-B`. Any other idea?
Matz.
matz (Yukihiro Matsumoto)
07:07 AM Feature #17330: Object#non
I don't see the `non` method make code more readable by glancing at the examples.
Can you elaborate on the benefit of the proposal?
Matz.
matz (Yukihiro Matsumoto)
06:30 AM Feature #16806: Struct#initialize accepts keyword arguments too by default
I am OK with 3.1 to warn, 3.2 to change.
Matz.
matz (Yukihiro Matsumoto)
06:29 AM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
As of #15743, it was made clear that `RubyVM` means CRuby specific module (OK? @eregon). I am OK with renaming it `JIT` (or not).
So it's totally up to @k0kubun.
In addition, I don't think we need a migration path for this internal f...
matz (Yukihiro Matsumoto)
06:09 AM Revision 30a35420 (git): [ruby/ostruct] Bump version
Marc-Andre Lafortune
06:05 AM Feature #17327: The Queue constructor should take an initial set of items
I accept the idea. Take `Enumerable` as initial values.
Matz.
matz (Yukihiro Matsumoto)
05:47 AM Feature #17496: Add constant Math::TAU
universato (Yoshimine Sato) wrote in #note-31:
> FYI
> ...
Thank you! This is the first time I actually see the practical use of this constant.
shyouhei (Shyouhei Urabe)
05:42 AM Feature #16989: Sets: need ♥️
I agree with adding `Set` by default. But no set literals nor `SortedSet` at the moment.
Matz.
matz (Yukihiro Matsumoto)
03:31 AM Feature #16989: Sets: need ♥️
I'm sorry, I am completely confused by this discussion, I can't make sense of it.
From what I read:
```ruby
set = {:a, :b, :c} # or whatever notation is used
set.class # => Hash ???
set[:a] # => Hash::SetDummy ???
set[:elem] = ...
marcandre (Marc-Andre Lafortune)
01:48 AM Feature #16989: Sets: need ♥️
knu (Akinori MUSHA) wrote in #note-29:
> For example, a program that goes `hash = {}; hash << 1; hash[:key] = :value` would likely be a mistake, but that couldn't be easily detected without explicit type annotation.
Well, even with t...
knu (Akinori MUSHA)
01:26 AM Feature #16989: Sets: need ♥️
I don't like the idea of making `array & hash` possible, as that would go against the trends of making Ruby type-friendly and error-prone.
akr (Akira Tanaka) wrote in #note-25:
> - define a special constant (Hash::DummyValue = Object...
knu (Akinori MUSHA)
01:26 AM Feature #16989: Sets: need ♥️
akr (Akira Tanaka) wrote in #note-25:
> - Hash#each doesn't work well as Set but we can use Hash#each_key.
To be fair, "Hash#each doesn't work well" means Enumerable methods doesn't work well.
`enum_for(:each_key)` can be used as ...
akr (Akira Tanaka)
12:13 AM Feature #16989: Sets: need ♥️
marcandre (Marc-Andre Lafortune) wrote in #note-26:
> I still don't see the benefit of not simply having `Set` in core.
One direction that distinguishes Ruby from some other programming languages is big classes. A typical example is ...
duerst (Martin Dürst)
04:30 AM Revision 65787f18 (git): Typo fixes [doc]
Marc-Andre Lafortune
04:29 AM Revision f48edc28 (git): Fix method protection for modules in the ancestry chain.
[Fixes ruby/ostruct#23] Marc-Andre Lafortune
04:28 AM Revision 75212f2f (git): Update wording in ractor.md (#4056) [doc]
adampog (Adam Pogwizd)
03:50 AM Bug #17532 (Closed): Remove `"` from `regstr` arguments in `vm_dump.c`
Applied in changeset commit:git|d8fb0bca5475d62731ba871adf344fef88f62bbf.
----------
Removed excess stringizations on regstr [Bug #17532]
nobu (Nobuyoshi Nakada)
02:17 AM Bug #17532 (Closed): Remove `"` from `regstr` arguments in `vm_dump.c`
On AArch64 Linux, a machine register dump is printed as follows:
```
-- Machine register context ------------------------------------------------
"x0: 0x0000000000000000 "x1: 0x000000000000000b "x2: 0x0000000000000000
"x3: 0x534547...
xtkoba (Tee KOBAYASHI)
03:47 AM Revision d8fb0bca (git): Removed excess stringizations on regstr [Bug #17532]
nobu (Nobuyoshi Nakada)
03:16 AM Bug #17162 (Closed): Dir['**/*'] : stack smashing detected when listing big amount of directories
Applied in changeset commit:git|083c5f08ec4e95c9b75810d46f933928327a5ab3.
----------
Check stack overflow in recursive glob_helper [Bug #17162]
nobu (Nobuyoshi Nakada)
03:16 AM Revision 083c5f08 (git): Check stack overflow in recursive glob_helper [Bug #17162]
nobu (Nobuyoshi Nakada)
02:49 AM Revision a5b4b806 (git): [ruby/bigdecimal] Allow digits=0 in BigDecimal(flt) and Float#to_d
Using dtoa of mode=0, we can determine the number of digits in decimal that is
necessary to represent the given Float number without errors.
This change permits digits=0 in BigDecimal(flt) and Float#to_d, and these
methods use dtoa of m...
Kenta Murata
02:27 AM Revision 30f13164 (git): Skip test when UDP server is no response.
hsbt (Hiroshi SHIBATA)
01:24 AM Feature #17097: `map_min`, `map_max`
https://github.com/crystal-lang/crystal/pull/365
In Crystal language, these proposed methods are called `max_of`, `min_of`.
Note: Crystal has `max`, `max_by`, `max_of`.
This feature may not be innovative, but I think many Ruby users...
universato (Yoshimine Sato)
12:36 AM Revision 0a4f719a (git): Update ext/bigdecimal/depend
Kenta Murata
12:08 AM Revision 28321e40 (git): Update ext/bigdecimal/depend
Kenta Murata
 

Also available in: Atom