Project

General

Profile

Activity

From 06/06/2024 to 06/12/2024

06/12/2024

08:16 PM Misc #20568 (Rejected): Look for test.rb in the current working directory
Closing as per discussion in https://github.com/ruby/ruby/pull/10950 alanwu (Alan Wu)
08:12 PM Bug #20577 (Closed): FREE_AT_EXIT segfaulting after 32683aa1
Applied in changeset commit:git|7c46aa5ed4573ca04e6ffe1b19191e8227db2ab3.
----------
[Bug #20577] Fix freeing symbols when RUBY_FREE_AT_EXIT
Dynamic symbols point to a fstring. When we free the symbol, we hash the
fstring to remove it ...
peterzhu2118 (Peter Zhu)
07:12 PM Bug #20577: FREE_AT_EXIT segfaulting after 32683aa1
I was able to reproduce this on nokogiri and prism test suites. I have a fix here: https://github.com/ruby/ruby/pull/10984 peterzhu2118 (Peter Zhu)
03:27 PM Bug #20577: FREE_AT_EXIT segfaulting after 32683aa1
I can also reproduce this by running ruby_memcheck's tests with ruby master. mdalessio (Mike Dalessio)
03:16 PM Bug #20577: FREE_AT_EXIT segfaulting after 32683aa1
@peterzhu2118 If it's helpful, the Nokogiri ruby-head CI jobs (run with ruby_memcheck) fail reliably:
- https://github.com/sparklemotion/nokogiri/actions/runs/9478882126/job/26116229709
- https://github.com/sparklemotion/nokogiri/act...
mdalessio (Mike Dalessio)
03:08 PM Bug #20577: FREE_AT_EXIT segfaulting after 32683aa1
Thanks for the report, Mike! I tried to reproduce this but I haven't been able to:
```
$ RUBY_FREE_AT_EXIT=1 bundle exec valgrind ruby -e 'puts RUBY_DESCRIPTION'
warning: Free at exit is experimental and may be unstable
==22116== M...
peterzhu2118 (Peter Zhu)
02:46 PM Bug #20577: FREE_AT_EXIT segfaulting after 32683aa1
One more note: I can't reliably reproduce this without `bundle exec`, but the project directory does not have a Gemfile and in case it's relevant here's my `bundle env`:
## Environment
```
Bundler 2.6.0.dev
Platforms ru...
mdalessio (Mike Dalessio)
02:40 PM Bug #20577 (Closed): FREE_AT_EXIT segfaulting after 32683aa1
After commit 32683aa1 on master, using `RUBY_FREE_AT_EXIT` results in a segfault. When run with valgrind, many invalid reads are reported.
Repro with
```
RUBY_FREE_AT_EXIT=1 bundle exec /path/to/ruby -e 'puts RUBY_DESCRIPTION'
``...
mdalessio (Mike Dalessio)
08:12 PM Revision 7c46aa5e (git): [Bug #20577] Fix freeing symbols when RUBY_FREE_AT_EXIT
Dynamic symbols point to a fstring. When we free the symbol, we hash the
fstring to remove it from the table. However, the fstring could have
already been freed, which can cause a crash.
This commit changes it to remove the reference to...
peterzhu2118 (Peter Zhu)
07:17 PM Revision 94a8f05f (git): [rubygems/rubygems] Fix test description
https://github.com/rubygems/rubygems/commit/4bcdb854a2 sobrinho (Gabriel Sobrinho)
06:57 PM Revision c81360db (git): Kernel#warn: don't call `Warning.warn` unless the category is enabled
[Bug #20573]
Followup: https://github.com/ruby/ruby/pull/10960
I believe `Kernel#warn` should behave in the same way than internal
`rb_warning_* APIs
byroot (Jean Boussier)
05:33 PM Revision ce06924a (git): YJIT: add context cache hits stat (#10979)
* YJIT: add context cache hits stat
This stat should make more sense when it comes to interpreting
the effectiveness of the cache on large deployed apps.
maximecb (Maxime Chevalier-Boisvert)
05:25 PM Revision 85190d41 (git): Add regression test for Bug #20573
Just a regression test to ensure behavior remains the same tenderlovemaking (Aaron Patterson)
04:57 PM Revision 783eaf70 (git): [ruby/irb] Invalid encoding symbol now raises SyntaxError also in
3.3
(https://github.com/ruby/irb/pull/969)
https://github.com/ruby/irb/commit/bad7492ab0
tompng (tomoya ishida)
04:09 PM Revision 96974c6c (git): Simplify GC bitmap access macros
Now that we're using the inline predicate functions everywhere, the only
remaining use of the RVALUE_?_BITMAP macros is inside their respective
inline function, so we can remove them.
eightbitraptor (Matt V-H)
04:09 PM Revision 5cf53701 (git): Use RVALUE_UNCOLLECTIBLE consistently
eightbitraptor (Matt V-H)
04:09 PM Revision 4c38b4f7 (git): Use RVALUE_WB_UNPROTECTED consistently
eightbitraptor (Matt V-H)
04:09 PM Revision cc700c3d (git): Use RVALUE_MARKING consistently
eightbitraptor (Matt V-H)
04:09 PM Revision e006a58f (git): Use RVALUE_MARKED consistently
eightbitraptor (Matt V-H)
04:09 PM Revision bb663fe0 (git): Use RVALUE_PINNED consistently
eightbitraptor (Matt V-H)
02:24 PM Revision 22ad7d72 (git): Update default gems list at 006ff5e29f596a4deb781c733f4f7b [ci skip]
git[bot]
02:23 PM Revision 006ff5e2 (git): [ruby/reline] Bump version to 0.5.9
(https://github.com/ruby/reline/pull/724)
https://github.com/ruby/reline/commit/aff1d852bb
ima1zumi (Mari Imaizumi)
12:54 PM Revision 1db19a2d (git): Remove unneeded loop through size_pools
This function loops twice through the array of size pools. Once to set
up the pages list, and then again later on in the function to set the
allocatable_pages count.
We don't do anything with the size pools in between the invocation of
...
eightbitraptor (Matt V-H)
12:46 PM Revision 6b6fd162 (git): [rubygems/rubygems] Fix typo
https://github.com/rubygems/rubygems/commit/19a0e3730c deivid (David Rodríguez)
11:46 AM Bug #20572 (Closed): Compilation hangs with nested until
Applied in changeset commit:git|32a555ea532fb15721ad403e6dce0a2ffc346f12.
----------
[Bug #20572] Abandon if replacing destination is the same
nobu (Nobuyoshi Nakada)
10:57 AM Revision 32a555ea (git): [Bug #20572] Abandon if replacing destination is the same
nobu (Nobuyoshi Nakada)
10:42 AM Revision 278a7cb0 (git): [DOC] Fix a typo in dir.c
s/Retruns/Returns/ ydah (Yudai Takada)
10:17 AM Feature #20576: Add MatchData#bytebegin and MatchData#byteend
Does this difference matter in realistic usages (e.g. that net-imap one)? How much improvement is it there?
Regarding naming, `byteend` seems hard to read, I think `byte_begin`/`byte_end` is much clearer.
Eregon (Benoit Daloze)
03:24 AM Feature #20576 (Closed): Add MatchData#bytebegin and MatchData#byteend
I'd like to propose MatchData#bytebegin and MatchData#byteend.
These methods are similar to MatchData#begin and MatchData#end, but returns offsets in bytes instead of codepoints.
Pull request: https://github.com/ruby/ruby/pull/10973
...
shugo (Shugo Maeda)
08:30 AM Bug #20573: Warning.warn shouldn't be called for disabled warnings
Given it's a bug fix I think we should mark it for backport. But of course it's up to branch maintainers to decide whether the fix is worth backporting. byroot (Jean Boussier)
07:48 AM Revision c56d0adf (git): [ruby/irb] Cleanup irbrc generator cache always at teardown
(https://github.com/ruby/irb/pull/968)
https://github.com/ruby/irb/commit/905184ff9c
tompng (tomoya ishida)
06:45 AM Revision 2eb31a62 (git): Fix a typo
s/sepcifier/specifier/ ydah (Yudai Takada)
06:36 AM Revision 1fc07637 (git): Introduce `ident_or_const` inline rule
S_H_ (Shun Hiraoka)
06:36 AM Bug #20562 (Closed): Categorize `RUBY_FREE_AT_EXIT` warning
Applied in changeset commit:git|01b13886dc96eb13688d448019a8699f9bdee5ac.
----------
[Bug #20562] Categorize `RUBY_FREE_AT_EXIT` warning as experimental
nobu (Nobuyoshi Nakada)
06:36 AM Revision 01b13886 (git): [Bug #20562] Categorize `RUBY_FREE_AT_EXIT` warning as experimental
nobu (Nobuyoshi Nakada)
05:46 AM Revision 0bc91fa6 (git): `File.umask` does not make sense on Windows
nobu (Nobuyoshi Nakada)
05:06 AM Revision 39c9d99f (git): 'SPEC_TEMP_DIR` should not be world-writable
`SPEC_TEMP_DIR` is not present until `tmp()` method is called
on parallel run. In this case `tmp()` is called with `File.umask = 0`.
This patch makes `SPEC_TEMP_DIR` before `File.umask = 0`.
To solve the issue essentially, I think `SPEC...
ko1 (Koichi Sasada)
02:49 AM Revision 206465e8 (git): ripper: Unify `dispatch_end`
nobu (Nobuyoshi Nakada)

06/11/2024

11:54 PM Revision f1c7b6f4 (git): v3.3.3
k0kubun (Takashi Kokubun)
11:45 PM Bug #20270: Options with `--parser=prism`
ruby_3_3 commit:97b1bf9ac11848c2783264d22bf7cdb7f32a21cf. k0kubun (Takashi Kokubun)
11:43 PM Revision 97b1bf9a (git): [Bug #20270] Fix --parser=prism (#10970)
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> peterzhu2118 (Peter Zhu)
09:54 PM Bug #20573 (Closed): Warning.warn shouldn't be called for disabled warnings
Applied in changeset commit:git|1271ff72d5b627854c6812baefe796a2976cd793.
----------
Don't call `Warning.warn` unless the category is enabled
The warning category should be enabled if we want to call
`Warning.warn`.
This commit speeds...
tenderlovemaking (Aaron Patterson)
04:00 PM Bug #20573: Warning.warn shouldn't be called for disabled warnings
byroot (Jean Boussier) wrote in #note-6:
> In [Feature #16345] it was stated:
> ...
I'm reading the ticket the same way. It sounds like this is a bug.
tenderlovemaking (Aaron Patterson)
07:46 AM Bug #20573: Warning.warn shouldn't be called for disabled warnings
On Ruby 2.7.8 when `Warning[:deprecated] = false` was introduced:
```ruby
def Warning.warn(message, **)
p [:warn, message]
end
def foo(a, **b)
[a, b]
end
hash = {bar: 2}
foo(1, hash)
```
Produces no output, `Warning....
byroot (Jean Boussier)
06:56 AM Bug #20573: Warning.warn shouldn't be called for disabled warnings
In [Feature #16345] it was stated:
> We chose Warning.disable(:deprecated) instead of
re-defining Warning.warn in order to avoid string object generation.
The intent was clearly for `Warning.warn` not to be called.
byroot (Jean Boussier)
06:23 AM Bug #20573: Warning.warn shouldn't be called for disabled warnings
Agreed, `Warning.warn` patches shouldn't be called for disabled categories.
I was actually 100% convinced this was the behavior, and this fix is consistent with `Warning.warn` not being invoked for verbose warnings when `$VERBOSE = fa...
byroot (Jean Boussier)
09:54 PM Revision 1271ff72 (git): Don't call `Warning.warn` unless the category is enabled
The warning category should be enabled if we want to call
`Warning.warn`.
This commit speeds up the following benchmark:
```ruby
eval "def test; " +
1000.times.map { "' '.chomp!" }.join(";") + "; end"
def run_benchmark count
i = ...
tenderlovemaking (Aaron Patterson)
06:29 PM Revision d1869cfb (git): redmine-backporter.rb: Prepend commit: to shorter revs
Some of the places in Redmine (e.g. Associated revisions) print
revisions using only 8 characters. Even when I copied a revision from
there, I want to prepend commit: in the message.
k0kubun (Takashi Kokubun)
06:28 PM Revision 0a6b1a4d (git): redmine-backporter.rb: Prepend commit: to shorter revs
Some of the places in Redmine (e.g. Associated revisions) print
revisions using only 8 characters. Even when I copied a revision from
there, I want to prepend commit: in the message.
k0kubun (Takashi Kokubun)
06:24 PM Bug #20521: Memory leak in Ripper parsing
ruby_3_3 commit:23f4b78ad8844ec81cb02fad25a6247a2d498582 merged revision(s) 27321290. k0kubun (Takashi Kokubun)
06:17 PM Revision 23f4b78a (git): merge revision(s) 27321290: [Backport #20521]
[Bug #20521] ripper: Clean up strterm k0kubun (Takashi Kokubun)
06:11 PM Bug #20499: Ruby builds on macOS store absolute paths for AR and NM in rbconfig since Ruby 3.2.3/3.3.0
ruby_3_3 commit:d3b139821294f56e6b31e28608c534d9f0920fc2 merged revision(s) commit:1e08a9f0e9058186db18f29efc6458c00f10a856. k0kubun (Takashi Kokubun)
06:11 PM Revision d3b13982 (git): merge revision(s) 1e08a9f0e9058186db18f29efc6458c00f10a856: [Backport #20499]
[Bug #20499] Use Xcode owned tools for Xcode clang
Xcode has its own version tools that may be incompatible with genuine
LLVM tools, use the tools in the same directory.
k0kubun (Takashi Kokubun)
06:08 PM Bug #20569: Instruction sequence generated from `shareable_constant_value: literal` files may not be serialized to binary
ruby_3_3 commit:8951040aadca57fce633b0f714248de78a962c22. k0kubun (Takashi Kokubun)
07:56 AM Bug #20569: Instruction sequence generated from `shareable_constant_value: literal` files may not be serialized to binary
I created backport PRs:
- 3.2: https://github.com/ruby/ruby/pull/10963
- 3.3: https://github.com/ruby/ruby/pull/10962
byroot (Jean Boussier)
07:09 AM Bug #20569 (Closed): Instruction sequence generated from `shareable_constant_value: literal` files may not be serialized to binary
Applied in changeset commit:git|f0001a4fa7260d0c39e9ddba162f51c549cba2f8.
----------
compile.c: use putspecialobject for RubyVM::FrozenCore
[Bug #20569]
`putobject RubyVM::FrozenCore`, is not serializable, we
have to use `putspecialob...
byroot (Jean Boussier)
06:08 PM Revision 8951040a (git): [3.3 backport] compile.c: use putspecialobject for RubyVM::FrozenCore (#10962)
compile.c: use putspecialobject for RubyVM::FrozenCore
[Bug #20569]
`putobject RubyVM::FrozenCore`, is not serializable, we
have to use `putspecialobject VM_SPECIAL_OBJECT_VMCORE`.
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
Jean byroot Boussier
06:07 PM Feature #20524: mswin and gmp
seems like a new feature to me too. I won't backport it to 3.3. k0kubun (Takashi Kokubun)
06:03 PM Bug #20280: Error at invalid encoding symbols
ruby_3_3 commit:4c50d23245689761e04db450ced9fe9fa76997d0. k0kubun (Takashi Kokubun)
05:59 PM Bug #20280: Error at invalid encoding symbols
I opened a PR for backport to 3.3: https://github.com/ruby/ruby/pull/10967 peterzhu2118 (Peter Zhu)
06:01 PM Revision 4c50d232 (git): Raise SyntaxError on invalid encoding symbol (#10967)
[Bug #20280]
Backport of #10014.
peterzhu2118 (Peter Zhu)
05:17 PM Revision ec1ea2c5 (git): YJIT: Make num_contexts_encoded a default counter
k0kubun (Takashi Kokubun)
05:12 PM Revision c735f494 (git): [ruby/openssl] Pass through nil as digest when signing certificates
(https://github.com/ruby/openssl/pull/761)
In order to sign certificates with Ed25519 keys, NULL must be passed
as md to X509_sign. This NULL is then passed
(via ASN1_item_sign_ex) as type to EVP_DigestSignInit. The
documentation[1] o...
gartens
04:46 PM Revision 39019b6a (git): YJIT: add context cache size stat, lazily allocate cache
* YJIT: add context cache size stat
* Allocate the context cache in a box so CRuby doesn't pay overhead
* Add an extra debug assertion
maximecb (Maxime Chevalier-Boisvert)
04:27 PM Revision 568132af (git): [rubygems/rubygems] Keep credentials in lockfile if they are already there
So that those lockfiles still work with older Bundler versions.
https://github.com/rubygems/rubygems/commit/880275bb66
deivid (David Rodríguez)
02:33 PM Revision 32683aa1 (git): Remove use of symbols and arrays when freeing global table
This removes the use of symbol and array objects when freeing the global
table so we can now free symbols and arrays earlier.
peterzhu2118 (Peter Zhu)
01:43 PM Revision 89ebe899 (git): Ensure prism is testing everything
kddnewton (Kevin Newton)
01:43 PM Revision 9e7ccc00 (git): [PRISM] Make prism pass bundler specs
kddnewton (Kevin Newton)
01:30 PM Revision 3e84da09 (git): [rubygems/rubygems] Auto switch to locked bundler version even when using binstubs
https://github.com/rubygems/rubygems/commit/076aba8b1c deivid (David Rodríguez)
01:03 PM Revision ad9fe6f3 (git): Allow gdb to search source path for required files
When doing out-of-source builds I often end up wanting to use gdb from
inside a build directory.
Currently if I do that the `.gdbinit` in the ruby source directory is
not read.
Attempting to manually load the `.gdbinit` from the Ruby s...
eightbitraptor (Matt V-H)
12:34 PM Revision 47322b59 (git): [ruby/prism] Match CRuby error message for unknown regexp options
https://github.com/ruby/prism/commit/73669b59f6 kddnewton (Kevin Newton)
12:33 PM Revision d6b1822f (git): [ruby/prism] Fix binding power for class <<
https://github.com/ruby/prism/commit/cd66c478de kddnewton (Kevin Newton)
12:14 PM Bug #20572: Compilation hangs with nested until
This is another example, I imagine because of the same source problem. It also works if you disable optimizations:
```ruby
_ = _ rescue while 1
end
```
kddnewton (Kevin Newton)
01:12 AM Bug #20572: Compilation hangs with nested until
Since `ruby --dump=i,-opt -e 'until while 1; end; end'` finishes immediately, it is a bug of optimization.
nobu (Nobuyoshi Nakada)
11:56 AM Revision b824b13e (git): .travis.yml: Update jaruga's email.
I cannot receive Travis's notification via jaruga@ruby-lang.org, while another
committer with their @ruby-lang.org email can receive the notification.
The issue is my ruby-lang.org email address specific.
So far we haven't seen the root ...
Jun Aruga
11:05 AM Bug #20520 (Closed): _FORTIFY_SOURCE=3 is not correctly respected
Applied in changeset commit:git|0ccb80d6bf57cd6e79ad622c024d3d0940ec6f3b.
----------
Extract hardening CFLAGS to a special $hardenflags variable
This changes the automatic detection of -fstack-protector,
-D_FORTIFY_SOURCE, and -mbranch...
Anonymous
11:05 AM Bug #20154 (Closed): aarch64: configure overrides `-mbranch-protection` if it was set in CFLAGS via environment
Applied in changeset commit:git|0ccb80d6bf57cd6e79ad622c024d3d0940ec6f3b.
----------
Extract hardening CFLAGS to a special $hardenflags variable
This changes the automatic detection of -fstack-protector,
-D_FORTIFY_SOURCE, and -mbranch...
Anonymous
10:48 AM Revision 0ccb80d6 (git): Extract hardening CFLAGS to a special $hardenflags variable
This changes the automatic detection of -fstack-protector,
-D_FORTIFY_SOURCE, and -mbranch-protection to write to $hardenflags
instead of $XCFLAGS. The definition of $cflags is changed to
"$hardenflags $orig_cflags $optflags $debugflags ...
KJ Tsanaktsidis
10:23 AM Bug #20079: alexandria testsuite began to segfault recently
AMomchilov (Alexander Momchilov) wrote in #note-10:
> @luke-gru Can you please try this modified version of mame's patch?
> ...
This does not work (anymore?):
~~~
gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-sw...
vo.x (Vit Ondruch)
08:02 AM Revision 6086bae5 (git): check `SPEC_TEMP_DIR` is world-writable or not
```
1)
Dir.mktmpdir when passed a block yields the path to the passed block ERROR
ArgumentError: parent directory is world writable but not sticky: /tmp/rubytest.wlu5cs_11
/tmp/ruby/src/trunk/lib/tmpdir.rb:113:in 'Dir.mktmpdir'
/tmp/ruby...
ko1 (Koichi Sasada)
07:08 AM Revision f0001a4f (git): compile.c: use putspecialobject for RubyVM::FrozenCore
[Bug #20569]
`putobject RubyVM::FrozenCore`, is not serializable, we
have to use `putspecialobject VM_SPECIAL_OBJECT_VMCORE`.
byroot (Jean Boussier)
02:22 AM Misc #20575 (Closed): Syntax Moratorium til 3.4
Hi,
As some may remember from the closing keynote at RubyKaigi, we are introducing Syntax Moratorium to support fair development of parsers.
During the Syntax Moratorium period, new syntactical changes will be suspended (changes no...
matz (Yukihiro Matsumoto)
01:11 AM Bug #19266: URI::Generic should use URI::RFC3986_PARSER instead of URI::DEFAULT_PARSER
jeremyevans0 (Jeremy Evans) wrote in #note-3:
> I'm in favor of this change. However, be aware that uri is maintained at https://github.com/ruby/uri . Could you please submit a pull request to that repository?
Thanks Jeremy, I've r...
gareth (Gareth Adams)
12:44 AM Misc #20574 (Closed): DevMeeting-2024-07-11
# The next dev meeting
**Date: 2024/07/11 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2024/DevMeeting-2024-07-11.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at t...
mame (Yusuke Endoh)
12:43 AM Misc #20435 (Closed): DevMeeting-2024-06-06
mame (Yusuke Endoh)

06/10/2024

11:37 PM Bug #20573: Warning.warn shouldn't be called for disabled warnings
Oops, I send this before pasting the output of the script:
```
$ ./miniruby test.rb
false
{"test.rb:8: warning: variable $= is no longer effective\n"=>:deprecated}
```
You can see that "deprecated" warnings are not enabled, but...
tenderlovemaking (Aaron Patterson)
11:36 PM Bug #20573 (Closed): Warning.warn shouldn't be called for disabled warnings
Currently `Warning.warn` will be called for all warnings, even if that particular category is disabled.
For example
```ruby
module Warning
def warn(message, category:)
p message => category
end
end
def get_var
$=...
tenderlovemaking (Aaron Patterson)
11:06 PM Bug #20180: Inconsistent evaluation of `**{}` depending on position in array
ruby_3_3 commit:40251ed0dfe99bb09c2fa542fce603ade25e3729. k0kubun (Takashi Kokubun)
10:07 PM Bug #20180: Inconsistent evaluation of `**{}` depending on position in array
I opened a PR to backport [this patch](https://github.com/ruby/ruby/pull/9624) to Ruby 3.3: https://github.com/ruby/ruby/pull/10959 peterzhu2118 (Peter Zhu)
11:05 PM Revision 40251ed0 (git): Fix inconsistent evaluation of keyword splat (#10959)
[Bug #20180]
Backports #9624.
peterzhu2118 (Peter Zhu)
09:21 PM Revision d827d325 (git): [ruby/prism] Provide ability to lock encoding while parsing
https://github.com/ruby/prism/commit/f7faedfb3f kddnewton (Kevin Newton)
09:21 PM Revision 0d5eea99 (git): [ruby/prism] Disallow multi writes when not in statement level
https://github.com/ruby/prism/commit/fe34a77df2 kddnewton (Kevin Newton)
05:39 PM Bug #20506 (Third Party's Issue): YJIT build error on aarch64 with Rust 1.78.0
This is a Rust regression and I've filed an issue [upstream].
I've worked with upstream to [hopefully have a fix ship][2] with 1.81.0,
but that will still leave a couple versions unusable.
If you install using `rustup`, avoid these ...
alanwu (Alan Wu)
05:07 PM Feature #19001 (Closed): Data: Add #to_h symmetric to constructor with keyword args [Follow-on to #16122 Data: simple immutable value object]
hsbt (Hiroshi SHIBATA)
05:05 PM Feature #19001: Data: Add #to_h symmetric to constructor with keyword args [Follow-on to #16122 Data: simple immutable value object]
Agreed, this need ended up being met by the initial implementation! Thank you, closing this ticket.
zverok (Victor Shepelev) wrote in #note-2:
> There isn't any need for this ticket as a separate request, as far as I am concerned.
>...
RubyBugs (A Nonymous)
04:36 PM Revision 556bbf64 (git): Don't skip test_inspect_under_gc_compact_stress
Commit 1471a16 seems to have fixed this flaky test, so we don't need to
skip it for YJIT or RJIT anymore.
peterzhu2118 (Peter Zhu)
03:31 PM Revision 1d0d8a89 (git): [ruby/reline] Add more fallbacks when terminfo is not available
(https://github.com/ruby/reline/pull/722)
Add xterm key bindings to comprehensive list
Add fallback escape sequence of cursor hide/show
https://github.com/ruby/reline/commit/e3c73bbe26
tompng (tomoya ishida)
02:59 PM Bug #20570 (Assigned): Nokey behavior changed since 3.3.
The following example is easy to understand this issue:
```ruby
def foo(*, **nil); :ok; end
foo(1, **{}) #=> Ruby 3.2: :ok
#=> Ruby 3.3: :ok
foo(*[1], **{}) #=> Ruby 3.2: :ok
#=> Ruby 3.3: no ...
mame (Yusuke Endoh)
02:08 PM Bug #20570: Nokey behavior changed since 3.3.
I believe you’re *defining* with `**nil`, not *calling* with `**nil`. Your test should probably be `def foo(*, **); end; p foo(*[], **nil)`.
This does seem to be a bit of a regression for your particular use case.
austin (Austin Ziegler)
01:52 PM Bug #20570: Nokey behavior changed since 3.3.
Real case https://github.com/ksss/raap/blob/fff046c98c971da48df9106d8c698fbe40daaa57/lib/raap/symbolic_caller.rb#L148-L155 ksss (Yuki Kurihara)
01:46 PM Bug #20570 (Closed): Nokey behavior changed since 3.3.
I am using code that transfers the following method call, but found that the behavior has changed since CRuby 3.3.
```ruby
receiver_value = Set.new
method_name = :merge
args = [1]
kwargs = {}
block = nil
receiver_value.__send__(...
ksss (Yuki Kurihara)
02:23 PM Bug #20572 (Closed): Compilation hangs with nested until
```ruby
until while 1
end
end
```
this code causes an infinite loop in the compiler.
kddnewton (Kevin Newton)
02:00 PM Revision 3cc9a126 (git): Fix CI when YJIT is enabled
andrykonchin (Andrew Konchin)
02:00 PM Revision 3ebab4b6 (git): Update to ruby/spec@517f06f
andrykonchin (Andrew Konchin)
01:57 PM Revision e8bd745c (git): [ruby/reline] Suppress warning(Ruby 3.4) requiring fiddle from
terminfo.rb
(https://github.com/ruby/reline/pull/721)
https://github.com/ruby/reline/commit/9da2cbcd82
tompng (tomoya ishida)
01:52 PM Bug #20571 (Closed): Compile error on for loop
```ruby
for _ in 1.5 or _ in []
end
```
raises a compile error for the current compiler only with
```
-- raw disasm--------
trace: 1
<L000> [sp: 0, unremovable: 1, refcnt: 1]
0000 putobject 1.5 ...
kddnewton (Kevin Newton)
01:42 PM Revision 21e06e57 (git): [ruby/prism] Allow block exits in loop predicates
https://github.com/ruby/prism/commit/f09db18e46 kddnewton (Kevin Newton)
01:19 PM Bug #20569 (Closed): Instruction sequence generated from `shareable_constant_value: literal` files may not be serialized to binary
```ruby
iseq = RubyVM::InstructionSequence.compile(<<~'RUBY')
# shareable_constant_value: literal
REGEXP = /#{}/
RUBY
iseq.to_binary
```
```
in `to_binary': ibf_dump_object_unsupported: 0x00000001026ac8b0 [3LM ] T_ICLASS...
byroot (Jean Boussier)
12:30 PM Misc #20568 (Rejected): Look for test.rb in the current working directory
[Github PR link](https://github.com/ruby/ruby/pull/10950)
The `test.rb` script used by `make run` etc is explicitly located in the `$srcdir` - the location of the Ruby source code.
The [Building Ruby](https://docs.ruby-lang.org/en/...
eightbitraptor (Matt V-H)
11:51 AM Misc #20013: Travis CI status
Travis support enabled my forked repositories of ruby/ruby, ruby/zlib and ruby/prism where Travis was used. It seems that we need to submit a list of github accounts to enable someone's forked repository from ruby/* organization. Maybe t... jaruga (Jun Aruga)
11:23 AM Feature #20443: Allow Major GC's to be disabled
matz (Yukihiro Matsumoto) wrote in #note-20:
> First, If you clearly define what would happen when the (plugged) GC does not generational scanning, I am OK for it. @byroot told me that calling those methods would raise `NotImplementedEr...
eightbitraptor (Matt V-H)
10:23 AM Revision 528a23b5 (git): Check current file on TracePoint
```
1)
TracePoint#inspect returns a String showing the event, method, path and line for a :call event FAILED
Expected "#<TracePoint:call 'call' /tmp/ruby/src/trunk/spec/ruby/core/objectspace/define_finalizer_spec.rb:33>" =~ /\A#<TracePoi...
ko1 (Koichi Sasada)
10:01 AM Bug #20079: alexandria testsuite began to segfault recently
I have checked with Ruby 3.3.2 and I was still able to hit the issue unfortunately. Although that was 1 of 15 builds.
This is the Fedora build (will be garbage collected soon):
https://koji.fedoraproject.org/koji/taskinfo?taskID=11...
vo.x (Vit Ondruch)
08:47 AM Revision 8abdd56c (git): Test `rb_ext_resolve_symbol` without Windows .def files
`RUBY_FUNC_EXPORTED` is working on Windows since 906a86e4de71061dca05.
And as .def files are not processed by the preprocessor, it is less
flexible than `RUBY_FUNC_EXPORTED`, (e.g., select symbols by
conditions such as ruby version).
nobu (Nobuyoshi Nakada)
04:32 AM Revision 448efa90 (git): respect `RUBY_TEST_TIMEOUT_SCALE`
GC benchmarks will spend long time with assertions so we need
to respect `RUBY_TEST_SUBPROCESS_TIMEOUT_SCALE` environment variable.
@nobu pointed out that now `RUBY_TEST_TIMEOUT_SCALE` is primary
(and `RUBY_TEST_SUBPROCESS_TIMEOUT_SCALE...
ko1 (Koichi Sasada)
03:19 AM Revision 4c8f9c93 (git): Bump ruby/setup-ruby from 1.179.0 to 1.179.1
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.179.0 to 1.179.1.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/d5fb7a202fc07872cb44f00ba8e6197b70...
dependabot[bot]

06/09/2024

11:50 PM Bug #20154: aarch64: configure overrides `-mbranch-protection` if it was set in CFLAGS via environment
https://github.com/ruby/ruby/pull/10944 - would this solve the problem for you? kjtsanaktsidis (KJ Tsanaktsidis)
08:22 PM Revision 2959e1b5 (git): [ruby/irb] Suppress Ruby warnings in certain backtrace filtering
tests
(https://github.com/ruby/irb/pull/966)
Since they're sensitive to the warnings, and the warnings are
not relevant to the tests, we can suppress them to keep the tests
simple.
https://github.com/ruby/irb/commit/ad642795da
st0012 (Stan Lo)
12:01 PM Revision 4dfd4e1d (git): Correct typo [ci skip]
Sampat Badhe
11:47 AM Feature #20309: Bundled gems for Ruby 3.5
I wonder if making `win32ole` a bundled gem is a good idea.
From what I have seen the consequence of such changes seems in most cases to encourage gems to drop the dependency on the newly-bundled gem.
That may be good for e.g. ostruct w...
Eregon (Benoit Daloze)
09:45 AM Bug #20566 (Closed): string << 0xC2 should raise a RangeError if the string encoding is Encoding::ASCII
Applied in changeset commit:git|dd8903fed72c2d06fe7a0ca6b5ef88e9140be451.
----------
[Bug #20566] Mention out-of-range argument cases in `String#<<`
Also [Bug #18973].
nobu (Nobuyoshi Nakada)
12:45 AM Bug #20566: string << 0xC2 should raise a RangeError if the string encoding is Encoding::ASCII
It is a [spec](https://bugs.ruby-lang.org/issues/18973#note-6). nobu (Nobuyoshi Nakada)
12:22 AM Bug #20566 (Closed): string << 0xC2 should raise a RangeError if the string encoding is Encoding::ASCII
I noticed that appending extended ASCII characters (0x80 - 0xff) works when the String's encoding is Encoding::ASCII, as well as Encoding::ASCII_8BIT. I was under the impression that Encoding::ASCII only covers the regular ASCII characte... postmodern (Hal Brodigan)
09:22 AM Revision 1b7aabb9 (git): Remove digest.def that fails on older Ruby versions
nobu (Nobuyoshi Nakada)
08:34 AM Revision c357138a (git): Use `PRISM_EXPORTED_FUNCTION` consistently with the header
nobu (Nobuyoshi Nakada)
07:55 AM Revision 906a86e4 (git): Use `dllexport` as `RUBY_FUNC_EXPORTED` on Windows
nobu (Nobuyoshi Nakada)
04:26 AM Bug #20516: The version of rexml in ruby 3.3.2 has not been updated since 3.2.6.
Could you try REXML 3.2.9? kou (Kouhei Sutou)
01:26 AM Feature #20567 (Open): Net::HTTPResponse#detect_encoding should default to UTF-8 for application/javascript
It is fairly common now for JavaScript to include UTF-8 characters. If a misconfigured web server returns an `application/javascript` response for a JavaScript file, but *without* `charset=utf-8` in the `Content-Type`, `Net::HTTPResponse... postmodern (Hal Brodigan)
01:11 AM Revision dd8903fe (git): [Bug #20566] Mention out-of-range argument cases in `String#<<`
Also [Bug #18973]. nobu (Nobuyoshi Nakada)

06/08/2024

05:26 PM Revision 6ea9cd49 (git): Provisionally export new API
nobu (Nobuyoshi Nakada)
02:30 PM Feature #20565: Relax formal argument at label
> I knew you can use keywords as names here but am not quite sure about this. Positional arguments (against my expectations from keyword arguments) don't allow any of these three versions. Should they also work?
The reason why keyword...
zverok (Victor Shepelev)
12:11 PM Feature #20565: Relax formal argument at label
I think it should remain forbidden, parametes must be local variables, but `C` and `$g` are not valid local variable names. Eregon (Benoit Daloze)
12:02 PM Feature #20565: Relax formal argument at label
I knew you can use keywords as names here but am not quite sure about this. Positional arguments (against my expectations from keyword arguments) don't allow any of these three versions. Should they also work? I think it would be nice if... Earlopain (Earlopain _)
06:06 AM Feature #20565 (Open): Relax formal argument at label
Just a thought: if `def foo(if:)` is possible, shouldn't `def foo(C:)` and `def foo($g:)` also be possible...? nobu (Nobuyoshi Nakada)
01:20 PM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
And from a quick look there is also [`_spawnv`](https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/spawnv-wspawnv?view=msvc-170) which does take a `char**`, maybe we could use that on Windows? Eregon (Benoit Daloze)
01:17 PM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
mame (Yusuke Endoh) wrote in #note-23:
> [...] instead of parsing the command line to a string array and passing it to `Kernel#exec`.
Don't we use `execve()` (which takes `char**`) as well on Windows for `Kernel#exec`?
It does see...
Eregon (Benoit Daloze)
01:03 PM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
shyouhei (Shyouhei Urabe) wrote in #note-29:
> The current situation is that ruby is not the only valid executable that the method takes. Allowing untrusted inputs for it means it has to be secure for everything. This is too much a hu...
Eregon (Benoit Daloze)
10:59 AM Revision 69c0b143 (git): [ruby/openssl] Fix references to the license text
Update the references to the file "LICENCE" with "COPYING".
The file LICENCE doesn't exist in ruby/ruby nor ruby/openssl. This has
been always the case since OpenSSL for Ruby 2 was merged to the ruby
tree as a standard library in 2003.
...
rhenium (Kazuki Yamaguchi)
10:59 AM Revision 6475b093 (git): [ruby/openssl] Rename LICENSE.txt to COPYING
This is for consistency with ruby/ruby.
https://github.com/ruby/openssl/commit/00ad542791
rhenium (Kazuki Yamaguchi)
10:59 AM Revision 5f380dfd (git): [ruby/openssl] openssl.gemspec: add BSD-2-Clause to the list of licenses
ruby/openssl is licensed under the terms of either the Ruby License or
the 2-Clause BSD License.
The git repository and built .gem files always contained the license
text for both license, but the metadata in the gemspec only specified
...
rhenium (Kazuki Yamaguchi)
10:57 AM Revision 0b92929e (git): [ruby/openssl] Add X509::Certificate#tbs_bytes
Ref https://github.com/ruby/openssl/issues/519
This makes verifying embedded certificate transparency signatures
significantly easier, as otherwise the alternative was manipulating the
ASN1 sequence, as in
https://github.com/segiddins/s...
segiddins (Samuel Giddins)
06:00 AM Revision 7612e453 (git): ripper: Unify formal argument error handling
nobu (Nobuyoshi Nakada)
04:25 AM Revision 9bee49e0 (git): ripper: Unify backref error handling
nobu (Nobuyoshi Nakada)
04:20 AM Revision 18fcec23 (git): ripper: Introduce `RIPPER_ID` macro instead of `ripper_id_` macros
nobu (Nobuyoshi Nakada)
03:40 AM Revision bf95a17c (git): [ruby/digest] [DOC] Update document to use `rb_digest_make_metadata`
https://github.com/ruby/digest/commit/c5c1debd43 nobu (Nobuyoshi Nakada)
03:40 AM Revision 0619312b (git): [ruby/digest] Use typed data in digest
https://github.com/ruby/digest/commit/9a22f921c9 nobu (Nobuyoshi Nakada)
02:33 AM Feature #20564: Switch default parser to Prism
Happily I was able to turn all of those tests on with minimal changes. I'll clean this PR up next week, but all should be well with the additional tests (https://github.com/ruby/ruby/pull/10939). kddnewton (Kevin Newton)
12:32 AM Feature #20524: mswin and gmp
I think this is a kind of new feature of ruby build system. I won't backport it to 3.2 branch. It's up to kokubun-san for 3.3 branch. nagachika (Tomoyuki Chikanaga)

06/07/2024

09:59 PM Revision 0d91887c (git): YJIT: implement cache for recently encoded/decoded contexts (#10938)
* YJIT: implement cache for recently encoded/decoded contexts
* Increase cache size to 512
maximecb (Maxime Chevalier-Boisvert)
08:40 PM Feature #20564: Switch default parser to Prism
Ah, thank you @hsbt. We of course will not merge this until we are sure it is passing 100% of the tests. I think we will likely discover other things as well when we switch the default (before we merge), which is of course what we're loo... kddnewton (Kevin Newton)
08:34 PM Feature #20564: Switch default parser to Prism
>Prism now passes all Ruby tests and specs.
No, https://github.com/ruby/ruby/blob/master/.github/workflows/prism.yml#L89 is not testing with `make test-syntax-suggest`, `make test-bundled-gems` and `make test-bundler-parallel`. At lea...
hsbt (Hiroshi SHIBATA)
04:42 PM Feature #20564 (Closed): Switch default parser to Prism
This issue is to propose switching the default parser for Ruby to Prism on the master branch. The main goal is to get this default into both master and the next preview so that the community has plenty of time to test before the eventual... kddnewton (Kevin Newton)
08:26 PM Revision 425e630c (git): YJIT: implement variable-length context encoding scheme (#10888)
* Implement BitVector data structure for variable-length context encoding
* Rename method to make intent clearer
* Rename write_uint => push_uint to make intent clearer
* Implement debug trait for BitVector
* Fix bug in BitVector::re...
maximecb (Maxime Chevalier-Boisvert)
07:55 PM Revision faad2bc6 (git): Update default gems list at c90b5303a2fff58eddd7b87a06262a [ci skip]
git[bot]
07:54 PM Revision c90b5303 (git): Sync prism version to latest
kddnewton (Kevin Newton)
07:46 PM Revision 41a36b68 (git): [ruby/prism] Handle chomped bytesize with lines without newlines
https://github.com/ruby/prism/commit/1528d3c019 kddnewton (Kevin Newton)
07:46 PM Revision 94e05979 (git): [ruby/prism] Document that nested heredocs are not properly parsed for parser
https://github.com/ruby/prism/commit/d218e65561 kddnewton (Kevin Newton)
07:46 PM Revision 79e9dea8 (git): [ruby/prism] Ensure inner heredoc nodes have the correct location
https://github.com/ruby/prism/commit/100340bc6b kddnewton (Kevin Newton)
07:46 PM Revision ce0a352e (git): [ruby/prism] Use correct newlines for heredoc inner lines
https://github.com/ruby/prism/commit/4a9a7a62af
Co-authored-by: Jason Kim <jasonkim@github.com>
Co-authored-by: Adam Hess <HParker@github.com>
kddnewton (Kevin Newton)
05:56 PM Misc #20519: Porting regexp to pure ruby?
I was at the kaigi but unfortunately missed that talk! I didn't realise a few weeks later I'd be digging in to it :) Looks like some interesting work has gone in to this area already. I'm going to spend some time looking in to this.
...
brightbits (Michael Baldry)
03:05 PM Misc #20519: Porting regexp to pure ruby?
Hi @brightbits! I've investigated this one at length, and can give some context.
As you already discovered, Onigmo stretches well beyond regular expressions. It also provides all of the encoding support within CRuby, stretching all of...
kddnewton (Kevin Newton)
05:53 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
@matz Your post argued against a strawman that preserving kwargs in `[]=` would necessarily violate kwarg separation. Since that is obviously not true, `[]=` can be given real, separated kwargs, instead of removing them entirely, the mat... bughit (bug hit)
04:24 PM Revision 792e9c46 (git): Remove prism compiler warning
kddnewton (Kevin Newton)
03:55 PM Revision caac5658 (git): Don't use SEGV signal when timeout in test_gc_compact
Using a SEGV signal for timeout makes it difficult to tell if it's a real
SEGV or if it timed out, so we should just use the default signals.
peterzhu2118 (Peter Zhu)
03:38 PM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
Please note that I'm not necessarily against a way to call the current ruby executable. I just say doing so using exec is a bad idea, because exec is not designed for that purpose.
The current situation is that ruby is not the only v...
shyouhei (Shyouhei Urabe)
02:53 PM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
> As you see there is no Windows API that takes `char**`. We cannot safely pass through what we have. You have to concatenate them into one argument string (`LPWSTR lpCommandLine`), with proper escaping of whitespace etc.
But this i...
Dan0042 (Daniel DeLorme)
02:28 PM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
shyouhei (Shyouhei Urabe) wrote in #note-26:
> In short the problem we see is feeding strings from untrusted sources to generic `Kernel#exec`. Sounds ultra risky, no?
It also sounds nothing like what this proposal is about. If the c...
Dan0042 (Daniel DeLorme)
04:58 AM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
In short the problem we see is feeding strings from untrusted sources to generic `Kernel#exec`. Sounds ultra risky, no?
Let's not do so. If what is needed is just launching a ruby process, we could perhaps design a workaround.
shyouhei (Shyouhei Urabe)
12:34 AM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
Eregon (Benoit Daloze) wrote in #note-24:
> @mame CRuby already needs to get arguments as an array to parse command-line flags, so `RbConfig.ruby_args` just exposes that.
> ...
This is true. Technically we can provide such array. But...
shyouhei (Shyouhei Urabe)
03:36 PM Feature #18773: deconstruct to receive a range
FWIW I think CRuby currently support subclassing Array and redefining `[]` and pattern matching will call that on CRuby, maybe it can be used for this purpose.
I don't think it's a good idea to rely on this behavior though, it might cha...
Eregon (Benoit Daloze)
03:33 PM Feature #18773: deconstruct to receive a range
The implementation of pattern matching needs to read at indices from the return value of `deconstruct`, but `Enumerable` doesn't have `[]` or `at` or anything like that.
So I think it is difficult to support and could very well end up m...
Eregon (Benoit Daloze)
01:51 PM Feature #18773 (Rejected): deconstruct to receive a range
Going to close this, as I think it should be fixed in other ways. kddnewton (Kevin Newton)
02:51 PM Feature #20563 (Closed): Drop support for old Windows
This is the table of APIs that we are calling dynamically, and the available Windows versions.
DLL | API | Client | Server |
---------|--------------------------------|--------|--------|
iphlpapi | ConvertIn...
nobu (Nobuyoshi Nakada)
02:44 PM Revision 43cf0f99 (git): TestRequire#test_loading_fifo_threading_success: Extend the timeout limit
mame (Yusuke Endoh)
02:29 PM Revision 23937861 (git): TestRegexp#test_match_cache_positive_look_behind: Extend the timeout limit
mame (Yusuke Endoh)
02:11 PM Revision 36b3fea0 (git): TestRegexp#test_timeout_shorter_than_global: Extend the timeout limit
mame (Yusuke Endoh)
02:03 PM Revision b9b207f3 (git): TestRequire#test_loading_fifo_fd_leak: Extend the timeout limit
mame (Yusuke Endoh)
01:53 PM Misc #20156 (Closed): C99 updates
kddnewton (Kevin Newton)
01:52 PM Misc #20170 (Closed): Drop support for GCC < 11
I'm okay to wait on this. My main reason is one day I would love to use C11 features, particularly _Generic, aligned_alloc, and static_assert. I assume/hope we will get there someday. kddnewton (Kevin Newton)
01:39 PM Revision 7944710e (git): TestGc#test_thrashing_for_young_objects: extend the timeout limit
mame (Yusuke Endoh)
01:37 PM Revision 91b86f1b (git): TestRegexp#test_s_timeout: accept timeout errors more tolerantly
This test seems flaky on macOS GitHub Actions mame (Yusuke Endoh)
01:28 PM Revision 51bb5dcd (git): [ruby/error_highlight] Trim trailing spaces in base.rb
https://github.com/ruby/error_highlight/commit/8ce3f6f145 kddnewton (Kevin Newton)
01:15 PM Revision 40ec860d (git): [ruby/error_highlight] Support for the prism compiler
https://github.com/ruby/error_highlight/commit/69fbacfd49 kddnewton (Kevin Newton)
01:09 PM Revision 0e5640b5 (git): Extend timeout of TestGCCompect#test_moving_objects_between_size_pools
It is too flaky on macOS GitHub Actions mame (Yusuke Endoh)
12:56 PM Bug #20518 (Closed): Escaped-newline in %W
Applied in changeset commit:git|5e1001f754b34e1f0cc67563512c6036b6eb75ab.
----------
[DOC] document line continuation.
Document details of escape sequences including line continuation.
[Bug #20518]
akr (Akira Tanaka)
12:55 PM Revision 5e1001f7 (git): [DOC] document line continuation.
Document details of escape sequences including line continuation.
[Bug #20518]
akr (Akira Tanaka)
12:23 PM Revision 547233fb (git): Stop core upload on macOS
It was too big mame (Yusuke Endoh)
11:15 AM Revision 1c09b013 (git): Upload only from ruby/ruby
mame (Yusuke Endoh)
11:15 AM Revision 9ee6b944 (git): Fix the command-line arguments for tar compress
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> mame (Yusuke Endoh)
11:15 AM Revision 37e2063b (git): Set `ulimit -c unlimited` for `make test-all` in macOS
mame (Yusuke Endoh)
11:07 AM Bug #20154: aarch64: configure overrides `-mbranch-protection` if it was set in CFLAGS via environment
kjtsanaktsidis (KJ Tsanaktsidis) wrote in #note-7:
> Ah yeah, I did see that - I'll try and tackle these two together.
👍
> ...
I wish we could ignore `gem install`, but there is too many gems around (and Bundler). That leaves us i...
vo.x (Vit Ondruch)
03:34 AM Bug #20154: aarch64: configure overrides `-mbranch-protection` if it was set in CFLAGS via environment
And two more questions:
* It seems that if you build with `CFLAGS=`, you totally overwrite Ruby's default optimisation flags & warning flags, whereas if you use `cflags=`, you prepend to them (or you can specifically overwrite `optfla...
kjtsanaktsidis (KJ Tsanaktsidis)
03:29 AM Bug #20154: aarch64: configure overrides `-mbranch-protection` if it was set in CFLAGS via environment
Ah yeah, I did see that - I'll try and tackle these two together.
In general it seems that the CRuby build system is perhaps quite inflexible for distributors like yourself who want precise control over compilation flags and what not....
kjtsanaktsidis (KJ Tsanaktsidis)
09:08 AM Bug #20561 (Closed): Segfault with attr_writer, safe navigation and an "in" loop
mame (Yusuke Endoh)
06:11 AM Bug #20561: Segfault with attr_writer, safe navigation and an "in" loop
Just tried it with the latest git version (ruby 3.4.0dev (2024-06-07T04:38:11Z master a279463d0e) [x86_64-linux]), it is fixed indeed. I tried the `foo = nil` part as well, and that works too. I guess this one can be closed. herwin (Herwin W)
12:56 AM Bug #20561 (Feedback): Segfault with attr_writer, safe navigation and an "in" loop
nobu (Nobuyoshi Nakada)
08:34 AM Bug #14480: miniruby crashing when compiled with -O2 or -O1 on aarch64
I don't understand why this change was applied. This should be either enabled everywhere or disabled everywhere, not enabled on some random platforms. Please note that this should not be issue on aarch64 for a while.
Or was the issue ...
vo.x (Vit Ondruch)
07:15 AM Revision 1c5c724c (git): Balance block braces with `#if`
nobu (Nobuyoshi Nakada)
05:32 AM Bug #20397 (Closed): The nkf license in LEGAL file seems to be obsolete
Applied in changeset commit:git|a279463d0ebb2fe1d4021ddd4675141deead514b.
----------
[Bug #20397] Removed obsoleted section about nkf
hsbt (Hiroshi SHIBATA)
05:19 AM Revision d51883e4 (git): Enclose in ruby_version_is blocks
nobu (Nobuyoshi Nakada)
05:15 AM Revision 5f6a4ed5 (git): Remove the old untyped Data API in spec/ruby
nobu (Nobuyoshi Nakada)
04:38 AM Revision a279463d (git): [Bug #20397] Removed obsoleted section about nkf
hsbt (Hiroshi SHIBATA)
04:29 AM Revision fcfbe06e (git): Bundle rbs-3.5 (#10929)
* Bundle rbs-3.5.1 soutaro (Soutaro Matsumoto)
02:28 AM Revision 9e283547 (git): ripper: Fix excess `compile_error` at simple backref op_asgn
Fix up 89cfc1520717257073012ec07105c551e4b8af7c. nobu (Nobuyoshi Nakada)
02:20 AM Bug #20562 (Closed): Categorize `RUBY_FREE_AT_EXIT` warning
```sh
$ RUBY_FREE_AT_EXIT=1 ruby -W:no-experimental -ep
ruby: warning: Free at exit is experimental and may be unstable
```
It should be categorized as experimental as its message.
nobu (Nobuyoshi Nakada)
02:08 AM Bug #20043: `defined?` checks for method existence but only sometimes
Here is a survey which node (in Prism) are used in `defined?(expr)` (the node of `expr`)
https://gist.github.com/ko1/b31517a5037d55bbe50e7f12d79b9fc1
I understand the usage of :constant_read_node, :constant_path_node, :instance_varia...
ko1 (Koichi Sasada)
01:42 AM Revision 335cb288 (git): Do not try random devices immediately twice
Do not retry `fill_random_bytes` in `Init_RandomSeedCore`, just after
it failed first.
In other places, `rand_init_default` and `random_seed`, no more tweeks
needed once it succeeded
nobu (Nobuyoshi Nakada)
01:42 AM Revision 5b4734d5 (git): win32: Allocate the wrapper for crypt provider handle first
Also use a typed data. nobu (Nobuyoshi Nakada)
01:42 AM Revision 0396050f (git): Cast `RUBY_ATOMIC_PTR_CAS` arguments
As well as `RUBY_ATOMIC_PTR_EXCHANGE` and `RUBY_ATOMIC_PTR_LOAD`. nobu (Nobuyoshi Nakada)
01:22 AM Misc #20407: Question about applying encoding modifier to an interpolated Regexp
I think encoding modifiers for Regexp should be deprecated (and gradually removed), although the bug should be fixed anyway.
Matz.
matz (Yukihiro Matsumoto)

06/06/2024

10:46 PM Bug #14480 (Closed): miniruby crashing when compiled with -O2 or -O1 on aarch64
Applied in changeset commit:git|029d92b8988d26955d0622f0cbb8ef3213200749.
----------
Disable __builtin_setjmp usage on linux-aarch64
It is questionable whether __builtin_setjmp should default to yes
at all, but since it appears to stil...
jeremyevans (Jeremy Evans)
10:46 PM Revision 029d92b8 (git): Disable __builtin_setjmp usage on linux-aarch64
It is questionable whether __builtin_setjmp should default to yes
at all, but since it appears to still have problems on this platform,
it seems safest to disable it.
Fixes [Bug #14480]
jeremyevans (Jeremy Evans)
10:31 PM Revision 8f7d0813 (git): remove unused variable
tenderlovemaking (Aaron Patterson)
10:02 PM Bug #19749 (Closed): Confirm correct behaviour when attaching private method with `#define_method`
Applied in changeset commit:git|ad29527920b2a37ee427dc4991ff74d7a2f53e05.
----------
Fix Module#define_method to change visibility when passed existing method body
Fixes [Bug #19749]
jeremyevans (Jeremy Evans)
09:32 AM Bug #19749: Confirm correct behaviour when attaching private method with `#define_method`
Discussed at the dev meeting. @matz said `define_method(:foo, instance_method(:foo))` should change the visibility of `foo` to that of the current context. mame (Yusuke Endoh)
10:02 PM Revision ad295279 (git): Fix Module#define_method to change visibility when passed existing method body
Fixes [Bug #19749] jeremyevans (Jeremy Evans)
09:37 PM Revision f789b816 (git): remove debug output
tenderlovemaking (Aaron Patterson)
08:30 PM Bug #20478 (Closed): Circular parameter syntax error rules
Merged. kddnewton (Kevin Newton)
09:10 AM Bug #20478: Circular parameter syntax error rules
Discussed at the dev meeting. @matz said all cases should be accepted with no syntax error. So `def foo(bar = bar) = bar; foo` will return `nil` with no warning and error. mame (Yusuke Endoh)
08:29 PM Revision cbc83c4a (git): Remove circular parameter syntax error
https://bugs.ruby-lang.org/issues/20478 kddnewton (Kevin Newton)
07:53 PM Bug #20527 (Closed): Control-Flow protection cannot be enabled for Ruby due to ASM bits
Closing as duplicate as suggested. alanwu (Alan Wu)
06:53 PM Revision eb46b092 (git): [rubygems/rubygems] Fix printing requirement based spec filters
I don't understand what was the idea of "!=" here.
https://github.com/rubygems/rubygems/commit/06d5f1dcf1
deivid (David Rodríguez)
06:53 PM Revision 0fb73a8e (git): [rubygems/rubygems] Avoid appending a final "/" when `fallback_timeout` is used in config
https://github.com/rubygems/rubygems/commit/a0af1baa2b deivid (David Rodríguez)
06:53 PM Revision 765d6159 (git): [rubygems/rubygems] Remove per uri options constant
I don't think we should add more of these.
https://github.com/rubygems/rubygems/commit/9eee9948cc
deivid (David Rodríguez)
06:53 PM Revision 82b68bc3 (git): [rubygems/rubygems] Move Bundler settings specific logic to Bundler
https://github.com/rubygems/rubygems/commit/7d1e8be2ce deivid (David Rodríguez)
06:53 PM Revision da10d1dd (git): [rubygems/rubygems] Avoid `is_a?` check before using `normalize_uri`
https://github.com/rubygems/rubygems/commit/31cb15d03f deivid (David Rodríguez)
06:53 PM Revision 60620509 (git): [rubygems/rubygems] Remove unnecessary `.to_s`
The `normalize_uri` method always gives back a String.
https://github.com/rubygems/rubygems/commit/246953010c
deivid (David Rodríguez)
06:53 PM Revision 61a80bd1 (git): [rubygems/rubygems] Truly ignore commented out settings
https://github.com/rubygems/rubygems/commit/e31df2d6ef deivid (David Rodríguez)
06:44 PM Revision 4d29d219 (git): [rubygems/rubygems] Enable one spec on truffleruby that reproduces the Pathname problem
Recent refactorings in test suite to not load `pathname` for launching
Bundler subprocesses make some specs fail due to the warnings Ruby prints
when autoloading `pathname` under a namespace. But enabling this spec
also reproduces the ha...
deivid (David Rodríguez)
06:44 PM Revision da75df2f (git): [rubygems/rubygems] Stop depending on `pathname` for subprocess launching
When launching bundler subprocesses for end to end testing, all of them
will load the `spec/support/rubygems_version_manager.rb` file passed as
a ruby's `-r` flag.
Unfortunately this file depends on `pathname`, so unless we drop that
de...
deivid (David Rodríguez)
06:44 PM Revision 9579c3d9 (git): [rubygems/rubygems] Reuse `git` helper when possible
https://github.com/rubygems/rubygems/commit/f7c7bae940 deivid (David Rodríguez)
06:44 PM Revision b5a7f639 (git): [rubygems/rubygems] Respect `GEM_COMMAND` in non ruby-core mode
Not that I need it, but reads better.
https://github.com/rubygems/rubygems/commit/db3eca7b92
deivid (David Rodríguez)
06:44 PM Revision b5949ad6 (git): [rubygems/rubygems] Simplify check for ruby-core setup
https://github.com/rubygems/rubygems/commit/77bc6f1ecc deivid (David Rodríguez)
06:44 PM Revision 4720b7d2 (git): [rubygems/rubygems] The `system_gem_path` helper method already joins internally
https://github.com/rubygems/rubygems/commit/10f2ce1afb deivid (David Rodríguez)
06:44 PM Revision f0d5df73 (git): [rubygems/rubygems] The `default_bundle_path` helper method already joins internally
https://github.com/rubygems/rubygems/commit/6b3f555211 deivid (David Rodríguez)
06:44 PM Revision 7fbc9ffb (git): [rubygems/rubygems] The `home` helper method already joins internally
https://github.com/rubygems/rubygems/commit/279740ed52 deivid (David Rodríguez)
06:44 PM Revision 30d028ea (git): [rubygems/rubygems] The `bundled_app` helper method already joins internally
https://github.com/rubygems/rubygems/commit/57576e27a1 deivid (David Rodríguez)
06:44 PM Revision f5c6a395 (git): [rubygems/rubygems] The `tmp` test helper already joins internally
https://github.com/rubygems/rubygems/commit/2d9eeadb62 deivid (David Rodríguez)
06:44 PM Revision c8161a4e (git): [rubygems/rubygems] Autoload `pathname` at the top level
Otherwise Ruby >= 3.2 gives a warning which makes several specs fail,
and truffleruby rejects it at all.
https://github.com/rubygems/rubygems/commit/ae2878484f
deivid (David Rodríguez)
06:35 PM Bug #20561: Segfault with attr_writer, safe navigation and an "in" loop
I believe this has already been fixed in https://bugs.ruby-lang.org/issues/20468. Can you try HEAD? kddnewton (Kevin Newton)
05:12 PM Bug #20561: Segfault with attr_writer, safe navigation and an "in" loop
I tried a few more Ruby versions. JRuby 9.4.7.0 works, but it results in an error when `foo = nil`. MRuby 3.3.0 and TruffleRuby 24.0.1 both work fine with this case and the `foo = nil` case. herwin (Herwin W)
05:11 PM Bug #20561 (Closed): Segfault with attr_writer, safe navigation and an "in" loop
```ruby
class Foo
attr_accessor :bar
end
foo = Foo.new
for foo&.bar in [1,2,3]
p foo
end
```
This code works fine when using `foo.bar` in the loop, without the safe navigator, but the safe navigator results in a segfault. ...
herwin (Herwin W)
05:49 PM Bug #20433: Hash.inspect for some hash returns syntax invalid representation
I created a proof of concept patch for colon style inspect https://github.com/ruby/ruby/pull/10924 tompng (tomoya ishida)
09:27 AM Bug #20433: Hash.inspect for some hash returns syntax invalid representation
Discussed at the dev meeting.
In conclusion, @matz wanted to change the return value of `Hash#inspect` significantly and estimate its compatibility impact:
```ruby
{ :key => 42 } #=> {key: 42} # if the key is a symbol
{ :== ...
mame (Yusuke Endoh)
04:44 PM Revision 7b7d1586 (git): [ruby/prism] Reject additional patterns under splat in target
https://github.com/ruby/prism/commit/90d570aa50 kddnewton (Kevin Newton)
03:50 PM Revision e323dbb1 (git): Make subclasses to define methods
nobu (Nobuyoshi Nakada)
03:49 PM Revision ec7babd1 (git): [Feature #19998] Untyped Data API has been marked as deprecated
nobu (Nobuyoshi Nakada)
03:25 PM Revision 9f469ad1 (git): [DOC] Time uses the proleptic Gregorian calendar.
akr (Akira Tanaka)
02:57 PM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
@mame CRuby already needs to get arguments as an array to parse command-line flags, so `RbConfig.ruby_args` just exposes that.
If CRuby can parse these Ruby command-line flags, for sure we can save them in some kind of array.
IIRC th...
Eregon (Benoit Daloze)
10:23 AM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
I am afraid if it is more difficult than expected to do "launch subprocess Ruby instances with the same settings".
I am not very familiar with Windows, but I have heard that there is no concept of "an array of command-line arguments" ...
mame (Yusuke Endoh)
02:37 PM Bug #20154: aarch64: configure overrides `-mbranch-protection` if it was set in CFLAGS via environment
BTW since this is about overriding configuration options, I think that #20520 falls into the same bucket vo.x (Vit Ondruch)
02:16 PM Misc #20488 (Closed): Document source file size restrictions
Thank you! kddnewton (Kevin Newton)
05:46 AM Misc #20488: Document source file size restrictions
The limit will be declared (for CRuby):
* maximum line: signed 32 bits (`eval` uses negative line numbers)
* maximum column: unsigned 32 bits
* maximum file byte size: unsigned 32 bits
Matz.
matz (Yukihiro Matsumoto)
02:15 PM Revision 78d7b470 (git): [ruby/prism] Add some code samples
https://github.com/ruby/prism/commit/f5c883af56 kddnewton (Kevin Newton)
02:15 PM Revision b0059980 (git): [ruby/prism] Add some samples for using prism APIs
https://github.com/ruby/prism/commit/6a4fe21088 kddnewton (Kevin Newton)
01:19 PM Misc #20013: Travis CI status
jaruga (Jun Aruga) wrote in #note-32:
> I noticed the following message is displayed on our Travis page. I will contact Travis support.
> ...
Travis support quickly responded and fix the issue removing the message. And I can see the Tr...
jaruga (Jun Aruga)
09:37 AM Misc #20013: Travis CI status
I noticed the following message is displayed on our Travis page. I will contact Travis support.
https://app.travis-ci.com/github/ruby/ruby
> We are unable to start your build at this time. You exceeded the number of users allowed fo...
jaruga (Jun Aruga)
11:44 AM Bug #20521 (Closed): Memory leak in Ripper parsing
Applied in changeset commit:git|27321290d954300192c82cdf5e2c794a695473f5.
----------
[Bug #20521] ripper: Clean up strterm
nobu (Nobuyoshi Nakada)
11:43 AM Revision 27321290 (git): [Bug #20521] ripper: Clean up strterm
nobu (Nobuyoshi Nakada)
11:20 AM Revision f465045d (git): [ruby/reline] Remove instance variable @first_char
(https://github.com/ruby/reline/pull/717)
When Reline reads EOF, Reline.readline should return nil if and only if input is empty
https://github.com/ruby/reline/commit/cc74b3686a
tompng (tomoya ishida)
09:46 AM Misc #20432: Proposal for workflow changes related to teeny releases
Thank you for considering my proposals and for the work you all have been doing to make a better release process. It is exciting to see more releases being made. The community is thankful for the work of all the current and past branch m... ufuk (Ufuk Kayserilioglu)
09:36 AM Misc #20432 (Closed): Proposal for workflow changes related to teeny releases
We already worked with proposal 2. It happened to be the same timing as security releases were required in recent years.
I and @nagachika and @k0kubun try to release with proposal 3. I'm not sure proposal 1 is good for branch maintain...
hsbt (Hiroshi SHIBATA)
09:44 AM Feature #19998 (Closed): Emit deprecation warnings when the old (non-Typed) Data_XXX API is used
Applied in changeset commit:git|fbb61a26e71be9faccb4ad2392e71d0a561854d1.
----------
Mark old Data API as deprecated
[Feature #19998]
byroot (Jean Boussier)
09:42 AM Feature #19998: Emit deprecation warnings when the old (non-Typed) Data_XXX API is used
> Whether it is actually possible to remove the APIs may require careful consideration in the future.
Agreed. I'm not suggesting that yet. However I do have a proof of concept that degrades a bit the old API performance in favor of im...
byroot (Jean Boussier)
09:35 AM Feature #19998: Emit deprecation warnings when the old (non-Typed) Data_XXX API is used
Discussed at the dev meeting. Matz accepted build-time warning.
However, the author of a gem that is not well maintained is not likely to notice the build-time warning. Whether it is actually possible to remove the APIs may require ca...
mame (Yusuke Endoh)
09:44 AM Revision fbb61a26 (git): Mark old Data API as deprecated
[Feature #19998] byroot (Jean Boussier)
09:43 AM Bug #20416 (Closed): IO#read doesn't change buffer encoding unless `maxlen = nil`
Discussed at the dev meeting, and @matz agreed with @nobu. Closing mame (Yusuke Endoh)
09:41 AM Bug #20319: Singleton class is being frozen lazily in some cases
Discussed at the dev meeting, but no one had a deep understanding of Jeremy's patch, and matz was unable to make any decision. mame (Yusuke Endoh)
09:30 AM Bug #20043: `defined?` checks for method existence but only sometimes
Discussed at the dev meeting. @matz said `defined?([*a])`, `defined?(itself(*a))`, and `defined?({ a => a })` should all return nil.
Matz was not positive about restricting the expression of `defined?`. @ko1 said he will investigate t...
mame (Yusuke Endoh)
09:08 AM Bug #20504: Interpolated string literal in regexp encoding handling
Discussed at the dev meeting, and @matz said `/#{"\x80"}/` should not raise a SyntaxError but return a binary encoded regexp object. mame (Yusuke Endoh)
09:07 AM Revision d4aff75a (git): [ruby/logger] Add support for symbols in #shift_age
Resolves issue: https://github.com/ruby/logger/issues/46
https://github.com/ruby/logger/commit/83502c2107
Baron Bloomer
08:40 AM Feature #20443: Allow Major GC's to be disabled
First, If you clearly define what would happen when the (plugged) GC does not generational scanning, I am OK for it. @byroot told me that calling those methods would raise `NotImplementedError` when GC does not provide generational GC.
...
matz (Yukihiro Matsumoto)
08:31 AM Revision 1a092857 (git): Revert "Update bundled_gems"
This reverts commit ba72cfa6616d377ceb62d94f10157097349634e5.
https://github.com/ruby/ruby/actions/runs/9396582605/job/25878058017#step:10:788
```
../../../../../../src/.bundle/gems/rbs-3.5.0/ext/rbs_extension/location.h:23:25: error: ...
hsbt (Hiroshi SHIBATA)
08:22 AM Misc #20407: Question about applying encoding modifier to an interpolated Regexp
I think:
1. If a `Regexp` source string contains non-US-ASCII chars, the source string encoding is honored.
2. If the source string contains US-ASCII chars only, falls back to
a. an encoding option if given.
b. US-ASCII.
nobu (Nobuyoshi Nakada)
07:06 AM Revision ba72cfa6 (git): Update bundled_gems
hsbt (Hiroshi SHIBATA)
06:48 AM Bug #20218: aset/masgn/op_asgn with keyword arguments
matz (Yukihiro Matsumoto) wrote in #note-18:
> It is the direction of Ruby's evolution to separate keyword arguments from normal arguments, just as Ruby 3.0 promoted the separation of keyword arguments. This proposal goes against this di...
bughit (bug hit)
05:43 AM Bug #20218: aset/masgn/op_asgn with keyword arguments
It is the direction of Ruby's evolution to separate keyword arguments from normal arguments, just as Ruby 3.0 promoted the separation of keyword arguments. This proposal goes against this direction and cannot be accepted. We investigated... matz (Yukihiro Matsumoto)
05:26 AM Bug #18622 (Closed): const_get still looks in Object, while lexical constant lookup no longer does
Sorry, I forgot to reply. Due to the compatibility concern, I'd like to keep this behavior even though it's inconsistent with direct constant accesses.
Matz.
matz (Yukihiro Matsumoto)
12:04 AM Revision 6f3c1e1d (git): [PRISM] Sync latest prism
kddnewton (Kevin Newton)
 

Also available in: Atom