Consider this:

#!/usr/bin/env ruby
msg = ARGV.shift

class << msg
   def GetName; return self; end
end

puts "msg: #{msg}"
puts "msg.GetName: #{msg.GetName}"

---------------------------------------
prompt> ruby --version
ruby 1.7.2 (2002-02-21) [i386-linux]

prompt> ./test1.8.rb foo
msg: foo
msg.GetName: foo
---------------------------------------
prompt> ruby --version
ruby 1.8.0 (2003-08-04) [i386-linux]

prompt> ./test1.8.rb foo
./test1.8.rb:5: can't modify frozen object (TypeError)
---------------------------------------


I've been through the changelog but I'm not familiar enough with Ruby
internals to figure out which entry was relevant :(

I am not freezing msg, and I'm not modifying any other object with this.

Can someone help?

Sorry for the stupid looking prompt> prompt... apparently a corporate
crawler found some references to a couple of our machines from my posts to
this list archived on the web.  I guess our machine names are confidentail
<gnashes teeth over the idiocy>.