Project

General

Profile

Activity

From 04/30/2024 to 05/06/2024

05/06/2024

11:06 PM Revision 481e16d5 (git): [PRISM] Support for compiling ractor constant path writes
kddnewton (Kevin Newton)
11:06 PM Revision eeba1581 (git): [PRISM] Support for compiling ractor constant writes
kddnewton (Kevin Newton)
06:58 PM Feature #20205: Enable `frozen_string_literal` by default
While your concern is absolutely valid, I don't think it's much of a problem in practice. There is pretty much an infinite amount of code out there, so I don't think there is any way really to discount it, but after having migrated a gig... byroot (Jean Boussier)
06:00 PM Feature #20205: Enable `frozen_string_literal` by default
I am a bit late to the party but nobody seems to have raised a concern I have.
If a chilled string appears to be `frozen?` then a consumer may proceed to use the string expecting it to remain frozen, such as for a cache key. If that s...
headius (Charles Nutter)
06:56 PM Bug #20473 (Assigned): Ractor array/hash literals
There are many optimizations in place in the compiler to ensure Ruby doesn't overflow the stack when an array or hash literal has many values. For example:
```ruby
puts RubyVM::InstructionSequence.compile(<<~RUBY).disasm
[#{Array.ne...
kddnewton (Kevin Newton)
05:39 PM Bug #20472 (Assigned): Ractor support for ** into hash literal
```ruby
# shareable_constant_value: experimental_copy
a = { "foo" => "bar" }
A = { **a }
```
In this example, Ruby fails an assertion and crashes. I think we should either provide support for this, or we should explicitly provide ...
kddnewton (Kevin Newton)
05:06 PM Revision 00b1553d (git): [rubygems/rubygems] Remove more unnecessary compatibility code
https://github.com/rubygems/rubygems/commit/00d91f141b deivid (David Rodríguez)
05:06 PM Revision 5c018cdd (git): [rubygems/rubygems] Remove unnecessary compatibility code
https://github.com/rubygems/rubygems/commit/160a515412 deivid (David Rodríguez)
04:09 PM Revision e2769295 (git): [PRISM] Enable test_unexpected_fraction
kddnewton (Kevin Newton)
04:09 PM Revision d4fdc459 (git): [ruby/prism] Unexpected fractional component error messages
https://github.com/ruby/prism/commit/e893bc2230 kddnewton (Kevin Newton)
04:09 PM Revision 5e6bb085 (git): [PRISM] Enable passing forwarding parameter tests
kddnewton (Kevin Newton)
04:09 PM Revision f92d82ef (git): [ruby/prism] More specific error for conflicting forwarding parameters
https://github.com/ruby/prism/commit/1c3b48fedb kddnewton (Kevin Newton)
03:12 PM Revision 14d40082 (git): [PRISM] Enable passing test_brace_after_literal_argument test
kddnewton (Kevin Newton)
03:09 PM Revision 5909186d (git): [ruby/prism] Fix up error message for unexpected {
https://github.com/ruby/prism/commit/80dbe035ba kddnewton (Kevin Newton)
02:56 PM Revision 88d74a48 (git): [DOC] Fix typos in WeakMap docs
Earlopain (Earlopain _)
02:28 PM Revision 1df1edc0 (git): YJIT: Fix comment and counter in rb_yjit_invalidate_ep_is_bp() (#10722)
`mem::take` substitutes an empty instance which makes `jit.ep_is_bp()`
return false.
alanwu (Alan Wu)
01:29 PM Feature #17944: Remove Socket.gethostbyaddr and Socket.gethostbyname
The commit for the deprecated documents was added in 2017.
Deprecation document for gethostbyname,gethostbyaddr.
https://github.com/ruby/ruby/commit/b5c6fc856100b17b6f20e6e792a02ee7e33306bc
Date: Sat Oct 21 13:13:02 2017 +0000
The co...
jaruga (Jun Aruga)
09:07 AM Misc #20436: DevMeeting at RubyKaigi 2024
- [Feature #20415] Precompute literal String hash code during compilation (byroot / etienne)
- Simple optimization that closes most of the performance gap between symbol indexed hashes and string indexed ones for string literals.
-...
byroot (Jean Boussier)
04:51 AM Revision a5cb8c8c (git): [DOC] rewrite inject doc (#10009)
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Co-authored-by: Dennis Dashkevich <dskecse@gmail.com>
Dave Thomas
02:51 AM Revision 2a807bcd (git): Bump ruby/setup-ruby from 1.175.1 to 1.176.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.175.1 to 1.176.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/1198b074305f9356bd56dd4b311757cc0d...
dependabot[bot]

05/05/2024

11:22 PM Revision 95ae1233 (git): [ruby/did_you_mean] Move development dependencies to Gemfile
https://github.com/ruby/did_you_mean/commit/24c06dd509 nobu (Nobuyoshi Nakada)
05:24 PM Bug #20168 (Closed): Process won't exit when Ractor.select waiting a Ractor
Applied in changeset commit:git|6747fbe77dcac26a457bb1386f55f3c27321040a.
----------
Fix interrupts during Ractor.select
Fixes [Bug #20168]
luke-gru (Luke Gruber)
03:20 PM Bug #18995: IO#set_encoding sometimes set an IO's internal encoding to the default external encoding
@jeremyevans0, did you ever take a look at this issue when I referenced it in #18899? The behavior is unchanged in Ruby 3.3.
The script above prints the following:
```
external encoding: #<Encoding:UTF-8> internal encoding: #<...
javanthropus (Jeremy Bopp)
03:14 PM Revision 6747fbe7 (git): Fix interrupts during Ractor.select
Fixes [Bug #20168] luke-gru (Luke Gruber)
01:37 PM Bug #20471: Problem creating a file on a windows share and copy it afterwards
nobu (Nobuyoshi Nakada) wrote in #note-1:
> budiljak (Benjamin Udiljak) wrote:
> ...
Yes. I even tried 5 seconds, but it didn't help neither.
budiljak (Benjamin Udiljak)
11:12 AM Revision 5398a468 (git): Update default gems list at 93cffcf961daa58b5bc0b3e9194b79 [ci skip]
git[bot]
11:11 AM Revision 93cffcf9 (git): [ruby/irb] Bump version to v1.13.1
(https://github.com/ruby/irb/pull/951)
https://github.com/ruby/irb/commit/66318d0a34
st0012 (Stan Lo)
10:44 AM Revision e973f9cb (git): [ruby/irb] Clarify that the context is IRB context
(https://github.com/ruby/irb/pull/950)
https://github.com/ruby/irb/commit/8cde57f55a
st0012 (Stan Lo)
08:00 AM Revision 7d42010f (git): [ruby/openssl] read: don't clear buffer when nothing can be read
To be consistent with regular Ruby IOs:
```ruby
r, _ = IO.pipe
buf = "garbage".b
r.read_nonblock(10, buf, exception: false) # => :wait_readable
p buf # => "garbage"
```
Ref: https://github.com/redis-rb/redis-client/commit/98b8944460a11...
byroot (Jean Boussier)
07:22 AM Revision fca6c55a (git): [ruby/reline] Remove not implemented variables
(https://github.com/ruby/reline/pull/699)
https://github.com/ruby/reline/commit/328699e901
ima1zumi (Mari Imaizumi)
07:09 AM Revision d679afe9 (git): [ruby/reline] Add name defined in readline to completion key
bindings C-i C-p C-n
(https://github.com/ruby/reline/pull/698)
https://github.com/ruby/reline/commit/1314787bbb
tompng (tomoya ishida)

05/04/2024

04:37 PM Bug #20471: Problem creating a file on a windows share and copy it afterwards
budiljak (Benjamin Udiljak) wrote:
> I also tried `f.fsync` , `f.fdatasync` , `f.flush`, but it didn't help.
Have you tried `sleep 1` (or more seconds) after the `File.open` block?
nobu (Nobuyoshi Nakada)
02:59 PM Bug #20471 (Open): Problem creating a file on a windows share and copy it afterwards
Hi,
in my Rails application I have the requirement to create a file and copy it to another place on the same windows share. But if I write the file with `File` class and try to copy it with `FileUtils.cp` it hangs indefinitely withou...
budiljak (Benjamin Udiljak)
04:31 PM Revision b181ba74 (git): [ruby/prism] Use `version: 3.3.1` against `Translation::Parser`
Follow up https://github.com/ruby/prism/pull/2760.
This PR updates the `Translation::Parser` to use version 3.3.1 when the version 3.3 is specified.
The Parser gem is structured to support the latest patch versions, hence this aligns wi...
koic (Koichi ITO)
03:45 PM Feature #20469: Add a JSON addition for Enumerator::ArithmeticSequence
I just realized I filed my PR in the wrong place since JSON is a gem. (Sorry for the noise.) I closed the previous PR and opened one in the JSON gem repo. https://github.com/flori/json/pull/583 shan (Shannon Skipper)
11:29 AM Bug #20468: Segfault on safe navigation in for target
Agree with @Eregon. The code should be more or less equivalent to:
```ruby
for temp in [1, 2, 3]
foo&.bar = temp
end
```
...which is totally valid and `foo&.bar =` is a no-op (semantically).
zverok (Victor Shepelev)
10:35 AM Bug #20468: Segfault on safe navigation in for target
IOW I think the segfault could be fixed here without changing what is valid syntax.
And given this segfault probably affects older versions too there it seems better to fix the segfault than to change syntax.
Eregon (Benoit Daloze)
10:34 AM Bug #20468: Segfault on safe navigation in for target
Given `for foo.bar in []; end` is valid and does `for.bar = element`,
I think `for foo&.bar in []; end` could simply do `for&.bar = element` which is the same as `for.bar = element unless foo.nil?` (`NIL_P(foo)` to be precise).
Chang...
Eregon (Benoit Daloze)
08:49 AM Bug #20468: Segfault on safe navigation in for target
I found that a `for` loop variable is looser than I expected.
Not only a safe navigation call, even a constant can be used.
I don't think a constant is useful as a loop variable that is expected to be re-assigned.
https://github.com...
nobu (Nobuyoshi Nakada)
03:52 AM Bug #20468: Segfault on safe navigation in for target
Hmmm, may be possible to interpret that code like as `foo&.then {|recv| for recv.bar in []; end}`.
Just an idea.
nobu (Nobuyoshi Nakada)
03:50 AM Bug #20468: Segfault on safe navigation in for target
I can't imagine what it should do when `foo == nil`.
Should be a syntax error probably?
nobu (Nobuyoshi Nakada)
09:03 AM Revision 96710a31 (git): [ruby/irb] Change debug test workaround only enabled when output is
tty
(https://github.com/ruby/irb/pull/949)
https://github.com/ruby/irb/commit/3f231b8622
tompng (tomoya ishida)
03:32 AM Revision bd42f089 (git): [ruby/irb] Improve help message for no meta commands
(https://github.com/ruby/irb/pull/948)
* Remove unnecessary code from command tests
* Improve help message for no meta commands
1. Add placeholder values for both command category and description
2. Update help command's output to giv...
st0012 (Stan Lo)
03:22 AM Revision fb2ea708 (git): [ruby/irb] Use flag instead of caller for `debug`'s binding.irb
check
(https://github.com/ruby/irb/pull/947)
https://github.com/ruby/irb/commit/4a4d7a4279
st0012 (Stan Lo)
02:59 AM Revision cf74ff71 (git): Change return value of `gets` function to be `rb_parser_string_t *` instead of `VALUE`
This change reduces parser's dependency on ruby object. yui-knk (Kaneko Yuichiro)

05/03/2024

10:08 PM Revision a510175e (git): [ruby/irb] Avoid raising errors while running help for custom
commands
(https://github.com/ruby/irb/pull/944)
* Avoid raising errors while running help for custom commands
Raising an error from the help command is not a pleasure for the
end user, even if the command does not define any attributes...
kachick (Kenichi Kamiya)
09:34 PM Revision 70db150f (git): [ruby/irb] Fix typos in test/irb/command/test_custom_command.rb
(https://github.com/ruby/irb/pull/945)
https://github.com/ruby/irb/commit/f2b5fc192f
kachick (Kenichi Kamiya)
07:35 PM Misc #20436: DevMeeting at RubyKaigi 2024
* [Feature #20470] Extract Ruby's Garbage Collector (peterzhu2118)
* Splits GC into two files `gc.c` and `gc_impl.c`.
* `gc.c` only contains code not specific to Ruby GC.
* `gc_impl.c` contains the implementation of Ruby's GC.
...
peterzhu2118 (Peter Zhu)
07:30 PM Feature #20470 (Closed): Extract Ruby's Garbage Collector
# Extract Ruby's Garbage Collector
## Background
As described in [[Feature #20351]](https://bugs.ruby-lang.org/issues/20351), we are working on the ability to plug alternative garbage collector implementations into Ruby. Our goal i...
peterzhu2118 (Peter Zhu)
07:14 PM Revision d4a6d0c1 (git): [ruby/prism] Prism::Location#adjoin
https://github.com/ruby/prism/commit/a298db68e3 kddnewton (Kevin Newton)
07:11 PM Feature #20469 (Third Party's Issue): Add a JSON addition for Enumerator::ArithmeticSequence
There's a JSON addition for `Range` but one wasn't added for `Enumerator::ArithmeticSequence` when it was introduced. This little PR adds a JSON addition for ArithmeticSequence for parity with a normal Range. https://github.com/ruby/ruby... shan (Shannon Skipper)
06:37 PM Revision 7a49edcf (git): [ruby/prism] Prism::Node#tunnel
https://github.com/ruby/prism/commit/0bf5d651da kddnewton (Kevin Newton)
06:15 PM Revision c631679b (git): [PRISM] Disallow &. in MLHS
kddnewton (Kevin Newton)
06:14 PM Revision 1af2dead (git): [ruby/prism] Disallow *a&.x=0
https://github.com/ruby/prism/commit/624fdf74bd kddnewton (Kevin Newton)
06:10 PM Revision 4fbb2081 (git): [ruby/prism] Create specialized `ASCIISource` with asciionly optimizations
https://github.com/ruby/prism/commit/40993166a8 Vinicius Stock
06:09 PM Revision 31361aec (git): [ruby/prism] Disallow safe navigation in a call target node
https://github.com/ruby/prism/commit/b1917adac7 kddnewton (Kevin Newton)
05:32 PM Revision 31c69698 (git): [PRISM] Enable passing test for **nil
kddnewton (Kevin Newton)
05:32 PM Revision 2368dab1 (git): [ruby/prism] Disallow **nil after keyword parameters
https://github.com/ruby/prism/commit/5beeae076f kddnewton (Kevin Newton)
05:11 PM Revision 461d6d44 (git): [PRISM] Enable RubyVM tests for prism
kddnewton (Kevin Newton)
05:08 PM Bug #20468 (Closed): Segfault on safe navigation in for target
```ruby
for foo&.bar in []; end
```
kddnewton (Kevin Newton)
05:01 PM Revision 56672c8b (git): [PRISM] Enable passing tests for index expressions
kddnewton (Kevin Newton)
05:01 PM Revision 7caeff2b (git): [ruby/prism] Disallow keywords and blocks in index expressions
https://github.com/ruby/prism/commit/e950dc1e83 kddnewton (Kevin Newton)
04:34 PM Revision b6625d38 (git): [DOC] Fix the description about the timing finalizers will be called
nobu (Nobuyoshi Nakada)
04:31 PM Bug #20465: parse.y adds an extra empty string to the AST
mame (Yusuke Endoh) wrote in #note-1:
> How would this be a problem?
> ...
It's not a problem for the compiler (of course), but a problem for the language server use case. Users didn't write `""` there, so consumers of the AST will ha...
tenderlovemaking (Aaron Patterson)
04:15 PM Revision 91485d7d (git): Adjust indent [ci skip]
nobu (Nobuyoshi Nakada)
04:02 PM Revision 97654bee (git): [ruby/prism] Remove deprecated #child usage
https://github.com/ruby/prism/commit/14d9b431e2 kddnewton (Kevin Newton)
03:50 PM Bug #20464: Redundant returns are unreachable in coverage
In that case this can probably be closed. kddnewton (Kevin Newton)
03:26 PM Bug #20464: Redundant returns are unreachable in coverage
If the parser does not remove the NODE_RETURN, the compiler can detect the line event, so I think it will be automatically fixed. In fact, I tried [nobu's patch](https://github.com/ruby/ruby/pull/10642) and it fixed this problem on my ma... mame (Yusuke Endoh)
12:23 PM Bug #20464: Redundant returns are unreachable in coverage
It's a little different. In that one the issue is the parser, in this one the issue is the compiler. Even if the node isn't eliminated from the AST, there will still likely need to be a fix in the compiler. kddnewton (Kevin Newton)
12:04 AM Bug #20464: Redundant returns are unreachable in coverage
Is this the same issue as #20457? mame (Yusuke Endoh)
03:49 PM Bug #20467 (Closed): Prism creates a wrong ConstantReadNode for `Bar::Foo = 42`
kddnewton (Kevin Newton)
01:43 PM Bug #20467: Prism creates a wrong ConstantReadNode for `Bar::Foo = 42`
I've changed it to be the following since https://github.com/ruby/ruby/pull/10716.
```
irb(main):001> Prism.parse(%q(Bar::Foo)).value
=>
@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
@ StatementsNode ...
kddnewton (Kevin Newton)
03:12 PM Revision 281df1e4 (git): [rubygems/rubygems] Remove `Gem::Specification#mark_version`
This gets in the middle if we ever start allowing to build as if using a
different RubyGems version than the one being run.
This could be useful to make `gem rebuild` a little more usable, and
it's already done by Bundler specs which al...
deivid (David Rodríguez)
03:11 PM Revision 0948b6a5 (git): [PRISM] Use new constant path structure
kddnewton (Kevin Newton)
03:11 PM Revision 5758e456 (git): [ruby/prism] Change ConstantPathNode#child to ConstantPathNode#{name,name_loc}
This has been requested for a long time, and I'm finally doing it
now. Unfortunately this is a breaking change for all of the APIs.
I've added in a Ruby method for `#child` that is deprecated so that
existing usage doesn't break, but fo...
kddnewton (Kevin Newton)
01:12 PM Revision 1d51e929 (git): [ruby/prism] Assume eval context for ruby_parser and ripper
https://github.com/ruby/prism/commit/e4d6984892 kddnewton (Kevin Newton)
12:53 PM Revision 32b1dea5 (git): [ruby/prism] Assume an eval context for `Prism::Translation::Parser`
This is similar to https://github.com/davidwessman/syntax_tree-erb/issues/81 but for RuboCop
The parser gem doesn't support these types of checks,
see https://github.com/whitequark/parser?tab=readme-ov-file#syntax-check-of-block-exits
W...
Earlopain (Earlopain _)
12:36 PM Revision 7c029f61 (git): [ruby/prism] Remove generics from sorbet types
https://github.com/ruby/prism/commit/080d84fd03 kddnewton (Kevin Newton)
11:29 AM Bug #20094: Inline while loop behavior changed unexpectedly in 3.3.0
Indeed:
```
$ ruby -ve '(p 1) while false'
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux]
$ ruby -ve '(p 1) while false'
ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux]
1
```
Eregon (Benoit Daloze)
10:54 AM Revision c1b11c50 (git): [rubygems/rubygems] Rename credential email to identifier in WebAuthn poller
https://github.com/rubygems/rubygems/commit/5e3e55f8bc Jenny Shen
05:49 AM Revision 7662e6fc (git): win32/registry: Shorten with safe navigation operator
nobu (Nobuyoshi Nakada)
05:49 AM Revision 491c38bf (git): win32/registry: Make frozen_string_literal true
nobu (Nobuyoshi Nakada)
05:49 AM Revision 0b091e66 (git): win32/registry: Refine pack/unpack
* Use 'J' for HANDLE.
* Use 'Q' for QWORD.
* Define template constants.
* Supply zero bytes in `unpackqw` as well as `unpackdw`.
* Use `String#unpack1`.
nobu (Nobuyoshi Nakada)
05:47 AM Revision 9f8e87c4 (git): Test for win32/registry.rb
nobu (Nobuyoshi Nakada)
03:40 AM Revision 899d9f79 (git): Rename `vast` to `ast_value`
There is an English word "vast".
This commit changes the name to be more clear name to avoid confusion.
yui-knk (Kaneko Yuichiro)
03:05 AM Revision e1905ca1 (git): Use user defined parameterizing rules `f_optarg(value)`
ydah (Yudai Takada)
02:46 AM Revision 5409661f (git): Mark the first string element of a regexp as binary if US-ASCII
kddnewton (Kevin Newton)

05/02/2024

11:55 PM Bug #20465: parse.y adds an extra empty string to the AST
How would this be a problem?
I think it intentionally creates the structure to ensure that it returns a new String object. Unlike #20457, there is no lack of information. I don't think it is so inconvenient.
mame (Yusuke Endoh)
06:10 PM Bug #20465 (Open): parse.y adds an extra empty string to the AST
Given this code:
```ruby
t0 = '\\xc1'
"#{t0}"
```
The AST is like this:
```
$ ./miniruby --dump=parsetree test.rb
###########################################################
## Do NOT use this node dump for any purpose oth...
tenderlovemaking (Aaron Patterson)
11:37 PM Bug #20467 (Closed): Prism creates a wrong ConstantReadNode for `Bar::Foo = 42`
Currently, Prism creates the following AST for `Bar::Foo = 42`
```
irb(main):001> Prism.parse(%q(Bar::Foo = 42)).value
=>
@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
@ StatementsNode (location: (1,0...
mame (Yusuke Endoh)
09:32 PM Revision b5cefa79 (git): Fix GC_DEBUG
peterzhu2118 (Peter Zhu)
09:32 PM Revision 6d605f1e (git): Move rvalue_overhead out of RVALUE
Since we cannot read the rvalue_overhead out of the RVALUE anyways (since
it is at the end of the slot), it makes more sense to move it out of
the RVALUE.
peterzhu2118 (Peter Zhu)
07:16 PM Revision e34c131c (git): [PRISM] Disallow redundant returns from being line events
kddnewton (Kevin Newton)
06:33 PM Revision c681af3e (git): Reject empty lines in IRB binding spec
For that particular spec, the empty lines' presence is not relevant.
So let's remove them to make the spec easier to maintain.
Stan Lo
06:33 PM Revision 945a99e8 (git): Sync IRB 241e061
Stan Lo
06:28 PM Revision c59abb99 (git): Rename ary_heap_alloc -> ary_heap_alloc_buffer
To differentiate it from ary_alloc_heap eightbitraptor (Matt V-H)
06:13 PM Bug #20466 (Open): Interpolated regular expressions have different encoding than interpolated strings
When the encoding is set to US-ASCII, interpolated strings can have different encoding than interpolated regular expressions. I think they should have the same encoding:
```ruby
# encoding: US-ASCII
t0 = '\\xc1'
t1 = "#{t0}"
re...
tenderlovemaking (Aaron Patterson)
06:07 PM Bug #20464: Redundant returns are unreachable in coverage
Just for the record in case this gets updated, this PR for the prism compiler (https://github.com/ruby/ruby/pull/10713) is what we have to do to make it work the same way. (It effectively checks if the return is redundant and if it is, d... kddnewton (Kevin Newton)
06:00 PM Bug #20464 (Open): Redundant returns are unreachable in coverage
With the following code:
```ruby
def meth_return(a)
return if a
return
end
```
If you run coverage on it, it's not possible for it to hit line 3, because there isn't a line event, because the return node was eliminated fro...
kddnewton (Kevin Newton)
04:29 PM Revision 0981f030 (git): [PRISM] Enable newline test
kddnewton (Kevin Newton)
04:29 PM Revision 0968b462 (git): Update default gems list at 008f2b9b6a8575c4380732f5ac4ee1 [ci skip]
git[bot]
04:28 PM Revision 008f2b9b (git): [ruby/reline] Bump version to 0.5.5
(https://github.com/ruby/reline/pull/696)
https://github.com/ruby/reline/commit/8bf71d0b81
ima1zumi (Mari Imaizumi)
04:21 PM Revision 032070d7 (git): [ruby/irb] Add workaround for ruby/debug/test/console/irb_test
failing with StdioInputMethod
(https://github.com/ruby/irb/pull/943)
https://github.com/ruby/irb/commit/acf3c1816e
tompng (tomoya ishida)
03:27 PM Revision 7c0cf710 (git): [ruby/prism] Node#script_lines and supporting infra
https://github.com/ruby/prism/commit/cb4a8ab772 kddnewton (Kevin Newton)
03:27 PM Revision 398453c3 (git): [PRISM] Fix param names for repeated splats
kddnewton (Kevin Newton)
02:41 PM Revision c78cebb4 (git): [ruby/reline] Fix default and additional key bindings vanish bug
(https://github.com/ruby/reline/pull/697)
https://github.com/ruby/reline/commit/fc9b4d2274
tompng (tomoya ishida)
02:34 PM Revision 2eefbef2 (git): [PRISM] Enable test_ast.rb
kddnewton (Kevin Newton)
02:29 PM Revision 41977ef5 (git): [PRISM] Enable Socket.gethostbyaddr spec
kddnewton (Kevin Newton)
02:12 PM Revision e7d20623 (git): Add comments in setproctitle.c
peterzhu2118 (Peter Zhu)
02:12 PM Revision 4f69d318 (git): Keep track of the originally allocated environ
We need to keep a pointer to the originally allocated environ because
adding more environment variables can cause it to be changed to something
else.
For example:
100.times do |i|
ENV["FOO#{i}"] = "1"
end
Causes Valgrind...
peterzhu2118 (Peter Zhu)
01:11 PM Revision 12cbfd8e (git): Declare as NORETURN
nobu (Nobuyoshi Nakada)
12:20 PM Bug #20463 (Closed): Ruby fails to generate warning for require syslog
It's known issue. see https://bugs.ruby-lang.org/issues/20450#note-9 hsbt (Hiroshi SHIBATA)
12:17 PM Bug #20463 (Closed): Ruby fails to generate warning for require syslog
```
docker run -it ruby:3.3.1 bash
touch Gemfile
bundle
bundle exec ruby -e "require '/usr/local/lib/ruby/3.3.0/x86_64-linux/syslog'"
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:130:in `<': comparison of String with nil failed (Argume...
tyatin (Serg Tyatin)
09:36 AM Revision a3726c02 (git): Fixed missing support for https://github.com/ruby/ruby/commit/d75bbba255e086d625429d5a1311cc4b4396c296.
jinroq (Jinroq SAITOH)
07:29 AM Bug #19974 (Closed): OpenSSL::PKCS7 generates SegFault when parsing invalid data
Applied in changeset commit:git|c9aa63a9e06c21566c6fadda5945f04f341e4891.
----------
[ruby/openssl] pkcs7: raise ArgumentError for PKCS7 with no content in PKCS7.new
Fixes [Bug #19974]
[pkuzco: expanded the fix for other content types...
jeremyevans (Jeremy Evans)
07:26 AM Revision 55720f37 (git): [ruby/openssl] pkcs7: raise PKCS7Error for PKCS7 without content in PKCS7.read_smime
[pkuzco: expanded the fix for other content types]
[ky: adjusted formatting and the exception type]
https://github.com/ruby/openssl/commit/07eceb7f63
Co-authored-by: pkuzco <b.naamneh@gmail.com>
Co-authored-by: Kazuki Yamaguchi <k@rhe.jp>
jeremyevans (Jeremy Evans)
07:26 AM Revision c9aa63a9 (git): [ruby/openssl] pkcs7: raise ArgumentError for PKCS7 with no content in PKCS7.new
Fixes [Bug #19974]
[pkuzco: expanded the fix for other content types]
[ky: adjusted formatting and the exception type]
https://github.com/ruby/openssl/commit/27e11f2d1d
Co-authored-by: pkuzco <b.naamneh@gmail.com>
Co-authored-by: Kazu...
jeremyevans (Jeremy Evans)
07:26 AM Revision eb6f0000 (git): [ruby/openssl] cipher: fix buffer overflow in Cipher#update
OpenSSL::Cipher#update currently allocates the output buffer with size
(input data length)+(the block size of the cipher). This is insufficient
for the id-aes{128,192,256}-wrap-pad (AES keywrap with padding) ciphers.
They have a block si...
rhenium (Kazuki Yamaguchi)
07:24 AM Revision d39993a4 (git): [ruby/openssl] Fix performance regression in do_write(s)
This causes significant performance issues when using large (>10meg) writes
Fix by adjusting the buffer write function to clear the buffer once, rather than
piece by piece, avoiding a case where a large write (in our case, around
70mbyt...
Jaymz Julian
07:17 AM Revision f5af620c (git): [ruby/openssl] asn1: check error return from i2d_ASN1_TYPE()
i2d_ASN1_TYPE() is not expected to fail, but the return value should be
checked.
https://github.com/ruby/openssl/commit/21ed3c310e
rhenium (Kazuki Yamaguchi)
06:06 AM Revision eb82ea62 (git): [ruby/reline] Fix prompt width calculation bug. Test with colored
prompt
(https://github.com/ruby/reline/pull/695)
https://github.com/ruby/reline/commit/24aab01cbc
tompng (tomoya ishida)
06:04 AM Revision ed5a7a59 (git): Use callee side tag specification of parameterizing rules
ydah (Yudai Takada)
05:50 AM Revision fdf88a2c (git): [ruby/reline] Avoid reading .inputrc repeatedly
(https://github.com/ruby/reline/pull/694)
https://github.com/ruby/reline/commit/c8d4802a0f
ima1zumi (Mari Imaizumi)
04:32 AM Revision fcd89bf6 (git): Lrama v0.6.9
yui-knk (Kaneko Yuichiro)
01:14 AM Revision d22dfce1 (git): Fix memory leak of `rb_ast_t` in parser
Do not allocate `rb_ast_t` in `ast_alloc` to avoid memory leak.
For example:
10.times do
100_000.times do
eval("")
end
puts `ps -o rss= -p #{$$}`
end
Before:
17568
20960
24096
27808
...
nobu (Nobuyoshi Nakada)
01:14 AM Revision 5108bed5 (git): Revert "Fix memory leak of rb_ast_t in parser"
This reverts commit e3bfd25bd2202a172d7709e9a2f7b65b523a132d.
> "Allocate then wrap" is bad, because the "wrapping" itself can fail.
See: https://github.com/ruby/ruby/pull/10618#pullrequestreview-2019294349
yui-knk (Kaneko Yuichiro)

05/01/2024

11:19 PM Revision f109a83d (git): [PRISM] Fix up error message expectations
kddnewton (Kevin Newton)
11:19 PM Revision de6e05da (git): [PRISM] Consolidate handling heredoc terminators
kddnewton (Kevin Newton)
11:19 PM Revision ac0f6716 (git): [PRISM] Respect frozen_string_literal option in RubyVM::InstructionSequence.compile
kddnewton (Kevin Newton)
11:19 PM Revision 8ea6daa8 (git): [PRISM] Enable passing tests in test_syntax.rb
kddnewton (Kevin Newton)
11:19 PM Revision b64fd2f5 (git): [PRISM] Closer error messages on invalid unicode escapes in character literals
kddnewton (Kevin Newton)
11:19 PM Revision 1be5ede7 (git): [PRISM] Error message for unterminated heredoc identifier
kddnewton (Kevin Newton)
11:19 PM Revision 62f8fb7f (git): [PRISM] Fix unterminated regular expression error message
kddnewton (Kevin Newton)
11:19 PM Revision 5d1e4cd2 (git): [PRISM] Better error messages for unwriteable targets
kddnewton (Kevin Newton)
11:19 PM Revision 4e8ae5d3 (git): [PRISM] Match unterminated error messages
kddnewton (Kevin Newton)
11:03 PM Revision 8e1647c3 (git): [ruby/prism] Support passing version 3.3.1
https://github.com/ruby/prism/commit/445a0f0d22 kddnewton (Kevin Newton)
10:54 PM Bug #20462: Native threads are no longer reused
In a benchmark of thread creation we see that 3.3 is slower than 3.2
```
jhawthorn@zergling:~ [ruby 3.2.2]
$ time ruby --disable-gems -e '100_000.times { Thread.new{}.join }'
ruby --disable-gems -e '100_000.times { Thread.new{}.j...
jhawthorn (John Hawthorn)
10:45 PM Bug #20462 (Assigned): Native threads are no longer reused
Ruby used to reuse native threads in order to amortize the cost of making a pthread.
For example this program:
```ruby
ntids = 1000.times.map {
Thread.new {
Thread.current.native_thread_id
}.value
}
p ntids.uniq.len...
tenderlovemaking (Aaron Patterson)
10:04 PM Bug #20451: Bad Ruby 3.1.5 backport causes fiddle to fail to build
I tested both PR with ol8/ol9 using the attached dockerfile and they both work OK
I'll close my PR in favor of yours as it is more complete regarding the backport.
ylecuyer (Yoann Lecuyer)
05:12 PM Bug #20451: Bad Ruby 3.1.5 backport causes fiddle to fail to build
It seems a4ad6bd9aac564e93219284c912b26a72f9e82fc is missing.
https://github.com/ruby/ruby/pull/10696
nobu (Nobuyoshi Nakada)
04:01 PM Bug #20451: Bad Ruby 3.1.5 backport causes fiddle to fail to build
I went ahead and created https://github.com/ruby/ruby/pull/10695 to revert the faulty backport
@unak who you mind review it and release the patch version if accepted?
I checked the repro https://github.com/ruby/fiddle/issues/102#is...
ylecuyer (Yoann Lecuyer)
08:57 PM Revision 5cd0abdf (git): [PRISM] Simplify prism error highlighting
kddnewton (Kevin Newton)
07:51 PM Revision fc8fb581 (git): [ruby/prism] CRuby error message for trailing underscore in number
https://github.com/ruby/prism/commit/4e34f236d3 kddnewton (Kevin Newton)
07:36 PM Revision d5d2c6ea (git): [PRISM] Enable passing Symbol specs
kddnewton (Kevin Newton)
07:02 PM Revision efefe42d (git): [ruby/prism] Add more errors for dynamic constant writes in methods
https://github.com/ruby/prism/commit/486e4c0367 kddnewton (Kevin Newton)
06:49 PM Revision febad5cb (git): Skip Warning.[] spec if mspec is passing warning options
kddnewton (Kevin Newton)
04:43 PM Revision 41f8ae1f (git): [ruby/prism] Mark errors for invalid symbols
https://github.com/ruby/prism/commit/661884c4a3 kddnewton (Kevin Newton)
04:34 PM Revision 0fa09c57 (git): [PRISM] Correct encoding for interpolated string literals in regexp
kddnewton (Kevin Newton)
04:34 PM Revision cfe7019e (git): [ruby/prism] Match CRuby interpolation semantics
If a single string that is a static literal is interpolated, it
does not impact whether or not the parent is a static literal. In
this way, if you have something like a regular expression that
interpolates a string literal, it's possible...
kddnewton (Kevin Newton)
04:34 PM Revision b6fa18fb (git): [PRISM] Properly precheck regexp for encoding issues
kddnewton (Kevin Newton)
04:34 PM Revision 1b865096 (git): [PRISM] Support interpolated regexp with encoding modifiers
kddnewton (Kevin Newton)
03:20 PM Revision c8bec792 (git): Update default gems list at fef6f5f2e1b89e8726c20c734f84bd [ci skip]
git[bot]
03:20 PM Revision fef6f5f2 (git): [ruby/irb] Bump version to v1.13.0
(https://github.com/ruby/irb/pull/941)
* Bump version to v1.13.0
* Add Documentation category to changelog
https://github.com/ruby/irb/commit/b9b1f35c99
st0012 (Stan Lo)
03:09 PM Revision 7ef8bb12 (git): Fix memory leak in Ripper.sexp
rb_ast_dispose does not free the rb_ast_t causing it to be leaked. This
commit changes it to use rb_ast_free instead.
For example:
require "ripper"
10.times do
100_000.times do
Ripper.sexp("")
end
pu...
peterzhu2118 (Peter Zhu)
03:03 PM Revision e9e41ad6 (git): Fix ruby_mimcalloc size when CALC_EXACT_MALLOC_SIZE
Should be `sizeof(struct malloc_obj_info) + (num * element)`, not
`num * (sizeof(struct malloc_obj_info) + element)`.
nobu (Nobuyoshi Nakada)
02:52 PM Revision 77f5301c (git): [ruby/irb] Let IRB::Color.colorable? always return true|false
(https://github.com/ruby/irb/pull/940)
https://github.com/ruby/irb/commit/0bbe435ffe
tompng (tomoya ishida)
02:23 PM Revision 1000c27d (git): [ruby/irb] Support `IRB.conf[:BACKTRACE_FILTER]`
(https://github.com/ruby/irb/pull/917)
* Use 'irbtest-' instead if 'irb-' as prefix of test files.
Otherwise IRB would mis-recognize exceptions raised in test files as
exceptions raised in IRB itself.
* Support `IRB.conf[:BACKTRACE_FI...
st0012 (Stan Lo)
02:22 PM Revision 2a978ee0 (git): YJIT: Fix `Struct` accessors not firing tracing events (#10690)
* YJIT: Fix `Struct` accessors not firing tracing events
Reading and writing to structs should fire `c_call` and `c_return`, but
YJIT wasn't correctly dropping those calls when tracing.
This has been missing since this functionality was...
alanwu (Alan Wu)
01:39 PM Feature #20448: Make coverage event hooking C API public
Sorry for the delay, I've been considering different APIs and reevaluating Ruzzy's coverage collection. I think I've identified that Ruzzy's current coverage collection mechanism is flawed, so perhaps we should not use that as the goal. ... ms-tob (Matt S)
01:01 PM Revision f4c6479e (git): Fix xfree
Pointers allocated with `ruby_xmalloc` (`ALLOC` macro) must be freed
with `ruby_xfree`.
nobu (Nobuyoshi Nakada)
12:54 PM Revision d1f14baf (git): Fix leak reported by Valgrind when setting environment variables
The call to setenv replaces the string in the environ array, which causes
the original string to be reported as a memory leak.
This commit allocates another copy of environ called alloc_environ that
contains the strings allocated by rub...
peterzhu2118 (Peter Zhu)
08:46 AM Revision 57eca0a8 (git): Test for memory leak
nobu (Nobuyoshi Nakada)
06:53 AM Revision acc76c8c (git): Use user defined parameterizing rules `f_opt(value)`
ydah (Yudai Takada)
05:50 AM Revision c2832981 (git): Use user defined parameterizing rules `f_kwarg(kw)`
ydah (Yudai Takada)
04:53 AM Revision 9f7e0d2b (git): Use user defined parameterizing rules `opt_args_tail(tail)`
ydah (Yudai Takada)

04/30/2024

11:31 PM Revision 0c135966 (git): [ruby/delegate] test: remove needless mu_pp
It's for minitest. We don't need it with test-unit.
https://github.com/ruby/delegate/commit/447cd43973
Sutou Kouhei
09:51 PM Bug #20457: Final `return` is eliminated from the AST
Eregon (Benoit Daloze) wrote in #note-2:
> I want to add for context that naturally Prism already provides this information (and much more) and has a much better API.
> ...
From what I understand, lrama intends to eventually provide th...
tenderlovemaking (Aaron Patterson)
05:57 PM Revision ade22339 (git): YJIT: print msg to stderr when RubyVM::YJIT.disasm not available (#10688)
* YJIT: print msg to stderr when RubyVM::YJIT.disasm not available
Print a more useful error message when people try to use this
feature without YJIT dev.
Also fix an issue with .gitignore file on macOS
* Update yjit.rb
Co-authored-b...
maximecb (Maxime Chevalier-Boisvert)
05:11 PM Misc #20441 (Closed): Should passing keyword args to method_name(*) be an error?
alanwu (Alan Wu)
05:09 PM Bug #20454 (Third Party's Issue): IRB echoes excessive input in dumb terminal
IRB has its own release cycles and bug tracker at https://github.com/ruby/irb/issues
Sorry for the redirection, but please file this issue there.
alanwu (Alan Wu)
05:04 PM Revision bd419a65 (git): Removed unused TICK_TYPE 2
TICK_TYPE of 2 can never be used because we hard code TICK_TYPE to 1. peterzhu2118 (Peter Zhu)
04:51 PM Revision 614187f8 (git): [ruby/reline] Fix completion dialog position when completed part is
wordwrapped
(https://github.com/ruby/reline/pull/692)
https://github.com/ruby/reline/commit/2d9acd16fe
tompng (tomoya ishida)
03:34 PM Revision d7ba0fec (git): [rubygems/rubygems] Update lib/rubygems/package.rb
https://github.com/rubygems/rubygems/commit/c4e75b9f74 segiddins (Samuel Giddins)
03:34 PM Revision d950609e (git): [rubygems/rubygems] Add a limit to the size of the metadata and checksums files in a gem package.
This is to prevent a malicious gem from causing a denial of service by
including a very large metadata or checksums file,
which is then read into memory in its entirety just by opening the gem package.
This is guaranteed to limit the am...
segiddins (Samuel Giddins)
03:23 PM Revision e0949c3f (git): [ruby/openssl] Remove trailing space in test_ssl.rb
https://github.com/ruby/openssl/commit/911a31335f peterzhu2118 (Peter Zhu)
03:05 PM Revision 9d75d9f0 (git): [ruby/openssl] Update Cipher#name to match Digest#name explanation
https://github.com/ruby/openssl/commit/79e6dead6e Bart de Water
03:05 PM Revision cc6657e5 (git): [ruby/openssl] Add OpenSSL::Digest.digests to get a list of available digests
https://github.com/ruby/openssl/commit/08dd3c73b7 Bart de Water
02:57 PM Revision 1ca4c52b (git): Free unused_block_warning_table when RUBY_FREE_AT_EXIT
peterzhu2118 (Peter Zhu)
02:51 PM Revision 368ce075 (git): [ruby/openssl] Further clarification of documentation.
https://github.com/ruby/openssl/commit/0697f2f8b4 Samuel Williams
02:51 PM Revision f1afae24 (git): [ruby/openssl] More documentation.
https://github.com/ruby/openssl/commit/c8377eaf8d Samuel Williams
02:51 PM Revision 1699772a (git): [ruby/openssl] Introduce basic support for `close_read` and `close_write`.
https://github.com/ruby/openssl/commit/c99d24cee9 Samuel Williams
10:29 AM Revision 8fb430c1 (git): [ruby/irb] Restore MAIN_CONTEXT correctly
(https://github.com/ruby/irb/pull/937)
https://github.com/ruby/irb/commit/c41f460a70
tompng (tomoya ishida)
07:45 AM Bug #20426 (Closed): crash on aarch64 linux when using fibers (regression with 3.3)
hsbt (Hiroshi SHIBATA)
06:40 AM Bug #20461: Unreadable pipe included in the readable IO of IO.select
Using git bisect, I found that the following commit is the cause of the bug:
https://github.com/ruby/ruby/commit/49a55f28abdcf3dea1f84ec5b59cfbedc37f44bf
yamam (Masanari Yamamoto)
05:02 AM Revision 1c991f3b (git): [ruby/openssl] test_asn1.rb: Remove the assertions of the time string format without second.
This commit fixes the following errors in the tests.
Because the OpenSSL project changed the code to make the time string format
without second invalid. So, we drop the assertions.
```
1) Error: test_generalizedtime(OpenSSL::TestASN1): ...
Jun Aruga
05:02 AM Revision 85863f4d (git): [ruby/net-http] Skip test_session_reuse_but_expire with OpenSSL 3.3
OpenSSL 3.3.0 9 Apr 2024 is also broken.
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
https://github.com/ruby/net-http/commit/ab525c956d
Xi Ruoyao
02:52 AM Revision 431711a8 (git): Bump ruby/setup-ruby from 1.175.0 to 1.175.1
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.175.0 to 1.175.1.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/70da3bbf44ac06db1b0547ce2acc9380a5...
dependabot[bot]
01:34 AM Revision 7a8882bc (git): [DOC] Fix typo: Replace `documentatation` with `documentation`
Richard Ricciardelli
12:00 AM Revision 528c4501 (git): Use `rb_parser_string_t *` as `ruby_sourcefile_string`
This reduces dependency on VALUE. yui-knk (Kaneko Yuichiro)
 

Also available in: Atom