[#113435] [Ruby master Feature#19634] Pattern matching dynamic key — "baweaver (Brandon Weaver) via ruby-core" <ruby-core@...>
Issue #19634 has been reported by baweaver (Brandon Weaver).
6 messages
2023/05/09
[#113489] [Ruby master Bug#19642] Remove vectored read/write from `io.c`. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>
Issue #19642 has been reported by ioquatix (Samuel Williams).
10 messages
2023/05/15
[ruby-core:113417] [Ruby master Misc#19597] Process.argv0 returns the same mutable String
From:
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date:
2023-05-08 06:16:46 UTC
List:
ruby-core #113417
Issue #19597 has been updated by nobu (Nobuyoshi Nakada). Once assigned to `$0`, it is frozen. ```shell-session $ ruby -v -e '$0 = "test"; p $0; $0.upcase!' ruby 3.3.0dev (2023-05-05T14:01:50Z master 40438fc4d3) [x86_64-darwin22] "test" -e:1:in `upcase!': can't modify frozen String: "test" (FrozenError) from -e:1:in `<main>' ``` So I'd say that only the first `$0` is not frozen is a bug. ---------------------------------------- Misc #19597: Process.argv0 returns the same mutable String https://bugs.ruby-lang.org/issues/19597#change-102991 * Author: andrykonchin (Andrew Konchin) * Status: Open * Priority: Normal ---------------------------------------- `Process.argv0` returns a name of the script being executed. But it seems it's always the same object, that can be modified and this change will be visible to the consequent `Process.argv0` calls. It makes sense to return a frozen String that cannot be modified. `$0` initial value equals a value returned by `Process.argv0` so `$0` by default also could be a frozen String. Example: ```ruby puts "Object id:" p Process.argv0.object_id p Process.argv0.object_id puts "Value before modification:" p Process.argv0 Process.argv0.upcase! puts "Value after modification:" p Process.argv0 puts "$0 after modification:" p $0 ``` It will output: ``` Object id: 60 60 Value before modification: "argv0.rb" Value after modification: "ARGV0.RB" $0 after modification: "ARGV0.RB" ``` -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- [email protected] To unsubscribe send an email to [email protected] ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/