Project

General

Profile

Activity

From 09/27/2024 to 10/03/2024

10/03/2024

09:55 PM Feature #20770: A *new* pipe operator proposal
Has *"then"* but as a keyword been considered?
In the basic version it could appear as a *"begin..then..end"* block:
``` ruby
value = begin add value, 3 then square it then half it end
```
It looks like syntax highlighting is ready. *"b...
lpogic (Łukasz Pomietło)
09:02 PM Revision e90862f0 (git): [DOC] Correct documentation for Array#max
The return value of Array#max is the maximum value per the block, not
from the block.
peterzhu2118 (Peter Zhu)
09:02 PM Revision 3ece042c (git): [DOC] Tweaks for Array#min (#11786)
burdettelamar (Burdette Lamar)
08:20 PM Revision 8e7df4b7 (git): Rename size_pool -> heap
Now that we've inlined the eden_heap into the size_pool, we should
rename the size_pool to heap. So that Ruby contains multiple heaps, with
different sized objects.
The term heap as a collection of memory pages is more in memory
managem...
eightbitraptor (Matt V-H)
08:20 PM Revision b58a3645 (git): Inline eden_heap into size_pool
After the individual tomb_heaps were removed in favour of a global list
of empty pages, the only instance of rb_heap_t left is the eden_heap
within each size pool.
This PR inlines the heap fields directly into rb_size_pool_t to remove
i...
eightbitraptor (Matt V-H)
07:45 PM Revision cd71fa96 (git): Remove else case for shared-gc make target
peterzhu2118 (Peter Zhu)
05:43 PM Revision 568511f3 (git): [ruby/prism] Handle single global variable character name
https://github.com/ruby/prism/commit/7a0af49997 kddnewton (Kevin Newton)
05:30 PM Revision f8568fbd (git): [ruby/prism] Pop lex mode for heredocs in the lexer, not the parser
https://github.com/ruby/prism/commit/5dd36b979e kddnewton (Kevin Newton)
04:04 PM Bug #20433 (Closed): Hash.inspect for some hash returns syntax invalid representation
Yes, I have merged it since @matz said at the dev meeting today that he still wants to try this change in the next preview release. So closing.
However, it may be reverted if the impact of the incompatibility is too large.
mame (Yusuke Endoh)
03:49 PM Bug #20433: Hash.inspect for some hash returns syntax invalid representation
@tompng @mame what is the status on this? I see https://github.com/ruby/ruby/pull/10924 has been merged, should this ticket be closed?
I personally love this change, but I have a lot of tests to update as a result, so I'd like to know...
byroot (Jean Boussier)
03:58 PM Revision 77db3781 (git): Fix indentation in test_after_gc_start_hook_with_GC_stress
peterzhu2118 (Peter Zhu)
03:52 PM Revision ac0a8c62 (git): [ruby/reline] Make rendering test faster using updated yamatanooroti
(https://github.com/ruby/reline/pull/747)
https://github.com/ruby/reline/commit/7534f7f92a
tompng (tomoya ishida)
03:15 PM Misc #20717 (Closed): DevMeeting-2024-10-03
byroot (Jean Boussier)
02:27 PM Bug #20620 (Closed): singleton_method undefined for module using "extend self"
Applied in changeset commit:git|9986a7c3930437bc9d9b88736c22695585aa6c48.
----------
Make Object#singleton_method return methods in modules included in or prepended to singleton class
To simplify the implementation, this makes Object#s...
jeremyevans (Jeremy Evans)
06:53 AM Bug #20620: singleton_method undefined for module using "extend self"
@jeremyevans0 Thank you. Let us merge the pull-request, and experiment with the preview.
Matz.
matz (Yukihiro Matsumoto)
02:27 PM Revision 9986a7c3 (git): Make Object#singleton_method return methods in modules included in or prepended to singleton class
To simplify the implementation, this makes Object#singleton_method
call the same method called by Object#method (rb_obj_method), then
check that the returned Method is defined before the superclass of the
object's singleton class. To ke...
jeremyevans (Jeremy Evans)
01:28 PM Revision dc83de49 (git): [DOC] Add missing word
peterzhu2118 (Peter Zhu)
01:28 PM Revision f56be428 (git): [DOC] Add pound sign before all <=> methods
peterzhu2118 (Peter Zhu)
12:52 PM Revision 66124cdb (git): [ruby/prism] Use `partial_script` for the parser translators
Followup to https://github.com/ruby/prism/pull/3079
https://github.com/ruby/prism/commit/68f434e356
Earlopain (Earlopain _)
12:51 PM Feature #20778: ruby/repl_type_completor as a bundled gem
Thank you. I added owner grant. tompng (tomoya ishida)
09:05 AM Feature #20778: ruby/repl_type_completor as a bundled gem
I added `repl_type_completor` at https://github.com/ruby/ruby/commit/50b32a3c9206df2ec7bcb4c54a59844c27f1c144
@tompng Can you add owner grant of https://rubygems.org/gems/repl_type_completor to me? I will not release without maintaine...
hsbt (Hiroshi SHIBATA)
07:29 AM Feature #20778: ruby/repl_type_completor as a bundled gem
I'll support this. hsbt (Hiroshi SHIBATA)
07:25 AM Feature #20778: ruby/repl_type_completor as a bundled gem
Accepted. Looking forward to making it public.
Matz.
matz (Yukihiro Matsumoto)
06:41 AM Feature #20778 (Assigned): ruby/repl_type_completor as a bundled gem
hsbt (Hiroshi SHIBATA)
12:38 PM Feature #20669 (Closed): Add Marshal::MarshalError class to differentiate ArgumentErrors
Eregon (Benoit Daloze)
09:46 AM Feature #20669: Add Marshal::MarshalError class to differentiate ArgumentErrors
In the meantime, Dalli merged a change that sounds a lot like Eregon's comment. https://github.com/petergoldstein/dalli/pull/1011
My immediate needs are met, and I will close this feature request. EDIT: I can't find a button to close th...
olleolleolle (Olle Jonsson)
12:29 PM Revision cd96af2c (git): Add `IO::Buffer` tests for read and write with length & offset. (#11779)
Samuel Williams
12:27 PM Revision 218445bb (git): [ruby/rdoc] Fix ToRdoc#accept_table
(https://github.com/ruby/rdoc/pull/1184)
https://github.com/ruby/rdoc/commit/7b68545094
tompng (tomoya ishida)
11:49 AM Revision b421964b (git): Remove unused macros
eightbitraptor (Matt V-H)
10:38 AM Revision 9d4af312 (git): [ruby/reline] Rename `matches?` as `match?`
(https://github.com/ruby/reline/pull/753)
https://github.com/ruby/reline/commit/9230fe162d
nobu (Nobuyoshi Nakada)
09:49 AM Misc #20781 (Closed): DevMeeting-2024-11-07
# The next dev meeting
**Date: 2024/11/07 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2024/DevMeeting-2024-11-07.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at t...
mame (Yusuke Endoh)
09:47 AM Revision 5bf8a530 (git): Specify commit hash of debug in bundled_gems
tompng (tomoya ishida)
09:47 AM Revision c94815ba (git): Update spec/ruby/ for colon-style hash inspect
tompng (tomoya ishida)
09:47 AM Revision af1c356c (git): Update default gem test for colon-style hash inspect
tompng (tomoya ishida)
09:47 AM Revision f7343b63 (git): prettyprint hash with colon style
tompng (tomoya ishida)
09:47 AM Revision 7237af75 (git): Update ruby test for colon-style hash inspect
tompng (tomoya ishida)
09:47 AM Revision f4e54892 (git): Update bootstraptest test for colon-style hash inspect
tompng (tomoya ishida)
09:47 AM Revision a8a05912 (git): Hash#inspect with colon style
tompng (tomoya ishida)
09:44 AM Feature #17296 (Feedback): Feature: Pathname#chmod use FileUtils.chmod instead of File
It was discussed at the dev meeting.
`File.chmod` and `FileUtils.chmod` have an incompatibility in their handling of symbolic links: `File.chmod` changes the permissions on the target of the symbolic link, while `FileUtils.chmod` chan...
mame (Yusuke Endoh)
09:11 AM Feature #20705: Should "0.E-9" be a valid float value?
@nobu Could you open a PR based on your implementation https://github.com/nobu/ruby/tree/float-dtoa ?
My implementation doesn't accept `0xf.p0` but your implementation does.
kou (Kouhei Sutou)
08:58 AM Feature #20705: Should "0.E-9" be a valid float value?
I'd like to enhance string to float conversion in general. I might introduce small incompatibility, but impact will be small.
Matz.
matz (Yukihiro Matsumoto)
09:10 AM Bug #20693: Dir.tmpdir should perform a real access check before warning about writability
I think the reason why `File.writable?` is used should be described in the source. akr (Akira Tanaka)
08:53 AM Feature #20673 (Feedback): Enable native SOCKS support by default
hsbt (Hiroshi SHIBATA)
08:41 AM Revision 2c0149d3 (git): Update bundled gems list at 6435dfce5fcddd22d3570eda2c60cc [ci skip]
git[bot]
08:41 AM Revision 6435dfce (git): style
hsbt (Hiroshi SHIBATA)
08:41 AM Revision 50b32a3c (git): Added repl_type_completor as bundled gems
hsbt (Hiroshi SHIBATA)
07:12 AM Feature #20738: Removing a specific entry from a hash literal
I don't want to add a special value (Hash::DROP) nor special syntax (?key:) here. Use `h = {foo: 1}; h[:bar] = 2 if bar?`.
Matz.
matz (Yukihiro Matsumoto)
07:00 AM Revision 7f251ce5 (git): Update bundled gems list as of 2024-10-03
git[bot]
06:43 AM Feature #18127 (Closed): Ractor-local version of Singleton
I have been merged https://github.com/ruby/singleton/pull/4 hsbt (Hiroshi SHIBATA)
06:04 AM Revision 1b3f18af (git): each_address should now resolve for AAAA first
AAAA over A is standards track behaviour as per RFC 6724. Sadiq Saif
05:20 AM Revision 4cd893b0 (git): [flori/json] Optimize key type check in `json_object_i`
Rather than checking the class we can check the type.
This is very subtly different for String subclasses, but I think it's
OK.
We also save on checking the type again in the fast path.
https://github.com/flori/json/commit/772a0201ab
byroot (Jean Boussier)
05:20 AM Revision 57282c62 (git): [flori/json] Optimize `fbuffer_inc_capa`
On my `JSON.dump` benchmark it shows up as 6% of runtime, compared
to 40% for `convert_UTF8_to_JSON`.
Since the vast majority of the time this function is called we
still have some buffer capacity, we might as well check that
first and ...
byroot (Jean Boussier)
05:20 AM Revision 630c6813 (git): [flori/json] JSON.dump: avoid redundant UTF-8 validation
Given that we called `rb_enc_str_asciionly_p`, if the string encoding
isn't valid UTF-8, we can't know it very cheaply by checking the
encoding and coderange that was just computed by Ruby, rather than
to do it ourselves.
Also Ruby migh...
byroot (Jean Boussier)
04:44 AM Misc #20728: Propose Eileen Uchitelle as a core committer
OK, welcome Eileen.
Matz.
matz (Yukihiro Matsumoto)
04:43 AM Feature #20750: Allow rb_thread_call_with_gvl to work when thread already has GVL
OK, I accept to make `rb_thread_call_with_gvl` to acquire GVL only when needed. @ko1 worried it may encourage bad design pattern, but not allowing `rb_thread_call_with_gvl` with GVL does not improve the situation.
So I accept it, you ha...
matz (Yukihiro Matsumoto)
04:11 AM Revision 835ac8a4 (git): Update bundled gems list at a048090bd591ef874f36effb2065d6 [ci skip]
git[bot]
04:10 AM Revision a048090b (git): Update bundled_gems
hsbt (Hiroshi SHIBATA)
04:09 AM Feature #10459 (Rejected): [PATCH] rfc3339 method for Time
I confirmed this to @akr again. He said "rfc3339 is slightly different from iso8601. I don't want to introduce this alias". hsbt (Hiroshi SHIBATA)
03:38 AM Revision d40db5cf (git): [DOC] [pty] Add clean up to `PTY.spawn`
nobu (Nobuyoshi Nakada)
03:16 AM Revision 9bd2f30d (git): [ruby/reline] Fix FD leaks (https://github.com/ruby/reline/pull/752)
`PTY.spawn` with a block detaches the spawned process and leaves it
running in background even after exiting the given block. It is the
responsibility of the caller to clean up the yielded IOs and PID.
https://github.com/ruby/ruby/acti...
nobu (Nobuyoshi Nakada)
02:33 AM Revision 75c4ac33 (git): Update `IO::Buffer` documentation. (#11737)
Update documentation. Samuel Williams
12:40 AM Revision e5c26b0f (git): Stop skipping broken tests
soutaro (Soutaro Matsumoto)
12:40 AM Revision 8877e9d9 (git): Update rbs test
soutaro (Soutaro Matsumoto)

10/02/2024

11:53 PM Bug #20780 (Open): related to #20779 -- crash creating large number of concurrent-ruby promises
The attached script crashes (vs. the hang in issue #20779). I believe this is also a OSX specific resource issue, but have been unable to craft a better script to demonstrate the problem.
I've included a script to reproduce, the st...
hms (Hal Spitz)
11:31 PM Bug #20779 (Closed): Un-rescuable thread creation limit on Mac
Thread.new will hang the ruby process once past the OSX limit. It does not appear that's possible to trap and rescue failed thread creation.
It seems the Mac has a limit to the number of threads it supports and googling the issue sug...
hms (Hal Spitz)
11:20 PM Feature #17326: Add Kernel#must! to the standard library
Looks like PR was opened at https://github.com/ruby/ruby/pull/11772. retro (Josef Šimánek)
09:33 PM Revision e7734615 (git): [rubygems/rubygems] Remove compatibility code with old RubyGems
https://github.com/rubygems/rubygems/commit/f11e42a3c5 deivid (David Rodríguez)
08:52 PM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
> OK, I'll revert all related changes if that's what you said that. I'm considering how to suppress needless warning with your request, But I can't collaborate with your tone.
I don't see anything wrong about @Earlopain 's tone. And h...
Eregon (Benoit Daloze)
07:43 PM Revision d3e2d23c (git): Fix compilation when RGENGC_CHECK_MODE >= 4
the mark_function_data callback was moved from the ractor to the VM. eightbitraptor (Matt V-H)
06:44 PM Revision e7cf2e76 (git): [DOC] Fix indentation in documentation for Array#sort!
peterzhu2118 (Peter Zhu)
06:39 PM Revision 77056674 (git): [ruby/prism] Fix up binding power for singleton method receiver
https://github.com/ruby/prism/commit/f29ceae5cf kddnewton (Kevin Newton)
05:58 PM Feature #20778 (Closed): ruby/repl_type_completor as a bundled gem
When gem repl_type_completor is installed, `irb --type-completor` will provide better completion in IRB.
~~~
irb(main):001* [1, 2, 3].map(&:ch█
|:chr|
~~~
~~~
irb(main):001* [1, 2, 3].map(&:chr).each ...
tompng (tomoya ishida)
05:54 PM Revision 253b76ec (git): [DOC] Tweaks for Array#max (#11768)
burdettelamar (Burdette Lamar)
05:47 PM Revision 2f5ab4c4 (git): YJIT: Merge `impl VALUE` blocks [ci skip]
Reported by Kevin Menard. alanwu (Alan Wu)
05:47 PM Revision 09761e47 (git): [ruby/reline] Fix incremental search cancel bug
(https://github.com/ruby/reline/pull/748)
https://github.com/ruby/reline/commit/bf0f8fa333
tompng (tomoya ishida)
05:36 PM Revision 8f4277f4 (git): [ruby/reline] Add a timeout to cursor_pos
(https://github.com/ruby/reline/pull/750)
https://github.com/ruby/reline/commit/dd4a654e5d
tompng (tomoya ishida)
05:19 PM Revision 9f47f0eb (git): [DOC] Tweaks for Array#length
burdettelamar (Burdette Lamar)
05:03 PM Feature #20770: A *new* pipe operator proposal
@AlexandreMagro I don’t think this analogy is suitable here.
Of course, there are operators that aren’t convenient to use in chaining (though, I should admit to the sin of sometimes just using `the.chain.with.+(argument).like.that`, ...
zverok (Victor Shepelev)
04:14 PM Feature #20770: A *new* pipe operator proposal
zverok (Victor Shepelev) wrote in #note-28:
> What would `|>` bring here?
> ...
I’d like to turn the question around and ask what would be returned from the following code?
```ruby
array_a = [{ name: 'A', points: 30 }, { name: 'B', poin...
AlexandreMagro (Alexandre Magro)
03:19 PM Feature #20770: A *new* pipe operator proposal
I agree with @zverok and am not quite sold on the value of `|>` over the existing `.then{}` if we still have to explicitly specify implicit args like `it/_1/etc` (unlike elixir).
I am intrigued by the `.{}` syntax though but wish it did...
shuber (Sean Huber)
06:34 AM Feature #20770: A *new* pipe operator proposal
A couple of my counterpoints to `|>` (and towards `.{}`, if we do need syntax sugar in this place at all):
While `|>` sure exists in other languages, we need to look into how it plays with the rest of the code/semantics of _our_ langu...
zverok (Victor Shepelev)
04:13 PM Bug #20776: [PRISM] Pattern matching syntax error message
What's happening with the error message is that it's seeing the `$g` and determining that it's not a valid pattern, so it assumes the pattern is missing. Then it's determining that there is no statement delimiter (newline or semicolon) b... kddnewton (Kevin Newton)
11:53 AM Bug #20776: [PRISM] Pattern matching syntax error message
The same code ~~segfaulted~~ crashed due to "Unexpected node type" in 3.3.
Probably some backports are needed.
nobu (Nobuyoshi Nakada)
11:51 AM Bug #20776 (Closed): [PRISM] Pattern matching syntax error message
Syntax error is fine, but is really expecting end-of-input there?
```
$ ruby -v -e '1 => $g'
ruby 3.4.0dev (2024-10-01T14:59:58Z master 169a5ee99e) +PRISM [arm64-darwin23]
-e:1: warning: possibly useless use of a variable in void c...
nobu (Nobuyoshi Nakada)
04:02 PM Revision 99620b98 (git): fake.rb: Copy options in RUBY_DESCRIPTION to the fake string
The `RUBY_DESCRIPTION_WITH` macro has been removed already, so there
are no more descriptions strings with rjit/yjit enabled.
nobu (Nobuyoshi Nakada)
03:47 PM Revision bf8a8820 (git): Deduplicate RGENGC_CHECK_MODE into gc/gc.h
peterzhu2118 (Peter Zhu)
03:38 PM Bug #20777 (Closed): 3.3: `RUBY_DESCRIPTION` is corrupt when `--yjit` and `--parser=prism`
nobu (Nobuyoshi Nakada)
03:37 PM Bug #20777 (Closed): 3.3: `RUBY_DESCRIPTION` is corrupt when `--yjit` and `--parser=prism`
Note the last garbages.
```shell-session
$ ruby3.3 -W0 --yjit --parser=prism -e 'p RUBY_DESCRIPTION'
"ruby 3.3.5 (2024-09-03 revision ef084cc8f4) +YJIT +PRISM [arm64-darwin\x00\x00\x00"
```
commit:76ea5cde2a0f4834a5228104249b6b3...
nobu (Nobuyoshi Nakada)
03:27 PM Revision 2610bf01 (git): [ruby/prism] Fix up doubled range in arguments
https://github.com/ruby/prism/commit/aee2de91a3 kddnewton (Kevin Newton)
03:12 PM Revision 609fdde2 (git): [DOC] Tweaks for Array.intersect? (#11744)
burdettelamar (Burdette Lamar)
03:11 PM Revision a7c04a31 (git): [DOC] Tweaks for Array#intersection (#11745)
burdettelamar (Burdette Lamar)
02:55 PM Revision 75ab01f3 (git): [DOC] Tweaks for Array#last (#11748)
burdettelamar (Burdette Lamar)
02:47 PM Revision 2e2520ef (git): [ruby/prism] Fix up beginless ranges in method definitions
https://github.com/ruby/prism/commit/ab9d80987a kddnewton (Kevin Newton)
01:28 PM Feature #20775: Gemify win32-registry, win32-sspi and win32-resolv
I opened a pull request to merge nobu's and my tests together: https://github.com/ruby/win32-registry/pull/3
@hsbt You left me as the only maintainer for win32-registry. Is it expected that I maintain this library from now on?
How ab...
larskanis (Lars Kanis)
12:31 PM Feature #20775: Gemify win32-registry, win32-sspi and win32-resolv
> The test file in https://github.com/larskanis/win32-registry seems quite different from the one in ruby/ruby.
Oh this is new! I created the win32-registry repository 10 months ago, when your test wasn't written. So I wrote my own. I...
larskanis (Lars Kanis)
11:47 AM Feature #20775: Gemify win32-registry, win32-sspi and win32-resolv
The test file in https://github.com/larskanis/win32-registry seems quite different from the one in ruby/ruby.
Is it intentional?
nobu (Nobuyoshi Nakada)
09:37 AM Feature #20775: Gemify win32-registry, win32-sspi and win32-resolv
Thanks! I transferred it to https://github.com/ruby/win32-registry. I keep you as admin on ruby/win32-registry. hsbt (Hiroshi SHIBATA)
09:27 AM Feature #20775: Gemify win32-registry, win32-sspi and win32-resolv
@hsbt I had to move the repository to an organization, in order to give you admin access. The new address is: https://github.com/oneclick/win32-registry larskanis (Lars Kanis)
08:56 AM Feature #20775: Gemify win32-registry, win32-sspi and win32-resolv
@larskanis Thanks to invite me for https://github.com/larskanis/win32-registry. But I can't see `Settings` tab yet. Can you make me `admin` of that repository?
I consider to extract `net-http-sspi` from `win32/sspi` with nobu because ...
hsbt (Hiroshi SHIBATA)
04:52 AM Feature #20775: Gemify win32-registry, win32-sspi and win32-resolv
>My intention is that the repository can be moved to https://github.com/ruby/win32-registry and can be integrated it into ruby.
Can you add my GitHub account (hsbt) to that repository as admin? After that, I will transfer to under the...
hsbt (Hiroshi SHIBATA)
03:10 AM Feature #20775 (Assigned): Gemify win32-registry, win32-sspi and win32-resolv
>win32-registry
I agreed your proposal.
@nobu Do you have any concern?
> ...
I'm +1 to @nobu's opinion. we should remove it from `ruby/ruby`.
>win32-resolv
As nobu said, we already bundled it to resolv gem.
hsbt (Hiroshi SHIBATA)
02:38 AM Feature #20775: Gemify win32-registry, win32-sspi and win32-resolv
### win32/sspi
I'd propose to just drop it.
It has been unmaintained for years, not only `A` you mentioned (e.g., `Fixnum`), but no body noticed it.
### win32/resolve
it is included in [ruby/resolv](https://github.com/ruby/resolv) ...
nobu (Nobuyoshi Nakada)
01:15 PM Revision e41e4bac (git): [DOC] Tweaks for Array#inspect (#11743)
burdettelamar (Burdette Lamar)
01:03 PM Revision c1d6d55f (git): Assert in only one place just after adding an argument
nobu (Nobuyoshi Nakada)
12:54 PM Revision 6acf0361 (git): Mark iseq keyword default values during compilation
During compilation, we write keyword default values into the iseq, so we
should mark it to ensure it does not get GC'd.
This might fix issues on ASAN like
http://ci.rvm.jp/logfiles/brlog.trunk_asan.20240927-194923
==805257==ERROR: ...
peterzhu2118 (Peter Zhu)
11:43 AM Revision 3e1021b1 (git): Make default parser enum and define getter/setter
nobu (Nobuyoshi Nakada)
11:43 AM Revision 4e219d8f (git): Split appending options to ruby_description
It's becoming tedious to map each format specifier to an argument. nobu (Nobuyoshi Nakada)
10:37 AM Revision acbdb309 (git): [rubygems/rubygems] Fix error in one source when fetching dependency APIs clearing results from all sources
https://github.com/rubygems/rubygems/commit/0549ddbcc5 deivid (David Rodríguez)
09:04 AM Revision 7469b830 (git): Update bundled gems list at bb97061f65d620b225d7638400642e [ci skip]
git[bot]
09:03 AM Revision bb97061f (git): SKip failing tests that are caused by unknown IOError
hsbt (Hiroshi SHIBATA)
09:03 AM Revision 973d4702 (git): Update bundled_gems
hsbt (Hiroshi SHIBATA)
08:32 AM Revision fe8d7ca8 (git): [DOC] Alias Float#magnitude to abs
nithinbekal (Nithin Bekal)
08:07 AM Revision b7a33aef (git): [DOC] Keep example styles consistent
The examples of chaining for other methods, such as #tap have the dot at
the start of the line, while #then has it at the end of the previous
line. Updated this to have consistent style in Kernel docs.
nithinbekal (Nithin Bekal)
08:07 AM Revision bae3d681 (git): [DOC] Remove repeated examples for Kernel#then
nithinbekal (Nithin Bekal)
08:06 AM Revision 5eb7cbf4 (git): [DOC] Alias Kernel#yield_self to #then
nithinbekal (Nithin Bekal)
05:36 AM Revision d2ec0e80 (git): [ruby/fiddle] test memory-view: ensure releasing in test
It's for avoiding calling release on exit via GC. If it's happen, Ruby
will be crashed because Fiddle::MemoryView's finalizer may refer other
Ruby object. In exit phrase, the referred Ruby object may be already
freed.
https://github.com...
Sutou Kouhei
05:36 AM Revision c9910851 (git): [ruby/fiddle] test: remove fragile memory leak tests
https://github.com/ruby/fiddle/commit/0bfcd02bef Sutou Kouhei
05:34 AM Revision 9d4e7b37 (git): Make spec file for env helpers more generic
deivid (David Rodríguez)
05:34 AM Revision 50001380 (git): [rubygems/rubygems] Fix `bundler/inline` resetting ENV
https://github.com/rubygems/rubygems/commit/72d8d4dbba deivid (David Rodríguez)
05:34 AM Revision a3929a9c (git): [rubygems/rubygems] The `BUNDLER_SETUP` env should also be cleaned up
https://github.com/rubygems/rubygems/commit/47b7e50f64 deivid (David Rodríguez)
05:34 AM Revision 49483904 (git): [rubygems/rubygems] Make sure MissingSpecVersionError#to_s prints exception message
Gem command loading errors rely on `#to_s` on the raised exception, but
in the case of `MissingSpecVersionError` that was only the exception
name, making it printed twice and no message at all.
Before:
```
ERROR: Loading command: inst...
deivid (David Rodríguez)
05:34 AM Revision 02d50d9c (git): [rubygems/rubygems] Simplify command loading
https://github.com/rubygems/rubygems/commit/95f60f0e60 deivid (David Rodríguez)
05:34 AM Revision 3d1eb62b (git): [rubygems/rubygems] Standarize "ins" test command too
https://github.com/rubygems/rubygems/commit/517e9a8669 deivid (David Rodríguez)
05:34 AM Revision 8e73609c (git): [rubygems/rubygems] Fix weirdness of "interrupt" test command
https://github.com/rubygems/rubygems/commit/0a75590ac9 deivid (David Rodríguez)
05:33 AM Revision 63f31a9e (git): [ruby/singleton] Fixed double assignment
https://github.com/ruby/singleton/commit/9d3c77a868 hsbt (Hiroshi SHIBATA)
05:13 AM Revision 30775d0b (git): [DOC] Fix typo in Forwardable docs
nithinbekal (Nithin Bekal)
03:18 AM Revision a8a921ae (git): [ruby/irb] Use correct binding in debug mode
(https://github.com/ruby/irb/pull/1007)
In debug command, IRB's context was using wrong binding.
Some code colorization, command detection failed because binding.local_variable returned wrong value.
https://github.com/ruby/irb/commit/6...
tompng (tomoya ishida)

10/01/2024

10:46 PM Feature #20770: A *new* pipe operator proposal
I strongly agree that new additions should be thoroughly evaluated and aligned with the philosophy of the language ("A programmer's best friend"). I've found the discussion so far to be very productive, and my opinion is that:
I don't...
AlexandreMagro (Alexandre Magro)
07:43 PM Feature #20770: A *new* pipe operator proposal
[The Ruby-lang homepage](https://www.ruby-lang.org) states that Ruby has
> a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.
And on the [about page](https://www.ruby-lang.org/en...
eightbitraptor (Matt V-H)
07:02 PM Feature #20770: A *new* pipe operator proposal
@Eregon this example (at least for me) is just an easy target for discussion (because it uses standard libraries, is easily reproducible, and demonstrates the multi-step realistic process that uses several libraries at once).
I believ...
zverok (Victor Shepelev)
06:18 PM Feature #20770: A *new* pipe operator proposal
One concern with so many `then {}` is that's a non-trivial overhead for execution (2 method calls + 1 block call for `then { foo(it) }` vs 1 method call for `foo(var)`).
So if it's added I think it should translate to the same as using ...
Eregon (Benoit Daloze)
05:47 PM Feature #20770: A *new* pipe operator proposal
ufuk (Ufuk Kayserilioglu) wrote in #note-21:
> I tend to agree with @Dan0042 on this one, this seems to go against the nature of Ruby. In Ruby, an expression like `URI.parse(it)` is always eagerly evaluated, except when it is inside a b...
AlexandreMagro (Alexandre Magro)
05:19 PM Feature #20770: A *new* pipe operator proposal
I think that this is one of the more interesting approaches to a pipeline operator in Ruby as it is just syntax sugar. As I am understanding it:
```ruby
foo
|> bar(_1, baz)
|> hoge(_1, quux)
```
would be treated by the parser t...
austin (Austin Ziegler)
05:09 PM Feature #20770: A *new* pipe operator proposal
I tend to agree with @Dan0042 on this one, this seems to go against the nature of Ruby. In Ruby, an expression like `URI.parse(it)` is always eagerly evaluated, except when it is inside a block. This is not true in other languages; ones ... ufuk (Ufuk Kayserilioglu)
04:13 PM Feature #20770: A *new* pipe operator proposal
I'm not a big fan of this pipe operator idea, but at least the idea of using `it` is a good one; it solves many problems with previous proposals.
```ruby
foo = 42
1 |> foo |> BAR
#foo should be localvar but somehow is parsed as met...
Dan0042 (Daniel DeLorme)
01:08 PM Feature #20770: A *new* pipe operator proposal
vo.x (Vit Ondruch) wrote in #note-18:
> Right, this was far fetched and would not work admittedly. But that is why I proposed the `client_api_url.to(URI)`, because after all, this is IMHO mostly about type conversion. Why would I ever w...
AlexandreMagro (Alexandre Magro)
09:55 AM Feature #20770: A *new* pipe operator proposal
zverok (Victor Shepelev) wrote in #note-17:
> I don’t think it is realistic, generally. I mean, convert every `f(g(x))` to “`x` should have method `g`, and the result should have method `f`, so you can write `x.g.f` always (or in most w...
vo.x (Vit Ondruch)
08:24 AM Feature #20770: A *new* pipe operator proposal
vo.x (Vit Ondruch) wrote in #note-14:
> AlexandreMagro (Alexandre Magro) wrote in #note-7:
> ...
I don’t think it is realistic, generally. I mean, convert every `f(g(x))` to “`x` should have method `g`, and the result should have metho...
zverok (Victor Shepelev)
07:55 AM Feature #20770: A *new* pipe operator proposal
> We could expand the syntax to treat `.{}` as `.then{}`, similar to how `.()` is `.call()`.
I really like this idea. Yes, it is not “how it is in other languages” yet it has a deep internal consistency with other language elements a...
zverok (Victor Shepelev)
07:07 AM Feature #20770: A *new* pipe operator proposal
Not mentioning, the example ignores error handling, which would be IMHO the biggest problem in real life example vo.x (Vit Ondruch)
07:02 AM Feature #20770: A *new* pipe operator proposal
AlexandreMagro (Alexandre Magro) wrote in #note-7:
To me it just demonstrates that the APIs are likely incomplete and don't provide methods for easy conversion. We have a lot of conversion methods such as `#to_str`, `#to_json`, ... Bu...
vo.x (Vit Ondruch)
05:56 AM Feature #20770: A *new* pipe operator proposal
When pipeline operator was proposed previously (#15799), we briefly spoke of the idea of a block notation without a closing bracket ([the meeting log](https://github.com/ruby/dev-meeting-log/blob/c908bf7e7be60af5c5feabb544541de5f7d003ef/... mame (Yusuke Endoh)
04:49 AM Feature #20770: A *new* pipe operator proposal
FYI: https://github.com/tc39/proposal-pipeline-operator
is similar idea.
ko1 (Koichi Sasada)
07:47 PM Revision 5edc3219 (git): [DOC] Tweaks for Array#keep_if
burdettelamar (Burdette Lamar)
07:46 PM Revision e72e18b3 (git): [DOC] Tweaks for Array#join
burdettelamar (Burdette Lamar)
07:42 PM Revision 467ebbeb (git): [ruby/prism] Disallow dynamic patterns in labels at top level followed by pipes
https://github.com/ruby/prism/commit/ccc746f918 kddnewton (Kevin Newton)
07:36 PM Feature #20775 (Closed): Gemify win32-registry, win32-sspi and win32-resolv
Many libraries bundled with ruby have been gemified and were separated into it's own repository.
Not so far the 3 win32 libraries: https://github.com/ruby/ruby/tree/master/ext/win32/lib/win32
* win32/registry
* win32/resolv
* win32/s...
larskanis (Lars Kanis)
06:27 PM Feature #20768: Add Hash#delete_at
```ruby
a, c = [:a, :c].map { hash.delete(it) }
```
seems enough and does not require adding a new method for what looks like (to me) a narrow use case.
Eregon (Benoit Daloze)
05:01 PM Revision e320da60 (git): [ruby/reline] Fix Reline crash with invalid encoding history
(https://github.com/ruby/reline/pull/751)
https://github.com/ruby/reline/commit/e9d4b37e34
tompng (tomoya ishida)
03:03 PM Revision ec230ac6 (git): Resync to latest Prism
kddnewton (Kevin Newton)
02:59 PM Revision 169a5ee9 (git): Use user defined inline rules `user_or_keyword_variable`
ydah (Yudai Takada)
02:54 PM Bug #20762: `make test-basic` with -DRGENGC_FORCE_MAJOR_GC is always failure
This should be addressed by https://github.com/ruby/ruby/pull/11711 eightbitraptor (Matt V-H)
01:51 PM Revision d86b4041 (git): [ruby/prism] Disallow empty labels when not allowed
https://github.com/ruby/prism/commit/399ee28dc1 kddnewton (Kevin Newton)
12:57 PM Revision 75568d23 (git): [ruby/prism] Disallow &. after endless range
https://github.com/ruby/prism/commit/498dd922d4 kddnewton (Kevin Newton)
12:48 PM Revision 3932d8a8 (git): Replace heap_eden_total_slots with objspace_available_slots
peterzhu2118 (Peter Zhu)
12:06 PM Bug #20764 (Closed): Forwarding parameter `...` is wrongly allowed in lambda
Applied in changeset commit:git|86ae409467e3674c142f012ee3b2288b0305d87c.
----------
[Bug #20764] Refactor argument forwarding in lambda
Reject argument forwarding in lambda:
- without parentheses
- after optional argument(s)
nobu (Nobuyoshi Nakada)
11:00 AM Revision 86ae4094 (git): [Bug #20764] Refactor argument forwarding in lambda
Reject argument forwarding in lambda:
- without parentheses
- after optional argument(s)
nobu (Nobuyoshi Nakada)
10:59 AM Bug #20755 (Closed): IO::Buffer#transfer transfers mutable reference to String's memory but not lock ownership
Applied in changeset commit:git|35e124832e29b65c84d4e0e4e434616859f9bdf5.
----------
[Bug #20755] Frozen string should not be writable via IO::Buffer
nobu (Nobuyoshi Nakada)
09:57 AM Misc #20774 (Open): Remove remaining locale dependent code from Windows port
The external_encoding of files, file names and ENV on Windows were changed from locale codepage to UTF-8 in ruby-3.0.
But there are still several remaining points where locale encoding is used although there is no need to do so.
The Wi...
larskanis (Lars Kanis)
09:46 AM Revision 35e12483 (git): [Bug #20755] Frozen string should not be writable via IO::Buffer
nobu (Nobuyoshi Nakada)
09:41 AM Revision 3ebc85e2 (git): Define RactorLocalSingleton on .mspec.constants
hsbt (Hiroshi SHIBATA)
09:32 AM Revision d109c7c6 (git): Temporary disabled RactorLocalSingleton from constant leak check.
hsbt (Hiroshi SHIBATA)
08:59 AM Revision 0f005449 (git): [ruby/singleton] Make compatible with Ruby 2.4
https://github.com/ruby/singleton/commit/0a77bb492d rm155 (Rohit Menon)
08:59 AM Revision 2f53c9fc (git): [ruby/singleton] Clean VERSION freezing
https://github.com/ruby/singleton/commit/f31334a736 rm155 (Rohit Menon)
08:59 AM Revision d0c1eef5 (git): [ruby/singleton] Only use RactorLocalSingleton if Ractor is defined
https://github.com/ruby/singleton/commit/f684d36a47 rm155 (Rohit Menon)
08:59 AM Revision a6e96df5 (git): [ruby/singleton] Change PerRactorSingleton to RactorLocalSingleton
https://github.com/ruby/singleton/commit/1216a86303 rm155 (Rohit Menon)
08:59 AM Revision 136b30b4 (git): [ruby/singleton] Improve Ractor-compliance; Create PerRactorSingleton
https://github.com/ruby/singleton/commit/ec4f66d9c1 rm155 (Rohit Menon)
08:35 AM Revision 76111af6 (git): expand relative path
hsbt (Hiroshi SHIBATA)
08:35 AM Revision 4822220e (git): Pass MSPECOPT from compilers.yml
hsbt (Hiroshi SHIBATA)
05:54 AM Bug #20501: ruby SEGV
I'm not sure but this seems to need to be backported. nobu (Nobuyoshi Nakada)
05:47 AM Bug #20501 (Closed): ruby SEGV
nobu (Nobuyoshi Nakada)
05:45 AM Bug #20752 (Closed): IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
nobu (Nobuyoshi Nakada)
03:34 AM Revision 522614a3 (git): Bump github/codeql-action from 3.26.9 to 3.26.10
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.9 to 3.26.10.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.m...
dependabot[bot]
12:57 AM Bug #20773 (Closed): CI of RHEL8 and Amazon Linux 2 are failed from Sep 26th
https://github.com/ruby/ruby/pull/11736 fixed this. hsbt (Hiroshi SHIBATA)

09/30/2024

11:58 PM Feature #20770: A *new* pipe operator proposal
jeremyevans0 (Jeremy Evans) wrote in #note-10:
> We could expand the syntax to treat `.{}` as `.then{}`, similar to how `.()` is `.call()`. With that, you could do:
> ...
The idea of using `.{}` is really creative, but it feels somewh...
AlexandreMagro (Alexandre Magro)
10:55 PM Feature #20770: A *new* pipe operator proposal
AlexandreMagro (Alexandre Magro) wrote in #note-9:
> Yes, and it's also possible to achieve this with a chain of `.then`, which results in a similar structure. The idea of the pipe operator is to be syntactic sugar, bringing functionali...
jeremyevans0 (Jeremy Evans)
10:30 PM Feature #20770: A *new* pipe operator proposal
ufuk (Ufuk Kayserilioglu) wrote in #note-8:
> You can also make the whole pipeline with just using procs:
> ...
Yes, and it's also possible to achieve this with a chain of `.then`, which results in a similar structure. The idea of the...
AlexandreMagro (Alexandre Magro)
10:15 PM Feature #20770: A *new* pipe operator proposal
AlexandreMagro (Alexandre Magro) wrote in #note-7:
> With the pipe operator, the same logic can be simplified and made more readable:
> ...
I would like to note that this almost works already today:
```ruby
irb> client_api_url = "htt...
ufuk (Ufuk Kayserilioglu)
09:23 PM Feature #20770: A *new* pipe operator proposal
vo.x (Vit Ondruch) wrote in #note-6:
> Code like `add(value, 3)` is hardly some idiomatic Ruby. If it was Ruby, then you'd likely use `value.add(3)` or `value + 3`. Other examples of readable code are [here](https://poignant.guide/book/...
AlexandreMagro (Alexandre Magro)
08:32 PM Feature #20770: A *new* pipe operator proposal
Code like `add(value, 3)` is hardly some idiomatic Ruby. If it was Ruby, then you'd likely use `value.add(3)` or `value + 3`. Other examples of readable code are [here](https://poignant.guide/book/chapter-3.html). I can't see what is rea... vo.x (Vit Ondruch)
07:02 PM Feature #20770: A *new* pipe operator proposal
bkuhlmann (Brooke Kuhlmann) wrote in #note-4:
> For background, this has been discussed before:
> ...
One issue with `.pipe` is that it mixes two approaches: the object method chain (`lhs.rhs`) and passing the result as an argument (`r...
AlexandreMagro (Alexandre Magro)
02:15 PM Feature #20770: A *new* pipe operator proposal
For background, this has been discussed before:
- [15799](https://bugs.ruby-lang.org/issues/15799): This was implemented and then reverted.
- [20580](https://bugs.ruby-lang.org/issues/20580): This recently popped up as well.
- There...
bkuhlmann (Brooke Kuhlmann)
04:27 AM Feature #20770: A *new* pipe operator proposal
I would still love to see this type of pipeline functionality implemented with plain expressions instead of new operators.
I have this (old) working [proof of concept](https://github.com/lendinghome/pipe_operator#-pipe_operator) gem f...
shuber (Sean Huber)
02:24 AM Feature #20770: A *new* pipe operator proposal
nobu (Nobuyoshi Nakada) wrote in #note-1:
> In the previous trial syntax, the receiver of RHS was the result of LHS.
> ...
Exactly, this is the expected behavior of the pipe operator in other functional languages, such as Elixir. In th...
AlexandreMagro (Alexandre Magro)
01:15 AM Feature #20770: A *new* pipe operator proposal
In the previous trial syntax, the receiver of RHS was the result of LHS.
In your proposal, the receiver of RHS is the same as LHS, and the LHS result is passed as an implicit argument?
nobu (Nobuyoshi Nakada)
11:00 PM Revision af63b4f8 (git): Return an Iterator Instead of a Vector in `addrs_to_pages` Method (#11725)
* Returning an iterator instead of a vec
* Avoid changing the meaning of end_page
---------
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
whtsht (Hinata Toma)
06:23 PM Revision 30507a4a (git): Move RUBY_INTERNAL_EVENT_FREEOBJ into GC implementation
Instead of calling rb_gc_event_hook inside of rb_gc_obj_free, it should
be up to the GC implementation to call the event.
peterzhu2118 (Peter Zhu)
05:55 PM Revision 292c9793 (git): Remove no longer needed excludes files
nobu (Nobuyoshi Nakada)
05:12 PM Revision d592ddd5 (git): Fix compile issue with a short-circuited if/unless condition and `defined?`
This caused an issue when `defined?` was in the `if` condition. Its
instructions weren't appended to the instruction sequence even though it was compiled
if a compile-time known logical short-circuit happened before the `defined?`. The c...
luke-gru (Luke Gruber)
04:58 PM Revision 2a580923 (git): Remove unneeded prototype for objspace_available_slots
peterzhu2118 (Peter Zhu)
04:16 PM Revision af765686 (git): Run just bignum related tests when gmp enabled
nobu (Nobuyoshi Nakada)
04:16 PM Revision 4608ef8d (git): -l option of 7z is unknown switch with the `ubuntu-latest`.
https://github.com/ruby/actions/actions/runs/11095032727/job/30823174026#step:3:349 hsbt (Hiroshi SHIBATA)
03:36 PM Revision 6c9b5c16 (git): Sync Prism with latest main branch
kddnewton (Kevin Newton)
02:49 PM Bug #20765 (Closed): Unexpected node type in pattern matching expression: PM_IMPLICIT_REST_NODE evaluating `a=>*,`
kddnewton (Kevin Newton)
02:32 PM Bug #20765: Unexpected node type in pattern matching expression: PM_IMPLICIT_REST_NODE evaluating `a=>*,`
Thank you — I have opened https://github.com/ruby/prism/pull/3096 to fix this. kddnewton (Kevin Newton)
02:33 PM Revision c1c9ba77 (git): [ruby/prism] Require a delimiter for singleton classes
https://github.com/ruby/prism/commit/fd58d6a9ea kddnewton (Kevin Newton)
01:54 PM Bug #20755: IO::Buffer#transfer transfers mutable reference to String's memory but not lock ownership
https://github.com/ruby/ruby/pull/11738
nobu (Nobuyoshi Nakada)
01:09 PM Revision 6b8078cc (git): Don't create empty string for interpolation
We don't need to create an empty string for interpolation unless it is
the only element.
For example:
"#{hello} world"
Before:
0000 putobject "" ( 1)[Li]
0002 putself
...
peterzhu2118 (Peter Zhu)
12:22 PM Bug #20753: [doc] IO::Buffer examples try to write into readonly buffer returned from IO::Buffer.for
https://github.com/ruby/ruby/pull/11737 ioquatix (Samuel Williams)
12:07 PM Bug #20752: IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
Looks like @nobu already made a PR here: https://github.com/ruby/ruby/pull/11735 ioquatix (Samuel Williams)
12:00 PM Bug #20752: IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
The second example `XameError` is hilarious, what a great bug. Yes, this should be fixed. ioquatix (Samuel Williams)
11:39 AM Revision 63706744 (git): [Bug #20752] Slice of readonly `IO::Buffer` also should be readonly
nobu (Nobuyoshi Nakada)
11:35 AM Revision b93c51c1 (git): Free a buffer allocated by realpath
8350b48cfa7d344d9e2dc9748c26607c1b89d7df introduced a memory leak bug.
Will fix [Bug #20773]
`loop { File.realpath("foo") }` caused memory leak.
mame (Yusuke Endoh)
11:32 AM Revision 5ed67f48 (git): [ruby/rdoc] Only let browser search through source code until it's
expanded
(https://github.com/ruby/rdoc/pull/1181)
Something that's been bothering me is that while the source code is
not visible by default, the browser still jump to it when searching.
Adding the `visible` property prevents this.
Tes...
Earlopain (Earlopain _)
10:10 AM Revision 81d26814 (git): Update test args with bundled gems. webrick has been removed that targets
hsbt (Hiroshi SHIBATA)
09:53 AM Revision 8cd36a6d (git): Don't warn the bundled gems that are migrated at Ruby 3.0.
We should stop warnings at some point. I decided to that period EOL-ed versions.
ex. In 2024, Ruby 3.0 is EOL. we removed webrick, rexml, rss from warning targets.
hsbt (Hiroshi SHIBATA)
09:29 AM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
I apologize for my tone, I will try to be more understanding. I am just a bit frustrated with the warnings in general, especially with the ones that were backported 3.3.5. I know it is already reverted but they do still happen now.
It...
Earlopain (Earlopain _)
09:11 AM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
>All it does is supress the warning from reline (which is suppressed directly in the gem right now anyways) when fiddle is gone in 3.5
Yes, I only accept that point with your request in this time. I may add `syslog` to OPTIONAL with `...
hsbt (Hiroshi SHIBATA)
08:34 AM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
https://github.com/ruby/ruby/commit/3a9e48b9a4860022f43d8101c0f3249299437886 this seems better but I still question the rationale.
I don't see the point in giving `fiddle` special treatment with `OPTIONAL`. What problem is this solvin...
Earlopain (Earlopain _)
09:26 AM Bug #20773 (Closed): CI of RHEL8 and Amazon Linux 2 are failed from Sep 26th
RHEL8 and Amazon Linux 2 are failed with `Cannot allocate memory - fork(2)` from Sep 26th.
* http://rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20240926T093004Z.fail.html.gz
* http://rubyci.s3.amazonaws.com/amazon2/ruby-master/log/...
hsbt (Hiroshi SHIBATA)
09:17 AM Revision c30a3ed0 (git): Fix the last character index in an assertion
Also, when `RUBY_DEBUG` is enabled, objects allocated in shared-gc
fail at `rb_ractor_confirm_belonging`, so assert it always.
nobu (Nobuyoshi Nakada)
09:04 AM Revision ac278675 (git): Use Named Reference
ydah (Yudai Takada)
09:04 AM Revision 044e57ed (git): Implement SPLAT NODE keyword locations
ydah (Yudai Takada)
08:43 AM Revision 239c1c62 (git): LLVM 20 begun
see also https://github.com/llvm/llvm-project/commit/10c6d6349e51bb245b9deec4aafca9885971135b shyouhei (Shyouhei Urabe)
07:49 AM Bug #20772 (Open): Test with -O3 is flaky
I enabled `-O3` build and those tests. But it failed with flaky status.
https://github.com/ruby/ruby/actions/runs/11098648054/job/30831665071#step:6:2439
```
[251/251] 53150=test_range
worker 53144=test_euc_jp does not respon...
hsbt (Hiroshi SHIBATA)
07:20 AM Revision 6abed7ea (git): Test with -O3 is flaky now. I disabled it same as before.
hsbt (Hiroshi SHIBATA)
07:02 AM Revision f14d5210 (git): * 2024-09-30 [ci skip]
git[bot]
07:01 AM Revision 165aeb87 (git): -l option of 7z is unknown switch with the `ubuntu-latest`.
https://github.com/ruby/actions/actions/runs/11095032727/job/30823174026#step:3:349 hsbt (Hiroshi SHIBATA)
06:18 AM Bug #20771 (Closed): make-snapshot is broken with ubuntu-latest
`make-snapshot` is broken now with the following failure.
```
Command Line Error:
Unknown switch:
-l
creating zip archive... /home/runner/work/actions/actions/pkg/snapshot-ruby_3_3.zip 0.003 failed
```
I opened PRs to stable ...
hsbt (Hiroshi SHIBATA)
05:49 AM Bug #20767: VM_ASSERT fails on clear_method_entry_by_id_in_class() under a specific situation
The test case: https://github.com/ruby/ruby/pull/11715/files nobu (Nobuyoshi Nakada)
05:35 AM Bug #20766 (Closed): Endless range rejected inside defs singleton
mame (Yusuke Endoh)
05:18 AM Bug #20749 (Closed): Error message not shown in output with prism
mame (Yusuke Endoh)
05:09 AM Revision 3a273c47 (git): [rubygems/rubygems] Fix error when changing a path source to a git source if frozen mode
https://github.com/rubygems/rubygems/commit/4c79ab9b2e deivid (David Rodríguez)
05:09 AM Revision 1e007636 (git): [rubygems/rubygems] Fix duplicated spec names
https://github.com/rubygems/rubygems/commit/26f6600197 deivid (David Rodríguez)
05:08 AM Revision 7d318c2c (git): [rubygems/rubygems] Fix `stub.activated?` sometimes returning false after activation under bundler
Closes https://github.com/rubygems/rubygems/pull/8068
This issue only occurs if the underlying stub is a gem stub:
https://github.com/Earlopain/rubygems/blob/f56098d8a193dcb94584d721e82b8cff397e5265/bundler/lib/bundler/stub_specificatio...
Earlopain (Earlopain _)
05:08 AM Revision dbe69a46 (git): [rubygems/rubygems] I _think_ this workaround is no longer necessary
https://github.com/rubygems/rubygems/commit/6a76fedfd0 deivid (David Rodríguez)
05:08 AM Revision 060932af (git): [rubygems/rubygems] Fix old cache format detection when application is not source controlled
https://github.com/rubygems/rubygems/commit/b2adcc0173 deivid (David Rodríguez)
05:07 AM Revision 82f250af (git): [rubygems/rubygems] `gem cleanup` no longer needs to reset paths
Since `Gem::Uninstaller` no longer changes paths either.
https://github.com/rubygems/rubygems/commit/427059d45f
deivid (David Rodríguez)
05:07 AM Revision d4ac5c57 (git): [rubygems/rubygems] Don't add duplicated specs to unresolved specs
This could happen when a regular gem shadows a default gem.
https://github.com/rubygems/rubygems/commit/9ef70dd1f7
deivid (David Rodríguez)
05:07 AM Revision 73d60df6 (git): [rubygems/rubygems] Don't list duplicated version in `Gem::Specification.reset` warning
https://github.com/rubygems/rubygems/commit/e6e3db821f deivid (David Rodríguez)
05:00 AM Feature #18368 (Closed): Range#step semantics for non-Numeric ranges
I think there is no task in this ticket. Thank you @zverok mame (Yusuke Endoh)
05:00 AM Feature #18423 (Closed): Installing stable versions like 3.0.3 from source generates fatal error by make
We can't support Solaris anymore. hsbt (Hiroshi SHIBATA)
04:04 AM Revision 1b6c234f (git): s/reproducable/reproducible/
ydah (Yudai Takada)
03:03 AM Revision 3fe59b04 (git): -l option of 7z is unknown switch with the `ubuntu-latest`.
https://github.com/ruby/actions/actions/runs/11095032727/job/30823174026#step:3:349 hsbt (Hiroshi SHIBATA)
02:35 AM Revision 3a9e48b9 (git): Fixed warning condition with LoadError
hsbt (Hiroshi SHIBATA)
02:10 AM Bug #20762 (Assigned): `make test-basic` with -DRGENGC_FORCE_MAJOR_GC is always failure
I disabled this test at https://github.com/ruby/ruby/commit/a896c4cc532b9192732af02ac5cb84d3b5e7f82d hsbt (Hiroshi SHIBATA)
01:52 AM Bug #20729 (Closed): Test failure with 0fc8422a05 and native mswin environment
This is fixed by https://github.com/ruby/ruby/pull/11719 hsbt (Hiroshi SHIBATA)
01:27 AM Revision 28a01e30 (git): Ruby exception cannot work here
Just show error messages then ignore the invalid library. nobu (Nobuyoshi Nakada)
01:22 AM Revision 03ca99c9 (git): [DOC] Tweaks for Array#hash (#11704)
burdettelamar (Burdette Lamar)
01:21 AM Revision 5be11c1d (git): [DOC] Tweaks for Array#first (#11687)
burdettelamar (Burdette Lamar)
01:21 AM Revision 116395d3 (git): [DOC] Tweaks for Array#flatten! (#11689)
burdettelamar (Burdette Lamar)
01:21 AM Revision 154ec2d2 (git): [DOC] Tweaks for Array#insert (#11709)
burdettelamar (Burdette Lamar)

09/29/2024

11:01 PM Revision 9b4a4974 (git): Fix loading of nonascii script name on Windows
Since the prism parser was enabled by default, loading scripts with nonascii characters somewhere in the script path is no longer working.
It only works when the codepage was switched to 65001 (UTF-8).
This patch doesn't change the enco...
larskanis (Lars Kanis)
05:57 PM Feature #20770 (Open): A *new* pipe operator proposal
Hello,
This is my first contribution here. I have seen previous discussions around introducing a pipe operator, but it seems the community didn't reach a consensus. I would like to revisit this idea with a simpler approach, more of a ...
AlexandreMagro (Alexandre Magro)
03:20 PM Revision a0838a39 (git): Raise fatal error instead of BUG
Failures due to the external setting is not a bug of ruby itself. nobu (Nobuyoshi Nakada)
03:19 PM Revision 5139a574 (git): Make directory for shared-GC libraries at build
nobu (Nobuyoshi Nakada)
03:03 PM Revision 9d604800 (git): CI: Remove `SHARED_GC` compilation
It is checked in ubuntu.yml. nobu (Nobuyoshi Nakada)
03:03 PM Revision 5e466ad3 (git): CI: Remove `ENABLE_PATH_CHECK` compilation
As `ENABLE_PATH_CHECK` is defaulted to 1 on other than DOSISH and
Cygwin, setting this macro to 1 on Ubuntu changes nothing from the
default. As for `ENABLE_PATH_CHECK=0` tests, we have real CI
platforms already.
nobu (Nobuyoshi Nakada)
02:27 PM Feature #20769: Add `Hash#transform_value`
Thank you for sharing that code sample. It demonstrates an interesting way to use `Hash#merge` with a block argument.
When the key argument is absent from the Hash, a call to `Hash#transform_value` would be a no-operation. I apologize...
seanpdoyle (Sean Doyle)
02:51 AM Feature #20769: Add `Hash#transform_value`
```ruby
hash.merge(image: nil) {|_, url| download(url)}
hash.merge!(image: nil) {|_, url| download(url)}
```
nobu (Nobuyoshi Nakada)
02:07 PM Revision 1f6d2e77 (git): Remove leading spaces from `LIBPATHFLAG` and `RPATHFLAG`
Join with a space in `MakeMakefile#libpathflag` instead. nobu (Nobuyoshi Nakada)
01:24 PM Revision 9138b388 (git): Update bundled gems list as of 2024-09-29
git[bot]
12:38 PM Revision 52e40aea (git): Bump actions/checkout
nobu (Nobuyoshi Nakada)
12:00 PM Revision f5d9d9b5 (git): win32/sspi: Use `start_with?` to see prefix
nobu (Nobuyoshi Nakada)
12:00 PM Revision 25eb9bde (git): win32/sspi: Rafactor pack/unpack
nobu (Nobuyoshi Nakada)
12:00 PM Revision 30230ed9 (git): win32/sspi: For Ractor use a constant instead of a class variable
nobu (Nobuyoshi Nakada)
12:00 PM Revision fc2f196c (git): win32/sspi: Fix missing A suffix in an API constant name
nobu (Nobuyoshi Nakada)
12:00 PM Revision b7bca0eb (git): win32/sspi: Fix Win32::SSPI::SSPIResult#== with Integer
The values of `@@map` are `Symbol`s and `@value` should be an
`Integer` since unpacked as unsigned long, so this comparison should
be false always. Probably comparison with `Symbol` was intended.
nobu (Nobuyoshi Nakada)
12:00 PM Revision 1179c863 (git): win32/sspi: Already Fixnum has been removed years ago
nobu (Nobuyoshi Nakada)
10:09 AM Revision 65a0795c (git): [DOC] Mention block mode of `String#unpack`
nobu (Nobuyoshi Nakada)
10:07 AM Revision e7144af7 (git): [DOC] Refine about offset directives
nobu (Nobuyoshi Nakada)
09:55 AM Revision 066ac0fd (git): Expand buffer at once then fill it at once
nobu (Nobuyoshi Nakada)
09:45 AM Revision 3b43585a (git): Extract common code from `pack_pack` and `pack_unpack_internal`
nobu (Nobuyoshi Nakada)
02:42 AM Revision e1889dd7 (git): Assertions should not have side effects
nobu (Nobuyoshi Nakada)
01:13 AM Revision 01ff65af (git): [DOC] Tweaks for Array#replace
burdettelamar (Burdette Lamar)
01:12 AM Revision 3986b5fe (git): [DOC] Tweaks for Array#include?
burdettelamar (Burdette Lamar)
12:59 AM Revision d64528c6 (git): [DOC] Tweaks for Array#freeze
burdettelamar (Burdette Lamar)
12:58 AM Revision 5a7b66fa (git): [DOC] Tweaks for Array#flatten (#11688)
burdettelamar (Burdette Lamar)

09/28/2024

09:34 PM Feature #20769 (Feedback): Add `Hash#transform_value`
Add `Hash#transform_value` as a specialized, key-specific version of [Hash#transform_values](https://docs.ruby-lang.org/en/3.3/Hash.html#method-i-transform_values).
```ruby
hash = { image: "https://example.com/image.jpg" }
mutated_h...
seanpdoyle (Sean Doyle)
09:12 PM Revision 87212a54 (git): [rubygems/rubygems] Improve Gem::SpecFetcher tests.
https://github.com/rubygems/rubygems/commit/6e0456583b Ellen Marie Dash
09:12 PM Revision 5c18b63d (git): [rubygems/rubygems] [tests] Don't expect suggestions that aren't actually helpful.
https://github.com/rubygems/rubygems/commit/e7d6b92e31 Ellen Marie Dash
09:12 PM Revision 47a3482a (git): [rubygems/rubygems] Remove code that makes suggest_gems_from_name give worse results.
https://github.com/rubygems/rubygems/commit/09ec67ffdf Ellen Marie Dash
09:08 PM Feature #20768 (Open): Add Hash#delete_at
Add `Hash#delete_at` to delete values from a list keyed by its arguments.
The interface and return values draw inspiration from [Hash#values_at](https://docs.ruby-lang.org/en/3.3/Hash.html#method-i-values_at) and [Array#delete_at](ht...
seanpdoyle (Sean Doyle)
01:37 PM Revision b9e225fc (git): Allow dot3 in defs singleton
tompng (tomoya ishida)
11:53 AM Revision 8f678d69 (git): Implement OP_ASGN2 NODE locations
ydah (Yudai Takada)
07:05 AM Bug #20767 (Closed): VM_ASSERT fails on clear_method_entry_by_id_in_class() under a specific situation
VM_ASSERT in `clear_method_entry_by_id_in_class()` (vm_method.c) fails when:
* Kernel#require is refined
* Kernel#require is replaced by `alias_method` and `define_method`
* User code calls `require`
* The aliased method entry is u...
tagomoris (Satoshi Tagomori)
06:38 AM Bug #20766 (Closed): Endless range rejected inside defs singleton
These are syntax error with --parser=parse.y. I think it should be syntax ok.
```ruby
def (1...).f; end
def (tap{1...}).f; end
```
ruby-3.0: Syntax OK (checked with 3.0.6)
ruby-3.1: Syntax Error (checked with 3.1.4)
ruby --parse...
tompng (tomoya ishida)
06:02 AM Bug #20765 (Closed): Unexpected node type in pattern matching expression: PM_IMPLICIT_REST_NODE evaluating `a=>*,`
~~~
# ruby --parser=prism -e "a=>*,"
-e: [BUG] Unexpected node type in pattern matching expression: PM_IMPLICIT_REST_NODE
# ruby --parser=parse.y -e "a=>*,"
-e:1: syntax error, unexpected end-of-input
~~~
tompng (tomoya ishida)
05:48 AM Bug #20764 (Closed): Forwarding parameter `...` is wrongly allowed in lambda
These codes are all syntax error
~~~ruby
->...{}
->(...){}
->(a,...){}
~~~
But these are allowed in --parser=parse.y. It should be syntax error
~~~ruby
->a,...{}
->(a=1,...){}
~~~
~~~
# ruby --parser=parse.y -e "p ->a,...{}...
tompng (tomoya ishida)
12:42 AM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
>By the way, I share @Earlopain's questions about the additional patch
Ah, thanks. It's simple bug. I'll fix at next week.
hsbt (Hiroshi SHIBATA)

09/27/2024

05:45 PM Revision 027ef605 (git): [Bug #20763] Add tests
nobu (Nobuyoshi Nakada)
05:44 PM Bug #20763 (Closed): Stack consistency error with bare endless range
kddnewton (Kevin Newton)
05:07 PM Bug #20763: Stack consistency error with bare endless range
Thanks @tompng — https://github.com/ruby/ruby/pull/11714 should fix this. kddnewton (Kevin Newton)
04:50 PM Bug #20763 (Closed): Stack consistency error with bare endless range
`<compiled>: [BUG] Stack consistency error (sp: 7, bp: 6)` running these codes. No error with --parser=parse.y
~~~sh
ruby -e "1r..; nil"
ruby -e "a=1; a..; nil"
ruby -e "rand..; nil"
~~~
~~~
# ruby -e "1r..; nil"
-e:1: [BUG] ...
tompng (tomoya ishida)
05:43 PM Revision addb5fea (git): Fix up compiling popped ranges with non-optimizable bounds
Fixes [Bug #20763] kddnewton (Kevin Newton)
04:59 PM Revision 7e19904c (git): Remove on `RSTRING_END` dependency from parser
nobu (Nobuyoshi Nakada)
04:49 PM Revision d1324170 (git): [rubygems/rubygems] Warning about PATH in `--user-install` mode is only necessary for gems with executables
https://github.com/rubygems/rubygems/commit/2fe0f452a2 deivid (David Rodríguez)
03:59 PM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
I meant that I think in Ruby 3.4 (prior to my patch), the warning would also apply to non Bundler contexts that lead to a `LoadError`, where it would inform that `csv` may not always be present and may need an explicit install from RubyG... deivid (David Rodríguez)
03:33 PM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
deivid (David Rodríguez) wrote in #note-14:
> I think this would affect both Bundler and non Bundler usages. Currently the warnings recommends to install the gem from RubyGems in non Bundler context, that will also be lost in Ruby 3.4 f...
Eregon (Benoit Daloze)
11:08 AM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
I see that https://github.com/ruby/ruby/pull/11550 was merged which is great but I'm confused about https://github.com/ruby/ruby/commit/ff3f61556fb62d12d57d017f4c54f1a8fd5208be because it basically reverts that PR. If a dependency is opt... Earlopain (Earlopain _)
03:21 PM Feature #6012: Proc#source_location also return the column
I also really like @ioquatix 's suggestion in https://bugs.ruby-lang.org/issues/6012#note-13 and it is a lot more flexible and more efficient too (since computing e.g. column information if unused is not cheap).
For instance `method.sour...
Eregon (Benoit Daloze)
03:06 PM Feature #6012: Proc#source_location also return the column
It seems good to revisit this, the workarounds are pretty messy and CRuby-specific, e.g. https://github.com/rails/rails/pull/53055/files
I think @mame 's suggestion in https://bugs.ruby-lang.org/issues/6012#note-12 is fine although I ...
Eregon (Benoit Daloze)
03:08 PM Misc #20717: DevMeeting-2024-10-03
* [Feature #6012] Proc#source_location also return the column (eregon)
* How about `{Proc,Method,UnboundMethod}.source_location #=> [path, start_line, start_column, start_offset, end_line, end_column, end_offset]` ?
* How about `{Pro...
Eregon (Benoit Daloze)
03:00 PM Bug #20761: [DOC] `RubyVM::AbstractSyntaxTree.of` examples raise because parser is prism by default
Thanks for the links, yes, that seems a perfect use case for more information in `#source_location`, going through `RubyVM` APIs for that feels overly complicated for something so simple.
I found https://bugs.ruby-lang.org/issues/6012...
Eregon (Benoit Daloze)
02:44 PM Bug #20761: [DOC] `RubyVM::AbstractSyntaxTree.of` examples raise because parser is prism by default
Eregon (Benoit Daloze) wrote in #note-7:
> @Earlopain Is there a reason you need this and cannot just use e.g. `Prism.parse("proc {1 + 2}")`?
> ...
This question specifically was about usage that Rails recently adopted for printing the s...
Earlopain (Earlopain _)
02:37 PM Bug #20761: [DOC] `RubyVM::AbstractSyntaxTree.of` examples raise because parser is prism by default
In general the entire `RubyVM::AbstractSyntaxTree` module should be considered deprecated (and maybe even removed), given it relies on parse.y internals and that matz said that the Prism API is the official Ruby API for parsing Ruby code... Eregon (Benoit Daloze)
02:30 PM Bug #20761: [DOC] `RubyVM::AbstractSyntaxTree.of` examples raise because parser is prism by default
@Earlopain Is there a reason you need this and cannot just use e.g. `Prism.parse("proc {1 + 2}")`?
A cleaner and portable way to achieve this functionality from a Proc/Method would be if there is a way to retrieve their precise source l...
Eregon (Benoit Daloze)
02:45 PM Revision b873787a (git): Update recommendations regarding parsing Ruby code now that Prism is stable
Eregon (Benoit Daloze)
02:45 PM Feature #14844 (Rejected): Future of RubyVM::AST?
These days, I believe there is no value to make `RubyVM::AbstractSyntaxTree` stable.
The official Ruby API to parse Ruby code is the Prism API (regardless of which parser is used internally), as matz said.
Eregon (Benoit Daloze)
02:10 PM Revision 94ad2c3f (git): Reduce creating `rb_parser_string_t` repeatedly for literals.
Since #11698, `parser_str_new` makes `rb_parser_string_t` and `VALUE`
but discards the former, and then `STR_NEW3` makes the same thing
again.
nobu (Nobuyoshi Nakada)
02:10 PM Revision 710d916c (git): Add wrapper macros of `rb_parser_str_buf_cat`
nobu (Nobuyoshi Nakada)
01:58 PM Revision 098649bc (git): [ruby/rdoc] Add home page link to output message
(https://github.com/ruby/rdoc/pull/1165)
The link is clickable in the terminal and opens the home page in the browser
https://github.com/ruby/rdoc/commit/b7d580afab
st0012 (Stan Lo)
10:34 AM Revision 7f83bd37 (git): Reduce `is_ascii_string` function dependency for parser
Changed to use `rb_parser_is_ascii_string` function instead of `is_ascii_string` function S_H_ (Shun Hiraoka)
09:39 AM Revision c1ee5ea2 (git): Avoid to unintentional Bundler definition by Bundler::Definition.no_lock
hsbt (Hiroshi SHIBATA)
09:39 AM Revision ff3f6155 (git): Only warn fiddle as optional dependency
hsbt (Hiroshi SHIBATA)
09:20 AM Revision eff16d93 (git): Implement OP_ASGN1 NODE locations
ydah (Yudai Takada)
08:03 AM Revision a70adce1 (git): Only `warn` about bundled gems when require succeeds
deivid (David Rodríguez)
06:15 AM Bug #20762 (Closed): `make test-basic` with -DRGENGC_FORCE_MAJOR_GC is always failure
https://github.com/ruby/ruby/actions/runs/11063957302/job/30741993035#step:8:1816
----
```
/github/workspace/src/basictest/test.rb:2357: [BUG] cannot create a new page after major GC
ruby 3.4.0dev (2024-09-27T03:22:52Z pull/112...
hsbt (Hiroshi SHIBATA)
05:39 AM Revision a896c4cc (git): RGENGC_FORCE_MAJOR_GC is disabled same as current HEAD
hsbt (Hiroshi SHIBATA)
05:39 AM Revision b63f3c9d (git): Use user.login instead of actor
hsbt (Hiroshi SHIBATA)
05:39 AM Revision e58c7a93 (git): Applied https://github.com/ruby/ruby/pull/11574
hsbt (Hiroshi SHIBATA)
05:39 AM Revision 52bb90f9 (git): sequential execution of some CI tasks
reduced parallelism from some 50-ish to 10-ish so that other jobs
can run.
shyouhei (Shyouhei Urabe)
05:30 AM Bug #20560 (Assigned): make install - skipped bundled gems - minor issue
hsbt (Hiroshi SHIBATA)
04:37 AM Misc #16267 (Closed): MinGW CI - add to Actions ?
https://github.com/ruby/ruby/commits/master/.github/workflows/mingw.yml is available today. hsbt (Hiroshi SHIBATA)
04:31 AM Revision d7e5133d (git): [ruby/benchmark] Add example for Benchmark.realtime
https://github.com/ruby/benchmark/commit/0f278be6c1 nithinbekal (Nithin Bekal)
04:31 AM Revision 3209bb95 (git): [ruby/benchmark] Specify unit of time for Benchmark.realtime
https://github.com/ruby/benchmark/commit/388236685c nithinbekal (Nithin Bekal)
04:14 AM Revision dc8fa59f (git): Skip non-existent directories in PATH
nobu (Nobuyoshi Nakada)
12:58 AM Revision 0c25eb4f (git): s/interation/iteration/
ydah (Yudai Takada)
12:58 AM Revision a50a7c70 (git): s/erorr/error/
ydah (Yudai Takada)
 

Also available in: Atom