Project

General

Profile

Activity

From 08/14/2022 to 08/20/2022

08/20/2022

11:33 PM Revision e85db849 (git): * 2022-08-21 [ci skip]
git[bot]
11:33 PM Misc #18968 (Closed): Run MJIT under a forked Ruby process
Applied in changeset commit:git|dc8d70e4615cdf12378322fbcd4396486270ddbe.
----------
Execute MJIT in a forked Ruby p...
k0kubun (Takashi Kokubun)
11:32 PM Misc #18968: Run MJIT under a forked Ruby process
Yeah. Ever since I created llrb.gem, I've sometimes thought about it. Like what the description of JEP 243 says, JIT ... k0kubun (Takashi Kokubun)
10:08 AM Misc #18968: Run MJIT under a forked Ruby process
An interesting project if you are changing the interface could be to write a generic JIT interface, which any JIT cou... chrisseaton (Chris Seaton)
09:23 AM Misc #18968 (Closed): Run MJIT under a forked Ruby process
# Changes
* When MJIT compiles a method, it spawns a child Ruby process and lets it generate a C code and compile it...
k0kubun (Takashi Kokubun)
11:33 PM Revision dc8d70e4 (git): Execute MJIT in a forked Ruby process (#6264)
[Misc #18968] k0kubun (Takashi Kokubun)
10:01 PM Feature #18959: Handle gracefully nil kwargs eg. **nil
I have another use case.
I'm receiving options from a web protocol.
Sometimes there are no options.
So I end up wi...
ioquatix (Samuel Williams)
07:52 PM Feature #18969: Compare only method definitions for Method#== and UnboundMethod#==
#18798 made me realize the proposed behavior makes sense for UnboundMethod#== but probably less for Method#== which p... Eregon (Benoit Daloze)
07:45 PM Feature #18969 (Closed): Compare only method definitions for Method#== and UnboundMethod#==
@ko1 Indeed, I'll mark this one as duplicate and close it, and I'll add your issue to the dev meeting. Eregon (Benoit Daloze)
04:21 PM Feature #18969: Compare only method definitions for Method#== and UnboundMethod#==
Same as https://bugs.ruby-lang.org/issues/18798 ?
ko1 (Koichi Sasada)
12:05 PM Feature #18969 (Closed): Compare only method definitions for Method#== and UnboundMethod#==
From https://bugs.ruby-lang.org/issues/18751#note-16
During the last dev meeting, @ko1 said Method#== should be "i...
Eregon (Benoit Daloze)
07:51 PM Misc #18954: DevMeeting-2022-08-18
* [Feature #18798] `UnboundMethod#==` with inherited classes (eregon)
* OK to change UnboundMethod#== to check if ...
Eregon (Benoit Daloze)
07:48 PM Feature #18798: `UnboundMethod#==` with inherited classes
I think we should do this, because I think the main purpose of UnboundMethod#== is to find out if two methods have th... Eregon (Benoit Daloze)
02:20 PM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
Ah, maybe this cryptic header actually works for Bash too?
Then the problem is that CRuby adds it instead of RubyGem...
Eregon (Benoit Daloze)
01:54 PM Bug #18970 (Third Party's Issue): CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
Same as https://github.com/oneclick/rubyinstaller2/issues/299, but I figured it's extremely likely to be a bug in CRu... Eregon (Benoit Daloze)
01:06 PM Bug #18580: Range#include? inconsistency for beginless String ranges
TBH, my position is that:
1. I don't see why non-numeric `Range#include?` should be prohibited if it is possible t...
zverok (Victor Shepelev)
03:32 AM Bug #18580: Range#include? inconsistency for beginless String ranges
This was my attempt.
https://github.com/nobu/ruby/tree/nonnumeric-range-include_p
nobu (Nobuyoshi Nakada)
03:21 AM Bug #18580: Range#include? inconsistency for beginless String ranges
nobu (Nobuyoshi Nakada) wrote in #note-6:
> About the implementation, how about splitting the function by `string_us...
jeremyevans0 (Jeremy Evans)
03:05 AM Bug #18580: Range#include? inconsistency for beginless String ranges
jeremyevans0 (Jeremy Evans) wrote in #note-5:
> Assuming @matz only wants this behavior change for beginless/endless...
nobu (Nobuyoshi Nakada)
12:48 PM Feature #18965: Further Thread::Queue improvements
`pop(nonblock: true)` that wouldn't raise definitely make sense to me, so I'll for sure propose it at the next meetin... byroot (Jean Boussier)
11:13 AM Feature #18965: Further Thread::Queue improvements
Thank you for the benchmark.
Given the results, I think it's currently not worth it to add batch push/pop, because i...
Eregon (Benoit Daloze)
12:38 PM Bug #18435: Calling `protected` on ancestor method changes result of `instance_methods(false)`
FWIW, TruffleRuby and JRuby don't have ZSUPER methods, so it's like they always had the fix of https://github.com/rub... Eregon (Benoit Daloze)
12:30 PM Bug #18435: Calling `protected` on ancestor method changes result of `instance_methods(false)`
@nagachika wrote in #note-14:
> I agree to backport the revert to ruby_3_1, but I think removing the existing method...
Eregon (Benoit Daloze)
11:44 AM Bug #18435 (Closed): Calling `protected` on ancestor method changes result of `instance_methods(false)`
Applied in changeset commit:git|8212aab81a77a2a91fb7c1681b4968171193b48f.
----------
Make Object#method and Module#i...
jeremyevans (Jeremy Evans)
12:34 PM Feature #11689: Add methods allow us to get visibility from Method and UnboundMethod object.
matz (Yukihiro Matsumoto) wrote in #note-24:
> Instead, each class should have lists of methods for each visibility....
Eregon (Benoit Daloze)
12:18 PM Feature #11689 (Open): Add methods allow us to get visibility from Method and UnboundMethod object.
(I reopen because the new methods or equivalent functionality is not present on current master.)
Since https://git...
Eregon (Benoit Daloze)
12:06 PM Bug #18751: Regression on master for Method#== when comparing public with private method
Eregon (Benoit Daloze) wrote in #note-16:
> @ko1 said Method#== should be "is it the same definition?".
> I agree, ...
Eregon (Benoit Daloze)
11:46 AM Bug #18751 (Closed): Regression on master for Method#== when comparing public with private method
Fixed in https://github.com/ruby/ruby/pull/6242 Eregon (Benoit Daloze)
11:44 AM Bug #18729 (Closed): Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
Applied in changeset commit:git|8212aab81a77a2a91fb7c1681b4968171193b48f.
----------
Make Object#method and Module#i...
jeremyevans (Jeremy Evans)
11:44 AM Revision 209631a4 (git): Consider resolved-through-zsuper methods equal for compatibility
* Fixes https://bugs.ruby-lang.org/issues/18751 Eregon (Benoit Daloze)
11:44 AM Revision 8212aab8 (git): Make Object#method and Module#instance_method not skip ZSUPER methods
Based on https://github.com/jeremyevans/ruby/commit/c95e7e5329140f640b6497905485761f3336d967
Among other things, thi...
jeremyevans (Jeremy Evans)
10:31 AM Feature #16122: Data: simple immutable value object
> The main purpose of the new class is immutability, not "frozen", not "plain", not simplicity: FrozenStruct, SimpleS... Eregon (Benoit Daloze)
07:25 AM Revision b32a3f12 (git): [Bug #18964] Add test for `rb_econv_append`
nobu (Nobuyoshi Nakada)
06:57 AM Revision 485019c2 (git): Rename mjit_exec to jit_exec (#6262)
* Rename mjit_exec to jit_exec
* Rename mjit_exec_slowpath to mjit_check_iseq
* Remove mjit_exec references from co...
k0kubun (Takashi Kokubun)
03:25 AM Bug #12436 (Closed): newline argument of File.open seems not respected on Windows
Applied in changeset commit:git|6f3857f6a7b3cd6bd7e62e4efdbb1b841544e053.
----------
Support Encoding::Converter new...
jeremyevans (Jeremy Evans)
03:25 AM Revision fc5382d4 (git): Reuse rb_class_new_instance_kw function
S_H_ (Shun Hiraoka)
03:24 AM Revision 01e8d393 (git): Fix gdb incompatibilies in rp_class, rb_ps_vm
Other changes are needed to bring .gdbinit up-to-date with current ruby.
It looks like lldb is the preferred approach...
nevans (Nicholas Evans)
03:23 AM Bug #18958 (Closed): Kernel#sprintf doesn't apply format sequence in some encodings
Applied in changeset commit:git|1a2f99275be28fb0e8ff4cfc0165966e99898d70.
----------
[Bug #18958] format string must...
nobu (Nobuyoshi Nakada)
03:23 AM Revision 6f3857f6 (git): Support Encoding::Converter newline: :lf and :lf_newline options
Previously, newline: :lf was accepted but ignored. Where it
should have been used was commented out code that didn't...
jeremyevans (Jeremy Evans)
01:06 AM Revision 1a2f9927 (git): [Bug #18958] format string must be ASCII compatible
nobu (Nobuyoshi Nakada)
01:06 AM Revision 43e8d9a0 (git): Check if encoding capable object before check if ASCII compatible
nobu (Nobuyoshi Nakada)
01:06 AM Bug #18956 (Closed): Kernel#sprintf - %c handles negative Integer argument in a confusing way
Applied in changeset commit:git|d2483393cbcb4dcfa0000fa8166bb7fa7ed9f7b4.
----------
[Bug #18956] Negative codepoint...
nobu (Nobuyoshi Nakada)
01:06 AM Revision d2483393 (git): [Bug #18956] Negative codepoints are invalid characters
nobu (Nobuyoshi Nakada)

08/19/2022

11:22 PM Feature #18159: Integrate functionality of syntax_suggest gem into Ruby
Thank you all for your help, this is exciting! schneems (Richard Schneeman)
09:50 PM Bug #18580: Range#include? inconsistency for beginless String ranges
nobu (Nobuyoshi Nakada) wrote in #note-4:
> matz (Yukihiro Matsumoto) wrote in #note-3:
> > So I decided to make `i...
jeremyevans0 (Jeremy Evans)
09:45 PM Revision 8f4a53d0 (git): Ignore fc4acf8cae on git blame
k0kubun (Takashi Kokubun)
09:44 PM Revision fc4acf8c (git): Make benchmark indentation consistent
Related to https://github.com/Shopify/yjit-bench/pull/109 k0kubun (Takashi Kokubun)
08:30 PM Bug #18955 (Closed): Kernel#sprintf - %c ignores a non-ASCII character's encoding
Applied in changeset commit:git|ce384ef5a95b809f248e089c1608e60753dabe45.
----------
[Bug #18955] Check length of ar...
nobu (Nobuyoshi Nakada)
07:09 PM Feature #16122: Data: simple immutable value object
It consists of multiple members, so calling it data itself doesn't seem like a problem to me. For documentation, you ... k0kubun (Takashi Kokubun)
04:24 PM Feature #16122: Data: simple immutable value object
Umm wait.
`Data` is actually a [plural form](https://www.learnenglish.de/mistakes/data.html). While using it as si...
zverok (Victor Shepelev)
10:19 AM Feature #16122: Data: simple immutable value object
I am not 100% satisfied with any of the candidates, but Struct::Value and Data are better than others.
Struct::Value...
matz (Yukihiro Matsumoto)
10:13 AM Feature #16122: Data: simple immutable value object
> At the dev meeting, @matz rejected all name candidates except `Struct::Value` and `Data`.
So, as far as I can un...
zverok (Victor Shepelev)
08:30 AM Feature #16122: Data: simple immutable value object
This is my personal opinion. I think `Data` is a good choice since there are few compatibility issues at this time de... mame (Yusuke Endoh)
08:23 AM Feature #16122: Data: simple immutable value object
At the dev meeting, @matz rejected all name candidates except `Struct::Value` and `Data`.
* He wants to avoid the ...
mame (Yusuke Endoh)
06:57 PM Revision 745de85a (git): * 2022-08-20 [ci skip]
git[bot]
06:57 PM Revision 1ef49de8 (git): [Bug #18955] format single character for `%c`
nobu (Nobuyoshi Nakada)
06:57 PM Revision ce384ef5 (git): [Bug #18955] Check length of argument for `%c` in proper encoding
nobu (Nobuyoshi Nakada)
05:23 PM Bug #18967 (Feedback): Segmentation fault in stackprof with Ruby 2.7.6
Thank you for your report. At least we need the full trace, especially. "C level backtrace information" section. Can ... mame (Yusuke Endoh)
03:42 PM Bug #18967 (Third Party's Issue): Segmentation fault in stackprof with Ruby 2.7.6
Ruby 2.7.6 appears to have broken the stackprof gem, crashing on every run with a segmentation fault.
Please see t...
RubyBugs (A Nonymous)
03:43 PM Feature #18965: Further Thread::Queue improvements
So I implemented `pop(:count)` https://github.com/ruby/ruby/pull/6257
And benchmarked it against my somewhat reali...
byroot (Jean Boussier)
11:33 AM Feature #18965: Further Thread::Queue improvements
Also note that I did a single ticket for 3 somewhat related features, but if `concat` (aka batch push) is deemed unde... byroot (Jean Boussier)
01:18 PM Revision 4177f60e (git): Write interface instead of interfact
kaiquekandykoga (Kaíque Koga)
12:49 PM Feature #5825: Sweet instance var assignment in the object initializer
I would really love to see native support for an initializer instance variable assignment shorthand without adding th... [email protected] (Eike Send)
11:23 AM Bug #18941: Endless loop with a memory leak in FileUtils::mkpath
I proposed a fix at https://github.com/ruby/fileutils/pull/100. deivid (David Rodríguez)
09:34 AM Revision 6bcb473d (git): [ruby/error_highlight] Apply ErrorHighlight::CoreExt to TypeError and ArgumentError
https://github.com/ruby/error_highlight/commit/defcaf1beb mame (Yusuke Endoh)
08:51 AM Bug #18966 (Open): Strange behavior when numbered parameters and method definition are both used in a block
~~~ruby
'a'.tap { p _1; def f()=42 } #=> "a"
'a'.tap { p _1; def f(a)=42 } #=> nil
'a'.tap { def f()=42; p _1 } #=...
tompng (tomoya ishida)
05:38 AM Feature #18949: Deprecate and remove replicate and dummy encodings
We still need to discuss about the implementation detail, but the baseline is what @eregon explained above.
Matz.
matz (Yukihiro Matsumoto)
05:09 AM Feature #17330: Object#non
I still don't think `non` (or `itself_if` or `itself_unless`) gain readability. It may work well in some cases, but m... matz (Yukihiro Matsumoto)
04:20 AM Revision 17d0e5be (git): syntax_suggest moved to under the ruby organization.
hsbt (Hiroshi SHIBATA)
01:20 AM Revision bd0fe26b (git): [DOC] Fix "military timezone"
Not only `J` is called military timezone. nobu (Nobuyoshi Nakada)
01:03 AM Revision 61ab06fe (git): Update default gems list at 490af8dbdb66263f29d0b4e43752fb [ci skip]
git[bot]
01:02 AM Revision 490af8db (git): Sync SyntaxSuggest
```
$ tool/sync_default_gems.rb syntax_suggest
```
schneems (Richard Schneeman)
01:02 AM Revision a50df1ab (git): Setup SyntaxSuggest as default gem
Adds the `syntax_suggest` syntax error display tool to Ruby through the same mechanism as `error_highlight` and `did_... schneems (Richard Schneeman)
12:51 AM Revision 3541f329 (git): Reuse opt_nl rule
S_H_ (Shun Hiraoka)
12:47 AM Revision f0953617 (git): Repalce to NIL_P macro
S_H_ (Shun Hiraoka)

08/18/2022

07:59 PM Feature #18965: Further Thread::Queue improvements
> That would mean basically ignoring the timeout, not great.
Maybe my writing wasn't clear. I don't suggest to ign...
byroot (Jean Boussier)
06:59 PM Feature #18965: Further Thread::Queue improvements
chrisseaton (Chris Seaton) wrote in #note-3:
> I was going to comment that adding or removing multiple items from a ...
Eregon (Benoit Daloze)
06:41 PM Feature #18965: Further Thread::Queue improvements
> Then there's the question of how SizedQueue would behave if it's not full, but still doesn't have space for all the... Eregon (Benoit Daloze)
06:30 PM Feature #18965: Further Thread::Queue improvements
I was going to comment that adding or removing multiple items from a queue is likely not great for implementation, as... chrisseaton (Chris Seaton)
05:56 PM Feature #18965: Further Thread::Queue improvements
@p8, indeed. Thanks for the heads up. byroot (Jean Boussier)
05:06 PM Feature #18965: Further Thread::Queue improvements
Hi Jean,
Should that second code example use `items` instead of `item`?
``` ruby
queue.concat(items)
```
p8 (Petrik de Heus)
02:46 PM Feature #18965 (Rejected): Further Thread::Queue improvements
Following the recent addition of a `timeout` parameter to `Queue#pop`, there are a handful of other improvements I'd ... byroot (Jean Boussier)
06:50 PM Feature #18776: Object Shapes
> With shapes you could start with {a,b} and then add the hash keys to get shape {a,b,c,d} and pass all values [1,2,3... chrisseaton (Chris Seaton)
06:49 PM Feature #18776: Object Shapes
tenderlovemaking (Aaron Patterson) wrote in #note-21:
> It's currently implemented this way. :)
Ok, thank you for th...
Dan0042 (Daniel DeLorme)
06:22 PM Feature #18776: Object Shapes
Reference keyword arguments - what we're doing is using the same idea of shapes, but applying them to the keyword arg... chrisseaton (Chris Seaton)
06:06 PM Feature #18776: Object Shapes
Dan0042 (Daniel DeLorme) wrote in #note-19:
> Thank you for this important work. In particular I think shapes will b...
tenderlovemaking (Aaron Patterson)
05:38 PM Feature #18776: Object Shapes
Dan0042 (Daniel DeLorme) wrote in #note-19:
> In particular I think shapes will be very useful in the future to impr...
jeremyevans0 (Jeremy Evans)
03:40 PM Feature #18776: Object Shapes
Thank you for this important work. In particular I think shapes will be very useful in the future to improve the perf... Dan0042 (Daniel DeLorme)
04:50 AM Feature #18776: Object Shapes
About the general principle, since Ruby is used on many production environment by many companies, non-optional featur... naruse (Yui NARUSE)
06:05 PM Revision 35c794b2 (git): Fixed by [Bug #18964]
nobu (Nobuyoshi Nakada)
06:05 PM Revision 99116da7 (git): Scan the code range of the last added portion
nobu (Nobuyoshi Nakada)
06:05 PM Revision f34280ec (git): Scan the code range of the formatted portion
nobu (Nobuyoshi Nakada)
05:59 PM Feature #16122: Data: simple immutable value object
I can live with `DataClass` too, but I still can't forget the beautiful shortness of `Data`. `DataClass.new` feels li... k0kubun (Takashi Kokubun)
05:05 PM Feature #16122: Data: simple immutable value object
If “data” is the naming direction folks like, I think the class name should be DataClass. This aligns with kotlin (wh... myronmarston (Myron Marston)
02:14 PM Feature #16122: Data: simple immutable value object
> I'm not sure if @zverok likes Data over his own proposal, but note that data appears in his local variable name as... zverok (Victor Shepelev)
06:59 AM Feature #16122: Data: simple immutable value object
k0kubun (Takashi Kokubun) wrote in #note-37:
> My enthusiastic +1 for `Data`.
>
> I've used Kotlin and its [Data...
baweaver (Brandon Weaver)
06:38 AM Feature #16122: Data: simple immutable value object
My enthusiastic +1 for `Data`.
I've used Kotlin and its [Data classes](https://kotlinlang.org/docs/data-classes.htm...
k0kubun (Takashi Kokubun)
05:25 PM Feature #18910 (Closed): Improve maintainability of LLDB helpers
Applied in changeset commit:git|f1ccfa0c2c200c9443fbfc3f1ac3acbdd3e35559.
----------
[ci-skip][Feature #18910][lldb]...
eightbitraptor (Matt V-H)
05:25 PM Revision 59da2678 (git): * remove trailing spaces. [ci skip]
git[bot]
05:25 PM Revision 92603bbd (git): [ci skip][Feature #18910][lldb] Dedup lldb_init
by moving it fully into RbBaseCommand eightbitraptor (Matt V-H)
05:25 PM Revision b26aec9d (git): [ci-skip][Feature #18910][lldb] New directory structure
Push the newly refactored lldb files into a sub-directory so that we're
not cluttering up the misc directory
eightbitraptor (Matt V-H)
05:25 PM Revision a4ef2f16 (git): [ci-skip][Feature #18910][lldb] Port rclass_ext to new LLDB Framework
eightbitraptor (Matt V-H)
05:25 PM Revision 281bcc8e (git): [ci-skip][Feature #18910][lldb] Port heap_page command to new LLDB framework
eightbitraptor (Matt V-H)
05:25 PM Revision f1ccfa0c (git): [ci-skip][Feature #18910][lldb] Provide class framework for lldb commands
`lldb_cruby.py` manages lldb custom commands using functions. The file
is a large list of Python functions, and an in...
eightbitraptor (Matt V-H)
04:28 PM Revision d903e767 (git): Allow strings in assert_pattern_list
nobu (Nobuyoshi Nakada)
03:17 PM Revision 8c44b07f (git): * 2022-08-19 [ci skip]
git[bot]
03:16 PM Revision 2652b0da (git): Harden SizedQueue#push timeout test
nobu (Nobuyoshi Nakada)
02:38 PM Revision 7c1ed470 (git): Add tests for assert_pattern_list
nobu (Nobuyoshi Nakada)
02:25 PM Revision c5366769 (git): [DOC] `offset` argument of Regexp#match
nobu (Nobuyoshi Nakada)
11:40 AM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
PR: https://github.com/ruby/ruby/pull/6251 Eregon (Benoit Daloze)
09:35 AM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
To explain my mental model:
I think Method/UnboundMethod captures a given method, and that should never change (even...
Eregon (Benoit Daloze)
09:23 AM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
@matz agreed to remove ZSUPER methods, because the current illusion is incomplete.
In practice the semantics are the ...
Eregon (Benoit Daloze)
10:59 AM Feature #18159 (Assigned): Integrate functionality of syntax_suggest gem into Ruby
Thanks @schneems and @matz
I'll merge this and invite @schneems to our team as a Ruby committer tomorrow.
hsbt (Hiroshi SHIBATA)
09:02 AM Feature #18159: Integrate functionality of syntax_suggest gem into Ruby
The new name `syntax_suggest` looks good.
Matz.
matz (Yukihiro Matsumoto)
09:45 AM Bug #18958: Kernel#sprintf doesn't apply format sequence in some encodings
@naruse, @nobu, and @matz agreed that it should raise an exception if the format string is not ASCII-compatible. mame (Yusuke Endoh)
09:06 AM Bug #18958: Kernel#sprintf doesn't apply format sequence in some encodings
I agree with raising exception when the format string is not ASCII compatible.
Matz.
matz (Yukihiro Matsumoto)
09:44 AM Bug #18956: Kernel#sprintf - %c handles negative Integer argument in a confusing way
@naruse, @nobu, and @matz agreed that a negative integer to `%c` should raise an explicit exception. mame (Yusuke Endoh)
09:42 AM Bug #18955: Kernel#sprintf - %c ignores a non-ASCII character's encoding
At the dev-meeting, @akr proposed that the format `%c` behaves like `%s` (with the one-codepoint restriction) and @ma... mame (Yusuke Endoh)
09:38 AM Feature #18949: Deprecate and remove replicate and dummy encodings
Copying from the dev meeting log:
* We will try to change the encoding lookup for stings so that the fast path get...
Eregon (Benoit Daloze)
09:37 AM Misc #18954: DevMeeting-2022-08-18
We could not finish all the agenda in time. We will continue on 25th. mame (Yusuke Endoh)
07:14 AM Misc #18954: DevMeeting-2022-08-18
* [Feature #18159] Integrate functionality of syntax_suggest gem into Ruby
* Is it ok for `syntax_suggest`?
hsbt (Hiroshi SHIBATA)
09:30 AM Bug #18751: Regression on master for Method#== when comparing public with private method
We discussed this at the dev meeting.
@ko1 said Method#== should be "is it the same definition?".
I agree, I'll tak...
Eregon (Benoit Daloze)
09:24 AM Bug #18435: Calling `protected` on ancestor method changes result of `instance_methods(false)`
@matz agreed to remove ZSUPER methods, because the current illusion is incomplete.
In practice the semantics are the ...
Eregon (Benoit Daloze)
09:19 AM Bug #18580: Range#include? inconsistency for beginless String ranges
matz (Yukihiro Matsumoto) wrote in #note-3:
> So I decided to make `include?` to raise exception for beginless/endle...
nobu (Nobuyoshi Nakada)
05:21 AM Bug #18580: Range#include? inconsistency for beginless String ranges
I once thought about removing `each`+`succ` semantics from `include?` altogether for simplicity, but it is too big in... matz (Yukihiro Matsumoto)
08:09 AM Revision b0b9f720 (git): rb_str_resize: Only clear coderange on truncation
If we are expanding the string or only stripping extra capacity
then coderange won't change, so clearing it is wasteful.
byroot (Jean Boussier)
08:07 AM Feature #18944 (Closed): Add SizedQueue#push(timeout:)
Applied in changeset commit:git|fe61cad7490da8a879597f851f4a89856d44838e.
----------
Implement SizedQueue#push(timeo...
byroot (Jean Boussier)
06:28 AM Feature #18944: Add SizedQueue#push(timeout:)
It looks good to me.
Matz.
matz (Yukihiro Matsumoto)
08:07 AM Revision fe61cad7 (git): Implement SizedQueue#push(timeout: sec)
[Feature #18944]
If both `non_block=true` and `timeout:` are supplied, ArgumentError
is raised.
byroot (Jean Boussier)
07:16 AM Feature #18885: End of boot advisory API for RubyVM
What about `ObjectSpace`? byroot (Jean Boussier)
07:14 AM Feature #18885: End of boot advisory API for RubyVM
An API to notify "end of boot" seems useful beyond just fork COW optimizations, as you say.
For instance a JIT might...
Eregon (Benoit Daloze)
06:55 AM Feature #18885: End of boot advisory API for RubyVM
Thank you Matz.
> RubyVM is not globally available (e.g., not for JRuby or TruffleRuby).
Yes, what was on purp...
byroot (Jean Boussier)
06:51 AM Feature #18885: End of boot advisory API for RubyVM
I am OK with adding this feature, but I have some concerns with the place and the name.
`RubyVM` is not globally ava...
matz (Yukihiro Matsumoto)
07:04 AM Revision b3718ede (git): Update bundled gems list at 2022-08-18
git[bot]
06:27 AM Feature #18934 (Rejected): Proposal: Introduce method results memoization API in the core
I reject this proposal to make the feature built-in for several reasons:
* I still think it should be done in libr...
matz (Yukihiro Matsumoto)
05:57 AM Bug #18964 (Closed): `rb_econv_append` and the family do not consider the code range
Applied in changeset commit:git|725626d8905fe1ac4a2cf1c3e2db6412bf8f381f.
----------
[Bug #18964] Update the code ra...
nobu (Nobuyoshi Nakada)
01:40 AM Bug #18964 (Closed): `rb_econv_append` and the family do not consider the code range
These functions do not update the code range of the destination string, and the string still caches outdated flags.
...
nobu (Nobuyoshi Nakada)
05:57 AM Revision 725626d8 (git): [Bug #18964] Update the code range of appended portion
nobu (Nobuyoshi Nakada)
03:46 AM Revision 2a55c61e (git): ext/pty/extconf.rb: Try libutil only on OpenBSD
icc now seems to provide libutil.so that is not related to pty.
This extconf.rb wrongly finds it and adds `-lutil`, b...
mame (Yusuke Endoh)
02:05 AM Revision fbaa2f0b (git): Suppress detached head warnings [ci skip]
Check out the revisions for testing as "detached" from the beginning. nobu (Nobuyoshi Nakada)

08/17/2022

08:32 PM Feature #18776: Object Shapes
It's unfortunate that there are spills there and there might be ways to reduce that by reorganizing the code a bit, b... maximecb (Maxime Chevalier-Boisvert)
07:51 PM Feature #18776: Object Shapes
After running the YJIT benchmarks in release mode, we found that setting instance variables is, indeed, slower on our... jemmai (Jemma Issroff)
07:03 PM Feature #18776: Object Shapes
> I think it would be a good idea to open a draft pull request so that it's easier to look at the diff and comment on... jemmai (Jemma Issroff)
06:05 PM Feature #18776: Object Shapes
> These are our proposed code changes to implement Object Shapes in CRuby.
I think it would be a good idea to open...
maximecb (Maxime Chevalier-Boisvert)
05:14 PM Feature #18776: Object Shapes
# Object Shapes Update
We are writing with an update on the Object Shapes implementation, and to ask what needs to b...
jemmai (Jemma Issroff)
05:26 PM Revision bfefaf47 (git): * 2022-08-18 [ci skip]
git[bot]
05:26 PM Revision b4539dba (git): Added vm setivar benchmark from yjit-bench
jemmai (Jemma Issroff)
03:17 PM Feature #18934: Proposal: Introduce method results memoization API in the core
jeremyevans0 (Jeremy Evans) wrote in #note-2:
> This type of optimization is not safe unless the entire class hierar...
Dan0042 (Daniel DeLorme)
02:55 PM Feature #18934: Proposal: Introduce method results memoization API in the core
Dan0042 (Daniel DeLorme) wrote in #note-1:
> I'm also excited by the possibility this could allow to memoize methods...
jeremyevans0 (Jeremy Evans)
01:31 PM Feature #18934: Proposal: Introduce method results memoization API in the core
The limitations of `@var ||=` memoization are brought up from time to time (e.g. #17316, #6023) so I think that's an ... Dan0042 (Daniel DeLorme)
02:54 PM Revision b4daf6e2 (git): Fix flaky test for GC thrashing
GC could be in an intermediate state after creating the objects, so we
should finish GC by running a minor GC.
peterzhu2118 (Peter Zhu)
02:30 PM Feature #17330: Object#non
ujihisa (Tatsuhiro Ujihisa) wrote in #note-19:
> `itself_if`
> `itself_unless`
zverok (Victor Shepelev) wrote in...
Dan0042 (Daniel DeLorme)
05:36 AM Feature #17330: Object#non
I had another idea regarding a #non method that I haven't voiced before, but may result in cleaner code overall:
`...
hmdne (hmdne -)
05:13 AM Feature #17330: Object#non
TBH, I believe that core method names should be short, recognizable and elegant in context in the first place, not ex... zverok (Victor Shepelev)
04:46 AM Feature #17330: Object#non
ujihisa (Tatsuhiro Ujihisa) wrote in #note-19:
[H]ow's the following 2-words names instead?
>
> `itself_if`
> `i...
sawa (Tsuyoshi Sawada)
03:23 AM Feature #17330: Object#non
> non() and oui()
Since what these 2 methods do aren't trivial from the names, how's the following 2-words names ins...
ujihisa (Tatsuhiro Ujihisa)
08:40 AM Revision ddb81b93 (git): Extract common code from `rb_enc_vsprintf` and `rb_str_vcatf`
nobu (Nobuyoshi Nakada)
08:31 AM Feature #18822: Ruby lack a proper method to percent-encode strings for URIs (RFC 3986)
@sam.saffron it's my fault for forgetting to update the commit message. `CGI.url_encode` was never implemented, what ... byroot (Jean Boussier)
08:06 AM Feature #18822: Ruby lack a proper method to percent-encode strings for URIs (RFC 3986)
@byroot,
I am not sure the name is right here:
`CGI.path_encode`
with an alias of
`CGI.params_encode`
is far ...
sam.saffron (Sam Saffron)
06:23 AM Revision 72adee6e (git): Update dependencies
nobu (Nobuyoshi Nakada)
06:23 AM Revision b880576e (git): yjit.h is not necessary for all sources using mjit.h
nobu (Nobuyoshi Nakada)
06:23 AM Revision 81fbc8d5 (git): Move `mjit_exec` to vm.c
nobu (Nobuyoshi Nakada)

08/16/2022

05:53 PM Feature #17330: Object#non
mame (Yusuke Endoh) wrote in #note-15:
> ```
> params[:name]&.non(&:empty?)
> ```
>
> Frankly speaking, this above i...
Dan0042 (Daniel DeLorme)
04:19 PM Feature #17330: Object#non
I understand the logic, but the result of your generalization, `&.non(&:empty?)`, is hard to read anyway. @matz says ... mame (Yusuke Endoh)
03:23 PM Feature #17330: Object#non
@mame One thing that is really frequent in Rails codebases is code like this:
```ruby
params.presence || DEFAUT_PAR...
zverok (Victor Shepelev)
03:02 PM Feature #17330: Object#non
```
params[:name]&.non(&:empty?)
```
Frankly speaking, this above is dead hard to read and write for me. Do you ...
mame (Yusuke Endoh)
05:34 PM Feature #18368: Range#step semantics for non-Numeric ranges
I also think 2) is the best
while reiterating that we can and should keep the behavior of `("a".."z").step(num)` for...
Dan0042 (Daniel DeLorme)
03:06 PM Feature #18368: Range#step semantics for non-Numeric ranges
Thanks, @mame, for a summary.
I'd like to emphasize, though, that the "undesirability" of undesirable behavior loo...
zverok (Victor Shepelev)
03:03 PM Feature #18368: Range#step semantics for non-Numeric ranges
IMHO 2) is the best. I think trying to prevent the "undesirable behavior" is too artificial.
Also that behavior seem...
Eregon (Benoit Daloze)
02:45 PM Feature #18368: Range#step semantics for non-Numeric ranges
Let me summarize the problem and possible solutions.
Desirable behavior:
```
(timestamp1...timestamp2).step(3....
mame (Yusuke Endoh)
03:58 PM Revision ac890ec0 (git): Make date in installed gemspec files stable
Set `date` member to `RUBY_RELEASE_DATE` instead of the date at the
build time, to make installed files reproducible.
nobu (Nobuyoshi Nakada)
03:58 PM Revision cc443f6c (git): Refactor `RbInstall::Specs::FileCollector`
- Split into `Ext` and `Lib` classes.
- `Ext#files` should not include built extension libraries.
- `Ext#files` shoul...
nobu (Nobuyoshi Nakada)
03:54 PM Feature #16122: Data: simple immutable value object
mame (Yusuke Endoh) wrote in #note-35:
> BTW, I personally wanted Struct to store the field values simply in instance...
Eregon (Benoit Daloze)
03:31 PM Feature #16122: Data: simple immutable value object
BTW, I personally wanted Struct to store the field values simply in instance variables rather than the hidden storage... mame (Yusuke Endoh)
03:18 PM Feature #16122: Data: simple immutable value object
@nobu proposed `Data`, which used to be a class for extension library authors, but deprecated since ruby 2.5 and remo... mame (Yusuke Endoh)
03:45 PM Feature #18822 (Closed): Ruby lack a proper method to percent-encode strings for URIs (RFC 3986)
Applied in changeset commit:git|3850113e20b8c031529fc79de7202f61604425dd.
----------
[ruby/cgi] Implement `CGI.url_e...
byroot (Jean Boussier)
01:19 PM Feature #18822: Ruby lack a proper method to percent-encode strings for URIs (RFC 3986)
Maybe, but that would need approval. If you feel strongly about it please open a dedicated issue. byroot (Jean Boussier)
12:23 PM Feature #18822: Ruby lack a proper method to percent-encode strings for URIs (RFC 3986)
Should we also add aliases for `escape_html` and so on? ioquatix (Samuel Williams)
10:44 AM Feature #18822: Ruby lack a proper method to percent-encode strings for URIs (RFC 3986)
Here we go: https://github.com/ruby/cgi/pull/27 byroot (Jean Boussier)
10:40 AM Feature #18822: Ruby lack a proper method to percent-encode strings for URIs (RFC 3986)
Ah right, I forgot to add the alias that were agreed upon. I'll open a followup: `GCI.escape_uri_component` and `GCI.... byroot (Jean Boussier)
10:34 AM Feature #18822: Ruby lack a proper method to percent-encode strings for URIs (RFC 3986)
I'm positive on this feature, but I'm negative on the naming convention being introduced. Are we going to add aliases? ioquatix (Samuel Williams)
06:54 AM Feature #18822: Ruby lack a proper method to percent-encode strings for URIs (RFC 3986)
It's mostly just waiting for review. I'm not certain who's the maintainer though. @hsbt @nobu I added you both for re... byroot (Jean Boussier)
12:34 AM Feature #18822: Ruby lack a proper method to percent-encode strings for URIs (RFC 3986)
Since we just finished working around a nightmare scenario here @byroot, I think it is rather instructive to see a re... sam.saffron (Sam Saffron)
03:45 PM Revision 5528648a (git): * 2022-08-17 [ci skip]
git[bot]
03:45 PM Revision b7577b4d (git): The tzdata 2022c removed Amsterdam Mean Time
nobu (Nobuyoshi Nakada)
10:12 AM Revision 3850113e (git): [ruby/cgi] Implement `CGI.url_encode` and `CGI.url_decode`
[Feature #18822]
Ruby is somewhat missing an RFC 3986 compliant escape method.
https://github.com/ruby/cgi/commit/c...
byroot (Jean Boussier)
06:02 AM Bug #18955: Kernel#sprintf - %c ignores a non-ASCII character's encoding
A codepoint is expected for `%c`, then the former examples are currently expected behaviors, I think.
The latter...
nobu (Nobuyoshi Nakada)
04:49 AM Revision 5389c981 (git): Update the excluding message for Psych [ci skip]
nobu (Nobuyoshi Nakada)

08/15/2022

11:14 PM Revision 0608a9a0 (git): Optimize Marshal dump/load for large (> 31-bit) FIXNUM (#6229)
* Optimize Marshal dump of large fixnum
Marshal's FIXNUM type only supports 31-bit fixnums, so on 64-bit
platforms t...
jhawthorn (John Hawthorn)
10:41 PM Revision e49db0f7 (git): Do not clone method entries when bind_call is used
I noticed that this site unconditionally clones the method entry, which
means that `bind_call` always allocates a `T_...
fablestales (Fable Tales)
05:48 PM Revision 4e66b3f4 (git): [ruby/rdoc] [DOC] Remove duplicated line in RDoc::MarkupReference
https://github.com/ruby/rdoc/commit/488f89aee4 peterzhu2118 (Peter Zhu)
05:05 PM Revision e34720dc (git): * 2022-08-16 [ci skip]
git[bot]
05:05 PM Revision ee864beb (git): Simplify around `USE_YJIT` macro (#6240)
* Simplify around `USE_YJIT` macro
- Use `USE_YJIT` macro only instead of `YJIT_BUILD`.
- An intermediate macro `YJI...
nobu (Nobuyoshi Nakada)
02:24 PM Bug #18751: Regression on master for Method#== when comparing public with private method
https://github.com/ruby/ruby/pull/6242 now makes resolved-through-zsuper methods equal for compatibility.
That means ...
Eregon (Benoit Daloze)
01:22 PM Bug #18751: Regression on master for Method#== when comparing public with private method
Here is a simplified script which does not depend on Class.new == Class#new:
```ruby
class C
class << self
alia...
Eregon (Benoit Daloze)
02:00 PM Revision 0264424d (git): Add test for GC thrashing of young object creation
This test will prevent performance regressions like [Bug #18929]. peterzhu2118 (Peter Zhu)
01:16 PM Revision 8d40ede2 (git): [ruby/date] [DOC] Enhanced intro for Date (https://github.com/ruby/date/pull/72)
https://github.com/ruby/date/commit/59a6673221 burdettelamar (Burdette Lamar)
01:08 PM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
PR to fix this by no longer hiding ZSUPER methods: https://github.com/ruby/ruby/pull/6242 Eregon (Benoit Daloze)
11:03 AM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
Also as @ufuk says in https://bugs.ruby-lang.org/issues/18435#note-2, owner and instance_methods should be consistent... Eregon (Benoit Daloze)
11:01 AM Bug #18729 (Open): Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
This is still an issue.
We need to try to no longer hide ZSUPER methods and estimate if there is any incompatibility...
Eregon (Benoit Daloze)
01:08 PM Bug #18435 (Open): Calling `protected` on ancestor method changes result of `instance_methods(false)`
Reopening this as because of the revert it is still inconsistent and unsolved.
PR to fix this by no longer hiding ...
Eregon (Benoit Daloze)
11:11 AM Bug #18435: Calling `protected` on ancestor method changes result of `instance_methods(false)`
My understanding of this issue is it's the same as #18729.
The bug is not in `instance_methods` which is correct.
I...
Eregon (Benoit Daloze)
10:55 AM Bug #18435: Calling `protected` on ancestor method changes result of `instance_methods(false)`
protected methods like in this issue are part of the method table, so I think it makes no sense to hide them.
What w...
Eregon (Benoit Daloze)
11:08 AM Misc #18954: DevMeeting-2022-08-18
* [Bug #18729] Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private (eregon... Eregon (Benoit Daloze)
08:42 AM Revision e77c8397 (git): [rubygems/rubygems] Fix Ruby platform incorrectly removed on `bundle update`
https://github.com/rubygems/rubygems/commit/0d321c9e3a deivid (David Rodríguez)
05:12 AM Revision cbcf2dad (git): * 2022-08-15 [ci skip]
git[bot]
05:12 AM Bug #13864 (Closed): Rinda multicast test failures due to missing default route
Applied in changeset commit:git|89aa09afaf77920fd748aefaba99fe4b0f19e684.
----------
[ruby/rinda] Handle situations ...
jeremyevans (Jeremy Evans)
05:11 AM Revision 89aa09af (git): [ruby/rinda] Handle situations where IPv4 multicast is not available
Fixes [Bug #13864]
https://github.com/ruby/rinda/commit/3cd620f38c
jeremyevans (Jeremy Evans)

08/14/2022

10:45 AM Revision cb12d7c7 (git): Update dependencies
nobu (Nobuyoshi Nakada)
05:45 AM Revision a9abf60c (git): * 2022-08-14 [ci skip]
git[bot]
05:42 AM Revision a58a429f (git): Silent configure does not output cached configurations
nobu (Nobuyoshi Nakada)
 

Also available in: Atom