diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-09-02 09:50:00 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-09-02 09:50:00 +0000 |
commit | 4a14d94418dc50b817e4e5811c822a3a07584acf (patch) | |
tree | 36fbd75523eb8d30160d11a69a122083fe19e0f2 /ext/psych | |
parent | 0f35174060ff1d7910d257679090ecde20eb298e (diff) |
* ext/psych/*: merge psych master(8737e5b). It contains following fixes.
https://github.com/tenderlove/psych/pull/242
https://github.com/tenderlove/psych/pull/246 [ruby-list:50219]
* test/psych/*: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/psych')
-rw-r--r-- | ext/psych/lib/psych.rb | 2 | ||||
-rw-r--r-- | ext/psych/lib/psych/visitors/yaml_tree.rb | 2 | ||||
-rw-r--r-- | ext/psych/psych_emitter.c | 4 |
3 files changed, 6 insertions, 2 deletions
diff --git a/ext/psych/lib/psych.rb b/ext/psych/lib/psych.rb index ef8f12a472..1a3cb65ebc 100644 --- a/ext/psych/lib/psych.rb +++ b/ext/psych/lib/psych.rb @@ -223,7 +223,7 @@ require 'psych/class_loader' module Psych # The version is Psych you're using - VERSION = '2.0.14' + VERSION = '2.0.15' # The version of libyaml Psych is using LIBYAML_VERSION = Psych.libyaml_version.join '.' diff --git a/ext/psych/lib/psych/visitors/yaml_tree.rb b/ext/psych/lib/psych/visitors/yaml_tree.rb index e13fd774e8..3087a4db1c 100644 --- a/ext/psych/lib/psych/visitors/yaml_tree.rb +++ b/ext/psych/lib/psych/visitors/yaml_tree.rb @@ -156,7 +156,7 @@ module Psych end def visit_Psych_Omap o - seq = @emitter.start_sequence(nil, '!omap', false, Nodes::Sequence::BLOCK) + seq = @emitter.start_sequence(nil, 'tag:yaml.org,2002:omap', false, Nodes::Sequence::BLOCK) register(o, seq) o.each { |k,v| visit_Hash k => v } diff --git a/ext/psych/psych_emitter.c b/ext/psych/psych_emitter.c index feffc54ce7..f77d8d7d86 100644 --- a/ext/psych/psych_emitter.c +++ b/ext/psych/psych_emitter.c @@ -15,7 +15,11 @@ static void emit(yaml_emitter_t * emitter, yaml_event_t * event) static int writer(void *ctx, unsigned char *buffer, size_t size) { VALUE io = (VALUE)ctx; +#ifdef HAVE_RUBY_ENCODING_H + VALUE str = rb_enc_str_new((const char *)buffer, (long)size, rb_utf8_encoding()); +#else VALUE str = rb_str_new((const char *)buffer, (long)size); +#endif VALUE wrote = rb_funcall(io, id_write, 1, str); return (int)NUM2INT(wrote); } |