Actions
Bug #19597
closedProcess.argv0 returns the same mutable String
Bug #19597:
Process.argv0 returns the same mutable String
Description
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:
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"
Actions