Project

General

Profile

Activity

From 09/10/2024 to 09/16/2024

09/16/2024

08:35 PM Feature #20309: Bundled gems for Ruby 3.5
Eregon (Benoit Daloze) wrote in #note-34:
> There is an additional issue with making fiddle a bundled gem: it means any usage now must have libffi headers available or it will fail to install.
> ...
I don't think it is bad idea to star...
vo.x (Vit Ondruch)
10:27 AM Feature #20309: Bundled gems for Ruby 3.5
There is an additional issue with making fiddle a bundled gem: it means any usage now must have libffi headers available or it will fail to install.
Before, it would just work because fiddle would have been built when CRuby was built.
...
Eregon (Benoit Daloze)
07:58 PM Revision 50d4840b (git): Move desired_compaction_pages_i inside of GC_CAN_COMPILE_COMPACTION
Fixes the following warning on WebAssembly:
gc/default.c:7306:1: warning: unused function 'desired_compaction_pages_i' [-Wunused-function]
desired_compaction_pages_i(struct heap_page *page, void *data)
peterzhu2118 (Peter Zhu)
07:55 PM Bug #20747 (Closed): [prism] regression in retry precedence
kddnewton (Kevin Newton)
07:28 PM Bug #20747: [prism] regression in retry precedence
I have opened a PR to fix this: https://github.com/ruby/prism/pull/3073. kddnewton (Kevin Newton)
08:26 AM Bug #20747 (Closed): [prism] regression in retry precedence
Since prism has been made the default, our test suite now fail to boot with the following error:
```ruby
syntax error found (SyntaxError)
298 | raise e
299 | else
> 300 | retry
| ^~...
byroot (Jean Boussier)
07:55 PM Revision 7e2ae30f (git): [ruby/prism] Handle retry doubly nested under rescue
Fixes [Bug #20747]
https://github.com/ruby/prism/commit/d3194715a9
kddnewton (Kevin Newton)
06:58 PM Bug #20744 (Closed): syntax error found (SyntaxError) `UTF-8 mixed within US-ASCII source` reported Ruby with Prism parser
Applied in changeset commit:git|2ea1950510003dbce5a761a712039ed69fa499f2.
----------
[ruby/prism] Do not leak explicit encoding
Fixes [Bug #20744]
https://github.com/ruby/prism/commit/f1b8b1b2a2
kddnewton (Kevin Newton)
06:41 PM Bug #20744: syntax error found (SyntaxError) `UTF-8 mixed within US-ASCII source` reported Ruby with Prism parser
I have opened a PR to fix this.
https://github.com/ruby/prism/pull/3071
kddnewton (Kevin Newton)
12:49 PM Bug #20744: syntax error found (SyntaxError) `UTF-8 mixed within US-ASCII source` reported Ruby with Prism parser
Thank you for the report, I will take a look. kddnewton (Kevin Newton)
07:07 AM Bug #20744: syntax error found (SyntaxError) `UTF-8 mixed within US-ASCII source` reported Ruby with Prism parser
I'm unsure if this is the same case as Rails, but I found a reproduce code.
``` ruby
# encoding: US-ASCII
str = String.new("hello \xFC", encoding: Encoding::ISO_8859_1).encode(Encoding::UTF_8)
puts str =~ /hello \u{fc}/
```
#...
ima1zumi (Mari Imaizumi)
04:33 AM Bug #20744 (Closed): syntax error found (SyntaxError) `UTF-8 mixed within US-ASCII source` reported Ruby with Prism parser
I'm reporting this issue based on Rails Nightly CI against Ruby 3.4.0dev.
https://buildkite.com/rails/rails-nightly/builds/1023#0191ed31-1d77-4705-ab65-cecab76e2c88/1175-1209
I have not able to create a minimum test case without Rails...
yahonda (Yasuo Honda)
06:57 PM Revision 2ea19505 (git): [ruby/prism] Do not leak explicit encoding
Fixes [Bug #20744]
https://github.com/ruby/prism/commit/f1b8b1b2a2
kddnewton (Kevin Newton)
06:38 PM Revision 1e53e462 (git): Don't export unnecessary string functions
These functions are not used publicly, so we don't need to export them. peterzhu2118 (Peter Zhu)
06:31 PM Bug #20741 (Closed): RubyVM::InstructionSequence.compile emits a wrong warning (prism?)
kddnewton (Kevin Newton)
03:04 PM Bug #20741: RubyVM::InstructionSequence.compile emits a wrong warning (prism?)
I have submitted a PR that will fix this https://github.com/ruby/ruby/pull/11632. kddnewton (Kevin Newton)
06:31 PM Revision 2beb4c6e (git): [PRISM] Assume an eval context for RubyVM::ISEQ compile
Fixes [Bug #20741] kddnewton (Kevin Newton)
05:36 PM Revision 6c4ce726 (git): [ruby/irb] Use InstructionSequence#script_lines to get method source
(https://github.com/ruby/irb/pull/1005)
It works with both prism and parse.y
https://github.com/ruby/irb/commit/bcfaa72d5a
tompng (tomoya ishida)
04:33 PM Revision 1c3981cb (git): [DOC] Tweaks for Array#select!
burdettelamar (Burdette Lamar)
04:33 PM Revision 4e17fa29 (git): Tweaks or Array#select
burdettelamar (Burdette Lamar)
04:14 PM Misc #20717: DevMeeting-2024-10-03
* [Misc #20728] Add eileencodes as a core committer
* She's made many useful contributions
* She's currently helping to maintain Prism / Prism Compiler and it would be helpful if she can merge her own commits
tenderlovemaking (Aaron Patterson)
08:05 AM Misc #20717: DevMeeting-2024-10-03
* [Misc #20746] Request to migrate the `json` gem from `flori/json` repository to `ruby/json` (byroot)
* Current maintainers don't have full administrative rights over the repo, which is problematic.
* We've been trying to contact ...
byroot (Jean Boussier)
03:54 PM Feature #20742: Trying to assign to a variable in statement modifier should emit a warning
Actually, the pattern is fairly common, I should have searched for `unless` usage in addition to `if`:
```
lib/rdoc/code_object/any_method.rb: return nil unless klass = @store.find_class_or_module(klass_name)
lib/rdoc/code_obje...
jeremyevans0 (Jeremy Evans)
03:48 PM Feature #20742: Trying to assign to a variable in statement modifier should emit a warning
Eregon (Benoit Daloze) wrote in #note-2:
> jeremyevans0 (Jeremy Evans) wrote in #note-1:
> ...
The pattern is used in the standard library. Here's a list of assignments in post-conditionals that don't use parentheses around the assign...
jeremyevans0 (Jeremy Evans)
11:42 AM Feature #20742: Trying to assign to a variable in statement modifier should emit a warning
jeremyevans0 (Jeremy Evans) wrote in #note-1:
> Assigning in post-conditionals is a fairly common in Ruby.
Is it? I don't think I've seen that often or maybe even never.
Eregon (Benoit Daloze)
03:54 PM Bug #20748 (Closed): Issue with defined? given method call with block in prism compiler
Applied in changeset commit:git|1e52dde82af10f2a2ec648b34dce30bec4154245.
----------
[PRISM] Match defined behavior for explicit block
Fixes [Bug #20748]
kddnewton (Kevin Newton)
03:29 PM Bug #20748: Issue with defined? given method call with block in prism compiler
I agree it's weird but it could cause an incompatibility I guess, `defined?()` is a weird one for sure. luke-gru (Luke Gruber)
03:16 PM Bug #20748: Issue with defined? given method call with block in prism compiler
I have opened a PR for this to match the behavior exactly, but I will say I think Prism's behavior is actually correct here. Right now compile.c results in:
```ruby
puts defined?(undefined_method(){}) # => "expression"
puts defined?...
kddnewton (Kevin Newton)
01:59 PM Bug #20748 (Closed): Issue with defined? given method call with block in prism compiler
test.rb
```ruby
puts defined?(undefined_method(){})
```
```
./ruby --parser=parse.y -I../ruby/lib -I. -I.ext/x86_64-linux -I.ext/common -r./x86_64-linux-fake ../ruby/test.rb
expression
```
```
./ruby --parser=prism -I../ruby...
luke-gru (Luke Gruber)
03:53 PM Revision 1e52dde8 (git): [PRISM] Match defined behavior for explicit block
Fixes [Bug #20748] kddnewton (Kevin Newton)
02:41 PM Bug #20237 (Closed): Unable to unshare(CLONE_NEWUSER) in Linux because of timer thread
jeremyevans0 (Jeremy Evans)
06:42 AM Bug #20237: Unable to unshare(CLONE_NEWUSER) in Linux because of timer thread
Thank you @ko1 for sharing the current situation. I'm fine with closing this ticket as it is due to the design decision and (AFAIK) the original behavior had never been documented. hanazuki (Kasumi Hanazuki)
02:16 PM Bug #20749 (Closed): Error message not shown in output with prism
test.rb:
```ruby
p = Proc.new
```
```
./ruby --parser=parse.y -I../ruby/lib -I. -I.ext/x86_64-linux -I.ext/common -r./x86_64-linux-fake ../ruby/test.rb
../ruby/test.rb:1:in 'Proc.new': tried to create Proc object without a bloc...
luke-gru (Luke Gruber)
01:27 PM Revision 50564f88 (git): ASAN unpoison whole heap page after adding to size pool
peterzhu2118 (Peter Zhu)
01:27 PM Revision 46ba3752 (git): Don't return inside of asan_unpoisoning_object
peterzhu2118 (Peter Zhu)
01:27 PM Revision c5a782df (git): Replace with asan_unpoisoning_object
peterzhu2118 (Peter Zhu)
01:13 PM Revision f4f46af9 (git): Complete spec
Co-authored-by: Vít Ondruch <vondruch@redhat.com> deivid (David Rodríguez)
01:13 PM Revision 2bfeedc0 (git): [rubygems/rubygems] Simplify handling default gem caching
By the time `cached_gem` is called, default gem cache has already been
handled. So no need to try redownload it again, it's enough to check the
cache location directly.
https://github.com/rubygems/rubygems/commit/70e10236b6
deivid (David Rodríguez)
12:44 PM Revision d57bc870 (git): [PRISM] Remove snapshot testing from Prism sync
kddnewton (Kevin Newton)
11:38 AM Misc #20746: Request to migrate the json gem from flori/json repository to ruby/json
+1, as I wrote in https://github.com/flori/json/issues/591 I think this is important for many reasons. Eregon (Benoit Daloze)
08:02 AM Misc #20746 (Closed): Request to migrate the json gem from flori/json repository to ruby/json
### Context
The `json` gem, which is part of Ruby's default gems, is the only default gem (aside from `rubygems` itself) for which the source repository isn't under the `ruby/` organization.
@naruse and @hsbt, the two maintainers h...
byroot (Jean Boussier)
11:37 AM Revision fab01b15 (git): [rubygems/rubygems] Remove temporary `.lock` files left around by gem installer
https://github.com/rubygems/rubygems/commit/edbb2e3475 deivid (David Rodríguez)
11:37 AM Revision 7411caa1 (git): [rubygems/rubygems] Make sure implementations of `Gem.open_file_with_flock` match
https://github.com/rubygems/rubygems/commit/174a8e5284 deivid (David Rodríguez)
06:51 AM Bug #20745: IO::Buffer#copy triggers UB when src/dest buffers overlap
`#set_string` in combination with `.for` with a block has the same problem.
```shell-session
% docker run --platform=linux/amd64 --rm ruby:3.3.5-alpine3.20 ruby -e 's=+"0123456789"; IO::Buffer.for(s) {|b| b.set_string(s, 3, 7, 0) }; ...
hanazuki (Kasumi Hanazuki)
06:33 AM Bug #20745 (Closed): IO::Buffer#copy triggers UB when src/dest buffers overlap
The current implementation of `IO::Buffer#copy` uses `memcpy` to copy data between the two memory regions. `memcpy` has a requirement that the source and destination must not overlap; otherwise the behavior is undefined.
When copying ...
hanazuki (Kasumi Hanazuki)
01:35 AM Feature #20738: Removing a specific entry from a hash literal
It would be better to explain the motive. This is an appropriate code.
``` ruby
{
foo: 1
bar: 2
}
```
This is not a mistake, but it's a circuitous code.
``` ruby
h = {}
h[:foo] = 1
h[:bar] = 2
h
```
The gist of ...
ursm (Keita Urashima)
01:19 AM Feature #20738: Removing a specific entry from a hash literal
I would like to offer that as I used a simple grep pattern, I could only find simple examples. I wanted to show that this is not as rare as it seems. ursm (Keita Urashima)

09/15/2024

07:15 PM Bug #20726: Issue with hash without braces when assigned to constant with ractor literals
This problem was not reproduced with `--parser=prism`, but with `--parser=parse.y`.
```ruby
# shareable_constant_value: literal
# test.rb
puts RUBY_DESCRIPTION
A = [a: 1]
p A
```
```shell
$ ruby --parser=prism test.rb
r...
osyo (manga osyo)
06:07 PM Bug #20743: ruby doesn't properly split RUBY_DEBUG_LOG_FILTER into items
Apparently introduced in the following commit:
https://github.com/ruby/ruby/commit/5a4f997b2e8e819ed40731cd769826112072a9d4#diff-1cae4f3b0e13ea38a331366fa5370f5648b2c37090a19e8fba9b8e921c36f505R369
x-yuri (Yuri Kanivetsky)
05:58 PM Bug #20743 (Assigned): ruby doesn't properly split RUBY_DEBUG_LOG_FILTER into items
```
$ docker run --rm alpine:3.20.3 sh -euxc '
apk add git build-base autoconf ruby yaml-dev zlib-dev openssl-dev libffi-dev
git clone https://github.com/ruby/ruby
cd ruby
git checkout 532af89e3b5b78dd3a6fe29c6cc64ad...
x-yuri (Yuri Kanivetsky)
06:06 PM Feature #20738: Removing a specific entry from a hash literal
> There are several Rails codes that can be improved with this feature.
As one of the maintainer of the code you linked to, I agree with @jeremyevans0 that it's currently fine as it is. I wouldn't use such feature if it was added.
byroot (Jean Boussier)
04:32 PM Feature #20738: Removing a specific entry from a hash literal
ursm (Keita Urashima) wrote in #note-9:
> There are several Rails codes that can be improved with this feature. In my opinion, it is especially useful in multiple situations, such as generating JSON responses and constructing HTTP reque...
jeremyevans0 (Jeremy Evans)
12:36 PM Feature #20738: Removing a specific entry from a hash literal
Eregon (Benoit Daloze) wrote in #note-8:
> I don't think it's very frequent to need this to warrant a syntax change either.
There are several Rails codes that can be improved with this feature. In my opinion, it is especially useful ...
ursm (Keita Urashima)
05:52 PM Feature #20742: Trying to assign to a variable in statement modifier should emit a warning
Assigning in post-conditionals is a fairly common in Ruby. If this is to be a warning, it would have to be limited to cases where the variable being assigned in the post-conditional was not in scope before the post-conditional, and is a... jeremyevans0 (Jeremy Evans)
05:42 PM Feature #20742 (Open): Trying to assign to a variable in statement modifier should emit a warning
There is an example in Control Expressions documentation:
```
p a if a = 0.zero? # raises NameError “undefined local variable or method ‘a’”.
```
However, if we had already defined `a` there would be no exception raised. If one u...
esad (Esad Hajdarevic)
10:25 AM Bug #20736: prism emits wrong warnings in syntax-error code
I think good error recovery is key to have helpful error messages when writing Ruby code.
Maybe one way here is to not show warnings if there are any errors?
OTOH I think it is not a big usability problem, warnings appear first and t...
Eregon (Benoit Daloze)
12:51 AM Bug #20736: prism emits wrong warnings in syntax-error code
https://github.com/ruby/ruby/pull/11626 mame (Yusuke Endoh)
12:46 AM Bug #20736: prism emits wrong warnings in syntax-error code
I wonder if error recovery is needed in the interpreter's parser. It might be a benefit to be able to output almost all syntax errors in one run. However, I am not sure about the benefit, given the such confusing warnings.
Well, let's...
mame (Yusuke Endoh)
09:10 AM Bug #20741: RubyVM::InstructionSequence.compile emits a wrong warning (prism?)
> prism?
Yes:
```
$ ./miniruby --parser=parse.y -we 'p RubyVM::InstructionSequence.compile("42").eval'
42
$ ./miniruby --parser=prism -we 'p RubyVM::InstructionSequence.compile("42").eval'
<compiled>:1: warning: possibly useles...
byroot (Jean Boussier)
01:05 AM Bug #20741 (Closed): RubyVM::InstructionSequence.compile emits a wrong warning (prism?)
```
$ ./local/bin/ruby -we 'p RubyVM::InstructionSequence.compile("42").eval'
<compiled>:1: warning: possibly useless use of a literal in void context
42
```
mame (Yusuke Endoh)
01:06 AM Revision 532af89e (git): Prevent warnings: the block passed to ... may be ignored
mame (Yusuke Endoh)
01:05 AM Revision bc13ec73 (git): Prevent warnings: assigned but unused variable
mame (Yusuke Endoh)

09/14/2024

04:34 PM Feature #20738: Removing a specific entry from a hash literal
I don't think it's OK to magically drop entries from a literal based on some value, it's way too surprising.
Notably this would make the capacity of the literal potentially wrong, etc.
And of course `Hash::DROP` could leak into some vari...
Eregon (Benoit Daloze)
05:24 AM Feature #20738: Removing a specific entry from a hash literal
I believe that the following two points will prevent the same problems as in the past:
1. Use a value that is never used (e.g., Hash::DROP) instead of nil.
2. Special treatment of “special value” only if the hash is constructed with ...
ursm (Keita Urashima)
04:53 AM Feature #20738: Removing a specific entry from a hash literal
History. Long ago in Ruby, such a special value actually existed. It was `nil`.
```ruby
# ruby 1.4.6
h = { 1 => 2 }
p h #=> {1=>2}
# This removes the key 1
h[1] = nil
p h #=> {}
```
However, there were more and more ...
mame (Yusuke Endoh)
07:54 AM Bug #20730: LoadError if Rakefile has shebang
`ruby` command handles a shebang, but it is not a part of the Ruby syntax.
Parsers should not consider shebang lines.
nobu (Nobuyoshi Nakada)

09/13/2024

08:58 PM Bug #20736: prism emits wrong warnings in syntax-error code
Right now Prism is lexing `9a` as an integer and then an identifier. So it's effectively parsing it as `1; 2; 9; a`. That's why it's warning that `9` is a useless literal. I could change this in the parser to parse it instead as a missin... kddnewton (Kevin Newton)
07:51 PM Bug #20736: prism emits wrong warnings in syntax-error code
Although I can understand the technical reason, I still feel a bit uncomfortable when the warning says “use of a literal” since `9a` is clearly not a literal to the human eye.
As a practical matter, this behavior causes a lot of warni...
mame (Yusuke Endoh)
05:02 PM Bug #20736 (Feedback): prism emits wrong warnings in syntax-error code
kddnewton (Kevin Newton)
03:32 PM Bug #20736: prism emits wrong warnings in syntax-error code
This is because Prism recovers from the syntax error. For example:
```ruby
eval("1; 2; 9a; 3; 4; 5; 9b")
```
with Prism this will give:
```
(eval at test.rb:1):1: warning: possibly useless use of a literal in void context
(e...
kddnewton (Kevin Newton)
03:23 AM Bug #20736 (Feedback): prism emits wrong warnings in syntax-error code
```
$ ./local/bin/ruby -w --parser=parse.y -e 'begin eval("0a"); rescue SyntaxError; end'
$ ./local/bin/ruby -w --parser=prism -e 'begin eval("0a"); rescue SyntaxError; end'
(eval at -e:1):1: warning: possibly useless use of a literal...
mame (Yusuke Endoh)
07:30 PM Revision ddbd6440 (git): [ruby/prism] Stat file first to check directory
https://github.com/ruby/prism/commit/4ed7de537b kddnewton (Kevin Newton)
07:16 PM Bug #20473: Ractor array/hash literals
Okay, makes sense. Maybe if/when ractors are used more I'll take a look at this again. luke-gru (Luke Gruber)
07:13 PM Revision f85efc97 (git): [ruby/prism] Expose main_script in serialization API
https://github.com/ruby/prism/commit/0b527ca93f kddnewton (Kevin Newton)
06:13 PM Bug #20735 (Closed): prism emits "ambiguous `&`" warning
kddnewton (Kevin Newton)
04:49 PM Bug #20735: prism emits "ambiguous `&`" warning
I have opened https://github.com/ruby/ruby/pull/11622 to fix this. kddnewton (Kevin Newton)
02:40 AM Bug #20735 (Closed): prism emits "ambiguous `&`" warning
```
$ ./local/bin/ruby -w --parser=parse.y -e 'def foo(&) = nil; foo &:bar'
$ ./local/bin/ruby -w --parser=prism -e 'def foo(&) = nil; foo &:bar'
-e:1: warning: ambiguous `&` has been interpreted as an argument prefix
```
mame (Yusuke Endoh)
06:09 PM Bug #20730 (Closed): LoadError if Rakefile has shebang
Applied in changeset commit:git|9afc6a981deae6e23d938cf5c2c4baadfeaafdb1.
----------
[PRISM] Only parse shebang on main script
Fixes [Bug #20730]
kddnewton (Kevin Newton)
03:23 PM Bug #20730: LoadError if Rakefile has shebang
I have opened https://github.com/ruby/ruby/pull/11617 to fix this. kddnewton (Kevin Newton)
01:19 AM Bug #20730 (Closed): LoadError if Rakefile has shebang
`LoadError` exception will be raised when invoke the rake task with latest ruby 3.4-dev.
### Reproduce code
Here is example code.
```ruby
#!/usr/bin/env rake
p "Hello"
```
### Result
```
$ ruby -v
ruby 3.4.0dev (2024-09...
watson1978 (Shizuo Fujita)
06:09 PM Revision 77521afa (git): [PRISM] Do not warn ambiguous ampersand when symbol literal
Fixes [Bug #20735] kddnewton (Kevin Newton)
05:44 PM Feature #20309: Bundled gems for Ruby 3.5
Regarding `irb`, I find it concerning that we need to add code like this: https://github.com/ruby/ruby/blob/9afc6a981deae6e23d938cf5c2c4baadfeaafdb1/prelude.rb#L12-L44. Those are internals of Bundler that are likely to break, and I can't... deivid (David Rodríguez)
05:16 PM Bug #20737: Accidentally changed warning target on Ruby 3.3
Agreed, I didn't expect new warnings in 3.3.5 when 3.3.4 did not warn, and extra warnings can break CI (e.g. #20713). Eregon (Benoit Daloze)
05:57 AM Bug #20737 (Closed): Accidentally changed warning target on Ruby 3.3
https://github.com/ruby/ruby/pull/11613 hsbt (Hiroshi SHIBATA)
04:10 AM Bug #20737: Accidentally changed warning target on Ruby 3.3
Makes sense. Let's revert that back to the Ruby 3.3.4 one in Ruby 3.3.6. k0kubun (Takashi Kokubun)
04:03 AM Bug #20737 (Closed): Accidentally changed warning target on Ruby 3.3
I heard that concern from yhonda.
I request to backport bundled_gems.rb that is same version of the current master. After that, Ruby 3.3.5 show warnings when some default gems was loaded.
https://github.com/ruby/ruby/blob/ruby_3_3/...
hsbt (Hiroshi SHIBATA)
05:12 PM Misc #20739: Test suite does not carry over CLI options
I think it's a real issue and sometimes valuable to fix (it hurts the coverage of tests * flags).
#6648 could be helpful to automatically inherit passed flags.
Alternatively, we could ensure we only pass options for tests through `RUBYOP...
Eregon (Benoit Daloze)
01:37 PM Misc #20739 (Open): Test suite does not carry over CLI options
I'm not sure if anything needs to change here, but I wanted to report this in case anyone had any particular ideas. When running the ruby/ruby test suite, lots of tests call `EnvUtil.invoke_ruby` directly or indirectly through `assert_in... kddnewton (Kevin Newton)
05:01 PM Bug #20731 (Closed): warning: mismatched indentations at 'when' appears with prism enabled ruby
kddnewton (Kevin Newton)
04:08 PM Bug #20731: warning: mismatched indentations at 'when' appears with prism enabled ruby
I have opened https://github.com/ruby/ruby/pull/11620 to fix this. kddnewton (Kevin Newton)
02:42 AM Bug #20731 (Assigned): warning: mismatched indentations at 'when' appears with prism enabled ruby
hsbt (Hiroshi SHIBATA)
01:37 AM Bug #20731: warning: mismatched indentations at 'when' appears with prism enabled ruby
@mame
Thanks!
hsbt (Hiroshi SHIBATA)
01:34 AM Bug #20731: warning: mismatched indentations at 'when' appears with prism enabled ruby
The wrong warning with `rss` gem is a different issue. I have created a separate ticket #20732. mame (Yusuke Endoh)
01:24 AM Bug #20731: warning: mismatched indentations at 'when' appears with prism enabled ruby
I also have similar issues with `rss`.
```
/Users/hsbt/Documents/github.com/ruby/ruby/gems/src/rss/lib/rss/1.0.rb:81: warning: mismatched indentations at ‘else’ with ‘if’ at 79
(snip)
```
https://github.com/ruby/rss/blob/master/...
hsbt (Hiroshi SHIBATA)
01:20 AM Bug #20731 (Closed): warning: mismatched indentations at 'when' appears with prism enabled ruby
### Steps to reproduce
1. Create a `case_sample.rb` file
```
foo = :bar
case foo
when :bar
p 'foo is :bar'
when :baz
# do something
else
# do something
end
```
2. Run this file against the latest Ruby 3.4.0...
yahonda (Yasuo Honda)
04:51 PM Revision 9afc6a98 (git): [PRISM] Only parse shebang on main script
Fixes [Bug #20730] kddnewton (Kevin Newton)
04:51 PM Revision d42d1905 (git): [PRISM] Allow case/when to be indented with no warning
Fixes [Bug #20731] kddnewton (Kevin Newton)
04:45 PM Bug #20740: prism_compile coding issue for PM_FORWARDING_SUPER_NODE
PR here: https://github.com/ruby/ruby/pull/11621 luke-gru (Luke Gruber)
04:44 PM Bug #20740 (Closed): prism_compile coding issue for PM_FORWARDING_SUPER_NODE
I found a coding issue in prism_compile.c but I can't find a bug that would result from it.
The `current_block` is not set back when a block is given.
luke-gru (Luke Gruber)
04:09 PM Bug #20732 (Closed): prism emits "mismatched indentations" warning in eval
Applied in changeset commit:git|74f315c3f5908512dfdeeab2dd76d93e98149769.
----------
[PRISM] Turn off mismatched indentation warnings in eval
Fixes [Bug #20732]
kddnewton (Kevin Newton)
03:26 PM Bug #20732: prism emits "mismatched indentations" warning in eval
I have opened https://github.com/ruby/ruby/pull/11618 to fix this. kddnewton (Kevin Newton)
01:28 AM Bug #20732 (Closed): prism emits "mismatched indentations" warning in eval
```ruby
eval(<<-EOC)
if @check
end
EOC
```
```
$ ruby --parser=parse.y -w t.rb
$ ruby --parser=prism -w t.rb
(eval at t.rb:1):2: warning: mismatched indentations at 'end' with 'if' at 1
```
This issue actually occurs in ...
mame (Yusuke Endoh)
04:08 PM Revision 74f315c3 (git): [PRISM] Turn off mismatched indentation warnings in eval
Fixes [Bug #20732] kddnewton (Kevin Newton)
03:05 PM Revision 353997dd (git): [ruby/prism] Refactor and move common node flags count into a constant to reuse in templates
https://github.com/ruby/prism/commit/c20bf05ecc andrykonchin (Andrew Konchin)
03:05 PM Revision 38f8f42e (git): [ruby/prism] Unify code style of flags generation in the nodes templates
https://github.com/ruby/prism/commit/dbb7e0a44e andrykonchin (Andrew Konchin)
02:58 PM Feature #20738: Removing a specific entry from a hash literal
With the previous idea, I can't have both removing entries and returning nil depending on the condition.
``` ruby
# If user.child? is true and user.parent is nil, I want parent_name: nil, but the entry is removed.
{
?parent_name:...
ursm (Keita Urashima)
01:17 PM Feature #20738: Removing a specific entry from a hash literal
nobu (Nobuyoshi Nakada) wrote in #note-1:
> "A special value" doesn't feel like a good idea to me.
Hmmm, does that mean we should extend the syntax? For example, something like this?
``` ruby
{
foo: 1,
?bar: nil
} #=> {foo...
ursm (Keita Urashima)
12:16 PM Feature #20738: Removing a specific entry from a hash literal
Yes, I sometimes do that as well. However, I am not happy that the shape of the resulting hash is unclear. ursm (Keita Urashima)
11:59 AM Feature #20738: Removing a specific entry from a hash literal
How about using `**`?
```ruby
def bar? = false
{
foo: 1,
**(bar? ? { bar: 2 } : {})
}
# => {:foo=>1}
```
Also, you can use `**nil` in ruby 3.4-dev.
```ruby
def bar? = false
{
foo: 1,
**({ bar: 2 } if bar?)...
osyo (manga osyo)
07:57 AM Feature #20738: Removing a specific entry from a hash literal
"A special value" doesn't feel like a good idea to me. nobu (Nobuyoshi Nakada)
07:33 AM Feature #20738 (Rejected): Removing a specific entry from a hash literal
Sometimes I want to decide whether or not to add a particular entry to a hash depending on a condition. If the entire hash does not use nil, I can use Hash#compact.
```ruby
{
foo: 1,
bar: bar? ? 2 : nil
}.compact
```
But i...
ursm (Keita Urashima)
02:06 PM Revision c996f409 (git): Ignore -Wdangling-pointer in rb_gc_set_stack_end
Fixes this compiler warning:
thread.c:4530:18: warning: storing the address of local variable ‘stack_end’ in ‘*stack_end_p’ [-Wdangling-pointer=]
4530 | *stack_end_p = &stack_end;
| ~~~~~~~~~~~~~^~~~~~~~~~~~
peterzhu2118 (Peter Zhu)
01:17 PM Revision f0dcbbe9 (git): [ruby/prism] Reverse-sync numbered reference range handling
https://github.com/ruby/prism/commit/a2f57ef6e3 kddnewton (Kevin Newton)
12:42 PM Revision 36b2fea6 (git): [rubygems/rubygems] Remove `BUNDLER_IGNORE_DEFAULT_GEM`
As long as we use a high enough test version, the default version of
Bundler should never get in the middle.
https://github.com/rubygems/rubygems/commit/d63f0818aa
deivid (David Rodríguez)
12:42 PM Revision 8e2d971b (git): [rubygems/rubygems] Remove redundant arguments passed to `bundle` helper
They are used by default.
https://github.com/rubygems/rubygems/commit/0b7f7d879f
deivid (David Rodríguez)
12:42 PM Revision 64252851 (git): [rubygems/rubygems] Make sure test does not load system version of Bundler
https://github.com/rubygems/rubygems/commit/d850ea1d95 deivid (David Rodríguez)
10:37 AM Bug #20725 (Closed): Inconsistent handling of doubly-unbounded ranges in Range#overlap?
Applied in changeset commit:git|24493779b79bb57fd2e71bf6e0ababe95448a9d6.
----------
[Bug #20725] Should not call compare on `nil`-endpoint
It means unbounded, always inclusive of other ranges.
nobu (Nobuyoshi Nakada)
01:56 AM Bug #20725: Inconsistent handling of doubly-unbounded ranges in Range#overlap?
https://github.com/ruby/ruby/pull/11609 nobu (Nobuyoshi Nakada)
09:23 AM Revision 24493779 (git): [Bug #20725] Should not call compare on `nil`-endpoint
It means unbounded, always inclusive of other ranges. nobu (Nobuyoshi Nakada)
07:52 AM Revision 0f3dc2f9 (git): Prevent warnings "the block passed to ... may be ignored"
mame (Yusuke Endoh)
07:45 AM Bug #20723: `IO#close` is broken on Ruby 3.3+ when using the Fiber scheduler.
Sorry about this. I think https://github.com/ruby/ruby/pull/11614 is the smallest diff that will fix the issue (and this should probably be backported to 3.3).
Separately to that, I wonder if we need to wrap up some common function fo...
kjtsanaktsidis (KJ Tsanaktsidis)
06:49 AM Revision b6c7226f (git): Put typeprof.gemspec
mame (Yusuke Endoh)
06:49 AM Revision f090d1fa (git): Try to find bundled gem version from lib/*/version.rb
mame (Yusuke Endoh)
06:49 AM Revision cf5b9658 (git): Use the development version of typeprof in test-bundled-gems
mame (Yusuke Endoh)
05:35 AM Revision 58942023 (git): typo otherBasis -> orthoBasis
The original function name in ao.c was orthoBasis.
I guess the function is generating orthonormal basis (https://en.wikipedia.org/wiki/Orthonormal_basis).
aoki1980taichi
04:19 AM Revision 3146cbbb (git): Dont't warn reline called from irb, reline is already declared at irb gemspec
hsbt (Hiroshi SHIBATA)
02:39 AM Revision 6ae05584 (git): [ruby/net-http] Prevent warnings
```
/home/chkbuild/chkbuild/tmp/build/20240913T003003Z/ruby/test/net/http/utils.rb:32: warning: assigned but unused variable - e
/home/chkbuild/chkbuild/tmp/build/20240913T003003Z/ruby/test/net/http/utils.rb:61: warning: assigned but unu...
mame (Yusuke Endoh)
02:34 AM Revision 5e3f1b6a (git): Prevent a warning: assigned but unused variable - exp_events
mame (Yusuke Endoh)
02:32 AM Revision d1d0c50c (git): Prevent a warning: assigned but unused variable - t0
mame (Yusuke Endoh)
02:30 AM Bug #20734 (Closed): Test failure at FreeBSD 14.1
FreeBSD 14.1 build is also failure with ruby master. This is different error from #20733
```
[hsbt@freebsd ~/ruby]$ make
BASERUBY = /usr/local/bin/ruby --disable=gems
CC = clang
LD = ld
LDSHARED =...
hsbt (Hiroshi SHIBATA)
02:29 AM Bug #20733 (Open): Build failure OpenSSL extension with FreeBSD 13.3
FreeBSD 13.3 build on Ruby CI was failure from 1 week ago. I manually build ruby master on FreeBSD 13 and got the following error.
```
[hsbt@freebsd /usr/home/hsbt/ruby]$ make
BASERUBY = /usr/local/bin/ruby --disable=gems
...
hsbt (Hiroshi SHIBATA)
01:39 AM Misc #20728: Propose Eileen Uchitelle as a core committer
I thought she was a committer long ago. mame (Yusuke Endoh)
12:47 AM Bug #20729 (Closed): Test failure with 0fc8422a05 and native mswin environment
I got the following failure with mswin environment.
```
1) Failure:
TestRubyOptions#test_command_line_progname_nonascii [C:/Users/hsbt/DevDrive/github.com/ruby/ruby/test/ruby/test_rubyoptions.rb:1086]:
[ruby-dev:48752] [Bug #1055...
hsbt (Hiroshi SHIBATA)
12:28 AM Revision d80a81c1 (git): Constify `struct getpwnam_r_args::login`
nobu (Nobuyoshi Nakada)

09/12/2024

10:44 PM Misc #20728: Propose Eileen Uchitelle as a core committer
+1 k0kubun (Takashi Kokubun)
08:48 PM Misc #20728: Propose Eileen Uchitelle as a core committer
+1 Eregon (Benoit Daloze)
08:25 PM Misc #20728: Propose Eileen Uchitelle as a core committer
+1 jhawthorn (John Hawthorn)
08:17 PM Misc #20728: Propose Eileen Uchitelle as a core committer
+1, I think Eileen would make a great addition, especially as a maintainer on the Prism parser / compiler. She's also been participating in the MMtk GC integration and her help in that area is valuable as well. tenderlovemaking (Aaron Patterson)
07:18 PM Misc #20728 (Closed): Propose Eileen Uchitelle as a core committer
I'd like to propose Eileen Uchitelle (@eileencodes) as a core committer. Now that Prism ([Feature #20564]) is merged, I would like her help maintaining the Prism parser and compiler without having to go through me to get patches merged.
...
kddnewton (Kevin Newton)
09:36 PM Feature #20564 (Open): Switch default parser to Prism
>Is there the criteria for reverting this until Ruby 3.4 release?
I'm still waiting this answer.
hsbt (Hiroshi SHIBATA)
05:43 PM Feature #20564 (Closed): Switch default parser to Prism
Per this ticket, I have merged https://github.com/ruby/ruby/pull/11497 to switch the default parser on master. The caveats in this ticket still apply, and I will be working on those next.
As a part of this PR I have added a new GitHub...
kddnewton (Kevin Newton)
08:03 PM Revision 0fc8422a (git): Move checks for heap traversal to rb_gc_mark_weak
If we are during heap traversal, we don't want to call rb_gc_impl_mark_weak.
This commit moves that check from rb_gc_impl_mark_weak to rb_gc_mark_weak.
peterzhu2118 (Peter Zhu)
08:03 PM Revision 92b7b78e (git): Assert that we are during GC when marking
peterzhu2118 (Peter Zhu)
08:03 PM Revision 661f64e8 (git): Add variable objspace in RB_GC_MARK_OR_TRAVERSE
peterzhu2118 (Peter Zhu)
08:03 PM Revision 606db2c4 (git): Move special const checks to rb_gc_mark_weak
peterzhu2118 (Peter Zhu)
07:49 PM Revision 2d495300 (git): [PRISM] Fix up pm_compile_branch_condition issue with single insn iseqs
kddnewton (Kevin Newton)
07:19 PM Revision 0960c8aa (git): [DOC] Tweaks for Array#fetch_values (#11603)
burdettelamar (Burdette Lamar)
07:18 PM Revision ce5fd35b (git): [DOC] Tweaks for Array#fetch (#11602)
burdettelamar (Burdette Lamar)
07:07 PM Revision 05e02783 (git): [PRISM] Ignore test_parse_directory if error is nil
kddnewton (Kevin Newton)
06:55 PM Bug #20473: Ractor array/hash literals
Truthfully it might not be worth adding these optimizations. It's a lot to maintain in both compilers, and this kind of literal is extremely unlikely to be used with Ractors until other problems with Ractors are solved. I would just as s... kddnewton (Kevin Newton)
06:40 PM Bug #20473: Ractor array/hash literals
I added back the array literal optimizations here: https://github.com/luke-gru/ruby/tree/bug20473
I didn't send a PR because it's not working with prism yet. Let me know if this is an okay solution, I could get it working for prism to...
luke-gru (Luke Gruber)
06:09 PM Bug #20727 (Assigned): YJIT segmentation fault inside of invalidate_block_version
For a while we've been seeing an occasional segfault in production inside of YJIT's invalidation code. It seems to happen most often when a invalidation on a widely used CME.
```
[BUG] Segmentation fault at 0x0000000000000014"
"ruby...
jhawthorn (John Hawthorn)
05:43 PM Bug #20586 (Closed): Some filesystem calls in dir.c are missing error handling and can return incorrect results if interrupted
Applied in changeset commit:git|f2919bd11c570fc5f5440d1f101be38f61e3d16b.
----------
Add error checking to readdir, telldir, and closedir calls in dir.c
Raise SystemCallError exception when these functions return an error.
This change...
jeremyevans (Jeremy Evans)
05:43 PM Revision 9c461cd1 (git): [PRISM] Check error type for parsing directory
kddnewton (Kevin Newton)
05:43 PM Revision 38ba15be (git): [ruby/prism] Check errno for parsing directory
https://github.com/ruby/prism/commit/d68ea29d04 kddnewton (Kevin Newton)
05:43 PM Revision ca61729f (git): Fix opening multibyte character filepath on Windows
kddnewton (Kevin Newton)
05:43 PM Revision d4af38ec (git): Fix FILE_SHARE_* permissions for Windows in read_entire_file
kddnewton (Kevin Newton)
05:43 PM Revision d5232fd7 (git): Temporarily exclude some TestRubyOptions test for parse.y
The description has been updated when running with Prism to have
+PRISM, which means that tests asserting against the description
when running with --parser=parse.y will be incorrect if the
subprocess ends up using Prism. We need to fix ...
kddnewton (Kevin Newton)
05:43 PM Revision f59b908e (git): [PRISM] Omit some TestAST tests when Prism is enabled
kddnewton (Kevin Newton)
05:43 PM Revision d4ab1e44 (git): [PRISM] Move compile scope node to its own function
kddnewton (Kevin Newton)
05:43 PM Revision c4b43692 (git): [PRISM] Move case node compilation into its own function
kddnewton (Kevin Newton)
05:43 PM Revision ea2af578 (git): Switch the default parser from parse.y to Prism
This commit switches the default parser to Prism. There are a
couple of additional changes related to this that are a part of
this as well to make this happen.
* Switch the default parser in parse.h
* Remove the Prism-specific workflow ...
kddnewton (Kevin Newton)
05:04 PM Revision f2919bd1 (git): Add error checking to readdir, telldir, and closedir calls in dir.c
Raise SystemCallError exception when these functions return an error.
This changes behavior for the following case (found by the tests):
```ruby
dir1 = Dir.new('..')
dir2 = Dir.for_fd(dir1.fileno)
dir1.close
dir2.close
```
The above c...
jeremyevans (Jeremy Evans)
03:50 PM Revision 15135030 (git): [ruby/prism] Do not warn \r in shebang on windows
https://github.com/ruby/prism/commit/e8c862ca1f kddnewton (Kevin Newton)
03:04 PM Revision a542479a (git): [ruby/irb] Remove KEYWORD_ALIASES which handled special alias name
of irb_break irb_catch and irb_next command
(https://github.com/ruby/irb/pull/1004)
* Remove KEYWORD_ALIASES which handled special alias name of irb_break irb_catch and irb_next command
* Remove unused instance variable user_aliases
C...
tompng (tomoya ishida)
02:47 PM Revision fcb05830 (git): Accept version range
Single `Integer` argument means an exact match to the major version. nobu (Nobuyoshi Nakada)
02:33 PM Revision d8aa8f41 (git): Related for Array#eql?
burdettelamar (Burdette Lamar)
02:32 PM Revision c147e43b (git): [DOC] Related for Array#empty?
burdettelamar (Burdette Lamar)
02:32 PM Revision 471d3950 (git): [DOC] Tweaks for Array#each_index
burdettelamar (Burdette Lamar)
02:24 PM Revision ad761ad2 (git): Release GVL for get{pwnam,pwuid,grgid,grnam}_r calls in process.c
Do not release GVL around get{pwuid,pwnam,grgid,grnam} calls,
as doing so is not thread-safe. Another C extension could have
a concurrent call, and derefencing the returned pointer from
these calls could result in a segfault.
Have rb_h...
jeremyevans (Jeremy Evans)
02:23 PM Bug #20620: singleton_method undefined for module using "extend self"
I submitted a pull request to implement this: https://github.com/ruby/ruby/pull/11605
In terms of compatibility issues:
* For singleton classes that prepend a module, and have the method defined in both the singleton class and prep...
jeremyevans0 (Jeremy Evans)
02:15 PM Revision b10500b7 (git): Assume VM is locked in rb_vm_ci_free
The GC always locks the VM, so we don't need to lock it in rb_vm_ci_free. peterzhu2118 (Peter Zhu)
01:30 PM Bug #20726 (Closed): Issue with hash without braces when assigned to constant with ractor literals
```ruby
# shareable_constant_value: literal
a = 'hi'
A = ['hello' => a]
p A
```
gives:
```
./ruby -I../ruby/lib -I. -I.ext/x86_64-linux -I.ext/common -r./x86_64-linux-fake ../ruby/test.rb
-- raw disasm--------
trace:...
luke-gru (Luke Gruber)
01:03 PM Bug #20725 (Closed): Inconsistent handling of doubly-unbounded ranges in Range#overlap?
The new `Range#overlap?` method does not seem to have a clear definition of how it behaves when passed ranges with nil begin **and** end `(nil..)`.
In the following two cases, it seems to treat this type of range as an "infinite" rang...
jeromepl (Jerome Parent-Levesque)
12:06 PM Revision f47c057c (git): Remove unnecessary file
ydah (Yudai Takada)
12:06 PM Revision 885cf350 (git): Lrama v0.6.10
ydah (Yudai Takada)
07:28 AM Revision 2a1962fc (git): Warn missing irb cases
hsbt (Hiroshi SHIBATA)
07:28 AM Revision 86fcfcb3 (git): Fixed ensure scope
hsbt (Hiroshi SHIBATA)
07:28 AM Revision 6c9f0be6 (git): Don't use instance variable
hsbt (Hiroshi SHIBATA)
07:28 AM Revision ee064d1c (git): Back to Bundler.ui and Bundler::Definition.no_lock
hsbt (Hiroshi SHIBATA)
07:28 AM Revision 754e15f4 (git): Support bundler/inline mode
hsbt (Hiroshi SHIBATA)
07:28 AM Revision 70c66137 (git): Use better resolution by Bundler at force_activate
hsbt (Hiroshi SHIBATA)
03:53 AM Feature #19908: Update to Unicode 15.1
>I think it's more prudent to do 15.1 first, then 16.0.
Agreed, thanks!
hsbt (Hiroshi SHIBATA)
03:21 AM Feature #19908: Update to Unicode 15.1
hsbt (Hiroshi SHIBATA) wrote in #note-8:
> Unicode 16.0 has been released.
> ...
I think it's more prudent to do 15.1 first, then 16.0. I hope to be able to work on this soon. I created a separate issue for 16.0.
duerst (Martin Dürst)
01:56 AM Feature #19908: Update to Unicode 15.1
Unicode 16.0 has been released.
https://www.unicode.org/versions/Unicode16.0.0/
Should we move this instead of 15.1?
hsbt (Hiroshi SHIBATA)
03:20 AM Feature #20724 (Closed): Update to Unicode 16.0
Unicode 16.0 has been released (see https://www.unicode.org/versions/Unicode16.0.0/). We should update to 16.0 after updating to 15.1. duerst (Martin Dürst)

09/11/2024

08:41 PM Bug #20720 (Closed): prism incorrectly marks SuperNode as forwarding in some cases
Applied in changeset commit:git|5d358b660d41e64de301f428dc0300a52a6f9566.
----------
Fix issue with super and forwarding arguments in prism_compile.c
Fixes [Bug #20720]
luke-gru (Luke Gruber)
08:41 PM Revision 5d358b66 (git): Fix issue with super and forwarding arguments in prism_compile.c
Fixes [Bug #20720] luke-gru (Luke Gruber)
07:17 PM Revision d4d6f1de (git): [ruby/prism] UTF-8 characters in file name
https://github.com/ruby/prism/commit/487f0ffe78 kddnewton (Kevin Newton)
07:03 PM Bug #20722: curious search result order on docs.ruby-lang.org
You might have more luck reporting this at the RDoc repository:
https://github.com/ruby/rdoc
p8 (Petrik de Heus)
05:07 AM Bug #20722 (Closed): curious search result order on docs.ruby-lang.org
If you search for "String" on https://docs.ruby-lang.org/en/3.3/ the first four results returned are obscure:
1. Gem::SafeMarshal::Elements::String
2. Prism::StringFlags
3. Prism::StringNode
4. Reline::Terminfo::StringWithTiparm
5...
masterleep2 (Bill Lipa)
06:14 PM Revision 12d7ead0 (git): [rubygems/rubygems] Small simplification in Definition class
https://github.com/rubygems/rubygems/commit/03ddfd7610
Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>
deivid (David Rodríguez)
06:14 PM Revision 364cc958 (git): [rubygems/rubygems] Uncomment and possibly fix spec on JRuby
This was commented out almost 10 years ago, but I think it passes now!
https://github.com/rubygems/rubygems/commit/4a6b1aba3c
deivid (David Rodríguez)
05:19 PM Revision efc77d53 (git): [ruby/psych] Ensure strings with only underscores are not processed as Integer
A string similar to "0x____" should be treated as a string.
Currently it is processed as an Integer.
This alters the regex specified by http://yaml.org/type/int.html
to ensure at least one numerical symbol is present in the string
befor...
John Meade
05:15 PM Revision 818e2035 (git): [DOC] Tweaks for Array#each
burdettelamar (Burdette Lamar)
05:14 PM Revision 18fb11aa (git): [DOC] Tweaks for Array#difference (#11593)
burdettelamar (Burdette Lamar)
05:14 PM Revision c7faffd1 (git): [DOC] Tweaks for Array#drop_while
burdettelamar (Burdette Lamar)
04:35 PM Revision 1be9a998 (git): [ruby/prism] Add a flag for arguments that contain forwarding
https://github.com/ruby/prism/commit/ebd2889bee kddnewton (Kevin Newton)
03:39 PM Revision 886fc69b (git): [ruby/prism] Parse tempfile
https://github.com/ruby/prism/commit/31154a389a kddnewton (Kevin Newton)
12:49 PM Revision 7facf232 (git): [DOC] Related for Array#compact
peterzhu2118 (Peter Zhu)
12:48 PM Revision 0906b162 (git): [DOC] Tweaks for Array#drop
burdettelamar (Burdette Lamar)
12:47 PM Revision 309362d6 (git): [DOC] Tweaks for Array#dig
burdettelamar (Burdette Lamar)
12:36 PM Revision c7e18621 (git): [DOC] Tweaks for Array#delete_at
burdettelamar (Burdette Lamar)
12:33 PM Revision 3aeb9c75 (git): [DOC] Related for Array#delete_if
burdettelamar (Burdette Lamar)
11:28 AM Revision e52d4d46 (git): [rubygems/rubygems] Fix `bundle exec rake install` failing when local gem has extensions and `gemspec` DSL is being used
In a `bundle exec` context, the local specification will actually be
part of the known specifications, so RubyGems will assume it has already
been installed, which is not actually true.
This will cause `RequestSet` to rebuild extensions...
deivid (David Rodríguez)
11:28 AM Revision 89eba507 (git): [rubygems/rubygems] Only raise DSLError during Gemfile parsing when it's actually useful
DSLError prints the specific line in a Gemfile where the error was
raised. That's helpful when the error was explicitly raised by the
Gemfile DSL or, in the case it's implicitly raised, when the offending
code lives right in the Gemfile....
deivid (David Rodríguez)
11:28 AM Revision 1d72b3bd (git): [rubygems/rubygems] Don't rescue Exception when evaluating Gemfile
Things like OOM, or StackOverflow should be raised immediately.
https://github.com/rubygems/rubygems/commit/11691ce492
deivid (David Rodríguez)
11:28 AM Revision f0b9baa2 (git): [rubygems/rubygems] Refactor setting current gemfile in DSL
https://github.com/rubygems/rubygems/commit/b4ecb66224 deivid (David Rodríguez)
11:28 AM Revision 1d768ebd (git): [rubygems/rubygems] The `dsl_path` parameter in DSLError is documented as a string
https://github.com/rubygems/rubygems/commit/ab44fa9ee4 deivid (David Rodríguez)
10:49 AM Bug #20723: `IO#close` is broken on Ruby 3.3+ when using the Fiber scheduler.
I've added the following work-around: <https://github.com/socketry/io-stream/commit/7d1546fa829d3fe046f66f559d9a774497390f3e> ioquatix (Samuel Williams)
09:44 AM Bug #20723: `IO#close` is broken on Ruby 3.3+ when using the Fiber scheduler.
It may be related to https://github.com/ruby/ruby/commit/66871c5a06d723f8350935ced1e88d8cc929d809 ioquatix (Samuel Williams)
09:42 AM Bug #20723 (Closed): `IO#close` is broken on Ruby 3.3+ when using the Fiber scheduler.
The following program seems to work okay on Ruby 3.2 but hangs on Ruby 3.3:
```ruby
#!/usr/bin/env ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem 'async'
end
require 'socket'
def close_w...
ioquatix (Samuel Williams)
09:35 AM Feature #20594: A new String method to append bytes while preserving encoding
I agree with @Dan0042, the new API should not have this error-prone behavior, it should raise if out of bounds instead of silent truncation.
I also think we should fix setbyte to not have this behavior, but that's a different issue.
...
Eregon (Benoit Daloze)
09:20 AM Feature #20594: A new String method to append bytes while preserving encoding
Dan0042 (Daniel DeLorme) wrote in #note-31:
> Ironically, HexaPDF now uses an explicit modulo 256, so it would actually be fine if #setbyte raised an out-of-bound error.
> ...
Yes, as mentioned in the linked issue #15460 I implemented ...
gettalong (Thomas Leitner)
02:34 AM Feature #20594: A new String method to append bytes while preserving encoding
Ironically, HexaPDF now uses an explicit modulo 256, so it would actually be fine if #setbyte raised an out-of-bound error.
https://github.com/gettalong/hexapdf/blob/master/lib/hexapdf/filter/predictor.rb#L166
imho better safe than s...
Dan0042 (Daniel DeLorme)
01:54 AM Feature #20594: A new String method to append bytes while preserving encoding
Dan0042 (Daniel DeLorme) wrote in #note-29:
> I understand the idea of keeping things consistent. But why does `setbyte` have this behavior in the first place? A few years back there was an attempt to check bounds, and then in #15460 Ma...
shyouhei (Shyouhei Urabe)
01:32 AM Feature #20594: A new String method to append bytes while preserving encoding
I understand the idea of keeping things consistent. But why does `setbyte` have this behavior in the first place? A few years back there was an attempt to check bounds, and then in #15460 Matz apparently decided he "prefers mod 256 behav... Dan0042 (Daniel DeLorme)
09:13 AM Revision baac5376 (git): Use macos? helper
hsbt (Hiroshi SHIBATA)
09:13 AM Revision 74c3259c (git): macOS 10.13(High Sierra) is already EOL
hsbt (Hiroshi SHIBATA)
09:01 AM Revision 0b11e039 (git): Fix wrong NODE name
ydah (Yudai Takada)
09:01 AM Revision d03e0d1c (git): Implement BREAK, NEXT and REDO NODE locations
ydah (Yudai Takada)
05:13 AM Revision f7ffa763 (git): Clean up clean only extensions
The clean targets should clean up all extensions, including those have
nothing to build for any reason, e.g., platform requirements etc.
nobu (Nobuyoshi Nakada)
05:09 AM Revision cb576c13 (git): Fix duplicate dependency lines
exts.mk should deal with cleanings of extensions, including bundled
gems.
nobu (Nobuyoshi Nakada)
04:49 AM Revision 6c16598a (git): [ruby/pathname] use delete_prefix instead of sub in find method
delete_prefix with a string is easier to read than a regular expression
also it should be faster. It is available since ruby 2.5 and the gem requires
ruby 2.7.
https://github.com/ruby/pathname/commit/0070f43f19
Ivan Kuchin
04:41 AM Revision c37b6677 (git): [rubygems/rubygems] Make an exe file executable when generating new gems
Currently, an exe file isn't executable when generating new gems
because it doesn't have the correct permission.
This PR sets the correct permission same as files under the `bin`.
https://github.com/rubygems/rubygems/commit/6509bf128a
y-yagi (Yuji Yaginuma)
12:44 AM Bug #20721 (Closed): Gem executables have a .lock file in Ruby 3.3.5
With Ruby 3.3.5, every gem executable under `$prefix/bin` has a `.lock` file. This was [an unintended change](https://github.com/ruby/ruby/pull/11252#issuecomment-2337520641), which was fixed in rubygems master at https://github.com/ruby... k0kubun (Takashi Kokubun)
12:38 AM Revision 55ddfd58 (git): Fixes [Bug #20718] (#11576)
Fixes [Bug #20718]
Allow objects that are not of type `RTypedData` to use the default free function, as `RTYPEDDATA_EMBEDDED_P` can return a false positive when casting non-`RTypedData` objects
jcalvert (Jonathan Calvert)
12:28 AM Revision 4e6091ce (git): Implement WHILE and UNTIL NODE locations
ydah (Yudai Takada)

09/10/2024

09:50 PM Feature #20594: A new String method to append bytes while preserving encoding
Dan0042 (Daniel DeLorme) wrote in #note-27:
> > > For integers, the i & 0xff masking behavior comes from String#setbyte.
> ...
I don't think there is a specific use case (or maybe the use case is the same as when providing out-of-bound...
tenderlovemaking (Aaron Patterson)
06:36 PM Feature #20594: A new String method to append bytes while preserving encoding
> > For integers, the i & 0xff masking behavior comes from String#setbyte.
> ...
Can anyone explain what is the use case for this behavior? It seems strange to me that silently truncating integers would be a desirable behavior. Especial...
Dan0042 (Daniel DeLorme)
07:38 PM Revision 1adcc41b (git): [DOC] What's Here for String#append_as_bytes
String#append_as_bytes was newly introduced in #11552. peterzhu2118 (Peter Zhu)
07:38 PM Revision a723d480 (git): [DOC] Tweaks for Array#delete
burdettelamar (Burdette Lamar)
07:37 PM Revision 7ec51310 (git): [DOC] Related for Array#cycle
burdettelamar (Burdette Lamar)
07:37 PM Revision a055a426 (git): [DOC] Related for Array#count
burdettelamar (Burdette Lamar)
07:36 PM Revision ff43e618 (git): [DOC] Related for Array#concat
burdettelamar (Burdette Lamar)
07:31 PM Revision b27a128d (git): [DOC] Related for Array#compact
burdettelamar (Burdette Lamar)
07:31 PM Revision 648866b6 (git): [DOC] Related for Array#combination
burdettelamar (Burdette Lamar)
07:30 PM Revision 175a98d5 (git): [DOC] Related for Array#collect!
burdettelamar (Burdette Lamar)
06:53 PM Revision 316c2001 (git): Related for Array#collect
burdettelamar (Burdette Lamar)
06:07 PM Revision 07a0aa9b (git): [DOC] Fix link
burdettelamar (Burdette Lamar)
06:04 PM Revision 5df574d2 (git): [DOC] Fix links
burdettelamar (Burdette Lamar)
06:03 PM Revision ec3851e6 (git): [DOC] Related for Array#clear
burdettelamar (Burdette Lamar)
06:02 PM Revision bd9fa014 (git): [DOC] Related for Array bsearch methods
burdettelamar (Burdette Lamar)
06:01 PM Revision 3d09242c (git): [DOC] Related for Array#at
burdettelamar (Burdette Lamar)
06:00 PM Revision a552e04d (git): [DOC] Related for Array#assoc
burdettelamar (Burdette Lamar)
06:00 PM Revision b420b094 (git): [DOC] Related for Array#push
burdettelamar (Burdette Lamar)
06:00 PM Revision ccd35eae (git): [DOC] Rationalize aliases in What's Here
burdettelamar (Burdette Lamar)
02:46 PM Bug #20716: Different instance_method behavior in Ruby 2.7 and Ruby 3.x
Hi Evans,
Thank you for your guidance and the quick fix.
I truly appreciate it
natton (Tien Truong)
05:25 AM Bug #20716: Different instance_method behavior in Ruby 2.7 and Ruby 3.x
I was able to track down the cause and submitted a pull request to fix this: https://github.com/ruby/ruby/pull/11582
It appears to be introduced by commit:ad729a1d11c6c57efd2e92803b4e937db0f75252, which I wrote and which was a fix for...
jeremyevans0 (Jeremy Evans)
02:09 PM Revision 22f12b0a (git): Use rb_id_table_foreach_values for marking CC table
We don't use the key, so we can speed it up by not needing to convert the
key to ID in the iterator.
peterzhu2118 (Peter Zhu)
01:49 PM Bug #20472: Ractor support for ** into hash literal
I've created a patch here: https://github.com/luke-gru/ruby/tree/20472 (the latest commit)
For kwsplat, it just calls compile_hash (which generates `hash_merge_kw` call after the hash generation), generates a `freeze` call on the compil...
luke-gru (Luke Gruber)
01:22 PM Feature #18368: Range#step semantics for non-Numeric ranges
The compatibility with `(:a .. :z).step(3)` has also been restored.
https://github.com/ruby/ruby/pull/11573
knu (Akinori MUSHA)
09:15 AM Misc #20013: Travis CI status
I see the case that the jobs are running with showing the outputs (and failing as expected).
https://app.travis-ci.com/github/ruby/ruby/builds/272246788
jaruga (Jun Aruga)
09:10 AM Misc #20013: Travis CI status
We drop Travis CI for ruby/zlib, ruby/prism too. Because the Travis infra issues are still ongoing since my last report.
* https://github.com/ruby/zlib/pull/84
* https://github.com/ruby/prism/pull/3047
The Travis CI status page is...
jaruga (Jun Aruga)
08:44 AM Revision a79907ed (git): [ruby/tmpdir] Reject empty parent path
https://github.com/ruby/tmpdir/commit/628c5bdc59 nobu (Nobuyoshi Nakada)
08:34 AM Revision 3231ac60 (git): [ruby/resolv] test_dns: Fix FD leak
The listening TCP socket is closed by `with_udp_and_tcp` helper, but
the connected socket is leaking.
```
Leaked file descriptor: TestResolvDNS#test_multiple_servers_with_timeout_and_truncated_tcp_fallback: 12 : #<TCPSocket:fd 12, AF_IN...
hanazuki (Kasumi Hanazuki)
08:33 AM Revision f6225488 (git): [ruby/resolv] Add spec extensions
https://github.com/ruby/resolv/commit/3189d16b69 nobu (Nobuyoshi Nakada)
08:19 AM Revision 14c72e96 (git): Remove an unnecessary blank line added by mistake [ci skip]
nobu (Nobuyoshi Nakada)
08:05 AM Bug #20667: Backport REXML CVE fixes
https://github.com/ruby/ruby/pull/11581 hsbt (Hiroshi SHIBATA)
07:50 AM Revision 2d12fbc4 (git): Add predicates for platforms
nobu (Nobuyoshi Nakada)
07:07 AM Revision a3ba723e (git): Suppress constant warning for test-bundled-gems-spec
hsbt (Hiroshi SHIBATA)
07:00 AM Revision 30d00a0b (git): * 2024-09-10 [ci skip]
git[bot]
07:00 AM Revision b33c3311 (git): Improve base time of assert_linear_performance (#11369)
Remove `.ceil` from base time calculation that makes 10x gap.
This will make the assertion more strict and also less flaky.
tompng (tomoya ishida)
07:00 AM Revision af17a34c (git): Added explicitly begin-end block for Ruby 2.4.
strscan, ipaddr and some default gems still support Ruby 2.4.
After this, I extract this CoreAssertions to their repositories.
hsbt (Hiroshi SHIBATA)
07:00 AM Revision ebd44ef5 (git): Suppress warning for shadowing outer local variable
hsbt (Hiroshi SHIBATA)
07:00 AM Revision bfa4073d (git): core_assertions.rb: Support old rubies
Some symbol argument might not be accepted by Process.clock_gettime. nobu (Nobuyoshi Nakada)
07:00 AM Revision e67ef294 (git): core_assertions.rb: Prefer CPU time clocks
To prevent influence from other processes. nobu (Nobuyoshi Nakada)
07:00 AM Revision 7bb789bf (git): core_assertions.rb: Extract common code block
nobu (Nobuyoshi Nakada)
07:00 AM Revision d86deaf3 (git): core_assertions.rb: Tweak timeout limit
Increase the timeout limit when variance at rehearsal is small. nobu (Nobuyoshi Nakada)
07:00 AM Revision afbae64f (git): Skip assert_linear_performance for RJIT
k0kubun (Takashi Kokubun)
07:00 AM Revision 8562b665 (git): Bump up REXML-3.3.7
hsbt (Hiroshi SHIBATA)
03:24 AM Bug #20631: Build failure with Xcode 16 beta and macOS 15 (Sequoia) Beta
The following case is resolved at Xcode CLI RC and macOS 15.1 beta3
> pid = fork { p File.realpath "/" }
> ...
hsbt (Hiroshi SHIBATA)
02:50 AM Revision 3db27827 (git): [rubygems/rubygems] Mark to exclude examples at ruby/ruby repository
`make test-bundler` on ruby/ruby don't have installed gemspec.
So, `require "psych"` didn't activate psych as default gems on ruby repo.
https://github.com/rubygems/rubygems/commit/f8ca514cbb
hsbt (Hiroshi SHIBATA)
02:50 AM Revision a5d658cb (git): [rubygems/rubygems] Removed duplicated dependencies that used by bundler inline
https://github.com/rubygems/rubygems/commit/d46b6a49af hsbt (Hiroshi SHIBATA)
02:50 AM Revision 3725c388 (git): [rubygems/rubygems] Added example for bundler/inline conflict
https://github.com/rubygems/rubygems/commit/6b1e8a14bd hsbt (Hiroshi SHIBATA)
02:50 AM Revision f8f9cecd (git): [rubygems/rubygems] Retry resolution with activated gems if inline has conflicts
https://github.com/rubygems/rubygems/commit/8d94c14ca0
Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>
deivid (David Rodríguez)
02:50 AM Revision 07fa9e3a (git): [rubygems/rubygems] Remove unnecessary verification
`DSL#to_definition` already verifies this.
https://github.com/rubygems/rubygems/commit/c596f0af83
deivid (David Rodríguez)
02:50 AM Revision d6baa625 (git): [rubygems/rubygems] Avoid having to redefine `Definition#lock` in inline mode
https://github.com/rubygems/rubygems/commit/0b7be7bb77
Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>
deivid (David Rodríguez)
02:37 AM Feature #15554: warn/error passing a block to a method which never use a block
This is a bit off-topic, but I've often thought it would be nice to have multiple "levels" of warnings. So we could have the fine-grained `Warning[:strict_unused_block]` which, if unset, defaults to the coarse-grained `Warning[:strict]` ... Dan0042 (Daniel DeLorme)
 

Also available in: Atom