ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
@ 2025-03-17 21:10 LocoDelAssembly via ruby-core
  2025-04-14  7:46 ` [ruby-core:121655] " alanwu (Alan Wu) via ruby-core
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: LocoDelAssembly via ruby-core @ 2025-03-17 21:10 UTC (permalink / raw)
  To: ruby-core; +Cc: LocoDelAssembly

Issue #21187 has been reported by LocoDelAssembly (Hernán Pereira).

----------------------------------------
Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
https://bugs.ruby-lang.org/issues/21187

* Author: LocoDelAssembly (Hernán Pereira)
* Status: Open
* ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
When the first elements of a literal hash are strings that are concatenated with `\`, those elements are flagged with `PM_NODE_FLAG_STATIC_LITERAL` and a special optimization that I believe was introduced in https://github.com/ruby/ruby/commit/8080de04be8e99e71309745822a9d436cc4ae37c causes the strings to be frozen.

Reproduction
===
test.rb
```
a = {
  a: 'one' \
     'two',
  b: 'three' \
     'four',
  c: 'five',
  d: 'six' \
     'seven'
}

b = {
  a: 'one',
  b: 'two' \
     'three'
}

puts "a = #{a.map { |k,v| {k => v.frozen?} }}"
puts "b = #{b.map { |k,v| {k => v.frozen?} }}"
```

With prism:
```
$ ruby test.rb                 
a = [{a: true}, {b: true}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

With parse.y:
```
$ ruby --parser=parse.y test.rb
a = [{a: false}, {b: false}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

(Notice `b` hash is unaffected in both parsers)

Not sure if this is just part of undefined behavior or this is indeed a bug. Assigning a string concatenated with `\` to a variable doesn't make it frozen, to the best of my knowledge this seems to be hash-specific.




-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [ruby-core:121655] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
  2025-03-17 21:10 [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) LocoDelAssembly via ruby-core
@ 2025-04-14  7:46 ` alanwu (Alan Wu) via ruby-core
  2025-09-13 13:58 ` [ruby-core:123240] " kddnewton (Kevin Newton) via ruby-core
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: alanwu (Alan Wu) via ruby-core @ 2025-04-14  7:46 UTC (permalink / raw)
  To: ruby-core; +Cc: alanwu (Alan Wu)

Issue #21187 has been updated by alanwu (Alan Wu).

Assignee set to prism

----------------------------------------
Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
https://bugs.ruby-lang.org/issues/21187#change-112709

* Author: LocoDelAssembly (Hernán Pereira)
* Status: Open
* Assignee: prism
* ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
When the first elements of a literal hash are strings that are concatenated with `\`, those elements are flagged with `PM_NODE_FLAG_STATIC_LITERAL` and a special optimization that I believe was introduced in https://github.com/ruby/ruby/commit/8080de04be8e99e71309745822a9d436cc4ae37c causes the strings to be frozen.

Reproduction
===
test.rb
```
a = {
  a: 'one' \
     'two',
  b: 'three' \
     'four',
  c: 'five',
  d: 'six' \
     'seven'
}

b = {
  a: 'one',
  b: 'two' \
     'three'
}

puts "a = #{a.map { |k,v| {k => v.frozen?} }}"
puts "b = #{b.map { |k,v| {k => v.frozen?} }}"
```

With prism:
```
$ ruby test.rb                 
a = [{a: true}, {b: true}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

With parse.y:
```
$ ruby --parser=parse.y test.rb
a = [{a: false}, {b: false}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

(Notice `b` hash is unaffected in both parsers)

Not sure if this is just part of undefined behavior or this is indeed a bug. Assigning a string concatenated with `\` to a variable doesn't make it frozen, to the best of my knowledge this seems to be hash-specific.




-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [ruby-core:123240] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
  2025-03-17 21:10 [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) LocoDelAssembly via ruby-core
  2025-04-14  7:46 ` [ruby-core:121655] " alanwu (Alan Wu) via ruby-core
@ 2025-09-13 13:58 ` kddnewton (Kevin Newton) via ruby-core
  2025-09-30 17:12 ` [ruby-core:123351] " tenderlovemaking (Aaron Patterson) via ruby-core
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: kddnewton (Kevin Newton) via ruby-core @ 2025-09-13 13:58 UTC (permalink / raw)
  To: ruby-core; +Cc: kddnewton (Kevin Newton)

Issue #21187 has been updated by kddnewton (Kevin Newton).

Status changed from Closed to Open

I think this might not be fixed. I'm reopening to keep investigating.

----------------------------------------
Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
https://bugs.ruby-lang.org/issues/21187#change-114574

* Author: LocoDelAssembly (Hernán Pereira)
* Status: Open
* Assignee: prism
* ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
When the first elements of a literal hash are strings that are concatenated with `\`, those elements are flagged with `PM_NODE_FLAG_STATIC_LITERAL` and a special optimization that I believe was introduced in https://github.com/ruby/ruby/commit/8080de04be8e99e71309745822a9d436cc4ae37c causes the strings to be frozen.

Reproduction
===
test.rb
```
a = {
  a: 'one' \
     'two',
  b: 'three' \
     'four',
  c: 'five',
  d: 'six' \
     'seven'
}

b = {
  a: 'one',
  b: 'two' \
     'three'
}

puts "a = #{a.map { |k,v| {k => v.frozen?} }}"
puts "b = #{b.map { |k,v| {k => v.frozen?} }}"
```

With prism:
```
$ ruby test.rb                 
a = [{a: true}, {b: true}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

With parse.y:
```
$ ruby --parser=parse.y test.rb
a = [{a: false}, {b: false}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

(Notice `b` hash is unaffected in both parsers)

Not sure if this is just part of undefined behavior or this is indeed a bug. Assigning a string concatenated with `\` to a variable doesn't make it frozen, to the best of my knowledge this seems to be hash-specific.




-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [ruby-core:123351] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
  2025-03-17 21:10 [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) LocoDelAssembly via ruby-core
  2025-04-14  7:46 ` [ruby-core:121655] " alanwu (Alan Wu) via ruby-core
  2025-09-13 13:58 ` [ruby-core:123240] " kddnewton (Kevin Newton) via ruby-core
@ 2025-09-30 17:12 ` tenderlovemaking (Aaron Patterson) via ruby-core
  2025-09-30 17:53 ` [ruby-core:123353] " kddnewton (Kevin Newton) via ruby-core
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: tenderlovemaking (Aaron Patterson) via ruby-core @ 2025-09-30 17:12 UTC (permalink / raw)
  To: ruby-core; +Cc: tenderlovemaking (Aaron Patterson)

Issue #21187 has been updated by tenderlovemaking (Aaron Patterson).


@kddnewton any updates, or reproduction issues?  I'm confident I fixed the issue OP reported.

----------------------------------------
Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
https://bugs.ruby-lang.org/issues/21187#change-114722

* Author: LocoDelAssembly (Hernán Pereira)
* Status: Open
* Assignee: prism
* ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
When the first elements of a literal hash are strings that are concatenated with `\`, those elements are flagged with `PM_NODE_FLAG_STATIC_LITERAL` and a special optimization that I believe was introduced in https://github.com/ruby/ruby/commit/8080de04be8e99e71309745822a9d436cc4ae37c causes the strings to be frozen.

Reproduction
===
test.rb
```
a = {
  a: 'one' \
     'two',
  b: 'three' \
     'four',
  c: 'five',
  d: 'six' \
     'seven'
}

b = {
  a: 'one',
  b: 'two' \
     'three'
}

puts "a = #{a.map { |k,v| {k => v.frozen?} }}"
puts "b = #{b.map { |k,v| {k => v.frozen?} }}"
```

With prism:
```
$ ruby test.rb                 
a = [{a: true}, {b: true}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

With parse.y:
```
$ ruby --parser=parse.y test.rb
a = [{a: false}, {b: false}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

(Notice `b` hash is unaffected in both parsers)

Not sure if this is just part of undefined behavior or this is indeed a bug. Assigning a string concatenated with `\` to a variable doesn't make it frozen, to the best of my knowledge this seems to be hash-specific.




-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [ruby-core:123353] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
  2025-03-17 21:10 [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) LocoDelAssembly via ruby-core
                   ` (2 preceding siblings ...)
  2025-09-30 17:12 ` [ruby-core:123351] " tenderlovemaking (Aaron Patterson) via ruby-core
@ 2025-09-30 17:53 ` kddnewton (Kevin Newton) via ruby-core
  2025-10-01 10:40 ` [ruby-core:123359] " Earlopain (Earlopain _) via ruby-core
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: kddnewton (Kevin Newton) via ruby-core @ 2025-09-30 17:53 UTC (permalink / raw)
  To: ruby-core; +Cc: kddnewton (Kevin Newton)

Issue #21187 has been updated by kddnewton (Kevin Newton).


Yeah, it broke CI on macOS https://github.com/ruby/ruby/actions/runs/16430139182/job/46429723627#step:9:179

----------------------------------------
Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
https://bugs.ruby-lang.org/issues/21187#change-114724

* Author: LocoDelAssembly (Hernán Pereira)
* Status: Open
* Assignee: prism
* ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
When the first elements of a literal hash are strings that are concatenated with `\`, those elements are flagged with `PM_NODE_FLAG_STATIC_LITERAL` and a special optimization that I believe was introduced in https://github.com/ruby/ruby/commit/8080de04be8e99e71309745822a9d436cc4ae37c causes the strings to be frozen.

Reproduction
===
test.rb
```
a = {
  a: 'one' \
     'two',
  b: 'three' \
     'four',
  c: 'five',
  d: 'six' \
     'seven'
}

b = {
  a: 'one',
  b: 'two' \
     'three'
}

puts "a = #{a.map { |k,v| {k => v.frozen?} }}"
puts "b = #{b.map { |k,v| {k => v.frozen?} }}"
```

With prism:
```
$ ruby test.rb                 
a = [{a: true}, {b: true}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

With parse.y:
```
$ ruby --parser=parse.y test.rb
a = [{a: false}, {b: false}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

(Notice `b` hash is unaffected in both parsers)

Not sure if this is just part of undefined behavior or this is indeed a bug. Assigning a string concatenated with `\` to a variable doesn't make it frozen, to the best of my knowledge this seems to be hash-specific.




-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [ruby-core:123359] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
  2025-03-17 21:10 [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) LocoDelAssembly via ruby-core
                   ` (3 preceding siblings ...)
  2025-09-30 17:53 ` [ruby-core:123353] " kddnewton (Kevin Newton) via ruby-core
@ 2025-10-01 10:40 ` Earlopain (Earlopain _) via ruby-core
  2025-10-01 18:26 ` [ruby-core:123363] " Earlopain (Earlopain _) via ruby-core
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Earlopain (Earlopain _) via ruby-core @ 2025-10-01 10:40 UTC (permalink / raw)
  To: ruby-core; +Cc: Earlopain (Earlopain _)

Issue #21187 has been updated by Earlopain (Earlopain _).


So this was partially reverted via https://github.com/ruby/ruby/commit/7dbd9c26361719a45fa39838f46a76d67dc3c2e9. It reverts the ruby/prism changes but kept the compiler changes from https://github.com/ruby/ruby/pull/13966.

I think the macos issue might have stemmed from the fact that all flags were cleared. That includes the one from `frozen_string_literal: false` which `rbconfig.rb` has. Seems like something that could cause this, and indeed the mutable flag got cleared from `"foo""bar"` which `rbconfig.rb` contains on macos

You added a test that `"'a' 'b'"` should not have `PM_NODE_FLAG_STATIC_LITERAL` but that doesn't look correct to me? At least from the description about that flag from the docs (A flag to indicate that the value that the node represents is a value that can be determined at parse-time). It does not mean frozen is my understanding.

I feel like the prism side is already correct, just some compiler optimization is missing some extra condition somewhere to not apply. `"'a' 'b'"` is static, `"a" "b#{c}"` is not, which is my understanding of how it should be behave.

(For some reason I thought the compiler changes were enough by themselves but I tested now on 3.4.6 and master, and the behaviour OP describes is still present). So, indeed not fixed.

----------------------------------------
Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
https://bugs.ruby-lang.org/issues/21187#change-114729

* Author: LocoDelAssembly (Hernán Pereira)
* Status: Open
* Assignee: prism
* ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
When the first elements of a literal hash are strings that are concatenated with `\`, those elements are flagged with `PM_NODE_FLAG_STATIC_LITERAL` and a special optimization that I believe was introduced in https://github.com/ruby/ruby/commit/8080de04be8e99e71309745822a9d436cc4ae37c causes the strings to be frozen.

Reproduction
===
test.rb
```
a = {
  a: 'one' \
     'two',
  b: 'three' \
     'four',
  c: 'five',
  d: 'six' \
     'seven'
}

b = {
  a: 'one',
  b: 'two' \
     'three'
}

puts "a = #{a.map { |k,v| {k => v.frozen?} }}"
puts "b = #{b.map { |k,v| {k => v.frozen?} }}"
```

With prism:
```
$ ruby test.rb                 
a = [{a: true}, {b: true}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

With parse.y:
```
$ ruby --parser=parse.y test.rb
a = [{a: false}, {b: false}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

(Notice `b` hash is unaffected in both parsers)

Not sure if this is just part of undefined behavior or this is indeed a bug. Assigning a string concatenated with `\` to a variable doesn't make it frozen, to the best of my knowledge this seems to be hash-specific.




-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [ruby-core:123363] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
  2025-03-17 21:10 [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) LocoDelAssembly via ruby-core
                   ` (4 preceding siblings ...)
  2025-10-01 10:40 ` [ruby-core:123359] " Earlopain (Earlopain _) via ruby-core
@ 2025-10-01 18:26 ` Earlopain (Earlopain _) via ruby-core
  2025-10-01 20:29 ` [ruby-core:123364] " k0kubun (Takashi Kokubun) via ruby-core
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Earlopain (Earlopain _) via ruby-core @ 2025-10-01 18:26 UTC (permalink / raw)
  To: ruby-core; +Cc: Earlopain (Earlopain _)

Issue #21187 has been updated by Earlopain (Earlopain _).


Turns out the prism commit was reverted before the compiler change was merged. Then the ruby/ruby PR was merged, which contained the reverted code again, essentially fixing this issue.

Then https://github.com/ruby/ruby/commit/e74524616013c616744ebf8168f1ad57eee74a05 came along and "broke" it again, since it gave the impression of being reverted during 3.4.6 release. A bit of a mess to be honest.

I did notice an issue with the original approach where these concatinated strings no longer warn about chilled strings. It has to preserve frozen-ness/mutability when concatinating string literals like `"foo""bar"`. I have https://github.com/ruby/prism/pull/3667 for the prism side and https://github.com/ruby/ruby/pull/14697 for the compiler. 

----------------------------------------
Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
https://bugs.ruby-lang.org/issues/21187#change-114732

* Author: LocoDelAssembly (Hernán Pereira)
* Status: Open
* Assignee: prism
* ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
When the first elements of a literal hash are strings that are concatenated with `\`, those elements are flagged with `PM_NODE_FLAG_STATIC_LITERAL` and a special optimization that I believe was introduced in https://github.com/ruby/ruby/commit/8080de04be8e99e71309745822a9d436cc4ae37c causes the strings to be frozen.

Reproduction
===
test.rb
```
a = {
  a: 'one' \
     'two',
  b: 'three' \
     'four',
  c: 'five',
  d: 'six' \
     'seven'
}

b = {
  a: 'one',
  b: 'two' \
     'three'
}

puts "a = #{a.map { |k,v| {k => v.frozen?} }}"
puts "b = #{b.map { |k,v| {k => v.frozen?} }}"
```

With prism:
```
$ ruby test.rb                 
a = [{a: true}, {b: true}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

With parse.y:
```
$ ruby --parser=parse.y test.rb
a = [{a: false}, {b: false}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

(Notice `b` hash is unaffected in both parsers)

Not sure if this is just part of undefined behavior or this is indeed a bug. Assigning a string concatenated with `\` to a variable doesn't make it frozen, to the best of my knowledge this seems to be hash-specific.




-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [ruby-core:123364] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
  2025-03-17 21:10 [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) LocoDelAssembly via ruby-core
                   ` (5 preceding siblings ...)
  2025-10-01 18:26 ` [ruby-core:123363] " Earlopain (Earlopain _) via ruby-core
@ 2025-10-01 20:29 ` k0kubun (Takashi Kokubun) via ruby-core
  2025-10-01 20:59 ` [ruby-core:123366] " Earlopain (Earlopain _) via ruby-core
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: k0kubun (Takashi Kokubun) via ruby-core @ 2025-10-01 20:29 UTC (permalink / raw)
  To: ruby-core; +Cc: k0kubun (Takashi Kokubun)

Issue #21187 has been updated by k0kubun (Takashi Kokubun).


> Turns out the prism commit was reverted before the compiler change was merged.
> A bit of a mess to be honest.

I think the maintainers understand this, but the thing is

* A Prism change that needs a compiler fix should be merged to ruby/ruby first, and then reverse-synced to ruby/prism.
  * When you merge such a change to ruby/prism first and it breaks ruby/ruby CI, the change will be reverted, at least on the ruby/ruby side. This started the out-of-sync situation.
  * If you don't want this to happen, you probably want to have `prism_compile.{c,h}` in ruby/prism as well. `cruby-bindings.yml` would test it, so it's not impossible.
* When something is changed on ruby/ruby master (in this case, a sync from ruby/prism was reverted), it should be reverse-synced to ruby/prism as soon as possible.
  * There's nothing that prevents you from leaving the out-of-sync ruby/prism at the moment. This time, they were out of sync for a while without anybody noticing it.
  * Perhaps `cruby-bindings.yml` should fail at the `tool/sync_default_gems.rb` step when there's a diff not made by the Prism PR itself. It should let you notice ruby/prism is out of sync (due to a revert in ruby/ruby, for example) when it fails there. There's no point in running the CRuby test when it's not going to be the ruby/ruby code after merging the ruby/prism PR.

----------------------------------------
Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
https://bugs.ruby-lang.org/issues/21187#change-114734

* Author: LocoDelAssembly (Hernán Pereira)
* Status: Closed
* Assignee: prism
* ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
When the first elements of a literal hash are strings that are concatenated with `\`, those elements are flagged with `PM_NODE_FLAG_STATIC_LITERAL` and a special optimization that I believe was introduced in https://github.com/ruby/ruby/commit/8080de04be8e99e71309745822a9d436cc4ae37c causes the strings to be frozen.

Reproduction
===
test.rb
```
a = {
  a: 'one' \
     'two',
  b: 'three' \
     'four',
  c: 'five',
  d: 'six' \
     'seven'
}

b = {
  a: 'one',
  b: 'two' \
     'three'
}

puts "a = #{a.map { |k,v| {k => v.frozen?} }}"
puts "b = #{b.map { |k,v| {k => v.frozen?} }}"
```

With prism:
```
$ ruby test.rb                 
a = [{a: true}, {b: true}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

With parse.y:
```
$ ruby --parser=parse.y test.rb
a = [{a: false}, {b: false}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

(Notice `b` hash is unaffected in both parsers)

Not sure if this is just part of undefined behavior or this is indeed a bug. Assigning a string concatenated with `\` to a variable doesn't make it frozen, to the best of my knowledge this seems to be hash-specific.




-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [ruby-core:123366] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
  2025-03-17 21:10 [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) LocoDelAssembly via ruby-core
                   ` (6 preceding siblings ...)
  2025-10-01 20:29 ` [ruby-core:123364] " k0kubun (Takashi Kokubun) via ruby-core
@ 2025-10-01 20:59 ` Earlopain (Earlopain _) via ruby-core
  2025-10-08 10:24 ` [ruby-core:123430] " Earlopain (Earlopain _) via ruby-core
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Earlopain (Earlopain _) via ruby-core @ 2025-10-01 20:59 UTC (permalink / raw)
  To: ruby-core; +Cc: Earlopain (Earlopain _)

Issue #21187 has been updated by Earlopain (Earlopain _).


It was my bad, I did not look at the history and only noticed what happened in what order now.  From what I gathered someone was notified of the revert.

Thank you for taking the time to explain the process in such detail. I was uncertain what should happen in which order. ruby/ruby first and clean up after makes sense to me.



----------------------------------------
Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
https://bugs.ruby-lang.org/issues/21187#change-114736

* Author: LocoDelAssembly (Hernán Pereira)
* Status: Closed
* Assignee: prism
* ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
When the first elements of a literal hash are strings that are concatenated with `\`, those elements are flagged with `PM_NODE_FLAG_STATIC_LITERAL` and a special optimization that I believe was introduced in https://github.com/ruby/ruby/commit/8080de04be8e99e71309745822a9d436cc4ae37c causes the strings to be frozen.

Reproduction
===
test.rb
```
a = {
  a: 'one' \
     'two',
  b: 'three' \
     'four',
  c: 'five',
  d: 'six' \
     'seven'
}

b = {
  a: 'one',
  b: 'two' \
     'three'
}

puts "a = #{a.map { |k,v| {k => v.frozen?} }}"
puts "b = #{b.map { |k,v| {k => v.frozen?} }}"
```

With prism:
```
$ ruby test.rb                 
a = [{a: true}, {b: true}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

With parse.y:
```
$ ruby --parser=parse.y test.rb
a = [{a: false}, {b: false}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

(Notice `b` hash is unaffected in both parsers)

Not sure if this is just part of undefined behavior or this is indeed a bug. Assigning a string concatenated with `\` to a variable doesn't make it frozen, to the best of my knowledge this seems to be hash-specific.




-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [ruby-core:123430] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
  2025-03-17 21:10 [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) LocoDelAssembly via ruby-core
                   ` (7 preceding siblings ...)
  2025-10-01 20:59 ` [ruby-core:123366] " Earlopain (Earlopain _) via ruby-core
@ 2025-10-08 10:24 ` Earlopain (Earlopain _) via ruby-core
  2025-10-08 23:39 ` [ruby-core:123440] " k0kubun (Takashi Kokubun) via ruby-core
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Earlopain (Earlopain _) via ruby-core @ 2025-10-08 10:24 UTC (permalink / raw)
  To: ruby-core; +Cc: Earlopain (Earlopain _)

Issue #21187 has been updated by Earlopain (Earlopain _).


I think this should be marked for backport on 3.4. When doing so, cherry-pick changes to `prism_compile.c` from https://github.com/ruby/ruby/commit/a1403fb7cbd1fe0df97c932be9814c86081783dc and https://github.com/ruby/ruby/commit/77aaa6ab0a475b8a57b1de4aa1f1210e4f85a803.

Then, pulling in the next prism release should make the fix effective. The first commit on its own with only `prism_compile.c` changes was benign but I can't tell if it would also be the case for the second commit. So I would prefer to backport it all in one go and not start with something incomplete, since my understanding is that prism gem changes should not be cherry-picked.

----------------------------------------
Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
https://bugs.ruby-lang.org/issues/21187#change-114799

* Author: LocoDelAssembly (Hernán Pereira)
* Status: Closed
* Assignee: prism
* ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
When the first elements of a literal hash are strings that are concatenated with `\`, those elements are flagged with `PM_NODE_FLAG_STATIC_LITERAL` and a special optimization that I believe was introduced in https://github.com/ruby/ruby/commit/8080de04be8e99e71309745822a9d436cc4ae37c causes the strings to be frozen.

Reproduction
===
test.rb
```
a = {
  a: 'one' \
     'two',
  b: 'three' \
     'four',
  c: 'five',
  d: 'six' \
     'seven'
}

b = {
  a: 'one',
  b: 'two' \
     'three'
}

puts "a = #{a.map { |k,v| {k => v.frozen?} }}"
puts "b = #{b.map { |k,v| {k => v.frozen?} }}"
```

With prism:
```
$ ruby test.rb                 
a = [{a: true}, {b: true}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

With parse.y:
```
$ ruby --parser=parse.y test.rb
a = [{a: false}, {b: false}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

(Notice `b` hash is unaffected in both parsers)

Not sure if this is just part of undefined behavior or this is indeed a bug. Assigning a string concatenated with `\` to a variable doesn't make it frozen, to the best of my knowledge this seems to be hash-specific.




-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [ruby-core:123440] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
  2025-03-17 21:10 [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) LocoDelAssembly via ruby-core
                   ` (8 preceding siblings ...)
  2025-10-08 10:24 ` [ruby-core:123430] " Earlopain (Earlopain _) via ruby-core
@ 2025-10-08 23:39 ` k0kubun (Takashi Kokubun) via ruby-core
  2025-10-09 13:34 ` [ruby-core:123452] " kddnewton (Kevin Newton) via ruby-core
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: k0kubun (Takashi Kokubun) via ruby-core @ 2025-10-08 23:39 UTC (permalink / raw)
  To: ruby-core; +Cc: k0kubun (Takashi Kokubun)

Issue #21187 has been updated by k0kubun (Takashi Kokubun).


Thanks for the instructions.

Could we just cut a release of Prism now? I think we could do more releases of Prism, which would make these backport tasks simpler.

I've heard that @kddnewton is okay with automating the gem release with trusted publishing. Once we automate that along with crate/npm releases, I can cut a release myself whenever I need to backport the latest Prism.

----------------------------------------
Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
https://bugs.ruby-lang.org/issues/21187#change-114811

* Author: LocoDelAssembly (Hernán Pereira)
* Status: Closed
* Assignee: prism
* ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED
----------------------------------------
When the first elements of a literal hash are strings that are concatenated with `\`, those elements are flagged with `PM_NODE_FLAG_STATIC_LITERAL` and a special optimization that I believe was introduced in https://github.com/ruby/ruby/commit/8080de04be8e99e71309745822a9d436cc4ae37c causes the strings to be frozen.

Reproduction
===
test.rb
```
a = {
  a: 'one' \
     'two',
  b: 'three' \
     'four',
  c: 'five',
  d: 'six' \
     'seven'
}

b = {
  a: 'one',
  b: 'two' \
     'three'
}

puts "a = #{a.map { |k,v| {k => v.frozen?} }}"
puts "b = #{b.map { |k,v| {k => v.frozen?} }}"
```

With prism:
```
$ ruby test.rb                 
a = [{a: true}, {b: true}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

With parse.y:
```
$ ruby --parser=parse.y test.rb
a = [{a: false}, {b: false}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

(Notice `b` hash is unaffected in both parsers)

Not sure if this is just part of undefined behavior or this is indeed a bug. Assigning a string concatenated with `\` to a variable doesn't make it frozen, to the best of my knowledge this seems to be hash-specific.




-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [ruby-core:123452] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
  2025-03-17 21:10 [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) LocoDelAssembly via ruby-core
                   ` (9 preceding siblings ...)
  2025-10-08 23:39 ` [ruby-core:123440] " k0kubun (Takashi Kokubun) via ruby-core
@ 2025-10-09 13:34 ` kddnewton (Kevin Newton) via ruby-core
  2025-12-08 23:04 ` [ruby-core:124069] " k0kubun (Takashi Kokubun) via ruby-core
  2025-12-09  0:37 ` [ruby-core:124074] " k0kubun (Takashi Kokubun) via ruby-core
  12 siblings, 0 replies; 14+ messages in thread
From: kddnewton (Kevin Newton) via ruby-core @ 2025-10-09 13:34 UTC (permalink / raw)
  To: ruby-core; +Cc: kddnewton (Kevin Newton)

Issue #21187 has been updated by kddnewton (Kevin Newton).


Just released v1.5.2

----------------------------------------
Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
https://bugs.ruby-lang.org/issues/21187#change-114820

* Author: LocoDelAssembly (Hernán Pereira)
* Status: Closed
* Assignee: prism
* ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED
----------------------------------------
When the first elements of a literal hash are strings that are concatenated with `\`, those elements are flagged with `PM_NODE_FLAG_STATIC_LITERAL` and a special optimization that I believe was introduced in https://github.com/ruby/ruby/commit/8080de04be8e99e71309745822a9d436cc4ae37c causes the strings to be frozen.

Reproduction
===
test.rb
```
a = {
  a: 'one' \
     'two',
  b: 'three' \
     'four',
  c: 'five',
  d: 'six' \
     'seven'
}

b = {
  a: 'one',
  b: 'two' \
     'three'
}

puts "a = #{a.map { |k,v| {k => v.frozen?} }}"
puts "b = #{b.map { |k,v| {k => v.frozen?} }}"
```

With prism:
```
$ ruby test.rb                 
a = [{a: true}, {b: true}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

With parse.y:
```
$ ruby --parser=parse.y test.rb
a = [{a: false}, {b: false}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

(Notice `b` hash is unaffected in both parsers)

Not sure if this is just part of undefined behavior or this is indeed a bug. Assigning a string concatenated with `\` to a variable doesn't make it frozen, to the best of my knowledge this seems to be hash-specific.




-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [ruby-core:124069] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
  2025-03-17 21:10 [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) LocoDelAssembly via ruby-core
                   ` (10 preceding siblings ...)
  2025-10-09 13:34 ` [ruby-core:123452] " kddnewton (Kevin Newton) via ruby-core
@ 2025-12-08 23:04 ` k0kubun (Takashi Kokubun) via ruby-core
  2025-12-09  0:37 ` [ruby-core:124074] " k0kubun (Takashi Kokubun) via ruby-core
  12 siblings, 0 replies; 14+ messages in thread
From: k0kubun (Takashi Kokubun) via ruby-core @ 2025-12-08 23:04 UTC (permalink / raw)
  To: ruby-core; +Cc: k0kubun (Takashi Kokubun)

Issue #21187 has been updated by k0kubun (Takashi Kokubun).


Filed https://github.com/ruby/ruby/pull/15453

----------------------------------------
Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
https://bugs.ruby-lang.org/issues/21187#change-115506

* Author: LocoDelAssembly (Hernán Pereira)
* Status: Closed
* Assignee: prism
* ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED
----------------------------------------
When the first elements of a literal hash are strings that are concatenated with `\`, those elements are flagged with `PM_NODE_FLAG_STATIC_LITERAL` and a special optimization that I believe was introduced in https://github.com/ruby/ruby/commit/8080de04be8e99e71309745822a9d436cc4ae37c causes the strings to be frozen.

Reproduction
===
test.rb
```
a = {
  a: 'one' \
     'two',
  b: 'three' \
     'four',
  c: 'five',
  d: 'six' \
     'seven'
}

b = {
  a: 'one',
  b: 'two' \
     'three'
}

puts "a = #{a.map { |k,v| {k => v.frozen?} }}"
puts "b = #{b.map { |k,v| {k => v.frozen?} }}"
```

With prism:
```
$ ruby test.rb                 
a = [{a: true}, {b: true}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

With parse.y:
```
$ ruby --parser=parse.y test.rb
a = [{a: false}, {b: false}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

(Notice `b` hash is unaffected in both parsers)

Not sure if this is just part of undefined behavior or this is indeed a bug. Assigning a string concatenated with `\` to a variable doesn't make it frozen, to the best of my knowledge this seems to be hash-specific.




-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [ruby-core:124074] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
  2025-03-17 21:10 [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) LocoDelAssembly via ruby-core
                   ` (11 preceding siblings ...)
  2025-12-08 23:04 ` [ruby-core:124069] " k0kubun (Takashi Kokubun) via ruby-core
@ 2025-12-09  0:37 ` k0kubun (Takashi Kokubun) via ruby-core
  12 siblings, 0 replies; 14+ messages in thread
From: k0kubun (Takashi Kokubun) via ruby-core @ 2025-12-09  0:37 UTC (permalink / raw)
  To: ruby-core; +Cc: k0kubun (Takashi Kokubun)

Issue #21187 has been updated by k0kubun (Takashi Kokubun).

Backport changed from 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED to 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: DONE

ruby_3_4 commit:6dc27d14a0427da7b28a6884578009a9740f69fd, commit:bc40e758307c9be3e39497b5010fbaceb14bf8c7, commit:d282e76fb6c9f56ac44b3abfc8a3fc9f10edd6f0.

----------------------------------------
Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
https://bugs.ruby-lang.org/issues/21187#change-115511

* Author: LocoDelAssembly (Hernán Pereira)
* Status: Closed
* Assignee: prism
* ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: DONE
----------------------------------------
When the first elements of a literal hash are strings that are concatenated with `\`, those elements are flagged with `PM_NODE_FLAG_STATIC_LITERAL` and a special optimization that I believe was introduced in https://github.com/ruby/ruby/commit/8080de04be8e99e71309745822a9d436cc4ae37c causes the strings to be frozen.

Reproduction
===
test.rb
```
a = {
  a: 'one' \
     'two',
  b: 'three' \
     'four',
  c: 'five',
  d: 'six' \
     'seven'
}

b = {
  a: 'one',
  b: 'two' \
     'three'
}

puts "a = #{a.map { |k,v| {k => v.frozen?} }}"
puts "b = #{b.map { |k,v| {k => v.frozen?} }}"
```

With prism:
```
$ ruby test.rb                 
a = [{a: true}, {b: true}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

With parse.y:
```
$ ruby --parser=parse.y test.rb
a = [{a: false}, {b: false}, {c: false}, {d: false}]
b = [{a: false}, {b: false}]
```

(Notice `b` hash is unaffected in both parsers)

Not sure if this is just part of undefined behavior or this is indeed a bug. Assigning a string concatenated with `\` to a variable doesn't make it frozen, to the best of my knowledge this seems to be hash-specific.




-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2025-12-09  0:37 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-17 21:10 [ruby-core:121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) LocoDelAssembly via ruby-core
2025-04-14  7:46 ` [ruby-core:121655] " alanwu (Alan Wu) via ruby-core
2025-09-13 13:58 ` [ruby-core:123240] " kddnewton (Kevin Newton) via ruby-core
2025-09-30 17:12 ` [ruby-core:123351] " tenderlovemaking (Aaron Patterson) via ruby-core
2025-09-30 17:53 ` [ruby-core:123353] " kddnewton (Kevin Newton) via ruby-core
2025-10-01 10:40 ` [ruby-core:123359] " Earlopain (Earlopain _) via ruby-core
2025-10-01 18:26 ` [ruby-core:123363] " Earlopain (Earlopain _) via ruby-core
2025-10-01 20:29 ` [ruby-core:123364] " k0kubun (Takashi Kokubun) via ruby-core
2025-10-01 20:59 ` [ruby-core:123366] " Earlopain (Earlopain _) via ruby-core
2025-10-08 10:24 ` [ruby-core:123430] " Earlopain (Earlopain _) via ruby-core
2025-10-08 23:39 ` [ruby-core:123440] " k0kubun (Takashi Kokubun) via ruby-core
2025-10-09 13:34 ` [ruby-core:123452] " kddnewton (Kevin Newton) via ruby-core
2025-12-08 23:04 ` [ruby-core:124069] " k0kubun (Takashi Kokubun) via ruby-core
2025-12-09  0:37 ` [ruby-core:124074] " k0kubun (Takashi Kokubun) via ruby-core

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).