Project

General

Profile

Activity

From 12/09/2024 to 12/15/2024

12/15/2024

11:33 PM Bug #20954: Ractor.main? returns 0 on the main ractor
https://github.com/ruby/ruby/pull/12352 byroot (Jean Boussier)
06:18 PM Bug #20954 (Closed): Ractor.main? returns 0 on the main ractor
Very minor (as the value is still truthy) but slightly confusing.
```ruby
Ractor.main? #=> 0
```
```
$ ruby -v
ruby 3.4.0dev (2024-12-15T13:36:38Z master 366fd9642f) +PRISM [x86_64-linux]
```
zverok (Victor Shepelev)
11:29 PM Feature #20953: Array#fetch_values vs #values_at protocols
`Array#fetch_values` is modeled after `Hash#fetch_values`, not `Array#values_at`.
Since Array "keys" can only possibly be integers, it makes sense for a method that is specific to Array to cast the arguments this way.
But for the m...
byroot (Jean Boussier)
04:32 PM Feature #20953 (Assigned): Array#fetch_values vs #values_at protocols
I believe that the user might expect `#fetch_values` to be a stricter version of `#values_at`, confirming to the same protocol for arguments.
But the current implementation for `#fetch_values` is simpler:
```ruby
[1, 2, 3, 4, 5].va...
zverok (Victor Shepelev)
10:37 PM Bug #20956: Nested alternation pattern matching bug in 3.4.0-rc1
This would appear to be a bug in prism, or prism-adjacent code?
```console
$ ruby -e 'pp ([["foo"]] in [/\Afoo\b/i | [/\Afoo\z/i, *]])'
false
$ ruby --parser=parse.y -e 'pp ([["foo"]] in [/\Afoo\b/i | [/\Afoo\z/i, *]])'
true
```
nevans (Nicholas Evans)
10:30 PM Bug #20956 (Closed): Nested alternation pattern matching bug in 3.4.0-rc1
I think I've found a pattern matching bug in ruby 3.4.0-rc1.
```ruby
[123, ["foo"]] in [_, /\Afoo\b/i | [/\Afoo\z/i, *]]
```
I also tested this in ruby 2.7.8, with:
```ruby
case [123, ["foo"]]; in [_, /\Afoo\b/i | [/\Afoo\z/i, *]...
nevans (Nicholas Evans)
07:53 PM Revision 1ac28224 (git): [DOC] Adjust argument unpacking docs and document **nil (#12228)
[DOC] Rewrite argument unpacking docs and document **nil zverok (Victor Shepelev)
07:53 PM Bug #20955 (Closed): Subtle differences with Proc#parameters for anonymous parameters
```ruby
p proc { |x| }.parameters #=> [[:opt, :x]]
p lambda { |x| }.parameters #=> [[:req, :x]]
p proc { _1 }.parameters #=> [[:opt, :_1]]
p lambda { _1 }.parameters #=> [[:req, :_1]]
p proc { it }.parameters #=> [[:opt, ni...
zverok (Victor Shepelev)
06:46 PM Revision 16b84b72 (git): [rubygems/rubygems] Fix broken link to license file
https://github.com/rubygems/rubygems/commit/76cb4aad70 Stan Lo
01:36 PM Revision 366fd964 (git): [ruby/rdoc] Hide hamburger on desktop
(https://github.com/ruby/rdoc/pull/1237)
* Clean up the duplicate definitions and unnecessary print styling
* Hides the navigation toggle when there's enough room to always display the navigation
* Update lib/rdoc/generator/template/d...
James Reid-Smith
01:24 PM Revision f9dc41b6 (git): [ruby/rdoc] Fix iPad Pro navigation not shown
(https://github.com/ruby/rdoc/pull/1236)
Found this issue when I was debugging the navigation toggle. I noticed
it first in the chrome dev tools, but it was also reproducible on
an iPad Pro.
Symptom:
- On iPad Pro, the navigation secti...
James Reid-Smith
01:04 PM Bug #20951: Confusing handling of timezone object's `#utc_to_local` results
Thank you!
I've spotted the difference in the examples above. In my example the `utc_to_local`'s argument is converted to UTC (`time = Time.now.utc`) and in your example it's in the `"Europe/Kiev"` timezone.
I made assumption that t...
andrykonchin (Andrew Konchin)
08:02 AM Bug #20951: Confusing handling of timezone object's `#utc_to_local` results
Moved to Bug to back port the documentation update. nobu (Nobuyoshi Nakada)
11:50 AM Revision 2c57b87c (git): [ruby/reline] Refactor Reline::Unicode ed_ vi_ em_ methods
(https://github.com/ruby/reline/pull/720)
* Refactor Reline::Unicode vi_ ed_ em_ methods
* Make Reline::Unicode's vi_ ed_ em_ method encoding safe
https://github.com/ruby/reline/commit/cdd7288978
tompng (tomoya ishida)
09:33 AM Bug #20924: IO#readline ignores the limit argument when the encoding is UTF-32LE and the limit would split a character
ruby_3_2 commit:3110d5c8abf8f710de42989fbc35870287a12f75 merged revision(s) commit:e90b447655dd39ad1eb645cdaae450efd605db00. nagachika (Tomoyuki Chikanaga)
08:15 AM Bug #20940 (Closed): Colored syntax error from prism
Applied in changeset commit:git|5c372969ad65a5b5a329cc591daac7030a2eccc5.
----------
[Bug #20940] [PRISM] Support NO_COLOR
Also use bold/faint SGR when possible.
nobu (Nobuyoshi Nakada)
08:15 AM Revision 5c372969 (git): [Bug #20940] [PRISM] Support NO_COLOR
Also use bold/faint SGR when possible. nobu (Nobuyoshi Nakada)
07:57 AM Revision 96645819 (git): [Bug #20951] [DOC] About UTC offset calculation after `utc_to_local`
nobu (Nobuyoshi Nakada)
07:56 AM Revision a2e41004 (git): [DOC] Sort the NEWS entries alphabetically
nobu (Nobuyoshi Nakada)
07:55 AM Bug #20927 (Closed): `{ **{ } }` behaves differently when `shareable_constant_value: experimental_everything`
Applied in changeset commit:git|e06b3b5ad1f6453ebebc5d9a54d82e3bb2ab116f.
----------
[Bug #20927] Fix compile_shareable_literal_constant for hash with keyword splat
Compilation of NODE_HASH in compile_shareable_literal_constant does no...
tompng (tomoya ishida)
07:55 AM Revision e06b3b5a (git): [Bug #20927] Fix compile_shareable_literal_constant for hash with keyword splat
Compilation of NODE_HASH in compile_shareable_literal_constant does not support hash that contains keyword splat.
If there is a keyword splat, fallback to default case.
tompng (tomoya ishida)
07:18 AM Revision 3110d5c8 (git): merge revision(s) e90b447655dd39ad1eb645cdaae450efd605db00: [Backport #20924]
[Bug #20924] Fix reading with delimiter in wide character encodings nagachika (Tomoyuki Chikanaga)
07:15 AM Bug #20921: Use-after-free in constant cache
ruby_3_2 commit:d78e1a413333bae4e70e662ac7eceb378b2a5369 merged revision(s) commit:f65a6c090c229de1665af49f2e51fc1d6397ab72. nagachika (Tomoyuki Chikanaga)
07:14 AM Bug #20915: Segfault with `TracePoint#parameters` and aliased C method
ruby_3_2 commit:303a83d35c485db626c57415b344fdd4a8d0d5e5 merged revision(s) commit:660b995365f719fa59ed6f2809bb1527e6470d14. nagachika (Tomoyuki Chikanaga)
07:14 AM Bug #20447: Ruby 3.3.1 broken on i686 due to "incompatible pointer type" error
Thank you for your notice. The changeset was backpoeted into ruby_3_2 too. nagachika (Tomoyuki Chikanaga)
07:13 AM Bug #20447: Ruby 3.3.1 broken on i686 due to "incompatible pointer type" error
ruby_3_2 commit:59254caff0f39c87370d0c11793e3aae5c38d6e1 merged revision(s) commit:055613fd868a8c94e43893f8c58a00cdd2a81f6d. nagachika (Tomoyuki Chikanaga)
06:36 AM Revision 730731cc (git): Fix links to syntax/literals.rdoc
Stan Lo
06:36 AM Revision e9926afb (git): Fix broken links to `Socket.tcp_fast_fallback=`
Since it's a singleton method, it should be referenced as `Socket.tcp_fast_fallback=`,
not `Socket#tcp_fast_fallback=`.
Stan Lo
06:31 AM Revision 59254caf (git): merge revision(s) 055613fd868a8c94e43893f8c58a00cdd2a81f6d: [Backport #20447]
Fix pointer incompatiblity
Since the subsecond part is discarded, WIDEVAL to VALUE conversion is
needed.
nagachika (Tomoyuki Chikanaga)
06:30 AM Revision e08e168a (git): Add date to doc/.document
Otherwise, dozens of links to date/calendars.rdoc will still be broken
after https://github.com/ruby/date/pull/113
Stan Lo
06:28 AM Revision 303a83d3 (git): merge revision(s) 660b995365f719fa59ed6f2809bb1527e6470d14: [Backport #20915]
[Bug #20915] Fix SEGV with `TracePoint#parameters` and aliased C method
The following snippet results with a SEGV:
```ruby
C = Class.new do
alias_method :new_to_s, :to_s
end
TracePoint...
nagachika (Tomoyuki Chikanaga)
06:26 AM Revision d78e1a41 (git): merge revision(s) f65a6c090c229de1665af49f2e51fc1d6397ab72: [Backport #20921]
Fix use-after-free in constant cache
[Bug #20921]
When we create a cache entry for a constant, the following sequence of
events could happen:
- vm_track_constant_cache is called to insert a constant cac...
nagachika (Tomoyuki Chikanaga)
06:20 AM Revision 6d00dee3 (git): [ruby/date] Fix broken rdoc-ref to the calendar page
https://github.com/ruby/date/commit/cb52e64be1 Stan Lo
12:51 AM Revision 9486f46a (git): Update NEWS.md for `Socket.tcp` and `TCPSocket.new` (#12347)
Misaki Shioi

12/14/2024

11:39 PM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
I'm in favor of not storing `-C` in ruby_args. In general, `-C` is mutually exclusive with the program doing its own `Dir.chdir`. Either the program changes its working directory to "x", or if it doesn't then you'd use `-C x` as a workar... Dan0042 (Daniel DeLorme)
10:40 PM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
nobu (Nobuyoshi Nakada) wrote in #note-45:
> Removed or renamed.
> ...
But current directory might have changed e.g. by `Dir.chdir`, so using `Dir.pwd` (explicitly or implicitly) is no good, it's the same as ARGV vs "original ARGV".
F...
Eregon (Benoit Daloze)
10:48 PM Bug #20948: Constant references incorrectly cached in `module (expr)::Foo`
There used to be a similar bug a while ago and IIRC some specs were added, @ko1 maybe you remember it and could link that ticket here?
I think it was constants inside `class << expr` though, not inside `module expr::Foo`.
(FWIW, it's a...
Eregon (Benoit Daloze)
07:37 PM Revision 593b90a6 (git): [ruby/irb] Fix broken rdoc-ref caused by a typo
(https://github.com/ruby/irb/pull/1049)
https://github.com/ruby/irb/commit/cdc88fe87f
st0012 (Stan Lo)
12:12 PM Revision 792275e5 (git): [ruby/rdoc] Fix dead links in the markup reference page
(https://github.com/ruby/rdoc/pull/1242)
https://github.com/ruby/rdoc/commit/d1cb9dc3c4
st0012 (Stan Lo)
09:42 AM Bug #20951 (Feedback): Confusing handling of timezone object's `#utc_to_local` results
andrykonchin (Andrew Konchin) wrote:
> I am looking into the timezone object feature (that is supported by various Time class methods) now and I am confused by the current implementation. Specifically, how a time-like object **that is n...
nobu (Nobuyoshi Nakada)
09:01 AM Revision 70f5c62a (git): Extract `NUM2WV` macro
nobu (Nobuyoshi Nakada)
06:52 AM Feature #20935 (Closed): API for Globally Enabling/Disabling Happy Eyeballs Version 2 in the Socket Class
New environment variables added in this PR https://github.com/ruby/ruby/pull/12257 . shioimm (Misaki Shioi)
06:51 AM Revision 9f924e2f (git): Improve APIs for Globally Enabling/Disabling fast_fallback in Socket (#12257)
This change includes the following updates:
- Added an environment variable `RUBY_TCP_NO_FAST_FALLBACK` to control enabling/disabling fast_fallback
- Updated documentation and man pages
- Revised the implementation of Socket.tcp_fast_fal...
Misaki Shioi
05:29 AM Feature #20882 (Rejected): Provide Boolean(...)
I don't think it works well in the Ruby ecosystem. Rejected (as previous proposals).
Matz.
matz (Yukihiro Matsumoto)
01:19 AM Revision 77016a7b (git): [DOC] Fix grammar errors, typos, and improve readability of string.rb
Because this file's comments have one extra space after the `#` sign,
almost every line is updated. IMO, it's better to address this issue
in one go.
Co-authored-by: Jeremy Evans <[email protected]>
st0012 (Stan Lo)

12/13/2024

11:09 PM Revision 211857f4 (git): Fix incorrect rdoc-ref links in array.rb
Stan Lo
10:02 PM Bug #20952 (Closed): A weird error message for []= with keyword arguments
Applied in changeset commit:git|b37777c36f6cb27d55f4fe44a95b3c970fbf9848.
----------
[PRISM] Blocks are also a syntax error in array assignment
Actually close [Bug #20952]
eightbitraptor (Matt V-H)
09:24 PM Bug #20952 (Open): A weird error message for []= with keyword arguments
Re-Opening this in light of @jeremyevans0 comment about blocks
I merged the PR that addresses the kwargs issue at the same time as that comment was made.
eightbitraptor (Matt V-H)
09:23 PM Bug #20952 (Closed): A weird error message for []= with keyword arguments
Applied in changeset commit:git|e1946657205fb14583dd3020d60c5236a11fdd9b.
----------
[PRISM] using []= to set kwargs is a syntax error
Fixes [Bug #20952]
eightbitraptor (Matt V-H)
08:53 PM Bug #20952: A weird error message for []= with keyword arguments
Same is true for block arguments:
```
$ ruby34 -c -e "matrix[5, &block] = 8"
Syntax OK
$ ruby34 --parser=parse.y -c -e "matrix[5, &block] = 8"
-e:1: block arg given in index assignment
matrix[5, &block] = 8
ruby34: compile ...
jeremyevans0 (Jeremy Evans)
08:01 PM Bug #20952: A weird error message for []= with keyword arguments
This is a bug in prism. The expected behavior is parse.y's behavior of raising a syntax error:
```
$ ruby34 -c -e "matrix[5, axis: :y] = 8"
Syntax OK
$ ruby34 --parser=parse.y -c -e "matrix[5, axis: :y] = 8"
-...
jeremyevans0 (Jeremy Evans)
07:47 PM Bug #20952 (Closed): A weird error message for []= with keyword arguments
Trying to document the new deprecation of `#[]=` with keyword arguments, I wrote this sample code:
```ruby
class MyMatrix
# ...some implementation
def []=(*args, **kwargs)
p(args:, kwargs:)
# ...some implementation
...
zverok (Victor Shepelev)
10:02 PM Revision b37777c3 (git): [PRISM] Blocks are also a syntax error in array assignment
Actually close [Bug #20952] eightbitraptor (Matt V-H)
09:57 PM Bug #20638 (Closed): Threads not collected by GC under RUBY_MN_THREADS=1
Applied in changeset commit:git|1cf32b2d7f2bb0dafce6108ecfc496491b19ad8a.
----------
Fix threads stuck as zombie under M:N
In this case thread_sched_switch0 never returns, so we would never
end up setting finished to true.
Fixes [Bug ...
jhawthorn (John Hawthorn)
09:57 PM Revision 1cf32b2d (git): Fix threads stuck as zombie under M:N
In this case thread_sched_switch0 never returns, so we would never
end up setting finished to true.
Fixes [Bug #20638]
jhawthorn (John Hawthorn)
09:22 PM Revision e1946657 (git): [PRISM] using []= to set kwargs is a syntax error
Fixes [Bug #20952] eightbitraptor (Matt V-H)
07:25 PM Revision 880a90cf (git): [DOC] [Feature #20205] Document the new power of String#+@
alanwu (Alan Wu)
07:25 PM Revision c3b06792 (git): [DOC] NEWS: Mention String#+@ change with chilled string
From experience, a not insignificant number of people run into this when
trying upgrade. Also it's good to bring up `+@` because it's relevant in
general to the topic.
[Feature #20205]
alanwu (Alan Wu)
07:21 PM Revision ba304ec0 (git): [DOC] NEWS: Drop code quotes to get RDoc crossref
But leave constants alone because of
https://github.com/ruby/rdoc/issues/1011
alanwu (Alan Wu)
07:21 PM Revision 5ed1dac2 (git): [DOC] Have RDoc pick up Fiber::Scheduler#blocking_operation_wait
... and list it. alanwu (Alan Wu)
06:27 PM Revision 89c8d648 (git): [DOC] Improve array.rb documentation (#12340)
* Fix grammar errors, typos, and improve readability of array.rb
* [DOC] Remove an extra space
---------
Co-authored-by: Takashi Kokubun <[email protected]>
Alex Rocha
06:25 PM Revision a5f3a013 (git): [DOC] Fix incorrect `Array#fetch_values` examples (#12337)
[DOC] Fix incorrect Array#fetch_values examples kyanagi (Kouhei Yanagita)
05:14 PM Bug #20951 (Closed): Confusing handling of timezone object's `#utc_to_local` results
I am looking into the timezone object feature (that is supported by various Time class methods) now and I am confused by the current implementation. Specifically, how a time-like object **that is not inherited from the Time class** is ha... andrykonchin (Andrew Konchin)
05:08 PM Revision 562b9fc5 (git): [ruby/irb] Avoid generating documentation pages for internal
components
(https://github.com/ruby/irb/pull/1047)
https://github.com/ruby/irb/commit/f57025a35e
st0012 (Stan Lo)
04:14 PM Revision 682d2a0c (git): Update default gems list at 598c6cfe80242e4392338881f46bf7 [ci skip]
git[bot]
04:13 PM Revision 598c6cfe (git): [ruby/rdoc] Bump version to v6.9.0
https://github.com/ruby/rdoc/commit/dba9474732 Stan Lo
03:58 PM Bug #20939: When using the parse.y parser, it occurs argument stack underflow (-1) if there is processing after the shareable_constant_value: experimental_everything comment and `C = { **{ k: v } }`
I think the cause is same as https://bugs.ruby-lang.org/issues/20927 tompng (tomoya ishida)
03:51 PM Bug #20927: `{ **{ } }` behaves differently when `shareable_constant_value: experimental_everything`
Pull request: https://github.com/ruby/ruby/pull/12338 tompng (tomoya ishida)
03:41 PM Revision f3a11760 (git): YJIT: Speculate block arg for `c_func_method(&nil)` calls (#12326)
A good amount of call sites always pass nil as block argument, but the
nil doesn't show up in the context. Put a runtime guard for those
cases to handle it. Particular relevant for the `ruby-lsp` benchmark in
`yjit-bench`. Up to a 2% spe...
alanwu (Alan Wu)
03:10 PM Bug #20950 (Closed): Use-after-free in ep in Proc#dup for ifunc procs
Applied in changeset commit:git|92dd9734a967c20e628c8f77c5ce700058dcd58c.
----------
Fix use-after-free in ep in Proc#dup for ifunc procs
[Bug #20950]
ifunc proc has the ep allocated in the cfunc_proc_t which is the data of
the TypedD...
peterzhu2118 (Peter Zhu)
03:10 PM Revision 92dd9734 (git): Fix use-after-free in ep in Proc#dup for ifunc procs
[Bug #20950]
ifunc proc has the ep allocated in the cfunc_proc_t which is the data of
the TypedData object. If an ifunc proc is duplicated, the ep points to
the ep of the source object. If the source object is freed, then the ep
of the ...
peterzhu2118 (Peter Zhu)
02:23 PM Revision 6cde41bc (git): [rubygems/rubygems] Fix restarting with locked version when $PROGRAM_NAME has been changed
Use Process.argv0 instead of $PROGRAM_NAME because $PROGRAM_NAME is
liable to be changed but Process.argv0 is not.
https://github.com/rubygems/rubygems/commit/43b747dc9e
Camden Narzt
11:14 AM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
> I think I understood what you meant. From what I remember, compaction should exclude objects pinned by rb_gc_mark() or referenced from the machine stack.
You are correct.
> ...
I don't think many of these could really be eluded, ...
byroot (Jean Boussier)
11:01 AM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
byroot (Jean Boussier) wrote in #note-19:
> First that a lot more complicated than just working with a raw malloced buffer, you need some pretty good knowledge of Ruby inner workings not to make a mistake. For example, you could save so...
rhenium (Kazuki Yamaguchi)
10:19 AM Revision 3cb79d40 (git): Bundle typeprof 0.30.0
mame (Yusuke Endoh)
09:27 AM Revision c3a1f240 (git): Add a note about `Symbol#to_s` returning a chilled string in NEWS
byroot (Jean Boussier)
09:27 AM Revision 4702143a (git): Update NEWS.md with Time#xmlschema, Array#fetch_values and String#append_as_bytes
byroot (Jean Boussier)
08:05 AM Revision e09c2343 (git): followup 0bdb38ba6be208064a514c12a9b80328645689f8
(forgot to amend...) ko1 (Koichi Sasada)
07:13 AM Revision 1d3091b4 (git): Launchable: Refactor entrypoint.sh (#12314)
* Use `launchable record session` command to split test sessions based on test suites.
* Use BTESTS env instead of RUBY_TESTOPTS for passing CLI option to `make btest`.
* Group Launchable logs
* Add several flavors to identify the relati...
ono-max (Naoto Ono)
06:39 AM Revision e91b25ec (git): Fixed compatibility error with setup command and rdoc plugin on rubygems
hsbt (Hiroshi SHIBATA)
05:42 AM Revision 654404a9 (git): Removed unnecessary plugin file in ruby/ruby repository
hsbt (Hiroshi SHIBATA)
05:35 AM Revision 7e3c2925 (git): Make it loose coupling between RubyGems and RDoc (#1171)
* Make it loose coupling between RubyGems and RDoc
\### Problems
There are following problems because of tight coupling between RubyGems and RDoc.
1. If there are braking changes in RDoc, RubyGems is also broken.
2. When we maintain R...
mterada1228
04:49 AM Revision 86f00c99 (git): [DOC] Update `rb_strlen_lit`
It is not "in bytes" for wide char literal. nobu (Nobuyoshi Nakada)
03:25 AM Revision f55d78e0 (git): Bump github/codeql-action from 3.27.7 to 3.27.9
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.7 to 3.27.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md...
dependabot[bot]
02:59 AM Revision 1fd2437b (git): [DOC] Move the comma outside the `<tt>` tag
nobu (Nobuyoshi Nakada)
02:29 AM Revision 71bebcf6 (git): Bump vendored uri to 1.0.2
deivid (David Rodríguez)
02:29 AM Revision 57f222c1 (git): Bump vendored net-http to 0.6.0
deivid (David Rodríguez)
02:24 AM Revision cd460d5d (git): Bump vendored securerandom to 0.4.0
deivid (David Rodríguez)
02:20 AM Revision 3a328677 (git): [rubygems/rubygems] Add note about why we don't use `Open3`
https://github.com/rubygems/rubygems/commit/72316ed2fa deivid (David Rodríguez)
02:20 AM Revision 4fe134fa (git): [rubygems/rubygems] No need for `--quiet` since we hide output by default
https://github.com/rubygems/rubygems/commit/77133a23f5 deivid (David Rodríguez)
02:20 AM Revision 706cabb1 (git): [rubygems/rubygems] Don't print a bunch of blank lines when setting up dependencies
https://github.com/rubygems/rubygems/commit/48fd2d0514 deivid (David Rodríguez)
02:15 AM Misc #20947: Propose ydah (Yudai Takada) as a Ruby committer
I'm very honored to be accepted as a committer. Thank you so much! ydah (Yudai Takada)
01:55 AM Revision 8cc47c90 (git): Improve "Building Ruby" docs (#12320)
* Clarify “Building Ruby” docs
* Fix test examples to work from `build` dir
* Clarify “Testing Ruby” examples with real examples
All the commands should run correctly by default, without the user needing to modify them. This builds co...
Alexander Momchilov
01:54 AM Revision f0f9e2f5 (git): [ruby/resolv] Allow setting default Resolv::DNS config in Resolv.new
If a positional argument is provided, the use_ipv6 keyword
option is ignored:
```ruby
Resolv.new([Resolv::DNS.new], use_ipv6: false)
```
Issue a warning in this case.
Currently, you have to pass a positional hash argument to set
the D...
jeremyevans (Jeremy Evans)
01:49 AM Revision 0ea5c13b (git): [DOC] Improve formatting in Markdown files (#12322)
* Fix WASM bullet/code indentation
* Use `console` code highlighting where appropriate
… which handles the prefix `$` correctly.
* Migrate feature proposal template to MarkDown
* Set language on code blocks
Alexander Momchilov
01:14 AM Revision beff3e12 (git): Update default gems list at 43faf09bb9ca325ca042ba725a923f [ci skip]
git[bot]
01:13 AM Revision 43faf09b (git): [ruby/resolv] Bump up v0.6.0
https://github.com/ruby/resolv/commit/cb4b335034 hsbt (Hiroshi SHIBATA)
01:08 AM Revision 8781d37f (git): Update default gems list at 573c18212886cc95a47ed16b740099 [ci skip]
git[bot]
01:05 AM Revision 573c1821 (git): Lock released version of stringio-3.1.2
hsbt (Hiroshi SHIBATA)
01:05 AM Revision 5e05642c (git): [ruby/logger] Bump up v1.6.3
https://github.com/ruby/logger/commit/97bce95f49 hsbt (Hiroshi SHIBATA)
12:54 AM Revision 57825bf3 (git): bootstraptest: On -j failure, show total test count
It used to always try to divide by zero like:
FAIL 1/0 tests failed
alanwu (Alan Wu)
12:51 AM Revision ea2fba92 (git): Update default gems list at f5850c0cf762717892a76ed9630316 [ci skip]
git[bot]
12:50 AM Revision f5850c0c (git): [ruby/shellwords] Bump up v0.2.2
https://github.com/ruby/shellwords/commit/55ab74d37a hsbt (Hiroshi SHIBATA)
12:34 AM Revision 55e32971 (git): Update default gems list at 5a9008516a4cf9e3006b402fad966e [ci skip]
git[bot]
12:34 AM Feature #20861 (Closed): Add an environment variable for tuning the default thread quantum
Applied in changeset commit:git|fffef9aa5d89b6cca3dc634f5278b1fc67fb3d08.
----------
Add an environment variable for controlling the default Thread quantum
This commit adds an environment variable `RUBY_THREAD_TIMESLICE` for
specifying...
tenderlovemaking (Aaron Patterson)
12:33 AM Revision 5a900851 (git): [ruby/zlib] Bump up v3.2.1
https://github.com/ruby/zlib/commit/d2e29b23c8 hsbt (Hiroshi SHIBATA)
12:04 AM Revision fffef9aa (git): Add an environment variable for controlling the default Thread quantum
This commit adds an environment variable `RUBY_THREAD_TIMESLICE` for
specifying the default thread quantum in milliseconds. You can adjust
this variable to tune throughput, which is especially useful on
multithreaded systems that are mi...
tenderlovemaking (Aaron Patterson)

12/12/2024

11:52 PM Revision e7ee7d43 (git): YJIT: Allow then-unknown `static_mut_refs` on older Rusts [ci skip]
alanwu (Alan Wu)
11:28 PM Bug #20918 (Closed): Prism error indicates line number of `-e` that does not exist
Applied in changeset commit:git|e11c86f43e045462f4c0e2eaa2ddb4fdb6927ea7.
----------
Fix error messages so we don't output an extra line
Before this commit, when a file ended with a newline, the syntax error
message would show an extra...
tenderlovemaking (Aaron Patterson)
06:44 PM Bug #20918: Prism error indicates line number of `-e` that does not exist
mame (Yusuke Endoh) wrote in #note-6:
> @tenderlovemaking Thank you for fixing the issue, but it still shows line 2 in the code snippet.
> ...
Strange. Thank you, I'll try to figure it out!
tenderlovemaking (Aaron Patterson)
10:55 AM Bug #20918 (Assigned): Prism error indicates line number of `-e` that does not exist
@tenderlovemaking Thank you for fixing the issue, but it still shows line 2 in the code snippet.
```
$ ruby -e "foo("
-e: -e:1: syntax error found (SyntaxError)
> 1 | foo(
| ^ unexpected end-of-input; expected a `)` to clo...
mame (Yusuke Endoh)
11:28 PM Revision e11c86f4 (git): Fix error messages so we don't output an extra line
Before this commit, when a file ended with a newline, the syntax error
message would show an extra line after the file.
For example, the error message would look like this:
```
[aaron@tc-lan-adapter ~/g/ruby (master)]$ echo "foo(" > te...
tenderlovemaking (Aaron Patterson)
09:44 PM Revision 5e8c9b4b (git): [DOC] Fix grammar errors, typos, and improve readability of trace_point.rb (#12150)
Stan Lo
09:43 PM Feature #20875 (Closed): Atomic initialization for Ractor local storage
Applied in changeset commit:git|0bdb38ba6be208064a514c12a9b80328645689f8.
----------
`Ractor.set_if_absent(key)`
to initialize ractor local storage in thread-safety.
[Feature #20875]
ko1 (Koichi Sasada)
09:17 PM Feature #20875: Atomic initialization for Ractor local storage
store is from `Hash#store`. ko1 (Koichi Sasada)
09:02 PM Feature #20875: Atomic initialization for Ractor local storage
"store_if_absent" is fairly verbose; I should point out that "add" is a common name for this operation. For example there's Set#add, and the memcached ADD command. Dan0042 (Daniel DeLorme)
07:58 PM Feature #20875: Atomic initialization for Ractor local storage
quote from https://github.com/ruby/dev-meeting-log/blob/master/2024/DevMeeting-2024-12-12.md
* ko1: `compute_if_absent` terminology is introduced.
* matz: `compute` is not known in Ruby world. `Ractor.store_if_absent(key){ init_block...
ko1 (Koichi Sasada)
07:17 AM Feature #20875: Atomic initialization for Ractor local storage
Ah, it assigs from `Ractor.map`. ko1 (Koichi Sasada)
04:26 AM Feature #20875: Atomic initialization for Ractor local storage
> Then each Ractor could have such a map/hash and this could be solved like `Ractor[:mtx] ||= Ractor.map.compute_if_absent(:mtx) { Mutex.new }`.
`Ractor[:mtx] ||= ` is needed?
ko1 (Koichi Sasada)
09:43 PM Revision ff8570b0 (git): Fix LoadError's linking issue
Original issue: https://github.com/ruby/rdoc/issues/1128
The problem is caused by the `# :stopdoc:` directive in `bundled_gems.rb`,
which's scope covers the redefinition of `LoadError`.
Since the goal of `# :stopdoc:` is to hide the do...
Stan Lo
09:22 PM Revision 0bdb38ba (git): `Ractor.set_if_absent(key)`
to initialize ractor local storage in thread-safety.
[Feature #20875]
ko1 (Koichi Sasada)
07:14 PM Bug #20950 (Closed): Use-after-free in ep in Proc#dup for ifunc procs
GitHub PR: https://github.com/ruby/ruby/pull/12319
ifunc proc has the ep allocated in the data of the TypedData object. If an ifunc proc is duplicated, the ep points to the ep of the source object. If the source object is freed, then ...
peterzhu2118 (Peter Zhu)
07:07 PM Revision 79d90e73 (git): Call rb_bug_without_die when ASAN error reported
This will give us the Ruby stack trace when an ASAN error is reported. peterzhu2118 (Peter Zhu)
07:07 PM Revision 2da70aac (git): Don't output memory map in crash report for ASAN
ASAN maps a large amount of memory, which makes the memory map section
massive.
peterzhu2118 (Peter Zhu)
07:07 PM Revision ca2d19d4 (git): Implement rb_bug_without_die
peterzhu2118 (Peter Zhu)
05:29 PM Bug #20659 (Closed): Speed regression of `parse.y` parser after numeric nodes were introduced
I believe this was fixed by commit:c93d07ed7448f332379cf21b4b7b649b057e5671. alanwu (Alan Wu)
05:26 PM Revision c0caf1cc (git): [ruby/irb] Load history when starting a direct debug session
(https://github.com/ruby/irb/pull/1046)
* Load history when starting a direct debug session
When starting a debug session directly with RUBY_DEBUG_IRB_CONSOLE=1 and
`require 'debug'; debugger`, IRB's history wasn't loaded. This commit ...
James Reid-Smith
05:07 PM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
> No, ruby_xfree is not a simple delegator to system free, depending on environment and configuration.
I see, I didn't know about that compilation flag, thanks for letting me know that.
One solution I see (but that I'm not very fon...
byroot (Jean Boussier)
11:46 AM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
Done: https://github.com/byroot/json/pull/1
It's basically twice as slow on almost all benchmarks. My implementation is rather naive, I'm sure a bit of performance can be reclaimed by using various tricks, but it's risky as you have t...
byroot (Jean Boussier)
10:47 AM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
> We would like you to try to use String objects as buffers instead of memory pointer.
Yes, I was planning to try to convert JSON's `fbuffer` to use RString to show the impact. I'll update here once I have a working implementation.
byroot (Jean Boussier)
10:45 AM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
Discussed at the dev meeting.
> Yes, that's why I'm wondering if this requirement should be relaxed to “MUST be freeable by ruby_xfree”, which I believe would be true for asprintf.
No, `ruby_xfree` is not a simple delegator to syst...
mame (Yusuke Endoh)
08:18 AM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
> It is same as rb_str_cat(buf, &c, 1).
Yes and:
- You can't always use `rb_str_cat`, sometimes you have to pass a pointer to an existing API.
- `rb_str_cat` does all the checks I mentioned and even more.
> ...
I'm proposin...
byroot (Jean Boussier)
07:15 AM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
byroot (Jean Boussier) wrote in #note-19:
> > why not allocate a managing String from the beginning?
> ...
It is same as `rb_str_cat(buf, &c, 1)`.
> First that a lot more complicated than just working with a raw malloced buffer, you...
nobu (Nobuyoshi Nakada)
04:51 PM Feature #20818: Allow passing a block to Hash#store (to update current value)
This is related to my `Hash#exchange_value` proposal, so I'll link that here. https://bugs.ruby-lang.org/issues/20300
I guess the difference is whether you already know the replacement you want to use instead, or if you'd like to comp...
AMomchilov (Alexander Momchilov)
04:40 PM Revision 300be2b1 (git): [ruby/reline] Undo and redo should restore indentation
(https://github.com/ruby/reline/pull/793)
* Undo and redo should restore indentation
Undo and redo should not perform auto indentation. It should not change the indentation. Instead, it should restore previous indentation.
* Rename iv...
tompng (tomoya ishida)
02:39 PM Revision 776ec521 (git): [ruby/win32ole] Deprecate old constants in toplevel
https://github.com/ruby/win32ole/commit/eaa1507262 nobu (Nobuyoshi Nakada)
02:16 PM Revision 20b62ac0 (git): [ruby/win32ole] [DOC] Hide old constants for the backward compatibility from RDoc
https://github.com/ruby/win32ole/commit/99e1ea403f nobu (Nobuyoshi Nakada)
02:16 PM Revision ca427e63 (git): [ruby/win32ole] [DOC] Fix a markup for code
https://github.com/ruby/win32ole/commit/542d39372c nobu (Nobuyoshi Nakada)
02:01 PM Bug #20932 (Closed): Socket fast_fallback segfaults when fds are > FD_SETSIZE
I believe this issue has been resolved with this PR: https://github.com/ruby/ruby/pull/12292.
If you have any concerns, please let me know.
Thank you again for reporting it.
shioimm (Misaki Shioi)
01:58 PM Revision 54964526 (git): increase diff.renameLimit
naruse (Yui NARUSE)
01:15 PM Revision a0f59a59 (git): Update default gems list at 911879e01f061c9ea2d3ca4eb6d73d [ci skip]
git[bot]
01:14 PM Revision 911879e0 (git): [ruby/irb] Bump version to v1.14.2
(https://github.com/ruby/irb/pull/1045)
https://github.com/ruby/irb/commit/dd31884657
st0012 (Stan Lo)
12:46 PM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
Eregon (Benoit Daloze) wrote in #note-44:
> Are you thinking if the directory is removed? In that case there is no way to rerun the command faithfully, so an error like Errno::ENOENT is fine.
Removed or renamed.
It can rerun fine by...
nobu (Nobuyoshi Nakada)
11:35 AM Misc #20949 (Closed): DevMeeting-2025-01-09
# The next dev meeting
**Date: 2025/01/09 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/tree/master/2025
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bug tracker.
- Dev me...
mame (Yusuke Endoh)
11:34 AM Misc #20879 (Closed): DevMeeting-2024-12-12
mame (Yusuke Endoh)
11:33 AM Feature #20884: reserve "Ruby" toplevel module for Ruby language
Discussed at the dev meeting.
@matz decided that Ruby 3.4 warns when ::Ruby is defined.
```
$ ./miniruby -we 'Ruby = 1'
-e:1: warning: ::Ruby is reserved for Ruby 3.5
```
If there are no major problems, it is likely that `mod...
mame (Yusuke Endoh)
09:38 AM Feature #20884 (Open): reserve "Ruby" toplevel module for Ruby language
hsbt (Hiroshi SHIBATA)
09:33 AM Feature #20884 (Closed): reserve "Ruby" toplevel module for Ruby language
Applied in changeset commit:git|197a3efc751f43956fc9ad30d688b4bfa3f7fbdb.
----------
[Feature #20884] News of toplevel "Ruby" name reservation
nobu (Nobuyoshi Nakada)
09:11 AM Feature #20884 (Open): reserve "Ruby" toplevel module for Ruby language
hsbt (Hiroshi SHIBATA)
08:45 AM Feature #20884 (Closed): reserve "Ruby" toplevel module for Ruby language
Applied in changeset commit:git|4d86f3bf6d1fe7bf7d4b25fc42f7aba9f401bbb4.
----------
[Feature #20884] Reserve "Ruby" toplevel name
nobu (Nobuyoshi Nakada)
07:19 AM Feature #20884: reserve "Ruby" toplevel module for Ruby language
It's OK for me to reserve `Ruby` constant (module) for the future. It should only contain portable information among implementations.
Matz.
matz (Yukihiro Matsumoto)
11:22 AM Bug #20948 (Assigned): Constant references incorrectly cached in `module (expr)::Foo`
```ruby
module M1
module Foo
X = 1
end
end
module M2
module Foo
X = 2
end
end
[M1, M2].each do
module it::Foo
p X #=> expected: prints "1" then "2"; actual: prints "1" twice
end
end
````
To ...
mame (Yusuke Endoh)
11:17 AM Feature #20922 (Rejected): Should not we omit parentheses in assert calls?
Discussed at the dev meeting.
@matz said he was not going to remove this warning.
Several ideas to prevent a warning were raised.
Parenthesizing only the first argument prevents the warning. This solution works today, and usabl...
mame (Yusuke Endoh)
11:06 AM Bug #20817 (Rejected): Ruby 3.4.0dev emits `warning: possibly useless use of + in void context` while Ruby 3.3.5 does not
Discussed at the dev meeting. This incompatibility that a subtle warning is printed when code is a syntax error should be considered minor and acceptable.
If the frequency or volume of the warning is high, or if it is difficult to sup...
mame (Yusuke Endoh)
10:49 AM Feature #20935: API for Globally Enabling/Disabling Happy Eyeballs Version 2 in the Socket Class
@matz approved the new API, and also wanted a configuration to stop happy eyeballs by an environment variable: `RUBY_TCP_NO_FAST_FALLBACK=1`. mame (Yusuke Endoh)
10:47 AM Bug #20930: Different semantics for nested `it` and `_1`
Discussed at the dev meeting, and matz confirmed that the current master's behavior is good. mame (Yusuke Endoh)
10:26 AM Bug #20940: Colored syntax error from prism
Personal opinion on terminal coloring (or any escape sequences). Colors should be completely optional as information because colors are not subject to copy and paste in today's standard environment. I don't think Prism currently violates... mame (Yusuke Endoh)
07:17 AM Bug #20940: Colored syntax error from prism
I personally prefer coloring error output, but for some reason, users may want to stop coloring. It should honor `NO_COLOR` environment variable to stop coloring.
Matz.
matz (Yukihiro Matsumoto)
09:30 AM Revision 197a3efc (git): [Feature #20884] News of toplevel "Ruby" name reservation
nobu (Nobuyoshi Nakada)
09:29 AM Misc #20947 (Assigned): Propose ydah (Yudai Takada) as a Ruby committer
I will do your account setup after releasing Ruby 3.4.0. Because I'm busy to release work until that.
Sorry to delay that.
hsbt (Hiroshi SHIBATA)
06:29 AM Misc #20947: Propose ydah (Yudai Takada) as a Ruby committer
It's OK for me.
Matz.
matz (Yukihiro Matsumoto)
05:19 AM Misc #20947 (Closed): Propose ydah (Yudai Takada) as a Ruby committer
I’d like to propose ydah (https://bugs.ruby-lang.org/users/52290) as a Ruby committer.
He has contributed to parse.y.
His contribution includes applying Lrama’s new feature to parse.y (https://github.com/ruby/ruby/pull/10050), fixing...
yui-knk (Kaneko Yuichiro)
09:27 AM Misc #20946 (Assigned): Proposing tomoya ishida (@tompng) as a Ruby committer
I will do your account setup after releasing Ruby 3.4.0. Because I'm busy to release work until that.
Sorry to delay that.
hsbt (Hiroshi SHIBATA)
06:23 AM Misc #20946: Proposing tomoya ishida (@tompng) as a Ruby committer
I am very honored to be accepted as a committer. Thank you! tompng (tomoya ishida)
04:03 AM Misc #20946: Proposing tomoya ishida (@tompng) as a Ruby committer
Accepted.
Matz.
matz (Yukihiro Matsumoto)
03:41 AM Misc #20946: Proposing tomoya ishida (@tompng) as a Ruby committer
+1 mrkn (Kenta Murata)
03:03 AM Misc #20946: Proposing tomoya ishida (@tompng) as a Ruby committer
+1
I thought he was already a committer, until told with him last week.
nobu (Nobuyoshi Nakada)
02:49 AM Misc #20946: Proposing tomoya ishida (@tompng) as a Ruby committer
+1 kou (Kouhei Sutou)
02:31 AM Misc #20946 (Closed): Proposing tomoya ishida (@tompng) as a Ruby committer
I'd like to propose tomoya ishida (@tompng) as a Ruby committer.
* As a maintainer of IRB / Reline since 2023, he has been continuously improving the REPL's stability and performance. Also, he authored type-based completion mechanism ...
matsuda (Akira Matsuda)
08:45 AM Revision 4d86f3bf (git): [Feature #20884] Reserve "Ruby" toplevel name
nobu (Nobuyoshi Nakada)
08:45 AM Revision 267ecf5f (git): Add `rb_warn_reserved_name_at`
nobu (Nobuyoshi Nakada)
07:32 AM Revision 46e8a26c (git): Launchable: Start recording test-spec results (#12302)
ono-max (Naoto Ono)
07:21 AM Feature #20861: Add an environment variable for tuning the default thread quantum
I vote for the environment variable `RUBY_THREAD_TIMESLICE`. The term **quantum** is unfamiliar to me.
Matz.
matz (Yukihiro Matsumoto)
07:15 AM Revision 3fda6e92 (git): Update default gems list at 78ca87f8a8c79f0af1b7c6a0d819fa [ci skip]
git[bot]
07:14 AM Revision 78ca87f8 (git): Lock released version of strscan-3.1.1
hsbt (Hiroshi SHIBATA)
06:49 AM Misc #20913: Proposal: Adding Jeremy Evans and Burdette Lamar to www.ruby-lang.org's English Editorial Team
I was the Ruby Central person who was at RubyConf. Stan and I talked about what could help make it so English docs could be as good as the Japanese docs. Stan made a good suggestion, imho, that maybe having extra editors, ones who could ... martinemde (Martin Emde)
06:38 AM Misc #20913 (Closed): Proposal: Adding Jeremy Evans and Burdette Lamar to www.ruby-lang.org's English Editorial Team
We continue to discuss this on https://github.com/ruby/www.ruby-lang.org/. I'm closing this. hsbt (Hiroshi SHIBATA)
06:34 AM Misc #20913: Proposal: Adding Jeremy Evans and Burdette Lamar to www.ruby-lang.org's English Editorial Team
I added write grant of `ruby/www.ruby-lang.org` to jeremyevans and BurdetteLamar.
>During RubyConf in Chicago this month, a few members from Ruby Central and I discussed with them the idea of improving the website, and they both expre...
hsbt (Hiroshi SHIBATA)
05:35 AM Misc #20913: Proposal: Adding Jeremy Evans and Burdette Lamar to www.ruby-lang.org's English Editorial Team
I am OK if they are willing to accept.
Matz.
matz (Yukihiro Matsumoto)
06:49 AM Bug #20858 (Rejected): multiple parallel assignments are inconsistent
The `a,b = c,(d=3,4)` is the natural combination of the current rules. Changing this could make syntax even more complex.
I don't want to change the syntax here.
Matz.
matz (Yukihiro Matsumoto)
06:10 AM Revision 6a1aaf36 (git): Separated load path for test-bundler tasks for Windows
hsbt (Hiroshi SHIBATA)
05:43 AM Revision 52be46ab (git): * append newline at EOF. [ci skip]
git[bot]
05:43 AM Revision 58f3cdad (git): tmp/test-pipes is no longer needed
hsbt (Hiroshi SHIBATA)
05:43 AM Revision f43e04ce (git): Hide pending results of turbo_tests
hsbt (Hiroshi SHIBATA)
05:43 AM Revision 5d5525e3 (git): Use directory structure and GEM_HOME for ruby-core repository
hsbt (Hiroshi SHIBATA)
05:43 AM Revision 1967ae20 (git): Use patched version of turbo_tests
hsbt (Hiroshi SHIBATA)
05:43 AM Revision 91f6c370 (git): Use turbo_tests instead of parallel_tests
hsbt (Hiroshi SHIBATA)
01:10 AM Revision 29caae99 (git): [ruby/prism] Use isinf on non-mingw windows
https://github.com/ruby/prism/commit/2f903d7865 kddnewton (Kevin Newton)
12:58 AM Revision 36f49eb2 (git): Fix compilation with MALLOC_ALLOCATED_SIZE
Previously compilation failed with -DMALLOC_ALLOCATED_SIZE=1
Co-authored-by: Matthew Draper <[email protected]>
jhawthorn (John Hawthorn)
12:42 AM Revision 9181e8bc (git): [ruby/prism] Decode %r like % strings
%r regular expressions need to be decoded like strings. This commit
fixes %r decoding so it works like strings.
https://github.com/ruby/prism/commit/85bfd9c0cd
tenderlovemaking (Aaron Patterson)
12:42 AM Revision 0a1fa994 (git): [ruby/prism] Same numbered param cannot be used in child blocks
Raise an exception when the same numbered param is used inside a child
block. For example, the following code should be a syntax error:
```ruby
-> { _1 + -> { _1 } }
```
Fixes https://github.com/ruby/prism/pull/3291
https://github.co...
tenderlovemaking (Aaron Patterson)
12:30 AM Revision 54f8e6fb (git): Use malloc for prism string source
Prism will later free this string via free rather than xfree, so we need
to use malloc rather than xmalloc.
Co-authored-by: Aaron Patterson <[email protected]>
Co-authored-by: Matthew Draper <[email protected]>
jhawthorn (John Hawthorn)

12/11/2024

11:37 PM Revision d8485906 (git): Use ruby_strdup/xfree in fast_fallback
Any memory allocated with xmalloc needs to be matched with xfree rather
than plain free.
Ruby unfortunately redefines strdup to be ruby_strdup, which uses
xmalloc so needs to be xfreed. Previously these were mismatched.
This commit cha...
jhawthorn (John Hawthorn)
11:06 PM Bug #20938 (Closed): Percent String literal delimiter impacts string contents with parse.y
Applied in changeset commit:git|9fe6fd86936ead769fe983feb5461ca4f192f16e.
----------
[ruby/prism] Fix percent delimiter strings with crlfs
parse.y treats CRLF as a LF and basically "normalizes" them before
parsing. That means a string...
eileencodes (Eileen Uchitelle)
11:06 PM Revision 9fe6fd86 (git): [ruby/prism] Fix percent delimiter strings with crlfs
parse.y treats CRLF as a LF and basically "normalizes" them before
parsing. That means a string like `%\nfoo\r\n` is actually treated as
`%\nfoo\n` for the purposes of parsing. This happens on both the
opening side of the percent strin...
eileencodes (Eileen Uchitelle)
10:44 PM Revision d53e4545 (git): YJIT: Fix unread field lint in release builds
```
warning: fields `blue_begin` and `blue_end` are never read
```
alanwu (Alan Wu)
10:44 PM Revision 9fe06cc0 (git): YJIT: Disable static_mut_refs for now
alanwu (Alan Wu)
10:44 PM Revision 6cb75564 (git): YJIT: Use the correct size constant
alanwu (Alan Wu)
07:50 PM Revision 34e68548 (git): [ruby/prism] Bump typechecking deps
https://github.com/ruby/prism/commit/230c8b8a48 kddnewton (Kevin Newton)
06:56 PM Bug #20943: Constant defined in `Data.define` block
FYI: That also happens with `Class.new`. (maybe all blocks?) matheusrich (Matheus Richard)
10:29 AM Bug #20943: Constant defined in `Data.define` block
Yeah, that's a common mistake with `Struct.new` / `Data.define` / `Class.new`
That's why with `Struct` you'd often see:
```ruby
class Something < Struct.new(:a, :b)
...
end
```
Which is a bit wasteful as you define two cla...
byroot (Jean Boussier)
02:06 AM Bug #20943 (Open): Constant defined in `Data.define` block
From https://github.com/ruby/ruby/pull/12274:
> A couple times in code review I've seen constants inadvertently leak to top level from within a `Struct` or `Data` do block. I think it would be nice to show reopening the `Data` class whe...
nobu (Nobuyoshi Nakada)
05:56 PM Revision cfb72138 (git): [rubygems/rubygems] Normalize CLI flag documentation and make sure all flags are documented
https://github.com/rubygems/rubygems/commit/20a834818b deivid (David Rodríguez)
05:56 PM Revision e1fcf20e (git): [rubygems/rubygems] Add documentation for changelog flags in `bundle gem`
The --changelog and --no-changelog flags are missing from docs, this adds them in a way that matches other flags
https://github.com/rubygems/rubygems/commit/92f77678fe
Adam Leach
05:56 PM Revision f658f661 (git): [rubygems/rubygems] Add missing `--pre` flag to `bundle update --help`
https://github.com/rubygems/rubygems/commit/21335a7378 deivid (David Rodríguez)
05:56 PM Revision af11c8ef (git): [rubygems/rubygems] Add missing `--outdated` flag to `bundle show --help`
https://github.com/rubygems/rubygems/commit/2864e54ce3 deivid (David Rodríguez)
05:56 PM Revision a1fee6de (git): [rubygems/rubygems] Add missing flags documentation to `bundle outdated --help`
https://github.com/rubygems/rubygems/commit/ad3b654bf3 deivid (David Rodríguez)
05:56 PM Revision 1806f3fa (git): [rubygems/rubygems] Add several missing flags to `bundle lock --help`
https://github.com/rubygems/rubygems/commit/4070da1264 deivid (David Rodríguez)
05:56 PM Revision 496e791a (git): [rubygems/rubygems] Add missing flag documentation to `bundle inject --help`
https://github.com/rubygems/rubygems/commit/2a01773cdb deivid (David Rodríguez)
05:56 PM Revision 6e3a6f64 (git): [rubygems/rubygems] Add missing `--version` flag to `bundle info --help`
https://github.com/rubygems/rubygems/commit/5022b49e31 deivid (David Rodríguez)
05:56 PM Revision f5ed1b56 (git): [rubygems/rubygems] Add several missing flags to `bundle gem --help`
https://github.com/rubygems/rubygems/commit/aaf6398870 deivid (David Rodríguez)
05:56 PM Revision 443319de (git): [rubygems/rubygems] Add missing `--gemfile` flag to exec, lock, and update command's help
https://github.com/rubygems/rubygems/commit/418dfbf373 deivid (David Rodríguez)
05:56 PM Revision c4bd7448 (git): [rubygems/rubygems] Normalize whitespace in option lists in man pages
https://github.com/rubygems/rubygems/commit/33ff4f8f2f deivid (David Rodríguez)
05:56 PM Revision 5633cff4 (git): [rubygems/rubygems] Add missing flag documentation to `bundle cache --help`
https://github.com/rubygems/rubygems/commit/b760a882a1 deivid (David Rodríguez)
05:56 PM Revision e88039ee (git): [rubygems/rubygems] Add missing `--all-platforms` flag to `bundle binstubs --help`
https://github.com/rubygems/rubygems/commit/440b7b8282 deivid (David Rodríguez)
05:56 PM Revision 447189d7 (git): [rubygems/rubygems] Add missing `--glob` flag to `bundle add --help`
https://github.com/rubygems/rubygems/commit/1e4dc0a703 deivid (David Rodríguez)
05:56 PM Revision bbd11a79 (git): [rubygems/rubygems] Add missing `--target-rbconfig` flag to `bundle install --help`
https://github.com/rubygems/rubygems/commit/54dbcdc656 deivid (David Rodríguez)
05:56 PM Revision ac959b17 (git): [rubygems/rubygems] Clarify `--target-rbconfig` option banner
https://github.com/rubygems/rubygems/commit/6625998ca6 deivid (David Rodríguez)
05:56 PM Revision 99460d1e (git): [rubygems/rubygems] Add missing banners to `bundle exec` CLI flags
https://github.com/rubygems/rubygems/commit/c6f62b2eed deivid (David Rodríguez)
05:56 PM Revision 06f074eb (git): [rubygems/rubygems] Style CLI options consistently
In one liners, no whitespace for alignment.
https://github.com/rubygems/rubygems/commit/413339a9ca
deivid (David Rodríguez)
05:06 PM Revision 13530af0 (git): [rubygems/rubygems] Avoid UTF-32 and UTF-16 strings with trailing bytes in truffleruby
https://github.com/rubygems/rubygems/commit/5f8249471f djoooooe (Josef Haider)
05:01 PM Bug #20945 (Rejected): Behaviour mismatch between parse.y and prism with character literals AST nodes
jeremyevans0 (Jeremy Evans)
05:00 PM Bug #20945: Behaviour mismatch between parse.y and prism with character literals AST nodes
ufuk (Ufuk Kayserilioglu) wrote in #note-1:
> `Parser::CurrentRuby` is coming from the [parser gem](https://github.com/whitequark/parser), and has nothing to do with parse.y, it is a pure Ruby implementation of a Ruby parser.
> ...
Got...
viralpraxis (Iaroslav Kurbatov)
04:53 PM Bug #20945: Behaviour mismatch between parse.y and prism with character literals AST nodes
`Parser::CurrentRuby` is coming from the [parser gem](https://github.com/whitequark/parser), and has nothing to do with parse.y, it is a pure Ruby implementation of a Ruby parser.
If you think the AST of Prism should behave differently,...
ufuk (Ufuk Kayserilioglu)
04:25 PM Bug #20945 (Rejected): Behaviour mismatch between parse.y and prism with character literals AST nodes

AST string node (character literals) values returned by parse.y are, for some reason, frozen, whereas Prism does not freeze them:
``` ruby
require 'prism'
require 'parser/current'
puts Prism::VERSION
puts Parser::VERSION
...
viralpraxis (Iaroslav Kurbatov)
04:18 PM Revision b37ab8c1 (git): [rubygems/rubygems] Add missing man pages for `bundle env` and `bundle licenses` commands
https://github.com/rubygems/rubygems/commit/6e1a515d58 deivid (David Rodríguez)
04:18 PM Revision d91ca85b (git): [rubygems/rubygems] Bring man pages up to date
https://github.com/rubygems/rubygems/commit/8288cfd3e0 deivid (David Rodríguez)
04:18 PM Revision e31f6a8f (git): [rubygems/rubygems] Align all header lines with titles for consistency
https://github.com/rubygems/rubygems/commit/83fd1c6718 deivid (David Rodríguez)
01:29 PM Misc #20944 (Closed): Module#set_temporary_name(nil) doesn't remove completely effect of a previous assigning a temporary name
byroot (Jean Boussier)
01:10 PM Misc #20944: Module#set_temporary_name(nil) doesn't remove completely effect of a previous assigning a temporary name
Could you please close this issue?
I have misread the code and an object on which `set_temporary_name` is called (nested module, but not the outer). So the current behaviour is completely expected.
andrykonchin (Andrew Konchin)
01:05 PM Misc #20944 (Closed): Module#set_temporary_name(nil) doesn't remove completely effect of a previous assigning a temporary name
~~The method Module#set_temporary_name` was introduced in Ruby 3.3. I've noticed a surprising behaviour when a temporary name is assigned to an anonymous module (that has nested non-anonymous modules) and then `Module#set_temporary_name`... andrykonchin (Andrew Konchin)
11:30 AM Revision 2335ecb7 (git): [ruby/irb] Page the output in irb:rdbg sessions too
(https://github.com/ruby/irb/pull/1043)
IRB started to page its evaluation output and it became a useful feature
for users. However, in `irb:rdbg` sessions, the output is not paged so
the sudden change in behavior is surprising and inco...
st0012 (Stan Lo)
10:08 AM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
> why not allocate a managing String from the beginning?
I explained it in the issue body. If you want to append one character to an RString, you need something like:
```c
void
buf_append_c(VALUE buf, char c)
{
long capa = rb_str_cap...
byroot (Jean Boussier)
01:43 AM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
Yes, and `enc`.
Finally you want to allocate the String for a String-manageable pointer, why not allocate a managing String from the beginning?
nobu (Nobuyoshi Nakada)
09:57 AM Revision f9601903 (git): Use `rb_thread_fd_select` instead of select(2) (#12292)
* Use `rb_thread_fd_select` instead of select(2)
For fixing https://bugs.ruby-lang.org/issues/20932 .
`TCPSocket.new`, which internally uses select(2) for HEv2, can cause SEGV if the number of file descriptors exceeds `FD_SETSIZE`.
This...
Misaki Shioi
08:03 AM Revision bbf839df (git): Update default gems list at 824642e883cf43ed6bf053b37ed7ee [ci skip]
git[bot]
08:02 AM Revision 824642e8 (git): [ruby/digest] Bump up v3.2.0.pre0, preparing to stable release
https://github.com/ruby/digest/commit/d19c84fd68 hsbt (Hiroshi SHIBATA)
07:40 AM Bug #20941 (Closed): [BUG] object allocation during garbage collection phase reproduction
Applied in changeset commit:git|f243733564940401d914686837b701bc31311248.
----------
[Bug #20941] Bail out when recursing no memory
nobu (Nobuyoshi Nakada)
02:00 AM Bug #20941 (Closed): [BUG] object allocation during garbage collection phase reproduction
I know there are many issues around this bug cropping up, and so far no one has shared a reproduction that doesn't involve C extensions.
I have managed to reproduce at least one instance that happens when there are hard memory limits.
...
segiddins (Samuel Giddins)
07:12 AM Revision f2437335 (git): [Bug #20941] Bail out when recursing no memory
nobu (Nobuyoshi Nakada)
06:30 AM Revision c2a5d4cd (git): Fixed upstream path of ruby/resolv
hsbt (Hiroshi SHIBATA)
05:48 AM Revision 4a490892 (git): [ruby/fiddle] dlopen: add support for INPUT(-lXXX)
GitHub: fix https://github.com/ruby/fiddle/pull/166
Arch Linux's libncurses.so uses this style.
https://github.com/ruby/fiddle/commit/77d3dc934f
Sutou Kouhei
05:48 AM Revision 473fb638 (git): [ruby/fiddle] Implement `Fiddle::Pointer.read` and `.write` on the
FFI backend
(https://github.com/ruby/fiddle/pull/165)
https://github.com/ruby/fiddle/commit/0bd963d3b8
larskanis (Lars Kanis)
05:48 AM Revision 0c7fe4b0 (git): [ruby/fiddle] Fix the glob pattern to include `/usr/lib`
(https://github.com/ruby/fiddle/pull/164)
Fix up #161.
https://github.com/ruby/fiddle/commit/481651e836
nobu (Nobuyoshi Nakada)
02:51 AM Revision 80038b9c (git): Bump github/codeql-action from 3.27.6 to 3.27.7
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.6 to 3.27.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md...
dependabot[bot]
02:05 AM Bug #20942 (Closed): Infinite loop when out of memory
Similar setup to https://bugs.ruby-lang.org/issues/20941
Pure-ruby reproduction of https://bugs.ruby-lang.org/issues/20629
```ruby
#!/usr/bin/env -S RUBYOPT="--disable-gems" gdb --args ruby -v
STDOUT.sync = true
es = Array.ne...
segiddins (Samuel Giddins)
01:58 AM Bug #20904: 3.4.0-preview2: Building miniruby.exe fails for mswin32
jun66j5 (Jun Omae) wrote in #note-11:
> nobu (Nobuyoshi Nakada) wrote in #note-10:
> ...
Thank you.

> If running `.\win32\configure.bat` with `--with-ntver=0x0602`:
> ...
This is the expected result, and it is the default now.
It...
nobu (Nobuyoshi Nakada)

12/10/2024

11:16 PM Revision c71f7faa (git): YJIT: add MPLR talk link. Encourage users to use --yjit-mem-size (#12305)
* Add MPLR talk. Encourage users to use --yjit-mem-size.
* Improve text
maximecb (Maxime Chevalier-Boisvert)
11:10 PM Bug #20904: 3.4.0-preview2: Building miniruby.exe fails for mswin32
nobu (Nobuyoshi Nakada) wrote in #note-10:
> Try `win32/win32.i` instead of `process.i`.
Okay.
```
C:\usr\src\x86\ruby-3.4.0-preview2>findstr "GetSystemTime" win32\win32.i
GetSystemTimes(
GetSystemTime(
GetSystemTimeAsFileTime...
jun66j5 (Jun Omae)
04:25 PM Bug #20904: 3.4.0-preview2: Building miniruby.exe fails for mswin32
jun66j5 (Jun Omae) wrote in #note-9:
> nobu (Nobuyoshi Nakada) wrote in #note-4:
> ...
Sorry, I mistook the file name.
Try `win32/win32.i` instead of `process.i`.
nobu (Nobuyoshi Nakada)
05:59 PM Revision 5edf1c8f (git): Improve NEWS.md for modular GC [DOC]
peterzhu2118 (Peter Zhu)
05:24 PM Bug #20938: Percent String literal delimiter impacts string contents with parse.y
tenderlovemaking (Aaron Patterson) wrote in #note-6:
> I think I understand, but I will try to explain. In `program1` EOL conversion first changes it to `"%\n1_\n\n"`, so the second `\n` becomes the delimiter?
> ...
Correct!
nobu (Nobuyoshi Nakada)
05:07 PM Bug #20938: Percent String literal delimiter impacts string contents with parse.y
tenderlovemaking (Aaron Patterson) wrote in #note-5:
> nobu (Nobuyoshi Nakada) wrote in #note-3:
> ...
I think I understand, but I will try to explain. In `program1` EOL conversion first changes it to `"%\n1_\n\n"`, so the second `\n`...
tenderlovemaking (Aaron Patterson)
05:02 PM Bug #20938: Percent String literal delimiter impacts string contents with parse.y
nobu (Nobuyoshi Nakada) wrote in #note-3:
> Prism seems to cut the string content out, then convert EOLs.
> ...
Sorry, I don't understand. Can you explain more? Why does EOL conversion impact `program1` but not `program2`?
tenderlovemaking (Aaron Patterson)
04:33 PM Bug #20938 (Assigned): Percent String literal delimiter impacts string contents with parse.y
nobu (Nobuyoshi Nakada)
04:32 PM Bug #20938: Percent String literal delimiter impacts string contents with parse.y
Prism seems to cut the string content out, then convert EOLs.
The conversion of EOL is lower layer than parsing, so the result of "program1" should be "1_" without "\n".
nobu (Nobuyoshi Nakada)
04:14 PM Bug #20924 (Closed): IO#readline ignores the limit argument when the encoding is UTF-32LE and the limit would split a character
Applied in changeset commit:git|e90b447655dd39ad1eb645cdaae450efd605db00.
----------
[Bug #20924] Fix reading with delimiter in wide character encodings
nobu (Nobuyoshi Nakada)
04:13 PM Revision 979543e7 (git): Use `rb_str_conv_enc` for simplicity
nobu (Nobuyoshi Nakada)
03:45 PM Bug #20937: "can't set length of shared string" error when using OpenSSL::Cipher#update with buffer
The exception from `rb_str_set_len()` is after the fact, indicating it has illegally written to `RSTRING_PTR(str)` of a shared string.
`Cipher#update` uses `rb_str_resize()` to allocate enough room for the output, but apparently it wo...
rhenium (Kazuki Yamaguchi)
03:28 PM Bug #20937: "can't set length of shared string" error when using OpenSSL::Cipher#update with buffer
https://github.com/ruby/openssl/pull/823 byroot (Jean Boussier)
03:16 PM Bug #20937: "can't set length of shared string" error when using OpenSSL::Cipher#update with buffer
The current `rb_str_set_len` behavior was added in https://github.com/ruby/ruby/commit/8965ed167dbca9471ccc41e9bebe7e2fb1fa9fcb#diff-39038cbb771e0fad34f253ad6233e5ecce154024017ad118bb401f345aa108c8 by @nobu, but there is no associated bu... byroot (Jean Boussier)
03:10 PM Bug #20937: "can't set length of shared string" error when using OpenSSL::Cipher#update with buffer
Ah indeed.
It can be fixed on the openssl side with:
```ruby
diff --git a/ext/openssl/ossl_cipher.c b/ext/openssl/ossl_cipher.c
index 5a491d8..2e87c60 100644
--- a/ext/openssl/ossl_cipher.c
+++ b/ext/openssl/ossl_cipher.c
@@ -...
byroot (Jean Boussier)
03:08 PM Bug #20937: "can't set length of shared string" error when using OpenSSL::Cipher#update with buffer
This is a different bug. `OpenSSL::Cipher#update` is failing to make the supplied buffer independent.
Reproducer for master (buffer is 32 bytes larger than input): `ruby -ropenssl -e'OpenSSL::Cipher.new("aes-256-ecb").encrypt.tap{_1.r...
rhenium (Kazuki Yamaguchi)
01:59 PM Bug #20937: "can't set length of shared string" error when using OpenSSL::Cipher#update with buffer
I applied the openssl patch as-is from ruby master (https://github.com/ruby/ruby/commit/eb6f0000a4b752803ff7431d24d1a0a535a4387e) to ruby 3.3.6 and confirmed that the patch fixes the issue for all of the example read patterns we identifi... [email protected] (Simo Leone)
12:57 PM Bug #20937: "can't set length of shared string" error when using OpenSSL::Cipher#update with buffer
This has been fixed by https://github.com/byroot/openssl/commit/3035559f54eaa42347b9fe2d91bd25a7b0563a44 / https://bugs.ruby-lang.org/issues/20236
But as far as I know it hasn't been released. Deferring to @rhenium as to what to do here.
byroot (Jean Boussier)
02:57 PM Revision e90b4476 (git): [Bug #20924] Fix reading with delimiter in wide character encodings
nobu (Nobuyoshi Nakada)
02:12 PM Bug #20936 (Closed): Enumerator's #size returned by Range#reverse_each raises an exception for beginningless Range
Applied in changeset commit:git|3422bfcab6bfdedd10e5c85f5fd6334387712bc6.
----------
[Bug #20936] Fix #size for Range#reverse_each
kyanagi (Kouhei Yanagita)
12:34 PM Bug #20936: Enumerator's #size returned by Range#reverse_each raises an exception for beginningless Range
It works. Thank you! andrykonchin (Andrew Konchin)
03:13 AM Bug #20936: Enumerator's #size returned by Range#reverse_each raises an exception for beginningless Range
I made a pull request: https://github.com/ruby/ruby/pull/12301
Does this fix work?
kyanagi (Kouhei Yanagita)
02:12 PM Revision 3422bfca (git): [Bug #20936] Fix #size for Range#reverse_each
kyanagi (Kouhei Yanagita)
01:38 PM Revision d5abcae4 (git): Fix formatting of spec/ruby/optional/capi/ext/hash_spec.c
andrykonchin (Andrew Konchin)
01:38 PM Revision de5df203 (git): Update to ruby/spec@9f10222
andrykonchin (Andrew Konchin)
01:38 PM Revision a90d8c33 (git): Update to ruby/mspec@c600b8f
andrykonchin (Andrew Konchin)
01:28 PM Feature #20925: Allow boolean operators at beginning of line to continue previous line
+1. Regarding indentation, I once read that a multi-line "if" condition looks better with "then":
```
if request.secret_key_base.present?
&& request.encrypted_signed_cookie_salt.present?
&& request.encrypted_cookie_salt.present...
lpogic (Łukasz Pomietło)
10:51 AM Bug #20920: When loading a file, __FILE__ gets relative paths expanded only when they start with "./"
For what it's worth, this is not currently causing any issues in Bundler/RubyGems that I know of, so I changed the pending spec to track current Ruby's behavior and move on. From my side, this can be closed, but of course if Ruby maintai... deivid (David Rodríguez)
10:28 AM Revision 3568e7ae (git): [ruby/reline] Fix line wrapped cursor position
(https://github.com/ruby/reline/pull/791)
Cursor position calculation was wrong when the input line contains "\1" or CSI escape sequence.
https://github.com/ruby/reline/commit/a1943daaf4
tompng (tomoya ishida)
10:08 AM Revision ebb80c26 (git): [ruby/resolv] Securerandom should be always available
https://github.com/ruby/resolv/commit/324c355eb7 deivid (David Rodríguez)
09:29 AM Revision af9a904f (git): [ruby/resolv] Build the extension library only when CRuby (Fix
https://github.com/ruby/resolv/pull/69)
On JRuby no C compiler is available and this call results in a runtime
error.
https://github.com/ruby/resolv/commit/33105bc504
nobu (Nobuyoshi Nakada)
09:09 AM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
Right, so that's not really different from https://bugs.ruby-lang.org/issues/20878#Work-inside-RString-allocated-memory. IT's something that's already done, that new function would just be a shortcut for:
```c
VALUE str = rb_str_buf_...
byroot (Jean Boussier)
04:57 AM Feature #20878: A new C API to create a String by adopting a pointer: `rb_enc_str_adopt(const char *ptr, long len, long capa, rb_encoding *enc)`
byroot (Jean Boussier) wrote in #note-15:
> How would that work? e.g. when you need to resize it?
```C
VALUE string;
char *buffer = rb_str_new_buffer(&string, size, enc);
memcpy(buffer, somestring, length);
// ...
rb_str_modify_...
nobu (Nobuyoshi Nakada)
08:18 AM Revision fea83a4b (git): Update bundled gems list at 19b684637f1f8c6442e3d09ac0a6d5 [ci skip]
git[bot]
08:17 AM Revision 19b68463 (git): Update bundled_gems
hsbt (Hiroshi SHIBATA)
07:21 AM Feature #20782 (Closed): Introduction of Happy Eyeballs Version 2 (RFC8305) in TCPSocket.new
https://github.com/ruby/ruby/pull/9374 has been merged by @shioimm hsbt (Hiroshi SHIBATA)
07:04 AM Feature #20757: Make rb_tracearg_(parameters|eval_script|instruction_sequence) public C-API
Maybe no problem. Could you make a patch? ko1 (Koichi Sasada)
06:01 AM Bug #20940 (Closed): Colored syntax error from prism
Prism shows syntax error with coloring.
But we have long avoided coloring Ruby for reasons such as color weakness.
Can we release next Ruby 3.4.0 with colored syntax errors?
![colored_syntax_error1](clipboard-202412101454-v5ydy.png)...
ko1 (Koichi Sasada)
04:56 AM Bug #20939 (Closed): When using the parse.y parser, it occurs argument stack underflow (-1) if there is processing after the shareable_constant_value: experimental_everything comment and `C = { **{ k: v } }`
The following code will occurs argument stack underflow if it is a parse.y parser.
```ruby
# shareable_constant_value: experimental_everything
C = { **{ k: v } }
p C
```
The following error message is output.
```
ruby 3.4.0de...
ydah (Yudai Takada)
04:54 AM Feature #20861: Add an environment variable for tuning the default thread quantum
I like `RUBY_THREAD_TIME_QUANTUM` for environment variable. ko1 (Koichi Sasada)
03:31 AM Revision f12e2622 (git): Split system dependent commands to clean modular-gc
nobu (Nobuyoshi Nakada)
03:21 AM Revision ce2f3983 (git): Remove unused macros from parse.y
ydah (Yudai Takada)
02:50 AM Revision bfb7571d (git): Remove minimum Bison version requirement from parse.y
How about removing `%require “version”` since it is a definition to specify the minimum version of Bison and is not needed now that we have completely moved to Lrama?
see: https://www.gnu.org/software/bison/manual/html_node/Require-Decl...
ydah (Yudai Takada)
02:30 AM Revision cb8f1862 (git): [ruby/strscan] [DOC] doc/strscan/strscan.md - update Matcher Methods
(https://github.com/ruby/strscan/pull/123)
Added support for string pattern type in
https://github.com/ruby/strscan/pull/106.
And fix Success Return content.
https://github.com/ruby/strscan/commit/6a5acde674
naitoh (Jun NAITOH)
02:30 AM Revision b5ed7aae (git): [ruby/fiddle] Fix test_dlopen_linker_script_input_linux being
omitted on Fedora 40 aarch64
(https://github.com/ruby/fiddle/pull/161)
I found working on Fedora 40 on aarch64 that
`test_dlopen_linker_script_input_linux` was omitted due to not finding
libncurses.so, since it is in /usr/lib64. This PR...
Dani Smith
02:15 AM Revision 462e2cfc (git): Launchable: Remove unnecessary command (#12299)
`launchable verify` command is designed for checking if CLI has been configured successfully. We've already checked it, so we don't need calling this command anymore. ono-max (Naoto Ono)

12/09/2024

10:02 PM Bug #20938 (Closed): Percent String literal delimiter impacts string contents with parse.y
The following code defines 2 programs that declare string literals using `%` and a single byte delimiter. I'd expect these programs to have the same output no matter which delimiter is used.
With Prism, both programs output the same v...
eightbitraptor (Matt V-H)
09:35 PM Revision cfc2b21a (git): Clean all modular GCs
We should run `make clean` or `make distclean` on each of the GC directories. peterzhu2118 (Peter Zhu)
09:35 PM Revision 5d4242fa (git): Only delete gc directory if empty
If building in the source directory, this will delete the gc directory. peterzhu2118 (Peter Zhu)
09:35 PM Revision 88d49628 (git): Don't delete .gc directory
We build in the gc directory since commit d0575032527916b523035be87ad876152c886c85,
so we don't need to remove the .gc directory.
peterzhu2118 (Peter Zhu)
09:20 PM Revision 0c9c6efc (git): Add missing fiber nil check to avoid slow rb_check_funcall()
Check for nil like other callers of rb_fiber_scheduler_current(). alanwu (Alan Wu)
09:08 PM Revision 476d6550 (git): objspace_dump: Use FILE* to avoid crashing in mark functions
We observed crashes from rb_io_bufwrite() thread switching (through
rb_thread_check_ints()) in the middle of rb_execution_context_mark(). By
the time rb_execution_context_mark() gets a timeslice again, it read
garbage from a frame that w...
alanwu (Alan Wu)
08:31 PM Misc #20879: DevMeeting-2024-12-12
* [Bug #20930] Different semantics for nested `it` and `_1` (eregon)
* I allowed multiple uses of `it` in different levels of nested blocks, e.g. `files.each { YAML.parse_file(it).each { p it } }`, which is a `SyntaxError` with `_1`. C...
k0kubun (Takashi Kokubun)
08:30 PM Bug #20930: Different semantics for nested `it` and `_1`
Let me get this straight. `_1` was introduced long before Prism was merged. Prism allowing `_1` in different levels of nested blocks is just a bug of Prism (https://github.com/ruby/prism/issues/3291), so let's not talk about that here. I... k0kubun (Takashi Kokubun)
07:11 PM Revision de7feb05 (git): [ruby/mmtk] Also remove .rustc_info.json in clean-mmtk target
https://github.com/ruby/mmtk/commit/4b67c8b4da peterzhu2118 (Peter Zhu)
07:08 PM Bug #20937 (Closed): "can't set length of shared string" error when using OpenSSL::Cipher#update with buffer
We've observed a recurring "can't set length of shared string" error in production emerging from the `aws-sdk-s3` library when using it's client encryption features. The sdk in this mode uses OpenSSL::Cipher in decrypt mode with a String... akiellor (Andrew Kiellor)
06:37 PM Revision ea7e34fd (git): [ruby/mmtk] Add target clean-mmtk to clean Rust debug and release directories
https://github.com/ruby/mmtk/commit/1f71cb873c peterzhu2118 (Peter Zhu)
06:27 PM Bug #20447: Ruby 3.3.1 broken on i686 due to "incompatible pointer type" error
Marking this for the 3.2 maintainer to take a look (patch to fix build error seems simple). alanwu (Alan Wu)
05:47 PM Bug #20447: Ruby 3.3.1 broken on i686 due to "incompatible pointer type" error
With the release of Alpine 3.21, I'm now seeing this on 3.2.6 as well -- any chance of a 3.2 backport? 😇
**Edit:** I've now confirmed that applying commit:055613fd868a8c94e43893f8c58a00cdd2a81f6d (as-is) to 3.2 builds successfully 👀
tianon (Tianon Gravi)
06:09 PM Revision 14e0a40c (git): YJIT: Add a comment about a lazy frame call
jit_prepare_lazy_frame_call is a complicated trick and comes with memory
overhead. Every use of the function should come with justification.
k0kubun (Takashi Kokubun)
06:02 PM Revision cff03125 (git): YJIT: Spill/load argument registers to reuse blocks (#12287)
* YJIT: Spill/load argument registers to reuse blocks
* Mention the immediate function name
* Explain the context behind spill/load operations
k0kubun (Takashi Kokubun)
05:21 PM Revision 93f8de77 (git): [ruby/rdoc] Expand rdoc-ref targets at the end of ri output
(https://github.com/ruby/rdoc/pull/1141)
There have been several document refactors in ruby/ruby that extract
individual methods/classes' documentation into separate files, like
ruby/ruby#6567
Because RI is not capable of rendering tho...
st0012 (Stan Lo)
04:52 PM Bug #20933 (Closed): Unexpected IO::Buffer::MaskError in IO::Buffer#xor!
Applied in changeset commit:git|7341a4fc07ec8f12ff25538d39383ecf68a5f852.
----------
[Bug #20933] Fix IO::Buffer overlap calculation
The allocated buffers may be consecutive memory addresses. This will mean
that `b->base == a->base + a...
peterzhu2118 (Peter Zhu)
04:52 PM Revision 7341a4fc (git): [Bug #20933] Fix IO::Buffer overlap calculation
The allocated buffers may be consecutive memory addresses. This will mean
that `b->base == a->base + a->size` even though `a` and `b` are separate
buffers.
peterzhu2118 (Peter Zhu)
03:36 PM Revision 8010d79b (git): YJIT: Only enable disassembly colors for tty (#12283)
* YJIT: Use fully-qualified name for OPTIONS in get_options!
* YJIT: Only enable disassembly colors for tty
Max Bernstein
03:08 PM Revision b1128770 (git): Fix Connection Attempt Delay of `Socket.tcp` (#12291)
The following two commits fix the proper clearing of the Connection Attempt Delay in `TCPSocket.new`.
- https://github.com/ruby/ruby/pull/12087/commits/b2f610b0edf8f84d9d0fce038f3ebfa9f2cb0223
- https://github.com/ruby/ruby/pull/12223/c...
Misaki Shioi
03:01 PM Bug #20936 (Closed): Enumerator's #size returned by Range#reverse_each raises an exception for beginningless Range
`(..3).reverse_each.size` is supposed to return `Infinity` (at least it does so in Ruby 3.3). But in Ruby 3.4 preview it raises `can't iterate from NilClass (TypeError)` what seems a regression.
Ruby 3.3.5:
```
$ ruby -v -e 'p (.....
andrykonchin (Andrew Konchin)
12:09 PM Feature #20875: Atomic initialization for Ractor local storage
ko1 (Koichi Sasada) wrote in #note-9:
> can be acceptable if returning the assigned value is out-of-scope, even if it returns assigned value.
What does this mean?
It seems clear such a method should return the same as `Ractor[key]`,...
Eregon (Benoit Daloze)
08:00 AM Revision 652b0c13 (git): Launchable: Remove FIXME comment (#12293)
https://github.com/launchableinc/cli/issues/786 has already been solved, so we can remove the comment. ono-max (Naoto Ono)
07:25 AM Revision 676b4ec0 (git): Enable more Launchable integration in bootstraptest and test-all (#12255)
ono-max (Naoto Ono)
05:36 AM Feature #20925: Allow boolean operators at beginning of line to continue previous line
As a developer involved in the implementation of Ruby grammar, I am not a fan in this extension, but as a Ruby programmer, I understand you want to write that.
I might want to write it with the following indentation anyway.
```
if...
mame (Yusuke Endoh)
03:20 AM Feature #20925: Allow boolean operators at beginning of line to continue previous line
The difference seems nice when you consider code like:
```
if request.secret_key_base.present?
&& request.encrypted_signed_cookie_salt.present?
&& request.encrypted_cookie_salt.present?
request.encrypted_cookie
end
```
...
martinemde (Martin Emde)
05:07 AM Revision 1279b5b9 (git): Update default gems list at 771612475948bb6d15b2a6a229c49d [ci skip]
git[bot]
05:06 AM Revision 77161247 (git): [ruby/etc] Bump up 1.4.5
https://github.com/ruby/etc/commit/5019f4314a hsbt (Hiroshi SHIBATA)
05:05 AM Revision ef2b5385 (git): [ruby/psych] Bump up 5.2.1
https://github.com/ruby/psych/commit/7c81f7db53 hsbt (Hiroshi SHIBATA)
04:13 AM Revision bb74fa7a (git): Added did_you_mean-2.0.0 change to NEWS.md
https://github.com/ruby/did_you_mean/pull/194 hsbt (Hiroshi SHIBATA)
04:10 AM Revision 2a8c8ee9 (git): Move compatibility changes of stdlib to that section
hsbt (Hiroshi SHIBATA)
02:31 AM Revision c73552e4 (git): Revert "Launchable: Stop recording tests temporarily" (#12289)
Revert "Launchable: Stop recording tests temporarily (#12268)"
This reverts commit 866f1a1f2d6f0425b1535fb5697a30404e83e7c2.
ono-max (Naoto Ono)
 

Also available in: Atom