summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--lib/delegate.rb4
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index c3516959ee..9592881732 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Wed Mar 12 02:12:20 2008 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+
+ * lib/delegate.rb: check $@ to avoid NoMethodError.
+
Tue Mar 11 19:48:09 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* numeric.c (fix_coerce): try conversion before type check.
diff --git a/lib/delegate.rb b/lib/delegate.rb
index 1559c80542..220933c464 100644
--- a/lib/delegate.rb
+++ b/lib/delegate.rb
@@ -139,7 +139,7 @@ class Delegator
begin
__getobj__.__send__(:#{method}, *args, &block)
ensure
- $@.delete_if{|s|IgnoreBacktracePat=~s}
+ $@.delete_if{|s|IgnoreBacktracePat=~s} if $@
end
end
EOS
@@ -295,7 +295,7 @@ def DelegateClass(superclass)
begin
@_dc_obj.__send__(:#{method}, *args, &block)
ensure
- $@.delete_if{|s| ::Delegator::IgnoreBacktracePat =~ s}
+ $@.delete_if{|s| ::Delegator::IgnoreBacktracePat =~ s} if $@
end
end
EOS