summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/yaml.rb3
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 74a9d3bdbf..3e3205c655 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Apr 8 11:31:37 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/yaml.rb (YAML::EngineManager#yamler): set the result after
+ successfully switched.
+
Thu Apr 8 07:22:05 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* random.c (rand_init): ignore higher bits if all they are same as
diff --git a/lib/yaml.rb b/lib/yaml.rb
index 28e13fe05f..b1c6a70dde 100644
--- a/lib/yaml.rb
+++ b/lib/yaml.rb
@@ -13,7 +13,6 @@ module YAML
def yamler= engine
raise(ArgumentError, "bad engine") unless %w{syck psych}.include?(engine)
- @yamler = engine
require engine
Object.class_eval <<-eorb, __FILE__, __LINE__ + 1
@@ -22,6 +21,8 @@ module YAML
remove_method :to_yaml
alias :to_yaml :#{engine}_to_yaml
eorb
+
+ @yamler = engine
engine
end
end