summaryrefslogtreecommitdiff
path: root/ext/syck/lib/syck/rubytypes.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/syck/lib/syck/rubytypes.rb')
-rw-r--r--ext/syck/lib/syck/rubytypes.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/ext/syck/lib/syck/rubytypes.rb b/ext/syck/lib/syck/rubytypes.rb
index eeef156e27..b6869c4b8b 100644
--- a/ext/syck/lib/syck/rubytypes.rb
+++ b/ext/syck/lib/syck/rubytypes.rb
@@ -122,7 +122,8 @@ end
class Exception
yaml_as "tag:ruby.yaml.org,2002:exception"
def Exception.yaml_new( klass, tag, val )
- o = YAML.object_maker( klass, { 'mesg' => val.delete( 'message' ) } )
+ o = klass.allocate
+ Exception.instance_method(:initialize).bind(o).call(val.delete('message'))
val.each_pair do |k,v|
o.instance_variable_set("@#{k}", v)
end