Project

General

Profile

Activity

From 12/16/2020 to 12/22/2020

12/22/2020

10:28 PM Bug #17427 (Rejected): Hash getting multiple identical keys
This code is broken:
```ruby
if states.map(&:hash).uniq.size < states.size
```
The result of `hash` does not have to be unique. Two different objects can have the same `hash` value without problems. The invariant is that if two...
jeremyevans0 (Jeremy Evans)
09:31 PM Bug #17427 (Rejected): Hash getting multiple identical keys
I have a situation where a hash (contained within a Set) seems to get duplicate keys. I've had some difficulty reproducing the issue in a minimal fashion, but I have a 175-ish-line program that runs it. (Just for context, if you want to ... amcaplan (Ariel Caplan)
10:20 PM Revision 74a3569b (git): NEWS: fix typos and grammar
stomar (Marcus Stollsteimer)
09:06 PM Revision 841d22ea (git): [ruby/reline] [ruby/irb] Handle multiple newlines in a token correctly
Co-authored-by: manga_osyo <manga.osyo@gmail.com>
Co-authored-by: ima1zumi <mariimaizumi5@gmail.com>
https://github.com/ruby/irb/commit/c59a9be82f
https://github.com/ruby/reline/commit/a7922da16b
aycabta (aycabta .)
09:06 PM Revision be5faa25 (git): [ruby/irb] Make it possible to use measure even if it is installed as gem
Include the file that implements this command in the irb gem.
Co-Authored-By: scivola <scivola@users.noreply.github.com>
https://github.com/ruby/irb/commit/d8dfea5b57
elim (Takeru Naito)
08:49 PM Revision 32849dc1 (git): fiddle: Update to 1.0.5
Sutou Kouhei
07:05 PM Misc #17399: Are endless methods experimental?
@mame My concern is not "we should warn" (or "we shouldn't warn") about experimental features, but about consistency. It seems that since 2.7, when warning categories and first experimental warnings were introduced, it became an ad-hoc r... zverok (Victor Shepelev)
01:56 AM Misc #17399: Are endless methods experimental?
"Experimental" means to me "we are a little more flexible against any feedback". We will make reasonable efforts to keep compatibility of any language feature that is once released, even if it is experimental. For example, we will not re... mame (Yusuke Endoh)
06:48 PM Revision 228fa3ac (git): NEWS: Mention deprecation warnings not being shown by default
Marc-Andre Lafortune
06:48 PM Revision fd745cc9 (git): NEWS: group keyword arguments related items together
Marc-Andre Lafortune
06:48 PM Revision 5a6d27fe (git): NEWS: combine $SAFE and $KCODE, move lower
Marc-Andre Lafortune
06:48 PM Revision 1bd7427f (git): NEWS: move error handling at end of section
Marc-Andre Lafortune
06:27 PM Revision f1591b38 (git): Add verbose nil in testing
dsh0416 (Delton Ding)
06:27 PM Revision c6d7e02b (git): Enable `Fiber.current` and `Fiber#alive?` call inside ractor
dsh0416 (Delton Ding)
05:37 PM Revision 48735587 (git): * 2020-12-23 [ci skip]
git[bot]
05:37 PM Revision b222a1a4 (git): Fix a message in example code
Thanks to @zverok for the report. ktsj (Kazuki Tsujimoto)
05:31 PM Revision 31b17a14 (git): Make NoMatchingPatternError a subclass of StandardError
ktsj (Kazuki Tsujimoto)
04:25 PM Bug #17426: method_missing can't override kernel#system method anymore
If you want to intercept `system` on both, you can use `undef` or `undef_method`.
```ruby
class Klass
undef_method :system
end
```
znz (Kazuhiro NISHIYAMA)
03:53 PM Bug #17426 (Rejected): method_missing can't override kernel#system method anymore
This is expected. From NEWS-2.7.0:
```
* Calling a private method with a literal +self+ as the receiver
is now allowed. [Feature #11297] [Feature #16123]
```
Because you are allowed to call private methods when using self in ...
jeremyevans0 (Jeremy Evans)
02:45 PM Bug #17426 (Rejected): method_missing can't override kernel#system method anymore
Hello,
It seems like I found a behavior change on the way method missing is working on Ruby 2.7.2 in comparison with 2.6.6.
`method_missing` can't intercept call to a method called `system`.
The following code help reproducing the...
freiden (charles fd)
02:51 PM Bug #17405 (Closed): irb ---nomultiline gets exception when output contains some non-ascii characters
Applied in changeset commit:git|299f5708a2274d069c624073ca3958f8625faf35.
----------
[ruby/reline] Fixed an exception occurred when ambiguous width character was passed to `#calculate_width` [Bug #17405]
https://github.com/ruby/reline/...
ima1zumi (Mari Imaizumi)
09:28 AM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
hi.
This error is caused by [calling `Reline::Unicode.calculate_width` in `irb`](https://github.com/ruby/irb/blob/ae91f7ac13a97e2ce8bc7524aea279e797a3ba27/lib/irb.rb#L784).
`Reline::Unicode.calculate_width` should be initialized with...
osyo (manga osyo)
02:45 PM Revision 53510d1e (git): [ruby/reline] [ruby/reline] Remove unused `attr_writer`
https://github.com/ruby/reline/commit/ecdc1b7116
https://github.com/ruby/reline/commit/a7922da16b
ima1zumi (Mari Imaizumi)
02:45 PM Revision 299f5708 (git): [ruby/reline] Fixed an exception occurred when ambiguous width character was passed to `#calculate_width` [Bug #17405]
https://github.com/ruby/reline/commit/f79b4c857f ima1zumi (Mari Imaizumi)
02:45 PM Revision b52bc4a9 (git): [ruby/reline] Support isearch-terminators
https://github.com/ruby/reline/commit/a7922da16b aycabta (aycabta .)
02:45 PM Revision 294552ca (git): [ruby/reline] Render refreshed prompt just after i-search finished
https://github.com/ruby/reline/commit/0d3188fe34 aycabta (aycabta .)
02:45 PM Revision 0b14abe8 (git): [ruby/irb] Suppress "shadowing outer" warning
https://github.com/ruby/irb/commit/27b149c599 aycabta (aycabta .)
02:45 PM Revision fbcdcbff (git): [ruby/irb] Version 1.2.9
https://github.com/ruby/irb/commit/9668e5fe6b aycabta (aycabta .)
02:45 PM Revision 4131cd05 (git): [ruby/irb] Support arg for measure command
https://github.com/ruby/irb/commit/b43f35d8f3 aycabta (aycabta .)
02:45 PM Revision 47b26795 (git): [ruby/irb] Change variables handling for compatibility
https://github.com/ruby/irb/commit/26fd1a75cf aycabta (aycabta .)
02:44 PM Bug #17425: Ripper.lex raises unexpected error
https://github.com/ruby/ruby/pull/3977 nobu (Nobuyoshi Nakada)
10:02 AM Bug #17425 (Closed): Ripper.lex raises unexpected error
```
$ cat /tmp/l.rb
require "ripper"
pp Ripper.lex("def foo(arg1?:) end")
$ ./ruby -v /tmp/l.rb
ruby 3.0.0dev (2020-12-22T08:12:51Z master f2f00e24fa) [x86_64-linux]
/var/tmp/git/ruby/ruby/.local/lib/ruby/3.0.0/ripper/lexer.rb:19...
no6v (Nobuhiro IMAI)
02:32 PM Revision cae8bbfe (git): pp is ractor-ready.
`@sharing_detection` is only one obstruction to support pp on
non-main ractors, so make it ractor-local.
ko1 (Koichi Sasada)
12:51 PM Revision 034c19ce (git): Merge json-2.5.1
hsbt (Hiroshi SHIBATA)
12:45 PM Revision 9b9cbbbc (git): Update library versions of the default gems.
They are followed up with
https://github.com/ruby/ruby/commit/8fb02b7a97317090e3946e6f2d4a7d034f9699f1
hsbt (Hiroshi SHIBATA)
12:41 PM Revision 96b88167 (git): Import set 1.0.1
- Eliminate warnings
- Convert rdoc to markdown
Akinori MUSHA
11:55 AM Revision f08cbdbf (git): Move the library to extensions for some of default gems
hsbt (Hiroshi SHIBATA)
11:49 AM Bug #16658: `method__cache__clear` DTrace hook was dropped without replacement
Could this be fixed prior Ruby 3.0 release please? vo.x (Vit Ondruch)
10:51 AM Revision 93a56a5e (git): Update fiber scheduler documentation.
Samuel Williams
10:44 AM Revision edb76e87 (git): Prepare to release json-2.5.0
hsbt (Hiroshi SHIBATA)
09:01 AM Bug #17424 (Rejected): Interactive Ruby で Object#method を再定義して任意の文字を入力するとエラーが発生する
# 再現方法
Interactive Ruby で以下を入力した後に任意の文字を入力する。
``` ruby
def method
end
```
# 再現方法から得られた結果
```
Traceback (most recent call last):
33: from /Users/ishii/.rbenv/versions/2.7.2/bin/irb:23:in `<main>'
32: from /Users/ishii/.rbenv/v...
tommy.ish (智大 石井)
08:12 AM Revision f2f00e24 (git): [ruby/date] Make Ractor-compatible
Marc-Andre Lafortune
08:12 AM Revision ee102de6 (git): [ruby/date] Deep-freeze internal constants.
Probably not strictly necessary, but good principle anyways. Marc-Andre Lafortune
07:18 AM Revision 7fbad922 (git): rb_cData: no longer exists
Commit 8918a9cf6c65409ae1ffcdea324a1b97c6e5bb70 introduced macro
`#define rb_cData rb_cData()`. This deleting `VALUE rb_cData;`
declaration was then macro-expanded into `VALUE rb_cData();`. This
worked by accident because the expanded ...
shyouhei (Shyouhei Urabe)
06:44 AM Bug #17389: New docs for non-blocking Fibers and scheduler
@matz, can you please look into this question?
@ioquatix have updated `scheduler.md`→`fiber.md` in https://github.com/ruby/ruby/pull/3965/files, where it now looks like a generic `Fiber` class docs, but I still believe the docs should...
zverok (Victor Shepelev)
06:25 AM Revision 7898bc92 (git): rb_cCont: no longer exists
Deleted well over a decade ago in commit 977d66ec993b0f1892fb3e4cd8ac. shyouhei (Shyouhei Urabe)
06:07 AM Revision 15b81edd (git): MJIT is enabled whenever an MJIT header is used
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=4 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-22T05:16:39Z master 692af8e8f8) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (202...
k0kubun (Takashi Kokubun)
05:42 AM Revision 95acd3c0 (git): Sync did_you_mean
yuki24 (Yuki Nishijima)
05:16 AM Revision 692af8e8 (git): Prefer stdbool in vm_exec
Make the code a bit modern and consistent with some other places. k0kubun (Takashi Kokubun)
05:09 AM Bug #17408: Fiber.backtrace returns [] when unavailable, unlike Thread
ioquatix (Samuel Williams) wrote in #note-3:
> > should be nil
> ...
Right. Doc does call `resume` but not this issue. Correct code should read:
```ruby
f = Fiber.new{}
f.resume
f.backtrace # => currently [] (should be nil)
```
marcandre (Marc-Andre Lafortune)
04:11 AM Bug #17408: Fiber.backtrace returns [] when unavailable, unlike Thread
> should be nil
when the fiber is dead.
ioquatix (Samuel Williams)
02:07 AM Bug #17408 (Closed): Fiber.backtrace returns [] when unavailable, unlike Thread
Applied in changeset commit:git|d0050edb84e9c3ba99946e08325e168deb741e28.
----------
Update Fiber#backtrace doc [See bug #17408]
Anonymous
02:03 AM Bug #17408: Fiber.backtrace returns [] when unavailable, unlike Thread
Good catch.
@ioquatix confirms it should be `nil` and is looking into it.
I'll update the doc.
marcandre (Marc-Andre Lafortune)
05:05 AM Revision 03f2b093 (git): NEWS.md: fix the format
mame (Yusuke Endoh)
04:52 AM Feature #17116 (Closed): raise ArgumentError in Enumerator#new in no given blocks
Applied in changeset commit:git|fa356a798aefc20725467d4fad02df8325d63e71.
----------
Enumerator.new: raise unless block given
Has been deprecated since c73b6bd7ebd01133538c645566944132dbde4d13.
[Feature #17116] [ruby-dev:50945]
shyouhei (Shyouhei Urabe)
04:52 AM Revision fee2913d (git): Struct::Tms: delete
Has been deprecated since 44c53ee473d3b3973cb5c3ce03fbf4f280fd75ff. shyouhei (Shyouhei Urabe)
04:52 AM Revision fa356a79 (git): Enumerator.new: raise unless block given
Has been deprecated since c73b6bd7ebd01133538c645566944132dbde4d13.
[Feature #17116] [ruby-dev:50945]
shyouhei (Shyouhei Urabe)
03:59 AM Revision 7204b81b (git): fix to use rb_ractor_id()
Catch up recent changes on USE_RUBY_DEBUG_LOG=1. ko1 (Koichi Sasada)
03:46 AM Revision 2e1cdf36 (git): add a NEWS entry about ractor C API
ko1 (Koichi Sasada)
03:26 AM Revision be9b5553 (git): Add entries for set 1.0.0
Akinori MUSHA
03:20 AM Revision 3fa4bd82 (git): Import set 1.0.0
- SortedSet has been removed for dependency and performance reasons.
- Set#join is added as a shorthand for `.to_a.join`.
- Set#<=> is added.
https://github.com/ruby/set/blob/v1.0.0/CHANGELOG.md
Akinori MUSHA
03:17 AM Revision 63b872c4 (git): Prepare for importing the set gem
Akinori MUSHA
02:41 AM Bug #17417: Rails CI gets `SystemStackError: stack level too deep` since cee02d754d76563635c1db90d2ab6c01f8492470
I have confirmed 520dcbd6009b07458d67309ae33a602d77062975 addresses `SystemStackError: stack level too deep` errors. Thanks for the quick fix. yahonda (Yasuo Honda)
12:23 AM Bug #17417: Rails CI gets `SystemStackError: stack level too deep` since cee02d754d76563635c1db90d2ab6c01f8492470
The issue was fixed at 520dcbd6009b07458d67309ae33a602d77062975. @yahonda, could you please try it and let us know if any error still occurs? Thanks! mame (Yusuke Endoh)
02:33 AM Bug #17423: `Prepend` should prepend a module before the class
This stems from the change that `Module#prepend` (and `Module#include`) now affect classes already including the receiver. You get the same behavior for Ruby 2.0-3.0 if you prepend `M` to `A` before including `A` in `B`:
```ruby
module...
jeremyevans0 (Jeremy Evans)
01:56 AM Bug #17423 (Closed): `Prepend` should prepend a module before the class
I see
```ruby
module M; end
module A; end
class B; include A; end
A.prepend M
B.prepend M
p B.ancestors
```
gives `[B, M, A, Object, Kernel, BasicObject]` now. It used to be `[M, B, A, Object, Kernel, BasicObject]`.
I t...
matz (Yukihiro Matsumoto)
02:07 AM Revision d0050edb (git): Update Fiber#backtrace doc [See bug #17408]
Marc-Andre Lafortune
12:22 AM Revision 843fd1e8 (git): Document Fiber#backtrace and #backtrace_locations
zverok (Victor Shepelev)
12:22 AM Revision 816bbfdc (git): Document Proc#==
zverok (Victor Shepelev)
12:22 AM Revision 861dbd95 (git): Random instance methods
zverok (Victor Shepelev)
12:22 AM Revision 4728c0d9 (git): Add Symbol#name and freezing explanation to #to_s
zverok (Victor Shepelev)
12:11 AM Bug #17419: `binding.eval` backtrace differente
Replacing `b.eval(src)` with `b.eval(src, *b.source_location)` will solve the issue.
However, #4352 focused on only `Kernel#eval`. I was not aware about the behavior change of `Binding#eval`. I've just added an explanation to NEWS.md ...
mame (Yusuke Endoh)
12:04 AM Revision 4a18cc7f (git): NEWS.md: mention the behavior change of Binding#eval
[Bug #17419] mame (Yusuke Endoh)

12/21/2020

11:56 PM Revision 91773ddd (git): Remove debugging code
Marc-Andre Lafortune
11:08 PM Revision 831f7850 (git): [DOC] Fix typo in Ractor.make_shareable documentation.
nagachika (Tomoyuki Chikanaga)
11:04 PM Bug #17417 (Closed): Rails CI gets `SystemStackError: stack level too deep` since cee02d754d76563635c1db90d2ab6c01f8492470
nobu (Nobuyoshi Nakada)
02:53 PM Bug #17417 (Closed): Rails CI gets `SystemStackError: stack level too deep` since cee02d754d76563635c1db90d2ab6c01f8492470
I understand there are some concerns that issues opened without a minimum test case using pure Ruby without using frameworks like Rails. It would be appreciated if someone taking a look at this issue when Ruby 3.0 release is around the c... yahonda (Yasuo Honda)
10:52 PM Revision a29b9e5e (git): Remvoed no longer needed version guards
nobu (Nobuyoshi Nakada)
10:50 PM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
aycabta (aycabta .) wrote in #note-3:
> @rsharman and @marcandre, would you show me the result of `irb_info` command in IRB and what terminal emulator you are using?
```
irb(main):001:0> irb_info
=>
Ruby version: 3.0.0
IRB version: irb ...
marcandre (Marc-Andre Lafortune)
08:39 PM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
And, does https://github.com/ruby/reline/pull/224 resolve the problem? I can't reproduce in my environment... aycabta (aycabta .)
08:35 PM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
@rsharman and @marcandre, would you show me the result of `irb_info` command in IRB and what terminal emulator you are using? aycabta (aycabta .)
03:17 AM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
I can reproduce on `master`. Maybe platform dependent?
Hopefully @aycabta will figure something out...
```
$ ruby -v
ruby 3.0.0dev (2020-12-21T02:23:01Z master ac78d90d5e) [x86_64-darwin18]
$ irb --nomultiline
irb(main):001:0> ...
marcandre (Marc-Andre Lafortune)
02:09 AM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
Thank you for your notice.
However, this bug has already been fixed in the latest version.
```
❯ bin/console --nomultiline
irb(main):002:0> Reline::VERSION
=> "0.1.10"
irb(main):003:0> source 'test.rb'
test.rb(main):004:0> # cod...
ima1zumi (Mari Imaizumi)
10:27 PM Bug #17421: Enumerable uses overridden classes in examples
jeremyevans0 (Jeremy Evans) wrote in #note-3:
> burdettelamar@yahoo.com (Burdette Lamar) wrote in #note-2:
> ...
Agreed.
burdettelamar@yahoo.com (Burdette Lamar)
10:22 PM Bug #17421: Enumerable uses overridden classes in examples
burdettelamar@yahoo.com (Burdette Lamar) wrote in #note-2:
> @jeremyevans0, I am not aware of any such, but have not checked. I am also not aware of any difference in the call-seqs for Enumerable and an overrider, buy have not checked....
jeremyevans0 (Jeremy Evans)
09:34 PM Bug #17421: Enumerable uses overridden classes in examples
@jeremyevans0, I am not aware of any such, but have not checked. I am also not aware of any difference in the call-seqs for Enumerable and an overrider, buy have not checked. burdettelamar@yahoo.com (Burdette Lamar)
09:18 PM Bug #17421: Enumerable uses overridden classes in examples
Are there any cases where the results in the example code given in the Enumerable documentation would change if the related method was removed from the classes so that the Enumerable implementation is used? jeremyevans0 (Jeremy Evans)
09:07 PM Bug #17421 (Closed): Enumerable uses overridden classes in examples
Some method documentation in module Enumerable shows examples that cite overridden methods.
For example, method #all? is overridden in Array, but all the #all? examples in Enumerable use Arrays:
```
%w[ant bear cat].all? { |word| ...
burdettelamar@yahoo.com (Burdette Lamar)
10:21 PM Misc #17422 (Closed): 3.0 documentation problems tracking ticket
A meta-ticket for tracking all documentation problems with 3.0's new features (which hopefully should be fixed before the release). I plan to work on those myself, but I have only so much time, so the help would be appreciated.
* Miss...
zverok (Victor Shepelev)
09:09 PM Revision c34c6a89 (git): fix ractor's doc. [ci skip]
ko1 (Koichi Sasada)
09:09 PM Revision 520dcbd6 (git): reset cache before iterating
cee02d754d76563635c1db90d2ab6c01f8492470 resets pCMC and `me`
will be a invalidated and continuing the invalidated `me`,
it will break the data structure. This patch tris to clear
all methods of specified class before manipulating the `m...
ko1 (Koichi Sasada)
08:58 PM Feature #17323 (Closed): Ractor::LVar to provide ractor-local storage
Traditional style `Ractor#[]/#[]=` are introduced.
35471a948739ca13b85fe900871e081d553f68e6
ko1 (Koichi Sasada)
08:57 PM Feature #17418: Add `Ractor.main?` and `Ractor.main`
`Thread.main` is provided, so I think there is no problem to introduce `Ractor.main`.
If we find an issue about it, consider to remove it.
ko1 (Koichi Sasada)
08:54 PM Feature #17418 (Closed): Add `Ractor.main?` and `Ractor.main`
Applied in changeset commit:git|d0e4ccbefcdd6032d0ae70bc54c9a4fb55d92576.
----------
add Ractor.main
It returns main Ractor, like Thread.main.
[Feature #17418]
ko1 (Koichi Sasada)
04:25 PM Feature #17418 (Closed): Add `Ractor.main?` and `Ractor.main`
Since main Ractor is special, it seems useful to have an easy way to check if the current ractor is the main ractor.
```ruby
Ractor.main? # => true
Ractor.new { Ractor.main? }.take # => false
```
As far as I know, a gem could be...
marcandre (Marc-Andre Lafortune)
08:54 PM Revision d0e4ccbe (git): add Ractor.main
It returns main Ractor, like Thread.main.
[Feature #17418]
ko1 (Koichi Sasada)
08:26 PM Revision 35471a94 (git): add Ractor#[]/#[]= for ractor local storage
This API is similar to plain old Thread#[]/Fiber#[] interface
with symbol key.
ko1 (Koichi Sasada)
08:20 PM Bug #16974 (Closed): frozen string issue in lib/reline/ansi.rb on ruby-2.7.1
jeremyevans0 (Jeremy Evans) wrote in #note-2:
> The current pull request for this is at https://github.com/ruby/reline/pull/122
This is merged. Thank you for the reporting.
aycabta (aycabta .)
07:41 PM Misc #17399: Are endless methods experimental?
I guess the discussion here may be more what exactly "experimental" means, similar
to what people expect a "constant" to be (non-changable, but if you come from
the point of view of ruby's philosophy then it makes sense to be able to c...
shevegen (Robert A. Heiler)
06:41 PM Misc #17399: Are endless methods experimental?
I once tried to make the point that if something is experimental it needs to warn, otherwise users in practice will consider it stable in #15966, but yes that seems a lost cause...
I guess we can reject based on "experimental sometime...
Eregon (Benoit Daloze)
03:07 PM Misc #17399: Are endless methods experimental?
@mame OK. That's kinda weird for me (that some EXPERIMENTAL features are warned as such, and others aren't), but if this is the official policy, let it be so.
In 3.0, one-line pattern matching is experimental and warns, Ractors are e...
zverok (Victor Shepelev)
03:00 PM Misc #17399: Are endless methods experimental?
I agree with @mame. I just "rediscovered" refinements this year 😅
Experimental features are typically new features. One needs to read the doc for new features. Experimental warning best put there.
Have we considered a `:experimenta...
marcandre (Marc-Andre Lafortune)
01:13 PM Misc #17399: Are endless methods experimental?
Note that there is no consensus that a warning should be printed when any experimental features are used. As far as I understand, the reason why pattern matching prints a warning is just because the author, @ktsj, is an attentive person.... mame (Yusuke Endoh)
11:13 AM Misc #17399: Are endless methods experimental?
@matz I believe we need a final decision ASAP.
Either the feature is experimental and should warn so (it still does not, as of `ruby 3.0.0dev (2020-12-21T09:17:45Z master d84dd66da0)`), or the `[EXPERIMENTAL]` notice should be removed...
zverok (Victor Shepelev)
07:12 PM Bug #17419 (Closed): `binding.eval` backtrace differente
This change is expected, see #4352. jeremyevans0 (Jeremy Evans)
07:10 PM Bug #17419: `binding.eval` backtrace differente
I think this is an intended change; it was explained via a link
to a comment in another issue (I think by mame or someone else,
where matz commented on reverting the behaviour). If I remember
the reason, the changed backtrace confused...
shevegen (Robert A. Heiler)
05:38 PM Bug #17419 (Closed): `binding.eval` backtrace differente
Can somebody elaborate why there is different output for Ruby 2.7 vs Ruby 3.0?
~~~
$ ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
$ ruby -e ' ...
vo.x (Vit Ondruch)
06:31 PM Bug #17420 (Closed): Unsafe mutation of $" when doing non-RubyGems require in Ractor
With an empty file `a.rb`:
```
$ ruby --disable-gems -e 'Ractor.new { puts $" }.take'
-e:1:in `block in <main>': can not access global variables $" from non-main Ractors (RuntimeError)
```
That is expected, given the rules for globa...
Eregon (Benoit Daloze)
06:31 PM Revision 8f2031a0 (git): Ractor#to_s as #inspect
Marc-Andre Lafortune
05:56 PM Bug #14541 (Closed): Class variables have broken semantics, let's fix them
ko1 (Koichi Sasada) wrote in #note-32:
> Why not `NameError` instead of `RuntimeError`?
Matz answered that "the name is not wrong, so NameError is not for this purpose".
Also he thought RuntimeError is still strange, but there is no...
ko1 (Koichi Sasada)
05:51 PM Revision 8918a9cf (git): Removed rb_cData entity
* Use the wrapper of rb_cObject instead of data access
* Replaced rest of extentions
* Updated the version guard for Data
* Added the version guard of rb_cData
nobu (Nobuyoshi Nakada)
05:51 PM Revision c30f03d3 (git): Data: delete
Has been deprecated since 684bdf6171b76f5bc5e4f05926a5ab01ec2b4fd5.
Matz says in [ruby-core:83954] that Data should be an alias of Object.
Because rb_cData has not been deprecated, let us deprecate the constant
to make it a C-level syno...
shyouhei (Shyouhei Urabe)
05:47 PM Feature #17393: `Ractor::Moved#inspect`
Try it on 3.1, not 3.0. ko1 (Koichi Sasada)
05:08 PM Revision 5c0abe2d (git): Update documentation for pattern matching
ktsj (Kazuki Tsujimoto)
04:17 PM Misc #17337: Don't embed Ruby build-time configuration in Ruby
I was told about this bug on freenode#ruby
It maybe related to my recent problem with installing pg gem on ruby 2.7.2
gem_make.out - https://paste.ubuntu.com/p/s6YD8C5yqS/
mkmf.log - https://paste.ubuntu.com/p/BKTVvdkJt6/
...
webzorg (Lasha Abulashvili)
03:56 PM Feature #17414: Ractor should allow access to shareable attributes for Modules/Classes
marcandre (Marc-Andre Lafortune) wrote in #note-2:
> Using `yaml/psych` should be doable easily in multiple Ractors, right?
Ideally, but I guess there might be many issues with existing gems and the restrictions of Ractor.
> ...
I...
Eregon (Benoit Daloze)
02:56 PM Feature #17414: Ractor should allow access to shareable attributes for Modules/Classes
Eregon (Benoit Daloze) wrote in #note-1:
> Sounds a bit to me like a case where Thread makes more sense than Ractor
I am not sure I understand your point of view.
Using `yaml/psych` should be doable easily in multiple Ractors, right?
...
marcandre (Marc-Andre Lafortune)
10:46 AM Feature #17414: Ractor should allow access to shareable attributes for Modules/Classes
Sounds a bit to me like a case where Thread makes more sense than Ractor (and they are far more compatible with existing code).
Wanting to mutate global state is explicitly against the principle of (recent) actor models, isn't it?
(e...
Eregon (Benoit Daloze)
01:55 AM Feature #17414 (Closed): Ractor should allow access to shareable attributes for Modules/Classes
Current situation is *very* limiting.
Use-case: global config.
Example: [yaml has a global config](https://github.com/ruby/psych/blob/master/lib/psych.rb#L637-L640) and it's not clear to me how to make that Ractor-aware (nicely).
...
marcandre (Marc-Andre Lafortune)
03:35 PM Bug #17415 (Closed): IO read gets blocked with Fiber Scheduler on Windows
jeremyevans0 (Jeremy Evans)
12:15 PM Bug #17415: IO read gets blocked with Fiber Scheduler on Windows
zverok (Victor Shepelev) wrote in #note-3:
> https://docs.ruby-lang.org/en/master/doc/scheduler_md.html#label-IO
> ...
Ah. I tested it again with UDPSocket, and everything works fine. It looks like it is the problem mentioned in the sc...
dsh0416 (Delton Ding)
12:04 PM Bug #17415: IO read gets blocked with Fiber Scheduler on Windows
https://docs.ruby-lang.org/en/master/doc/scheduler_md.html#label-IO
> By default, I/O is non-blocking. Not all operating systems support non-blocking I/O. Windows is a notable example where socket I/O can be non-blocking but pipe I/O ...
zverok (Victor Shepelev)
11:55 AM Bug #17415 (Closed): IO read gets blocked with Fiber Scheduler on Windows
Here is the given example code for reproduction the bug:
```ruby
rd, wr = IO.pipe
scheduler = Evt::Scheduler.new # Any scheduler including the test scheduler in the ruby repo could reproduce the same problem.
message = nil
Fiber...
dsh0416 (Delton Ding)
03:03 PM Revision 208f7d7c (git): * 2020-12-22 [ci skip]
git[bot]
03:03 PM Revision 02d9524c (git): separate rb_ractor_pub from rb_ractor_t
separate some fields from rb_ractor_t to rb_ractor_pub and put it
at the beggining of rb_ractor_t and declare it in vm_core.h so
vm_core.h can access rb_ractor_pub fields.
Now rb_ec_ractor_hooks() is a complete inline function and no
MJ...
ko1 (Koichi Sasada)
03:03 PM Revision a2950369 (git): TracePoint.new(&block) should be ractor-local
TracePoint should be ractor-local because the Proc can violate the
Ractor-safe.
ko1 (Koichi Sasada)
02:45 PM Revision c7a5cc2c (git): Replaced magic numbers tr table
nobu (Nobuyoshi Nakada)
02:42 PM Revision 84eebb3c (git): On Solaris, _XOPEN_SOURCE should be undefined for C++ sources.
ngoto (Naohisa Goto)
02:28 PM Revision 91e2f08a (git): export rb_eRactorIsolationError for MJIT
https://ci.appveyor.com/project/ruby/ruby/builds/36942168/job/7ugrpk0pndoly9wp
```
_ruby_mjit_p11920u0.c
C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.c(14) : warning C4005: 'GET_SELF' : macro redefinition
c:\project...
ko1 (Koichi Sasada)
01:46 PM Feature #16816: Prematurely terminated Enumerator should stay terminated
I'd like to try working on this fix: is it possible? jbeschi (jacopo beschi)
01:41 PM Revision 0b6a80c0 (git): [json] Avoid method redefinition
Kenta Murata
01:29 PM Revision dca6752f (git): Introduce Ractor::IsolationError
Ractor has several restrictions to keep each ractor being isolated
and some operation such as `CONST="foo"` in non-main ractor raises
an exception. This kind of operation raises an error but there is
confusion (some code raises RuntimeEr...
ko1 (Koichi Sasada)
01:16 PM Revision 8c0c6172 (git): NEWS: JSON is Ractor compatible [ci skip]
Kenta Murata
01:14 PM Feature #17416 (Open): Improve performance Kernel#itself
Improve performance `Kernel#itself` with Ruby code.
like this.
```ruby
module Kernel
#
# call-seq:
# obj.itself -> obj
#
# Returns the receiver.
#
# string = "my string"
# string.itself.obj...
S_H_ (Shun Hiraoka)
01:10 PM Revision 14d7d1df (git): [json] Make json Ractor safe
Kenta Murata
01:10 PM Revision 4c2e7f26 (git): [json] JSON_parse_float: Fix how to convert number
Stop BigDecimal-specific optimization. Instead, it tries the conversion
methods in the following order:
1. `try_convert`,
2. `new`, and
3. class-named function, e.g. `Foo::Bar.Baz` function for `Foo::Bar::Baz` class
If all the above c...
Kenta Murata
01:10 PM Revision 596da98b (git): [json] Make JSON.create_id thread-safe
Kenta Murata
01:10 PM Revision 98cc15ed (git): [json] Stop using prototype objects
Kenta Murata
10:47 AM Feature #16697 (Rejected): Hash.ruby2_keywords_hash?(value) should support any object
Eregon (Benoit Daloze)
10:47 AM Feature #16697 (Closed): Hash.ruby2_keywords_hash?(value) should support any object
OK, let's reject this then. Eregon (Benoit Daloze)
01:33 AM Feature #16697 (Feedback): Hash.ruby2_keywords_hash?(value) should support any object
I don't think we will be able to decide this issue by Ruby 3.0.0. But changing it after Ruby 3.0.0 seems more confusing. I vote for WONTFIX if there is no strong reason. mame (Yusuke Endoh)
10:41 AM Bug #17413: --backtrace-limit: wrong level counter
@mame Thanks for the quick fix, now it works as expected! zverok (Victor Shepelev)
09:05 AM Bug #17413 (Closed): --backtrace-limit: wrong level counter
Fixed at eee93bc9330cb069abb679a0a0d48a49b10f6a4e mame (Yusuke Endoh)
02:05 AM Bug #17413: --backtrace-limit: wrong level counter
Good catch! I will fix it soon. Thanks mame (Yusuke Endoh)
10:39 AM Bug #17409: Endless range of dates stuck on include? when miss
> we'd be able to use `cover?` semantics for `Range#include?` for all types where it makes sense.
But what for?
zverok (Victor Shepelev)
10:37 AM Bug #17409: Endless range of dates stuck on include? when miss
Maybe there should be some `Class#<=>_consistent_with_succ?`/`Class#compare_consistent_with_succ?` method, then we'd be able to use `cover?` semantics for `Range#include?` for all types where it makes sense.
String is a bit special in...
Eregon (Benoit Daloze)
09:18 AM Bug #17409: Endless range of dates stuck on include? when miss
@gsmetal
> This case with endless ranges should be at least somehow mentioned in include? documentation, I think.
Actually, I agree the documentation should be clearer not just about endless range, but about the fact that `include?...
zverok (Victor Shepelev)
09:14 AM Bug #17409: Endless range of dates stuck on include? when miss
@duerst
> What's the reason there is no redefinition for Date?
First, I don't think there is a reason for _any_ redefinition, actually, it just muddies the semantical difference of `include?` vs `cover?`. Redefinition for numerics ...
zverok (Victor Shepelev)
08:19 AM Bug #17409: Endless range of dates stuck on include? when miss
duerst (Martin Dürst) wrote in #note-4:
> zverok (Victor Shepelev) wrote in #note-1:
> ...
Yes, it was a little bit frustrating, that everything worked on numbers and then it unexpectedly stuck on dates.. This case with endless ranges ...
gsmetal (Sergey G)
07:01 AM Bug #17409: Endless range of dates stuck on include? when miss
zverok (Victor Shepelev) wrote in #note-1:
> Nothing specific to dates there, and not a bug.
> ...
What's the reason there is no redefinition for Date? Is there an actual use case for something like the current `(Date.today..).include?...
duerst (Martin Dürst)
09:17 AM Revision d84dd66d (git): Fixed a typo in an error class name
nobu (Nobuyoshi Nakada)
09:12 AM Revision b9d00f42 (git): Enable escape sequence on Windows10 console via pager too
nobu (Nobuyoshi Nakada)
08:46 AM Revision d8469507 (git): [ruby/digest] Remove .gitignore and .travis.yml from gemspec
https://github.com/ruby/digest/commit/7b57b73f46 Kenta Murata
08:29 AM Revision 09f939d3 (git): Enable escape sequence on Windows10 console
* win32/win32.c (init_stdhandle): enable escape sequence on
Windows10 console to show `ruby --help` colors correctly.
U.Nakamura
07:23 AM Feature #17411: Allow expressions in pattern matching
https://github.com/ruby/ruby/pull/3956 nobu (Nobuyoshi Nakada)
07:22 AM Revision 95ce5c0e (git): [ruby/rdoc] Bump version to 6.3.0
https://github.com/ruby/rdoc/commit/3d3616cb94 hsbt (Hiroshi SHIBATA)
07:21 AM Revision 391343e8 (git): [ruby/rdoc] Guard for WEBrick
https://github.com/ruby/rdoc/commit/b1e7129e05 hsbt (Hiroshi SHIBATA)
07:17 AM Revision f26f905b (git): Mark an ISeq being JIT-ed
This is to avoid SEGV on a CC reference in a normal compilation
https://github.com/ruby/ruby/runs/1586578023
k0kubun (Takashi Kokubun)
06:58 AM Revision 1fdc97f1 (git): Mark active_units
to avoid SEGV on mjit_recompile and compact_all_jit_code.
For some reason, ISeqs on stack are sometimes GC-ed (why?) and therefore
it may run mjit_recompile on a GC-ed ISeq, which I expected d07183ec85d
to fix but apparently it may refe...
k0kubun (Takashi Kokubun)
06:03 AM Revision a574df14 (git): Stop marking unit_queue
The original motivation of this marking was https://github.com/k0kubun/yarv-mjit/issues/20.
As wanabe said, there are multiple options to mitigate the issue, and
Eric Wong introduced another fix at 143776f6fe by checking unit->iseq
insid...
k0kubun (Takashi Kokubun)
04:25 AM Revision 74a78778 (git): [DOC] Remove about FrozenError from Ractor::MovedObject [ci skip]
Because unfreeze Ractor::MovedObject at
https://github.com/ruby/ruby/commit/76e88480371469400346fca609efe67096813915
znz (Kazuhiro NISHIYAMA)
03:00 AM Revision 1ecac8e4 (git): Add `require_relative` option to `assert_ractor`
Marc-Andre Lafortune
02:40 AM Revision eee93bc9 (git): eval_error.c: fix off-by-one error for --backtrace-limit
https://bugs.ruby-lang.org/issues/17413 mame (Yusuke Endoh)
02:23 AM Revision ac78d90d (git): Bump bundled rake version to 13.0.3
hsbt (Hiroshi SHIBATA)
02:01 AM Revision fe604809 (git): include/ruby/internal/xmalloc.h: document rb_eNoMemError
It was my bad, the exception that actually raises is rb_eNoMemError.
[ci skip]
shyouhei (Shyouhei Urabe)
02:01 AM Revision 11656d15 (git): include/ruby/internal/xmalloc.h: doxygen tag
`@exception` is an alias of `@throw`. It might suite Ruby's document
because ruby uses `raise` terminology instead of `throw`. [ci skip]
shyouhei (Shyouhei Urabe)
01:54 AM Revision 63849a1c (git): Fix misspellings [ci skip]
znz (Kazuhiro NISHIYAMA)
12:32 AM Revision 5253b957 (git): Document usage of ArithmeticSequence in Array#slice, and add to NEWS (#3952)
zverok (Victor Shepelev)

12/20/2020

07:31 PM Bug #14541 (Assigned): Class variables have broken semantics, let's fix them
Why not `NameError` instead of `RuntimeError`? ko1 (Koichi Sasada)
07:15 PM Feature #8948: Frozen regex
@matz Is it OK to experiment freezing all Regexp objects for Ruby 3.1?
There is some discussion in #17412 too.
Eregon (Benoit Daloze)
07:13 PM Misc #17412: Regexp vs Range: freezing differences
FWIW, I think all Regexp objects should be frozen (https://bugs.ruby-lang.org/issues/8948#note-16).
TruffleRuby will probably try this, because mixing immutable & mutable Regexps is leading to many complications when considering code sh...
Eregon (Benoit Daloze)
04:34 PM Misc #17412: Regexp vs Range: freezing differences
More correctly, I don't want to debug (or get complaint) world-wide Regexp modifying code.
For 3.1, we can try if someone has a passion.
BTW, for the keyword parameter changes, many people work a lot (especially @mame and @jeremyevan...
ko1 (Koichi Sasada)
10:37 AM Misc #17412: Regexp vs Range: freezing differences
Thanks for the explanation! zverok (Victor Shepelev)
03:00 AM Misc #17412 (Closed): Regexp vs Range: freezing differences
Hi,
zverok (Victor Shepelev) wrote:
> > For the record: `Regexp.new` should continue to return unfrozen Regexp instance. (@mame at #16377#note-7)
This is not my opinion but Matz's decision. I'm sorry if I was not clear.
> ...
T...
mame (Yusuke Endoh)
06:49 PM Bug #17413 (Closed): --backtrace-limit: wrong level counter
Having this `test.rb`:
```ruby
def inner
raise 'test'
end
def outer
inner
end
outer
```
...one might observe the following:
```
$ ruby test.rb
test.rb:2:in `inner': test (RuntimeError)
from test.rb:6:in `oute...
zverok (Victor Shepelev)
05:39 PM Revision 6be61ab2 (git): should use owned_p instead of locked_p
It should raise an error if the same thread tris to call
receive/receive_if.
ko1 (Koichi Sasada)
05:38 PM Revision 435b619a (git): fix phrasing in comment
Ivan Denysov
05:21 PM Revision 7600f69a (git): rename to rb_ractor_make_shareable_copy()
from rb_ractor_make_copy_shareable(). ko1 (Koichi Sasada)
05:09 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
https://github.com/ruby/ruby/pull/3950 nobu (Nobuyoshi Nakada)
04:25 PM Feature #17378: Ractor#receive with filtering like other actor langauge
marcandre (Marc-Andre Lafortune) wrote in #note-9:
> > * 2nd parameter `req` is not clear and I believe people forget to call it correctly.
> ...
I think most of case it will be called if people using send/receive in various case.
To ...
ko1 (Koichi Sasada)
04:19 PM Revision 9c73c756 (git): Use Integer instead of Fixnum/Bignum
nobu (Nobuyoshi Nakada)
04:19 PM Revision fb8f0114 (git): Fixed indefinite articles before "Integer" [ci skip]
nobu (Nobuyoshi Nakada)
04:19 PM Revision ad534a67 (git): Fixnum as a Symbol was an old feature until 1.6
nobu (Nobuyoshi Nakada)
04:15 PM Revision a365ae84 (git): * 2020-12-21 [ci skip]
git[bot]
04:13 PM Revision 730f3141 (git): fix Ractor.make_shareable() with Class/Module
To check shareable-ness, rb_ractor_shareable_p() is needed
for Class/Module objects isntead of checking flags.
ko1 (Koichi Sasada)
03:28 PM Feature #17411: Allow expressions in pattern matching
That's perfect 👍
Any chance Nobu can come up with a patch quickly?
marcandre (Marc-Andre Lafortune)
09:26 AM Feature #17411: Allow expressions in pattern matching
@marcandre The idea is interesting. I propose `^(expression)` notation.
Matz.
matz (Yukihiro Matsumoto)
10:36 AM Revision 8680ae9c (git): irb: Removed unused variables
nobu (Nobuyoshi Nakada)
10:35 AM Revision 4b6e3f7b (git): irb: Define extension command on the given object
nobu (Nobuyoshi Nakada)
10:17 AM Bug #17410: One-line pattern-matching deprecation is lost on singular variable assignment
Thanks, @mame!
(Sorry for a huge amount of tickets from me, I just really need to understand the quirks and reasoning clearly to explain in docs and changelogs.)
zverok (Victor Shepelev)
03:06 AM Bug #17410 (Closed): One-line pattern-matching deprecation is lost on singular variable assignment
It is intentional.
https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20201210Japan.md#feature-17371-reintroduce-expr-in-pat-ktsj
> ktsj: How about allowing the typical r-assign case as an official (not experiment...
mame (Yusuke Endoh)
09:34 AM Feature #12654 (Closed): On Windows use UTF-8 as filesystem encoding
Applied in changeset commit:git|5b98b2ce39ed979aec614365a2dc3e1c30052bca.
----------
win32: Use UTF-8 as filesystem encoding [Feature #12654]
Co-Authored-By: Dāvis Mosāns <davispuh@gmail.com>
nobu (Nobuyoshi Nakada)
09:34 AM Revision 37987d99 (git): win32: Deprecate file CP version functions
nobu (Nobuyoshi Nakada)
09:34 AM Revision 95862ae4 (git): win32: Added rb_w32_ureaddir only for UTF-8 [Feature #12654]
nobu (Nobuyoshi Nakada)
09:34 AM Revision 5b98b2ce (git): win32: Use UTF-8 as filesystem encoding [Feature #12654]
Co-Authored-By: Dāvis Mosāns <davispuh@gmail.com> nobu (Nobuyoshi Nakada)
09:27 AM Bug #17409: Endless range of dates stuck on include? when miss
It's not a bug. But I admit it's a pitfall. Maybe we can warn or make it an error in the future.
Matz.
matz (Yukihiro Matsumoto)
09:26 AM Revision feea436f (git): irb: Define extension command only on the given object
Not to interfer in class variables. nobu (Nobuyoshi Nakada)
08:15 AM Revision 0fad9a9e (git): Set non-verbose mode as well as tty mode
nobu (Nobuyoshi Nakada)
08:07 AM Revision 59b84fbf (git): Set :DEFAULT to PROMPT_MODE for CI
aycabta (aycabta .)
07:48 AM Revision 216a087e (git): Suppress errors related to using variables that are not directly related to testing
aycabta (aycabta .)
07:23 AM Revision 24fcbc92 (git): [ruby/irb] Version 1.2.8
https://github.com/ruby/irb/commit/bcd96834c7 aycabta (aycabta .)
07:23 AM Revision a7cacd33 (git): [ruby/reline] Version 0.1.10
https://github.com/ruby/reline/commit/723c6e191a aycabta (aycabta .)
07:23 AM Revision 9f08e3c7 (git): [ruby/irb] Add measure command
You can use "measure" command to check performance in IRB like below:
irb(main):001:0> 3
=> 3
irb(main):002:0> measure
TIME is added.
=> nil
irb(main):003:0> 3
processing time: 0.000058s
=> 3
irb(main):004:0> measure :...
aycabta (aycabta .)
07:23 AM Revision 8b6aaead (git): [ruby/irb] Handle rest of tokens correctly if no newline at last
https://github.com/ruby/irb/commit/f3c8edad2a aycabta (aycabta .)
07:00 AM Revision 67ee1cbd (git): Remove unnecessary files from .document
* ruby:ext/rbconfig/exts.mk
* ruby:ext/rbconfig/sizeof/Makefile
* ruby:ext/rbconfig/sizeof/depend
* ruby:ext/rbconfig/sizeof/mkmf.log
* ruby:ext/win32/depend
* ruby:ext/win32/exts.mk
* ruby:ext/win32/resolv/depend
* ruby:lib/racc/pre-setup
ktsj (Kazuki Tsujimoto)
06:13 AM Revision b911509a (git): Adjusted indents of closing braces [ci skip]
nobu (Nobuyoshi Nakada)
05:38 AM Revision 7d0144e0 (git): Check mjit_call_p only when interrupted
for leaf_without_check_ints insns.
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-20T05:02:18Z master 02b3555874) +JIT [x86_64-linux...
k0kubun (Takashi Kokubun)
05:29 AM Revision ae1cc3fd (git): Made an internal callback function static
nobu (Nobuyoshi Nakada)
05:02 AM Revision 02b35558 (git): Install gdb on Actions
k0kubun (Takashi Kokubun)
04:35 AM Revision 85ec6cc3 (git): Fix markups and indentation
ktsj (Kazuki Tsujimoto)
04:25 AM Revision d37be18a (git): Fix typos
ktsj (Kazuki Tsujimoto)
04:22 AM Revision 4902f96e (git): Update documentation for pattern matching
ktsj (Kazuki Tsujimoto)
03:37 AM Revision b1b6dbfd (git): `assert_ractor` tweak. Thanks Nobu
Marc-Andre Lafortune
02:46 AM Revision f70b894b (git): sync RCLASS_CONST_TBL()
RCLASS_CONST_TBL() is shared resource so we need to sync with
other ractors.
ko1 (Koichi Sasada)
01:25 AM Revision 648bbfcc (git): Update rbs 1.0.0.pre (#3941)
soutaro (Soutaro Matsumoto)

12/19/2020

11:38 PM Misc #17412 (Closed): Regexp vs Range: freezing differences
While working on the changelog, I noticed the following in the 3.0:
```ruby
/foo/.frozen? # => true
(1..3).frozen? # => true
# but...
Regexp.new('foo').frozen? # => false
# ...whereupon
Range.new(1, 3).frozen? # => true
...
zverok (Victor Shepelev)
10:50 PM Misc #16443: GC.compact is not documented
@tenderlovemaking thanks a lot! zverok (Victor Shepelev)
10:13 PM Misc #17367 (Closed): CI: Env variable for Ractor compatibility tests?
Applied in changeset commit:git|70f20234b297a7fc9940bace30101813aa9df052.
----------
Add `assert_ractor` [Feature #17367]
Anonymous
10:13 PM Revision 6343a811 (git): [ruby/ostruct] Add Ractor test
Marc-Andre Lafortune
10:13 PM Revision 67e062b5 (git): [ruby/matrix] Add Ractor test
This reverts commit cacdf2681dcc7c431973f33a18979b10566ec2f9. Marc-Andre Lafortune
10:13 PM Revision 70f20234 (git): Add `assert_ractor` [Feature #17367]
Marc-Andre Lafortune
10:12 PM Feature #17274 (Closed): Ractor.make_shareable(obj)
marcandre (Marc-Andre Lafortune)
07:51 PM Revision 7f8108ee (git): fix indent
ko1 (Koichi Sasada)
07:22 PM Revision bcf4b236 (git): ext/racc/cparse is ractor-safe
ko1 (Koichi Sasada)
07:22 PM Revision 846c4b03 (git): ext/monitor is ractor-safe
ko1 (Koichi Sasada)
07:22 PM Revision c1461c92 (git): cgi/escape is ractor-safe
ko1 (Koichi Sasada)
07:14 PM Revision 36213800 (git): NEWS.md: remove nonsense caveat
3.0 will be released in a few days (hopefully), so remove a caution: "it
may be reverted until 3.0 release."
mame (Yusuke Endoh)
06:34 PM Feature #17411: Allow expressions in pattern matching
IIUC, it is by design that you can't have expressions in pattern match; pattern match are a quite separate syntax.
I agree that it is quite limiting, so I've taken the liberty to changing your issue to a feature request.
It would b...
marcandre (Marc-Andre Lafortune)
06:16 PM Feature #17411 (Closed): Allow expressions in pattern matching
Code:
```ruby
version = {name: '2.6', released_at: Time.new(2018, 12, 25)}
version in {released_at: Time.new(2010)..Time.new(2020)}
# ^ syntax error, unexpected '.', expecting '}'
# This works:
range ...
zverok (Victor Shepelev)
06:14 PM Revision ed4381d9 (git): BigDecimal#precs is deprecated
nobu (Nobuyoshi Nakada)
06:13 PM Revision c01ad11f (git): bigdecimal: initialize conditionally assigned variable
nobu (Nobuyoshi Nakada)
06:12 PM Feature #16274: Transform hash keys by a hash
Ah, I overlooked.
```
irb(main):003:0> { a: 1, c: 1 }.transform_keys({ a: :b })
=> {:b=>1, :c=>1}
irb(main):004:0> { a: 1, c: 1 }.transform_keys(&{ a: :b })
=> {:b=>1, nil=>1}
```
mame (Yusuke Endoh)
06:10 PM Feature #16274: Transform hash keys by a hash
Looks like everyone has forgotten `Hash#to_proc`?
```
irb(main):001:0> { a: 1 }.transform_keys({ a: :b })
=> {:b=>1}
irb(main):002:0> { a: 1 }.transform_keys(&{ a: :b })
=> {:b=>1}
```
mame (Yusuke Endoh)
06:10 PM Revision b2acae32 (git): Reduced ID caches
NEW_GASGN and NEW_GVAR evaluate `id` argument twice. nobu (Nobuyoshi Nakada)
06:08 PM Revision a273171c (git): Tweak Ractor doc [doc] [ci skip]
Marc-Andre Lafortune
06:04 PM Revision 1f565ac6 (git): Add documentation for Ractor (#3895)
zverok (Victor Shepelev)
04:57 PM Revision d44671c8 (git): Revived the getenv macro for dln_find.c
This partially reverts commit "Windows: Improve readablity of
getenv() encoding" 14453a256d58b11b06d432e2a4388d95aac298d6.
The `getenv` macro defined here is to also substitute the function
in dln_find.c, not only in this file.
nobu (Nobuyoshi Nakada)
04:04 PM Bug #17409 (Rejected): Endless range of dates stuck on include? when miss
marcandre (Marc-Andre Lafortune)
11:04 AM Bug #17409: Endless range of dates stuck on include? when miss
Nothing specific to dates there, and not a bug.
This is just how ranges work:
* `range.include?(x)` is basically `range.each.any? {|el| el == x }`, which, with endless range, is an infinite loop
* `range.cover?(x)` is basically `x >= ra...
zverok (Victor Shepelev)
10:47 AM Bug #17409 (Rejected): Endless range of dates stuck on include? when miss
This code stucks (on latest ruby 2.7.1):
```ruby
require 'date'
(Date.today..).include?(Date.today - 1)
```
But it works well with `cover?`:
```ruby
2.7.1 :001 > require 'date'
=> true
2.7.1 :002 > (Date.today..).cover?(Da...
gsmetal (Sergey G)
03:42 PM Revision 50f1e7eb (git): NEWS: Add an entry of Pathname [ci skip]
Kenta Murata
03:41 PM Revision 48bd5a3d (git): * 2020-12-20 [ci skip]
git[bot]
03:40 PM Revision de80b928 (git): [pathname] Make Pathname Ractor safe (#3940)
Kenta Murata
03:34 PM Bug #17410: One-line pattern-matching deprecation is lost on singular variable assignment
Matz can confirm, but I think it's ok. `1 => x` can never *not* match and is there to stay. `[1, 2, 3] => [x, *]` is probably more subject to change (what happens if no match, what is acceptable syntax), although I happen to think it's s... marcandre (Marc-Andre Lafortune)
11:57 AM Bug #17410 (Closed): One-line pattern-matching deprecation is lost on singular variable assignment
Is this intentional? Probably an effect of changing the behavior of warning categories?
```ruby
RUBY_REVISION
# => "1ba8d63b49318e5682a22502c5f5b70e3298da8f"
[1, 2, 3] => [x, *]
# (irb):8: warning: One-line pattern matching is ...
zverok (Victor Shepelev)
03:30 PM Feature #17378: Ractor#receive with filtering like other actor langauge
Eregon (Benoit Daloze) wrote in #note-10:
> Removing eagerly seems like it will inherently be problematic if there are multiple Thread calling `Ractor.receive {}`.
It is imperative that a message is not processed twice though. You can c...
marcandre (Marc-Andre Lafortune)
11:33 AM Feature #17378: Ractor#receive with filtering like other actor langauge
I think a good way to fix this would be to have some variant of pattern matching, that automatically wraps each `in` body in a lambda.
That would allow matching patterns, executing some code, and then executing the body.
This was actua...
Eregon (Benoit Daloze)
03:18 PM Feature #17406: Add `NoMatchingPatternError#depth`
Eregon (Benoit Daloze) wrote in #note-1:
> How would this work?
> ...
I think of it as a catch in each `case-in`, but the effect is the same.
> Seems rather hacky to me.
Possibly 😅.
Actual downside?
marcandre (Marc-Andre Lafortune)
11:31 AM Feature #17406: Add `NoMatchingPatternError#depth`
How would this work?
Mutating a field of the NoMatchingPatternError in a catch(NoMatchingPatternError) inserted in every `in` and `else`?
Seems rather hacky to me.
Eregon (Benoit Daloze)
01:15 PM Revision d62414b4 (git): NEWS: Update BigDecimal version [ci skip]
Kenta Murata
01:14 PM Bug #13331 (Closed): Inconsistent conversion of Float into Decimal
Applied in changeset commit:git|e1424c35012ccf1f3822c9046081b225aef4142e.
----------
[bigdecimal] Fix the default precision of Float#to_d
Fix https://github.com/ruby/bigdecimal/issues/70
[Bug #13331]
https://github.com/ruby/bigdecimal...
Anonymous
01:13 PM Revision 8355a3e1 (git): [bigdecimal] Fix deprecation warning test
Kenta Murata
01:13 PM Revision 8986f948 (git): [bigdecimal] Version 3.0.0
https://github.com/ruby/bigdecimal/commit/e68f1eb33a Kenta Murata
01:13 PM Revision df3deb3b (git): [bigdecimal] Add BigDecimal#n_significant_digits
https://github.com/ruby/bigdecimal/commit/981dc48f95
https://github.com/ruby/bigdecimal/commit/9ecf880ec04
Kenta Murata
01:13 PM Revision 654f6fbf (git): [bigdecimal] Make BigDecimal#precs deprecated
https://github.com/ruby/bigdecimal/commit/7e80e6e145
https://github.com/ruby/bigdecimal/commit/0ed7846e8c
Kenta Murata
01:13 PM Revision ff9e4081 (git): [bigdecimal] Add BigDecimal#precision
https://github.com/ruby/bigdecimal/commit/458eb66c49 Kenta Murata
01:13 PM Revision 928a0672 (git): [bigdecimal] Make bigdecimal Ractor safe
https://github.com/ruby/bigdecimal/commit/93fc392640
https://github.com/ruby/bigdecimal/commit/a90d13c4d0
Kenta Murata
01:13 PM Revision 97d4e72e (git): [bigdecimal] Use DBLE_FIG
https://github.com/ruby/bigdecimal/commit/12296dcb90 Kenta Murata
01:13 PM Revision e1424c35 (git): [bigdecimal] Fix the default precision of Float#to_d
Fix https://github.com/ruby/bigdecimal/issues/70
[Bug #13331]
https://github.com/ruby/bigdecimal/commit/aa536cd4b5
Kenta Murata
12:19 PM Revision 4735a5b9 (git): test/ruby/test_module.rb: Avoid "warning: method redefined"
mame (Yusuke Endoh)
11:22 AM Feature #17407: Fiber.current and require 'fiber'
Maybe we should just include these Fiber methods in core, and `require 'fiber'` would be a no-op (for compatibility)?
Agreed it's confusing such a core class has only half the documented methods defined without an extra `require`.
Eregon (Benoit Daloze)
11:19 AM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
nobu (Nobuyoshi Nakada) wrote in #note-22:
> `HAVE_RB_EXT_RACTOR_SAFE` is defined in a header, you don't need `have_func("rb_ext_ractor_safe")`.
I see, thanks. I somehow missed that because it wasn't in ko1's original PR, and I forgo...
Eregon (Benoit Daloze)
08:53 AM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
Eregon (Benoit Daloze) wrote in #note-21:
> I guess
> ...
`HAVE_RB_EXT_RACTOR_SAFE` is defined in a header, you don't need `have_func("rb_ext_ractor_safe")`.
nobu (Nobuyoshi Nakada)
09:56 AM Bug #17396: Missing .gemspec files
When the .gem file contains .gemspec file, then it should be installed by rbinstall.
~~~
$ gem unpack rexml
Fetching rexml-3.2.4.gem
Unpacked gem: '/home/vondruch/rexml-3.2.4'
$ find rexml-3.2.4/ | grep gemspec
rexml-3.2.4/rexm...
vo.x (Vit Ondruch)
08:09 AM Bug #17396 (Closed): Missing .gemspec files
Gem files contain metadata processed from gemspec files, other than the source gemspecs.
The source often contains some code which do not make sense in its upstream working directory, e.g., `git ls-files`.
As well as `gem install` uses...
nobu (Nobuyoshi Nakada)
09:22 AM Revision 1ba8d63b (git): Recommit 34f06062174882a98ebef998c50ad8d4f7fc0f2e
mame (Yusuke Endoh)
09:19 AM Revision eb8ea336 (git): Feature 17314: allow to pass array to public, protected and private methods
radarek (Radosław Bułat)
09:04 AM Revision 8148f88b (git): ALWAYS_INLINE implies inline
nobu (Nobuyoshi Nakada)
08:59 AM Revision 0d3dc2ec (git): Make `Hash#except` always return a Hash
[Feature #15822] Marc-Andre Lafortune
08:34 AM Revision 5611066e (git): Prefer RB_OBJ_FROZEN_RAW
following the original implementation's change.
RB_TYPE_P(obj, T_OBJECT) is already checked in these places.
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --...
k0kubun (Takashi Kokubun)
08:32 AM Revision e33eb09b (git): ripper: fix `#tok` on some error events [Bug 17345]
sorting alias target by event arity, and setup suitable `Elem` for error. no6v (Nobuhiro IMAI)
08:31 AM Bug #17388 (Closed): Doesn't Warning.warn support `category: :experimental` in Ruby 3.0.0?
nobu (Nobuyoshi Nakada)
08:27 AM Revision 52b1716c (git): Fix vm_search_invokeblock
call_ needs to be vm_invokeblock_i, and flags is also not empty. k0kubun (Takashi Kokubun)
08:03 AM Revision 8ec8f375 (git): discourage inlining for vm_sendish()
reversing 9213771817 only for JIT, because it made JIT slower.
$ benchmark-driver -v --rbenv 'before;after;before --jit;after --jit' --repeat-count=36 --alternate --output=all benchmark.yml
before: ruby 3.0.0dev (2020-12-19T07:38:17Z ma...
k0kubun (Takashi Kokubun)
07:53 AM Revision 349e79ba (git): Try to test with rake-13.0.2 again.
[ruby/fileutils] Make verbose output go to stdout instead of stderr
This reverts commit 510df47f5f7f83918d3aa00316c8a5b959d80d7c.
hsbt (Hiroshi SHIBATA)
07:52 AM Revision bdd18090 (git): Bump bundled rake version to 13.0.2
hsbt (Hiroshi SHIBATA)
07:38 AM Revision a1393185 (git): Added macros for headers which are not included by ruby.h
nobu (Nobuyoshi Nakada)
07:38 AM Revision 042c3e91 (git): Check macros for headers
nobu (Nobuyoshi Nakada)
07:38 AM Revision 197550c9 (git): Renamed check_encoding.yml as check_misc.yml [ci skip]
nobu (Nobuyoshi Nakada)
06:34 AM Revision 5c9d6ea6 (git): Strip trailing spaces [ci skip]
nobu (Nobuyoshi Nakada)
06:34 AM Revision 553d6fa0 (git): [DOC] Marked dtrace arguments as description list [ci skip]
nobu (Nobuyoshi Nakada)
06:34 AM Revision a5832c9a (git): [DOC] Fixed markups in dtrace_probes.rdoc [ci skip]
* `+` can enclose just a word.
* TIDYLINK with braces gets confused when other braces even inside
code precede.
nobu (Nobuyoshi Nakada)
06:24 AM Revision 144b11e0 (git): Fix `warning: instance variable @head not initialized` and remove unused instance variable
znz (Kazuhiro NISHIYAMA)
06:08 AM Revision e64af7d5 (git): NEWS: Add an entry of Digest 3.0.0 [ci skip]
Kenta Murata
06:08 AM Revision 0cb556b4 (git): [digest] Version 3.0.0
https://github.com/ruby/digest/commit/4bbd247a32 Kenta Murata
06:08 AM Revision b66f52b0 (git): [digest] Make digest Ractor safe
https://github.com/ruby/digest/commit/c13a024b85
https://github.com/ruby/digest/commit/9edca3f8be
https://github.com/ruby/digest/commit/378b56b6ca
Kenta Murata
06:08 AM Revision feacae19 (git): [digest] Added rb_digest_make_metadata to wrap metadata
https://github.com/ruby/digest/commit/7046fe6005 nobu (Nobuyoshi Nakada)
03:24 AM Revision 5b2cf7ea (git): Partially reintroduce e042e8460bb9a63c05f938d51e8c7c5345a6f3a4 and ...
34f06062174882a98ebef998c50ad8d4f7fc0f2e
Add a test for alias_method
mame (Yusuke Endoh)
03:23 AM Revision 51bcd509 (git): Feature 17314: alias_method returns symbol
radarek (Radosław Bułat)
02:44 AM Revision 34f6b22d (git): Use rb_id_attrset without intermediate strings
nobu (Nobuyoshi Nakada)
02:39 AM Revision 5616f2ee (git): Added missing tests for public, private, protected and alias_method
nobu (Nobuyoshi Nakada)
12:22 AM Revision d40d9529 (git): Feature 17314: update docs and NEWS about attr* methods returning array of symbols
radarek (Radosław Bułat)

12/18/2020

11:32 PM Bug #17408 (Closed): Fiber.backtrace returns [] when unavailable, unlike Thread
```ruby
t = Thread.new{}
p t.backtrace
# => nil
f = Fiber.new{}
p f.backtrace
# => []
```
It seems inconsistent, is this intentional?
Ping @ioquatix
zverok (Victor Shepelev)
11:08 PM Feature #17407 (Closed): Fiber.current and require 'fiber'
Maybe it is not the right time to ask, but why one need to do `require 'fiber'` before using `Fiber.current`?
For what I can see,
* it is this way since [their introduction](https://docs.ruby-lang.org/en/2.0.0/Fiber.html#method-c-cu...
zverok (Victor Shepelev)
09:49 PM Feature #17378: Ractor#receive with filtering like other actor langauge
ko1 (Koichi Sasada) wrote in #note-8:
> I have several concern about `Ractor#receive` proposed at #note-6.
> ...
I agree that is an issue. It would be much better if we had `NoMatchingPatternError#depth` #17406. We could intercept only...
marcandre (Marc-Andre Lafortune)
07:48 PM Feature #17378: Ractor#receive with filtering like other actor langauge
I have several concern about `Ractor#receive` proposed at #note-6.
* `NoMatchingPatternError` can be raised in tasks unexpectedly (maybe by bug) and it can cause something strange behavior (like falsy on `receive_if`).
* 2nd paramete...
ko1 (Koichi Sasada)
09:45 PM Feature #17406 (Open): Add `NoMatchingPatternError#depth`
Could we have `NoMatchingPatternError#depth`, returning the number of `case...in...end` an exception has traversed?
```ruby
def show_depth
yield
rescue NoMatchingPatternError => e
puts "Depth: #{e.depth}"
raise
end
show...
marcandre (Marc-Andre Lafortune)
09:17 PM Feature #17404: Ractor `move:` API to allow shareability check
Oh, sorry, I didn't see the `_ref` part. So you are proposing a different method. In my mind, they are all ways of sending a message, it's just a question of method to cross the Ractor frontier. move/copy/has-cross-border-visa 😅
Otherwi...
marcandre (Marc-Andre Lafortune)
09:10 PM Feature #17404: Ractor `move:` API to allow shareability check
marcandre (Marc-Andre Lafortune) wrote in #note-2:
> ko1 (Koichi Sasada) wrote in #note-1:
> ...
not sure what you mean. I mean:
```ruby
def send_ref(obj)
raise unless Ractor.shareable?(obj)
send(obj)
end
```
> We have t...
ko1 (Koichi Sasada)
06:40 AM Feature #17404: Ractor `move:` API to allow shareability check
ko1 (Koichi Sasada) wrote in #note-1:
> `#send_ref(message)` and raise an error if message is not a sharable?
There would be an easy way to deep-copy or deep-move an object, right? If you mean that the default should be `pass: :share`, ...
marcandre (Marc-Andre Lafortune)
05:18 AM Feature #17404: Ractor `move:` API to allow shareability check
`#send_ref(message)` and raise an error if message is not a sharable?
ko1 (Koichi Sasada)
09:11 PM Feature #17393: `Ractor::Moved#inspect`
Yes, that looks good, that is what I was proposing in note 1 too 👍 marcandre (Marc-Andre Lafortune)
09:03 PM Feature #17393: `Ractor::Moved#inspect`
I don't think providing `#inspect` is good idea because any methods should respond to the moved object.
Otherwise there is possibility to ignore the accessing moved objects.
I prefer to show the moved location in the error message.
...
ko1 (Koichi Sasada)
09:10 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
Great, thank you for the update.
One last concern with `experimental_everything`/`experimental_shareable` is for Ruby 3.1... If no longer experimental, we then accept `everything`. But if someone want to write code also compatible wit...
marcandre (Marc-Andre Lafortune)
08:37 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
By seeing the list, about `experimental_everything`, `experimental_shareable` seems better naming... ko1 (Koichi Sasada)
08:35 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
By discussion with Matz and Nobu, we choose "(2) raises an error for unshareable non-literals on runtime (my proposal)".
* on compile time: for `FOO = expr`
* case `FOO = literal_only`
* compile to => `FOO = Ruby...
ko1 (Koichi Sasada)
03:45 AM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
marcandre (Marc-Andre Lafortune) wrote:
> I think `shareable_constant_value: literal` is too strict because it has too crude checks at parse time.
This is true. Current restriction is very conservative not to break things (See #1727...
shyouhei (Shyouhei Urabe)
08:59 PM Feature #17401 (Closed): The class `Ractor::MovedObject` should not be frozen
Applied in changeset commit:git|76e88480371469400346fca609efe67096813915.
----------
unfreeze Ractor::MovedObject
Matz prefers to unfreeze the class.
[Feature #17401]
ko1 (Koichi Sasada)
08:56 PM Feature #17401: The class `Ractor::MovedObject` should not be frozen
Matz prefers to provide a free to shoot the foot.
ko1 (Koichi Sasada)
08:57 PM Revision 76e88480 (git): unfreeze Ractor::MovedObject
Matz prefers to unfreeze the class.
[Feature #17401]
ko1 (Koichi Sasada)
08:52 PM Revision 80cb9165 (git): add "copy: true" option for Ractor.make_shareable
Ractor.make_shareable(obj) tries to make obj a shareable object
by changing the attribute of obj and traversable objects from obj
(mainly freeze them).
"copy: true" option is more conservative approach by make deep
copied object and mak...
ko1 (Koichi Sasada)
08:25 PM Bug #17366 (Closed): Ractor odd issue with timeout + receive + sleep + take
commit:c2fa024e0220aca6e2437e56df2abf1a2368cbdf ko1 (Koichi Sasada)
08:25 PM Feature #17365 (Closed): Can not respond (well) to a Ractor
https://bugs.ruby-lang.org/issues/17378 ko1 (Koichi Sasada)
07:33 PM Misc #17399: Are endless methods experimental?
I think the warning would be helpful if we change what is allowed after `=`, especially if we would forbid something that was previously allowed (e.g., to make the rule clearer).
If there is no warning, people will assume it's a stable ...
Eregon (Benoit Daloze)
06:35 AM Misc #17399: Are endless methods experimental?
Additional note:
* I am not going to remove endless-def
* I don't think the warning is necessary. Since we are not going to remove it.
Matz.
matz (Yukihiro Matsumoto)
12:57 AM Misc #17399: Are endless methods experimental?
I agree with @eregon. We still need more investigation for issues like #17398
Matz.
matz (Yukihiro Matsumoto)
07:33 PM Bug #17386 (Closed): Refinements break prepend
Applied in changeset commit:git|cee02d754d76563635c1db90d2ab6c01f8492470.
----------
fix refinements/prepend bug
replaced method entry should be invalidated.
[Bug #17386]
ko1 (Koichi Sasada)
07:33 PM Revision cee02d75 (git): fix refinements/prepend bug
replaced method entry should be invalidated.
[Bug #17386]
ko1 (Koichi Sasada)
07:33 PM Revision 04d62e6f (git): fix method cache debug tool
ko1 (Koichi Sasada)
06:40 PM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
I've missed this was committed (https://github.com/ruby/ruby/pull/3824), the API seems fine.
Example usage:
```c
#ifdef HAVE_RB_EXT_RACTOR_SAFE
rb_ext_ractor_safe(true);
#endif
```
https://github.com/ruby/ruby/commit/3d31944129180
I ...
Eregon (Benoit Daloze)
06:25 PM Revision 0e79d4cd (git): Added tests for [Feature #17314]
Partially reintroduce 34f06062174882a98ebef998c50ad8d4f7fc0f2e mame (Yusuke Endoh)
06:20 PM Revision aa7a0207 (git): Revert "Revert "Use rb_id_attrset without intermediate strings""
This reverts commit 41c208d4a463183fddca250026e5f1cd759d2604.
Reintroduce 66090b9d10cdaed917b525225e59d1c19e399248.
mame (Yusuke Endoh)
06:16 PM Revision 346bf0f5 (git): spec/ruby/core/module/attr_*: Add version guards
mame (Yusuke Endoh)
06:11 PM Revision 5944c4b3 (git): attr_reader, attr_writer, attr_accessor and attr methods returns array of symbols (#3935)
Co-authored-by: Yusuke Endoh <mame@ruby-lang.org> radarek (Radosław Bułat)
06:06 PM Revision f6641d73 (git): NEWS: Add an entry of StringScanner 3.0.0 [ci skip]
Kenta Murata
06:05 PM Revision b3b7f1e5 (git): NEWS: Add an entry of StringIO 3.0.0 [ci skip]
Kenta Murata
06:02 PM Revision f213a271 (git): NEWS: fiddle 1.0.4 [ci skip]
Kenta Murata
05:59 PM Bug #17405 (Closed): irb ---nomultiline gets exception when output contains some non-ascii characters
When irb is called with the --nomultiline option (for example, when called from emacs), then if the output contains some special characters (such as the square root sign, or a single quotation mark), then irb gets an exception.
Withou...
rsharman (Richard Sharman)
05:54 PM Revision 7e2dbbda (git): Use category: :experimental in warnings that are related to experimental features
This adds rb_category_compile_warn in order to emit compiler warnings
with categories. Note that Ripper currently ignores the category
for these warnings, but by default it ignores the warnings completely,
so this shouldn't matter.
jeremyevans (Jeremy Evans)
05:54 PM Revision 05313c91 (git): Use category: :deprecated in warnings that are related to deprecation
Also document that both :deprecated and :experimental are supported
:category option values.
The locations where warnings were marked as deprecation warnings
was previously reviewed by shyouhei.
Comment a couple locations where depreca...
jeremyevans (Jeremy Evans)
05:54 PM Revision 6ced55b0 (git): Make warning_categories a map of category symbols to category numbers
Use this to simplify rb_warning_category_from_name.
This also adds support for using the :experimental category in
Kernel#warn and Warning.warn.
jeremyevans (Jeremy Evans)
05:54 PM Revision 52fb696e (git): Switch rb_category_warn{,ing} to accept an rb_warning_category_t
Since we decided to only allowing specific warning categories,
there is no reason to have an API that accepts a general string,
as it is more error-prone. Switch to only allowing the specific
warning categories.
As rb_category_warn{,in...
jeremyevans (Jeremy Evans)
05:44 PM Revision 7b06085c (git): [bigdecimal] Fix test for d5ab8e8562
Kenta Murata
05:29 PM Revision d5ab8e85 (git): [bigdecimal] Use rb_undef_alloc_func to undefine allocate
Kenta Murata
05:12 PM Revision c2a5594e (git): [ruby/reline] Use cached prompt list when just moved the cursor
https://github.com/ruby/reline/commit/cfe619460b aycabta (aycabta .)
05:12 PM Revision d4257c61 (git): [ruby/reline] Yank by em-kill-region correctly
This closes ruby/reline#106.
https://github.com/ruby/reline/commit/2549a52e15
aycabta (aycabta .)
05:12 PM Revision af2c81e1 (git): [ruby/reline] Bind yank-pop correctly
https://github.com/ruby/reline/commit/3c74beac65 aycabta (aycabta .)
05:12 PM Revision 671f2762 (git): [ruby/reline] Add Enumerable to KillRing for debugging
https://github.com/ruby/reline/commit/d208874152 aycabta (aycabta .)
05:12 PM Revision dc61affd (git): [ruby/reline] [ruby/irb] Call ripper only once when generating dynamic prompt
https://github.com/ruby/irb/commit/babb122a48
https://github.com/ruby/reline/commit/e6dbcb3b42
aycabta (aycabta .)
05:05 PM Bug #17345: ripper: nothing raised when assigning to keyword variables
> Now, the '#tok' on some error events are `Elem` instead of string.
pull request: https://github.com/ruby/ruby/pull/3936
no6v (Nobuhiro IMAI)
05:05 PM Revision e76b56f5 (git): support Ruby 2.x for openssl
ko1 (Koichi Sasada)
03:53 PM Revision ad76c8fb (git): Update TypeProf to 0.10.0
mame (Yusuke Endoh)
03:34 PM Revision 19a98a87 (git): Fixed not to make non-literal expression shareable [Feature #17273]
Non-literal expression which is not a part of a literal expression
is not a subject of `shareable_literal_value: literal`.
nobu (Nobuyoshi Nakada)
03:04 PM Revision 6945597f (git): * 2020-12-19 [ci skip]
git[bot]
03:04 PM Revision ed5c09f3 (git): Remove unused variable
radarek (Radosław Bułat)
02:37 PM Feature #17339 (Assigned): Semantic grouping with BigDecimal#to_s
mrkn (Kenta Murata)
02:31 PM Bug #9246 (Closed): NoMemoryError is occurred by simple addition of BigDecimal
This no longer occurs with the latest version of bigdecimal. mrkn (Kenta Murata)
01:00 PM Revision c71934f8 (git): [stringio] Version 3.0.0
https://github.com/ruby/stringio/commit/831be01071 Kenta Murata
01:00 PM Revision e1b5289a (git): [stringio] Add test-unit in the development dependencies
https://github.com/ruby/stringio/commit/de010fc0e9 Kenta Murata
01:00 PM Revision 3d319441 (git): [stringio] Make stringio Ractor safe
https://github.com/ruby/stringio/commit/ee3fec7512
https://github.com/ruby/stringio/commit/18dcd045ef
https://github.com/ruby/stringio/commit/18dcd045ef
Kenta Murata
12:58 PM Revision 14ca7f63 (git): [openssl] Fix dependencies
Kenta Murata
10:17 AM Bug #17402 (Closed): Remove deprecated GC-related features
nobu (Nobuyoshi Nakada)
09:19 AM Revision b5588edc (git): openssl is ractor-safe
ossl_bn_ctx is C's global variable and it should be ractor-local
to make it ractor-safe.
ko1 (Koichi Sasada)
08:59 AM Revision 74ab2c3b (git): finalizing should be checked before VM lock
ko1 (Koichi Sasada)
08:56 AM Revision 7d32bf78 (git): Removed a moved local variable
nobu (Nobuyoshi Nakada)
08:50 AM Revision 61236770 (git): need to sync gc_finalize_deferred
gc_finalize_deferred() runs finalizers and it accesses objspace,
so it need to sync.
ko1 (Koichi Sasada)
07:27 AM Revision 75416b86 (git): Removed old GC.stat keys deprecated since 2.2
nobu (Nobuyoshi Nakada)
07:27 AM Revision 763d5f9c (git): Removed old GC tuning environment variables deprecated since 2.1
nobu (Nobuyoshi Nakada)
07:08 AM Revision 982443e6 (git): Revert "Better cooperation between public/protected/private with attr* and alias_method"
This reverts commit 81739ad4fdfcc86a769056fec352f27c686fba1b. mame (Yusuke Endoh)
07:08 AM Revision 41c208d4 (git): Revert "Use rb_id_attrset without intermediate strings"
This reverts commit 66090b9d10cdaed917b525225e59d1c19e399248. mame (Yusuke Endoh)
07:08 AM Revision c4e50b58 (git): Revert "Added missing tests for public, private, protected and alias_method"
This reverts commit e042e8460bb9a63c05f938d51e8c7c5345a6f3a4. mame (Yusuke Endoh)
07:08 AM Revision 0a60ba92 (git): Revert "Added tests for [Feature #17314]"
This reverts commit 34f06062174882a98ebef998c50ad8d4f7fc0f2e. mame (Yusuke Endoh)
06:44 AM Feature #16274: Transform hash keys by a hash
solnic (Piotr Solnica) wrote in #note-18:
> marcandre (Marc-Andre Lafortune) wrote in #note-17:
> ...
It looks like you are replying to me, but of course this is Matz' decision. That said I feel that the current name is good, especiall...
marcandre (Marc-Andre Lafortune)
06:25 AM Feature #16274: Transform hash keys by a hash
marcandre (Marc-Andre Lafortune) wrote in #note-17:
> Closing, since this has been committed by Nobu 🎉 (in b25e27277dc39)
> ...
This is a wonderful addition but is there a chance you'd reconsider it? Instead of making `transform_keys` ...
solnic (Peter Solnica)
06:16 AM Revision 8e03e3b0 (git): Drop token info also for endless singleton method definition
nobu (Nobuyoshi Nakada)
05:59 AM Revision ffc8a72f (git): Sort URLs by issue numbers [ci skip]
znz (Kazuhiro NISHIYAMA)
05:36 AM Revision f0ec923c (git): Remove --jit-save-temps from MJIT
It's probably not helping the backtrace. k0kubun (Takashi Kokubun)
05:25 AM Revision b5de66e1 (git): [strscan] Fix license comment and files
https://github.com/ruby/strscan/commit/a999f2c6d1 Kenta Murata
05:25 AM Revision 53709639 (git): [strscan] Version 3.0.0
https://github.com/ruby/strscan/commit/08645e4e77 Kenta Murata
05:25 AM Revision 985f0af2 (git): [strscan] Make strscan Ractor safe (#17)
* Make strscan Ractor safe
* Add test-unit in the development dependencies
https://github.com/ruby/strscan/commit/3c93c2bebe
Kenta Murata
05:16 AM Revision cfa124ef (git): acquire VM lock on gc_verify_internal_consistency()
There is a case to call this function without VM lock acquiring. ko1 (Koichi Sasada)
05:11 AM Revision 8cba3b35 (git): Bump version RubyGems and Bundler in NEWS
hsbt (Hiroshi SHIBATA)
05:09 AM Revision b44f7151 (git): zlib is ractor-safe
ko1 (Koichi Sasada)
04:33 AM Revision 0e40cc9b (git): Merge RubyGems 3.2.2 and Bundler 2.2.2
hsbt (Hiroshi SHIBATA)
04:15 AM Feature #17099: Remove boolean argument and warning from Module#attr
It has not been warned unless `$VERBOSE` yet.
We may need wait one more release if we obey the previous rule.
But deprecations aren't warned even if `$VERBOSE` since 2.7.2, I think we can reconsider that rule.
nobu (Nobuyoshi Nakada)
04:04 AM Feature #17314 (Closed): Provide a way to declare visibility of attributes defined by attr* methods in a single expression
Applied in changeset commit:git|34f06062174882a98ebef998c50ad8d4f7fc0f2e.
----------
Added tests for [Feature #17314]
nobu (Nobuyoshi Nakada)
04:03 AM Revision 34f06062 (git): Added tests for [Feature #17314]
nobu (Nobuyoshi Nakada)
03:59 AM Revision e042e846 (git): Added missing tests for public, private, protected and alias_method
nobu (Nobuyoshi Nakada)
03:10 AM Revision 66090b9d (git): Use rb_id_attrset without intermediate strings
nobu (Nobuyoshi Nakada)
02:23 AM Revision a07f2498 (git): socket is ractor-safe.
ko1 (Koichi Sasada)
02:18 AM Revision aa82b067 (git): ruby_set_stack_size: no longer exists
Deleted since fc3c60f6081d85f6274986a7a08b59db1515fcb5 shyouhei (Shyouhei Urabe)
01:58 AM Feature #17398: SyntaxError in endless method
The following patch allows `def foo() = puts "bar"`. It brings no parser conflict.
https://gist.github.com/mame/0773bf3938e046e2b608de5fb2a826c8
However, it is not perfect. `private def foo() = puts "foo"` does not parse.
`private...
mame (Yusuke Endoh)
12:12 AM Revision 51c2725d (git): use eval to create different Regexp objects
Only one warning is shown for the same Regexp object, so create
different objects to support repeating tests.
http://ci.rvm.jp/results/trunk-repeat20@phosphorus-docker/3290658
ko1 (Koichi Sasada)

12/17/2020

11:26 PM Revision 29e42b8b (git): add explicit check
To debug this issue:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20201217T220004Z.fail.html.gz
ko1 (Koichi Sasada)
09:28 PM Misc #16443 (Closed): GC.compact is not documented
Applied in changeset commit:git|895b10ad020a788566c6e35431d07e6121e38c87.
----------
Add documentation about GC.compact
[Misc #16443][ruby-core:96395]
tenderlovemaking (Aaron Patterson)
09:27 PM Misc #16443: GC.compact is not documented
Hi Victor. I added some documentation in 895b10ad020a788566c6e35431d07e6121e38c87. Please feel free to add more details, but I don't want to describe how the internals work since they may change.
Thanks.
tenderlovemaking (Aaron Patterson)
09:26 PM Revision 895b10ad (git): Add documentation about GC.compact
[Misc #16443][ruby-core:96395] tenderlovemaking (Aaron Patterson)
07:47 PM Feature #15822: Add Hash#except
I think `except` should always return a Hash, since Matz prefers returning [the base class instead of subclass](https://bugs.ruby-lang.org/issues/6087#note-12) and we're changing a bunch of String methods too.
I will merge https://git...
marcandre (Marc-Andre Lafortune)
06:29 PM Feature #17404 (Assigned): Ractor `move:` API to allow shareability check
I'd like to `ractor.send(message)` and express that `message` should be shareable. Currently I'm given two choices: `move: true` and `move: false` / nothing, neither of which have an effect if my `message` is shareable, and neither of wh... marcandre (Marc-Andre Lafortune)
05:46 PM Revision 81739ad4 (git): Better cooperation between public/protected/private with attr* and alias_method
radarek (Radosław Bułat)
04:20 PM Revision f7a6b460 (git): * 2020-12-18 [ci skip]
git[bot]
04:20 PM Revision 6538c89f (git): gc_verify_internal_consistency() needs barrier
gc_verify_internal_consistency() accesses all slots (objects) so
all ractors should stop before starting this function.
ko1 (Koichi Sasada)
04:16 PM Feature #17398: SyntaxError in endless method
Eregon (Benoit Daloze) wrote in #note-3:
> So it's probably going to be very difficult to explain the actual condition, other than showing specific examples.
Endless methods definitions don’t support poetry mode?
austin (Austin Ziegler)
01:52 PM Feature #17398: SyntaxError in endless method
Conceptually, according to the typical definition in computer science, both `puts("bar")` and `puts "bar"` are expressions (i.e., they return a value, and if it was some other method than `puts` it would also not always be `nil`).
It mi...
Eregon (Benoit Daloze)
09:39 AM Feature #17398: SyntaxError in endless method
@mame Hmm, haven't thought about it from this perspective... Can you please explain a bit? As far as I can see, in, say, assignment context it behaves like an expression:
```ruby
result = puts 'foo'
# prints "foo", result = nil
```...
zverok (Victor Shepelev)
12:49 AM Feature #17398: SyntaxError in endless method
The body of an endless method must be an expression (called "arg" in the syntax rules of parse.y). `puts("bar")` is an expression, but `puts "bar"` is a statement (called "command" in the syntax rules).
I think it could be a bit confu...
mame (Yusuke Endoh)
01:54 PM Misc #17399: Are endless methods experimental?
I think a warning would better, especially since there were quite a few changes regarding what was accepted after the `=`.
Also, they purely seem redundant to me and I guess to others, so maybe they might be removed one day like the p...
Eregon (Benoit Daloze)
01:39 PM Revision caef364c (git): test/ruby: suppress some warnings
follow up to 9908177857a28633d6279c43a1ad4dfedcb98596 mame (Yusuke Endoh)
01:24 PM Feature #17403 (Closed): Remove Fixnum and Bignum
They are warned as deprecated since 2.4.
As deprecated warnings are not shown by default since 2.7.2, I think we should clean up longstanding warnings.
https://github.com/ruby/ruby/pull/3927
nobu (Nobuyoshi Nakada)
11:24 AM Revision 980f994b (git): [ruby/irb] Change context-mode's default to new mode 4.
This new mode uses a copy of the TOPLEVEL_BINDING. This is compatible with refinements (contrary to mode 3), while keeping nested IRB sessions separate
https://github.com/ruby/irb/commit/25c731cb2f
Marc-Andre Lafortune
11:23 AM Revision 753222d7 (git): [ruby/irb] Enable deprecation warnings when using -W or -w
Requested in Ruby Bug 17377
https://github.com/ruby/irb/commit/698f6eb34a
jeremyevans (Jeremy Evans)
11:23 AM Revision 336fe648 (git): [ruby/irb] Skip the few failing tests on TruffleRuby
https://github.com/ruby/irb/commit/22717844c0 Eregon (Benoit Daloze)
11:22 AM Revision b5effe07 (git): [ruby/irb] Fixed a typo in a comment [ci skip]
https://github.com/ruby/irb/commit/ce373417f3 nobu (Nobuyoshi Nakada)
11:22 AM Revision cbf6a7f9 (git): [ruby/irb] workaround for lack of tokens from `Ripper.lex`
* Fixes #38
https://github.com/ruby/irb/commit/905fb8e52e
no6v (Nobuhiro IMAI)
11:20 AM Revision 422e2c72 (git): [ruby/reline] Use plus operator to create unfrozen string
https://github.com/ruby/reline/commit/ca274b0d37 Robert Schulze
11:17 AM Revision cdf2790a (git): [ruby/reline] Support longer than screen height on Windows
https://github.com/ruby/reline/commit/2a97ca9362 aycabta (aycabta .)
11:17 AM Revision 0158ba7e (git): [ruby/reline] Make a log file on windows if debug env is set
https://github.com/ruby/reline/commit/dff30a2d44 aycabta (aycabta .)
11:14 AM Revision 2b8fa781 (git): [ruby/reline] Support longer than screen height
https://github.com/ruby/reline/commit/e83a3de9ed aycabta (aycabta .)
11:06 AM Revision 99081778 (git): test/ruby: Check warning messages at a finer granularity
Instead of suppressing all warnings wholly in each test scripts by
setting `$VERBOSE` to `nil` in `setup` methods.
nobu (Nobuyoshi Nakada)
11:04 AM Revision d597d7a8 (git): Fixing glitchy kill ring behavior in irb
See https://github.com/ruby/irb/issues/85 for details Yale Kozinski
09:13 AM Revision da3438a5 (git): sync obj_to_id_tbl
objspace->obj_to_id_tbl is a shared table so we need to synchronize
it to access.
ko1 (Koichi Sasada)
09:13 AM Revision 7f11c808 (git): reduce barrier counts for GC events
mark needs barrier (stop other ractors), but other GC events don't need
barriers (maybe...).
ko1 (Koichi Sasada)
08:37 AM Revision 99b91453 (git): relax synchronization on WB
Current synchronization is too much on write barriers. ko1 (Koichi Sasada)
08:24 AM Revision 44fba194 (git): ruby/pathname separated .rb file to top-level directory.
hsbt (Hiroshi SHIBATA)
08:03 AM Revision c42948d7 (git): add debug counters for gc start events
ko1 (Koichi Sasada)
07:53 AM Revision 92137718 (git): encourage inlining for vm_sendish()
Some tunings.
* add `inline` for vm_sendish()
* pass enum instead of func ptr to vm_sendish()
* reorder initial order of `calling` struct.
* add ALWAYS_INLINE for vm_search_method_fastpath()
* call vm_search_method_fastpath() from vm_sen...
ko1 (Koichi Sasada)
07:06 AM Revision 5d74894f (git): Lazily move PC with RUBY_VM_CHECK_INTS
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-17T06:17:46Z master 3b4d698e0b) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (20...
k0kubun (Takashi Kokubun)
06:56 AM Bug #17400: Incorrect character downcase for Greek Sigma
I have to acknowledge that I 'cut some corners'. It's essentially table 3.17 on p. 151/2 of the Unicode Standard (see https://www.unicode.org/versions/Unicode13.0.0/ch03.pdf).
The problem from the implementation side is that it requir...
duerst (Martin Dürst)
04:26 AM Bug #17400: Incorrect character downcase for Greek Sigma
Java has complicated opinions as well:
```
class Main {
public static void main(String args[]) {

System.out.println("Σ".toLowerCase());
System.out.println("ΣΣs".toLowerCase());
System.out.println("ΣΣ".toLowerCase...
sam.saffron (Sam Saffron)
03:35 AM Bug #17400: Incorrect character downcase for Greek Sigma
If the word has a single letter (i.e., `"Σ"`), toLowerCase returns `"σ"` instead of `"ς"` even though the letter is at the end of the word. The condition seems more complex.
```
$ node
> "Σ".toLowerCase()
'σ'
```
mame (Yusuke Endoh)
03:14 AM Bug #17400: Incorrect character downcase for Greek Sigma
Yes everybody wants ruby to handle it "correctly". The problem right now is the lack of concrete definition of "correct" here; especially we need a definition of a word boundary. shyouhei (Shyouhei Urabe)
03:07 AM Bug #17400: Incorrect character downcase for Greek Sigma
Oops, my understanding seemed to be wrong. Please forget my previous comment. When the next letter is an apostrophe, the further next letter seems to determine, but I don't understand this behavior from the code of v8. I leave it to an e... mame (Yusuke Endoh)
02:40 AM Bug #17400: Incorrect character downcase for Greek Sigma
Prior art here is:
https://github.com/elixir-lang/elixir/issues/6437
https://github.com/elixir-lang/elixir/pull/6990/files
Rust
https://github.com/rust-lang/rust/issues/26035
Golang
https://github.com/golang/text/blob/master/cases...
sam.saffron (Sam Saffron)
02:39 AM Bug #17400: Incorrect character downcase for Greek Sigma
Just FYI: I found the special handling code of Greek Sigma in v8. Looks like that it checks if the next character (if any) is a letter or not.
https://github.com/v8/v8/blob/4b9b23521e6fd42373ebbcb20ebe03bf445494f9/src/unicode.cc#L177-...
mame (Yusuke Endoh)
01:11 AM Bug #17400: Incorrect character downcase for Greek Sigma
I guess the ultimate reason why this is not implemented in ruby is the corresponding case mapping is commented out in https://unicode.org/Public/UNIDATA/SpecialCasing.txt
So strictly speaking we just follow what Unicode says but well,...
shyouhei (Shyouhei Urabe)
06:17 AM Revision 3b4d698e (git): Ignore catch_except_p for PC motion
We probably don't need to move it when an insn is leaf... k0kubun (Takashi Kokubun)
05:37 AM Revision a09c3c6f (git): expand VERSION path for ruby repository.
hsbt (Hiroshi SHIBATA)
05:28 AM Feature #17342: Hash#fetch_set
MaxLap (Maxime Lapointe) wrote in #note-19:
> matz (Yukihiro Matsumoto) wrote in #note-16:
> ...
Matz says it's rare.
I'm not sure if that is true, but so far nobody shows any evidence about its rarity.
shyouhei (Shyouhei Urabe)
05:20 AM Revision 46ea7429 (git): Bump version to json-2.4.1 and use VERSION file for json version same as upstream
hsbt (Hiroshi SHIBATA)
05:04 AM Bug #17402 (Closed): Remove deprecated GC-related features
Are these backward compatibilities still needed?
I think no.
```
$ RUBY_FREE_MIN=1 RUBY_HEAP_MIN_SLOTS=1 ruby2.1 -e0
ruby2.1: warning: RUBY_FREE_MIN is obsolete. Use RUBY_GC_HEAP_FREE_SLOTS instead.
ruby2.1: warning: RUBY_HEAP_MIN...
nobu (Nobuyoshi Nakada)
04:22 AM Revision ccf9da07 (git): fix doc typo
s/it's/its d-m-u
03:59 AM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
nobu (Nobuyoshi Nakada) wrote in #note-5:
> Your proposal seems `shareable_constant_value: everything` (it's prefixed with `experimental_` now though).
No, that value deep-freezes implicitly all constants. Non-literals are not frozen...
marcandre (Marc-Andre Lafortune)
03:42 AM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
Your proposal seems `shareable_constant_value: everything` (it's prefixed with `experimental_` now though). nobu (Nobuyoshi Nakada)
03:43 AM Revision d07183ec (git): Do not access jit_unit if NULL
k0kubun (Takashi Kokubun)
12:59 AM Feature #17401 (Closed): The class `Ractor::MovedObject` should not be frozen
If `Ractor::MovedObject` can be not frozen that would be more helpful than currently. For example, to implement a helpful `inspect` in pure Ruby 3.0 like in #17393
It is currently possible to go around the fact that it is frozen with ...
marcandre (Marc-Andre Lafortune)
12:30 AM Misc #17337 (Open): Don't embed Ruby build-time configuration in Ruby
vo.x (Vit Ondruch) wrote in #note-15:
> Should I open separate ticket for the revert and keep this ticket open for continuing the "whole principle" discussion?
Don’t worry, I have reverted that part already. Use this ticket for the ...
shyouhei (Shyouhei Urabe)

12/16/2020

11:47 PM Bug #17400 (Assigned): Incorrect character downcase for Greek Sigma
An issue caused by this bug was first reported at Discourse support community at https://meta.discourse.org/t/unicode-username-results-in-error-loading-profile-page/173182?u=falco.
The issue is that in Greek, there are two ways to dow...
xfalcox (Rafael Silva)
09:48 PM Misc #16443: GC.compact is not documented
@tenderlovemaking? @ko1? Anybody? It is still this way a week before 3.0?
Can somebody at least provide some draft explanations, or should I dig the sources more?..
zverok (Victor Shepelev)
08:55 PM Feature #17393: `Ractor::Moved#inspect`
Discussed with ko1, who said he is afraid that unfreezing the class might create issues, as implementation is quite special. Possible implementation of `#inspect` for Ruby 3.1
Two things to keep in mind:
- usecase for unfreezing the ...
marcandre (Marc-Andre Lafortune)
07:57 PM Misc #17399 (Closed): Are endless methods experimental?
They are marked as such in NEWS, but an attempt to define one doesn't produce a warning (unlike other features marked this way, like one-line pattern-matching or find patterns) zverok (Victor Shepelev)
07:54 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
After discussion with ko1, the following options came up:
(1) raises an error for non-literals on parse time (current)
(2) raises an error for unshareable non-literals on runtime (my proposal)
(3) just ignore non-literals
(4) = (3)...
marcandre (Marc-Andre Lafortune)
06:58 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
Ideally, the following would also be accepted:
```ruby
# shareable_constant_value: literal
Map = {
int: Integer,
str: String,
# ...
}
Map.frozen # => true
```
Literals that are arguments to method calls should not b...
marcandre (Marc-Andre Lafortune)
06:25 PM Feature #17397 (Closed): `shareable_constant_value: literal` should check at runtime, not at parse time
I think `shareable_constant_value: literal` is too strict because it has too crude checks at parse time.
I wish the following code would parse and run:
```ruby
# shareable_constant_value: literal
class Foo < RuntimeError
end
...
marcandre (Marc-Andre Lafortune)
07:52 PM Feature #17398 (Closed): SyntaxError in endless method
This works:
```ruby
def foo() = puts("bar")
```
This does not:
```ruby
def foo() = puts "bar"
# ^ syntax error, unexpected string literal, expecting `do' or '{' or '('
```
Is this intentional or accidental? No...
zverok (Victor Shepelev)
06:46 PM Revision 93ba3ac0 (git): RGENGC_PROFILE=0
Enabled this flag, maybe accidentally. ko1 (Koichi Sasada)
06:44 PM Revision 2a3324fc (git): No sync on ASCII/US_ASCCII/UTF-8
rb_enc_from_index(index) doesn't need locking if index specify
ASCII/US_ASCCII/UTF-8.
rb_enc_from_index() is called frequently so it has impact.
user system total real
r_parallel/miniruby ...
ko1 (Koichi Sasada)
06:43 PM Revision c5814213 (git): make RB_DEBUG_COUNTER_INC()_thread-safe
ko1 (Koichi Sasada)
06:36 PM Feature #17273 (Closed): shareable_constant_value pragma
Closing, this has been implemented by Nobu marcandre (Marc-Andre Lafortune)
05:33 PM Misc #16047 (Closed): Reconsider impact of frozen_string_literal on dynamic strings
Thanks for opening this issue.
Ruby 3.0 no longer freezes dynamic strings.
marcandre (Marc-Andre Lafortune)
04:18 PM Bug #17396 (Closed): Missing .gemspec files
I am missing every .gemspec file, which used to be installed by bundled gems. IOW previously there were installed files such as rexml.gemspec and rss.gemspec. This is presumably caused by commit:91f831ac17c8ff58d536ce1fa320294bb477d2ae. ... vo.x (Vit Ondruch)
03:57 PM Feature #10445 (Rejected): [PATCH 3/3] Extend Matrix#[]
Closing this, mainly for performance reason; best use `Matrix#minor`. marcandre (Marc-Andre Lafortune)
03:49 PM Feature #8382 (Closed): Format OpenStruct YAML dump and create getters and setters after load.
This has (finally) been fixed, thanks for opening the issue. marcandre (Marc-Andre Lafortune)
03:47 PM Feature #17277 (Closed): Make Enumerator#with_index yield row and col indices for Matrix
Closing for lack of a viable solution marcandre (Marc-Andre Lafortune)
03:42 PM Revision d5929b39 (git): Make Ractor#receive_if private
Marc-Andre Lafortune
03:34 PM Revision 24f01897 (git): fix timing bug
ractor_sleep() can remain wait.status by interrupt, so that this
patch handles more correctly.
This patch fixed this kind of assertion failures:
Assertion Failed: ../src/ractor.c:1332:ractor_yield_atexit:cr->sync.wait.status == wait...
ko1 (Koichi Sasada)
03:31 PM Revision 84c9ebd6 (git): * 2020-12-17 [ci skip]
git[bot]
03:29 PM Revision b29c0fad (git): add HAVE_RB_EXT_RACTOR_SAFE macro
define HAVE_RB_EXT_RACTOR_SAFE to check rb_ext_ractor_safe() is
available or not.
ko1 (Koichi Sasada)
02:24 PM Revision 53babf35 (git): Inline getconstant on JIT (#3906)
* Inline getconstant on JIT
* Support USE_MJIT=0
k0kubun (Takashi Kokubun)
02:03 PM Revision bfb374be (git): Fix a typo [ci skip]
znz (Kazuhiro NISHIYAMA)
01:53 PM Revision 9c859f4b (git): Ripper: Pass callback result to alias_error as well as other errors
[Bug #17345] nobu (Nobuyoshi Nakada)
12:12 PM Bug #17345 (Closed): ripper: nothing raised when assigning to keyword variables
Applied in changeset commit:git|47328ad217ecaf240f0faedac89723dcd6a917ac.
----------
Ripper: Fixed erred token on wrong alias [Bug #17345]
nobu (Nobuyoshi Nakada)
12:02 PM Bug #17345 (Open): ripper: nothing raised when assigning to keyword variables
nobu (Nobuyoshi Nakada)
10:02 AM Bug #17345: ripper: nothing raised when assigning to keyword variables
Sharing error messages between ruby core and ripper is fine, thank you!
Now, the '#tok' on some error events are `Elem` instead of string.
```
$ ./ruby -rripper -ve 'pp Ripper::Lexer.new("alias $x $1").scan'
ruby 3.0.0dev (2020-12-...
no6v (Nobuhiro IMAI)
12:08 PM Revision 47328ad2 (git): Ripper: Fixed erred token on wrong alias [Bug #17345]
nobu (Nobuyoshi Nakada)
11:33 AM Revision 359ad442 (git): strip trailing spaces [ci skip]
nobu (Nobuyoshi Nakada)
10:13 AM Feature #17378 (Closed): Ractor#receive with filtering like other actor langauge
Applied in changeset commit:git|a9a7f4d8b8ec30abc7a47ce700edc7209ae12279.
----------
Ractor#receive_if to receive only matched messages
Instead of Ractor.receive, Ractor.receive_if can provide a pattern
by a block and you can choose th...
ko1 (Koichi Sasada)
10:12 AM Revision a9a7f4d8 (git): Ractor#receive_if to receive only matched messages
Instead of Ractor.receive, Ractor.receive_if can provide a pattern
by a block and you can choose the receiving message.
[Feature #17378]
ko1 (Koichi Sasada)
10:10 AM Revision ddb93c3d (git): Made LARGEFILE_SUPPORT mandatory
nobu (Nobuyoshi Nakada)
10:10 AM Revision 5193fbb6 (git): Removed stale declaration
rb_w32_pipe_exec was removed in 1.9.3, at
commit:7ac32d7a16734ea66de15319bcff2fd429abae7f.
nobu (Nobuyoshi Nakada)
08:54 AM Revision 8b32191a (git): Ignore failure on unsupported fcntl to drop non-blocking mode
nobu (Nobuyoshi Nakada)
08:39 AM Revision 4fe7f270 (git): Different names instead of `ulimit`
nobu (Nobuyoshi Nakada)
08:22 AM Revision 5d8f227d (git): Lazily move units from active_units to stale_units
to avoid SEGV like
http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/3289588
by a race condition between mjit_recompile and compation around active_units
k0kubun (Takashi Kokubun)
08:18 AM Revision 0a521618 (git): fix Ractor#receive by other ractors
Ractor#receive can be called by the another Ractors using send,
so making this method completely same as `Ractor.receive` even if
the ractor is specified by the receiver (OO term :p).
ko1 (Koichi Sasada)
07:17 AM Revision c668772b (git): test/ruby/test_enum.rb: Avoid "warning: assigned but unused variable"
mame (Yusuke Endoh)
06:32 AM Revision 19157a3c (git): vm debug: dump registers on ARM too. (#3900)
* vm debug: dump registers on ARM too. David CARLIER
05:20 AM Revision 98dca855 (git): tuning vm_setivar_slowpath() more.
specify inline/noinline code for is_attr condition. ko1 (Koichi Sasada)
04:43 AM Revision 1bafb3cb (git): [memory_view] Make MemoryView API Ractor-safe (#3911)
* memory_view.c: make Ractor-safe
* test/ruby/test_memory_view.rb: Add test_ractor
* memory_view: fix typo
* memory_view.c: Use st_update in unregster_exported_object
* memory_view: update dependency
Kenta Murata
04:30 AM Revision 1e11c12a (git): remove unused function
ko1 (Koichi Sasada)
04:06 AM Revision 5499651e (git): tuning ivar set
* make rb_init_iv_list() simple
* introduce vm_setivar_slowpath() for cache miss cases
../clean/miniruby is 647ee6f091.
Calculating -------------------------------------
./miniruby ../clean/miniruby ../ruby_2_7/...
ko1 (Koichi Sasada)
03:31 AM Revision ad8e82f7 (git): Fixed marshal compatibility of Process::Status
nobu (Nobuyoshi Nakada)
03:14 AM Revision b30d7fea (git): Removed leading spaces [ci skip]
nobu (Nobuyoshi Nakada)
02:26 AM Revision cfefd1e5 (git): Added entry for webrick changes at Ruby 3.0 to NEWS
hsbt (Hiroshi SHIBATA)
01:38 AM Revision 0b678cc9 (git): add vm_sync debug counters
* vm_sync_lock
* vm_sync_lock_enter
* vm_sync_lock_enter_nb
* vm_sync_lock_enter_cr
* vm_sync_barrier
ko1 (Koichi Sasada)
01:36 AM Revision 171f0431 (git): fix typo
ko1 (Koichi Sasada)
01:29 AM Revision dff67c80 (git): fix duplicated name
ko1 (Koichi Sasada)
 

Also available in: Atom