mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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
This commit is contained in:
parent
0f35174060
commit
4a14d94418
5 changed files with 22 additions and 2 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
Wed Sep 2 18:49:55 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
Wed Sep 2 18:04:13 2015 Koichi Sasada <ko1@atdot.net>
|
Wed Sep 2 18:04:13 2015 Koichi Sasada <ko1@atdot.net>
|
||||||
|
|
||||||
* vm_insnhelper.h (GET_PC_COUNT): remove unused macro.
|
* vm_insnhelper.h (GET_PC_COUNT): remove unused macro.
|
||||||
|
|
|
@ -223,7 +223,7 @@ require 'psych/class_loader'
|
||||||
|
|
||||||
module Psych
|
module Psych
|
||||||
# The version is Psych you're using
|
# The version is Psych you're using
|
||||||
VERSION = '2.0.14'
|
VERSION = '2.0.15'
|
||||||
|
|
||||||
# The version of libyaml Psych is using
|
# The version of libyaml Psych is using
|
||||||
LIBYAML_VERSION = Psych.libyaml_version.join '.'
|
LIBYAML_VERSION = Psych.libyaml_version.join '.'
|
||||||
|
|
|
@ -156,7 +156,7 @@ module Psych
|
||||||
end
|
end
|
||||||
|
|
||||||
def visit_Psych_Omap o
|
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)
|
register(o, seq)
|
||||||
|
|
||||||
o.each { |k,v| visit_Hash k => v }
|
o.each { |k,v| visit_Hash k => v }
|
||||||
|
|
|
@ -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)
|
static int writer(void *ctx, unsigned char *buffer, size_t size)
|
||||||
{
|
{
|
||||||
VALUE io = (VALUE)ctx;
|
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);
|
VALUE str = rb_str_new((const char *)buffer, (long)size);
|
||||||
|
#endif
|
||||||
VALUE wrote = rb_funcall(io, id_write, 1, str);
|
VALUE wrote = rb_funcall(io, id_write, 1, str);
|
||||||
return (int)NUM2INT(wrote);
|
return (int)NUM2INT(wrote);
|
||||||
}
|
}
|
||||||
|
|
|
@ -249,6 +249,15 @@ module Psych
|
||||||
assert_encodings @utf8, @handler.strings
|
assert_encodings @utf8, @handler.strings
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_dump_non_ascii_string_to_file
|
||||||
|
Tempfile.create(['utf8', 'yml'], :encoding => 'UTF-8') do |t|
|
||||||
|
h = {'one' => 'いち'}
|
||||||
|
Psych.dump(h, t)
|
||||||
|
t.close
|
||||||
|
assert_equal h, Psych.load_file(t.path)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def assert_encodings encoding, strings
|
def assert_encodings encoding, strings
|
||||||
strings.each do |str|
|
strings.each do |str|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue