summaryrefslogtreecommitdiff
path: root/lib/e2mmap.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/e2mmap.rb')
-rw-r--r--lib/e2mmap.rb29
1 files changed, 4 insertions, 25 deletions
diff --git a/lib/e2mmap.rb b/lib/e2mmap.rb
index 00d4f83eb8..7d935b4c1f 100644
--- a/lib/e2mmap.rb
+++ b/lib/e2mmap.rb
@@ -55,15 +55,9 @@ module Exception2MessageMapper
def E2MM.extend_object(cl)
super
- cl.bind(self) unless cl == E2MM
+ cl.bind(self) unless cl < E2MM
end
- # backward compatibility
- def E2MM.extend_to(b)
- c = eval("self", b)
- c.extend(self)
- end
-
def bind(cl)
self.module_eval %[
def Raise(err = nil, *rest)
@@ -86,20 +80,6 @@ module Exception2MessageMapper
end
alias Fail Raise
- # backward compatibility
- alias fail! fail
- def fail(err = nil, *rest)
- begin
- E2MM.Fail(self, err, *rest)
- rescue E2MM::ErrNotRegisteredException
- super
- end
- end
- class << self
- public :fail
- end
-
-
# def_e2message(c, m)
# c: exception
# m: message_form
@@ -157,12 +137,11 @@ module Exception2MessageMapper
#
def E2MM.Raise(klass = E2MM, err = nil, *rest)
if form = e2mm_message(klass, err)
- $! = err.new(sprintf(form, *rest))
- $@ = caller(1) if $@.nil?
+ b = $@.nil? ? caller(1) : $@
#p $@
#p __FILE__
- $@.shift if $@[0] =~ /^#{Regexp.quote(__FILE__)}:/
- raise
+ b.shift if b[0] =~ /^#{Regexp.quote(__FILE__)}:/
+ raise err, sprintf(form, *rest), b
else
E2MM.Fail E2MM, ErrNotRegisteredException, err.inspect
end