diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/delegate.rb | 3 | ||||
-rw-r--r-- | lib/rexml/encodings/ISO-8859-1.rb | 2 | ||||
-rw-r--r-- | lib/weakref.rb | 16 |
3 files changed, 11 insertions, 10 deletions
diff --git a/lib/delegate.rb b/lib/delegate.rb index 1ba4cf1e1b..6ceaa67d29 100644 --- a/lib/delegate.rb +++ b/lib/delegate.rb @@ -27,6 +27,7 @@ class Delegator preserved |= t.protected_instance_methods(false) break if t == Delegator end + preserved << "singleton_method_added" for method in obj.methods next if preserved.include? method begin @@ -37,7 +38,7 @@ class Delegator rescue Exception $@.delete_if{|s| /:in `__getobj__'$/ =~ s} #` $@.delete_if{|s| /^\\(eval\\):/ =~ s} - raise + ::Kernel::raise end end EOS diff --git a/lib/rexml/encodings/ISO-8859-1.rb b/lib/rexml/encodings/ISO-8859-1.rb index 5beefbd408..32ddfbc909 100644 --- a/lib/rexml/encodings/ISO-8859-1.rb +++ b/lib/rexml/encodings/ISO-8859-1.rb @@ -1,6 +1,6 @@ module REXML module Encoding - @@__REXML_encoding_methods =<<-EOL + @@__REXML_encoding_methods =<<-'EOL' # Convert from UTF-8 def encode content array_utf8 = content.unpack('U*') diff --git a/lib/weakref.rb b/lib/weakref.rb index 49b907ba17..c790055d01 100644 --- a/lib/weakref.rb +++ b/lib/weakref.rb @@ -41,8 +41,7 @@ class WeakRef<Delegator } def initialize(orig) - super - @__id = orig.__id__ + @__id = orig.object_id ObjectSpace.define_finalizer orig, @@final ObjectSpace.define_finalizer self, @@final __old_status = Thread.critical @@ -52,23 +51,24 @@ class WeakRef<Delegator ensure Thread.critical = __old_status end - @@id_map[@__id].push self.__id__ - @@id_rev_map[self.__id__] = @__id + @@id_map[@__id].push self.object_id + @@id_rev_map[self.object_id] = @__id + super end def __getobj__ - unless @@id_rev_map[self.__id__] == @__id - raise RefError, "Illegal Reference - probably recycled", caller(2) + unless @@id_rev_map[self.object_id] == @__id + Kernel::raise RefError, "Illegal Reference - probably recycled", Kernel::caller(2) end begin ObjectSpace._id2ref(@__id) rescue RangeError - raise RefError, "Illegal Reference - probably recycled", caller(2) + Kernel::raise RefError, "Illegal Reference - probably recycled", Kernel::caller(2) end end def weakref_alive? - @@id_rev_map[self.__id__] == @__id + @@id_rev_map[self.object_id] == @__id end end |