[#32986] [Ruby 1.9-Bug#4010][Open] YAML fails to roundtrip non ASCII String — Heesob Park <redmine@...>
Bug #4010: YAML fails to roundtrip non ASCII String
On Tue, Nov 02, 2010 at 09:58:27PM +0900, Heesob Park wrote:
[#33000] [Ruby 1.9-Bug#4014][Open] Case-Sensitivity of Property Names Depends on Regexp Encoding — Run Paint Run Run <redmine@...>
Bug #4014: Case-Sensitivity of Property Names Depends on Regexp Encoding
[#33021] Re: [Ruby 1.9-Feature#4015][Open] File::DIRECT Constant for O_DIRECT — Yukihiro Matsumoto <matz@...>
Hi,
Issue #4015 has been updated by Run Paint Run Run.
Issue #4015 has been updated by Motohiro KOSAKI.
[#33102] Re: Suggestion for MatchData#first and #last — Robert Klemme <shortcutter@...>
On Mon, Nov 8, 2010 at 9:34 AM, NARUSE, Yui <naruse@airemix.jp> wrote:
[#33120] Re: [Ruby 1.9-Feature#4038] IO#advise — KOSAKI Motohiro <kosaki.motohiro@...>
Hi
Issue #4038 has been updated by Motohiro KOSAKI.
[#33123] timer thread sleep interval (powertop abuses) — Chris Mason <chris.mason@...>
Hi everyone,
[#33139] [Ruby 1.9-Bug#4044][Open] Regex matching errors when using \W character class and /i option — Ben Hoskings <redmine@...>
Bug #4044: Regex matching errors when using \W character class and /i option
[#33162] Windows Unicode (chcp 65001) Generates incorrect output — Luis Lavena <luislavena@...>
Hello,
usa is having a fever now, so I reply though I don't remember the detail..
On Sun, Nov 21, 2010 at 10:26 AM, NARUSE, Yui <naruse@airemix.jp> wrote:
[#33209] Re: import racc parser generator to core — Ryan Davis <ryand-ruby@...>
[#33238] [Ruby 1.9-Feature#4065][Open] Rename or alias module#append_features to module#include_module — Chauk-Mean Proum <redmine@...>
Feature #4065: Rename or alias module#append_features to module#include_module
[#33246] [Ruby 1.9-Feature#4068][Open] Replace current standard Date/DateTime library with home_run — Jeremy Evans <redmine@...>
Feature #4068: Replace current standard Date/DateTime library with home_run
Issue #4068 has been updated by tadayoshi funaba.
Issue #4068 has been updated by tadayoshi funaba.
Hi,
[#33255] [Ruby 1.9-Feature#4071][Open] support basic auth for Net::HTTP.get requests — "coderrr ." <redmine@...>
Feature #4071: support basic auth for Net::HTTP.get requests
Issue #4071 has been updated by Yui NARUSE.
[#33314] [Ruby 1.9-Feature#4084][Open] pack should support 64bit network byte order longs — Aaron Patterson <redmine@...>
Feature #4084: pack should support 64bit network byte order longs
Issue #4084 has been updated by Yui NARUSE.
[#33322] [Ruby 1.9-Feature#4085][Open] Refinements and nested methods — Shugo Maeda <redmine@...>
Feature #4085: Refinements and nested methods
Hi,
Hi,
Hi,
Hi,
Hi,
Hi,
Hi,
Woah, this is very nice stuff! Some comments/questions:
Hi,
Hi,
This is a long response, and for that I apologize. I want to make sure
Hi,
Hello,
Hi,
Hello,
Hi,
Hi,
I think that, for this same reason, `using` should normally not apply
Hi,
Hello,
Hi,
Hi,
Hi,
Hi,
Hi,
Hi,
Hi,
On Sat, Dec 4, 2010 at 6:32 AM, Shugo Maeda <shugo@ruby-lang.org> wrote:
(2010/12/06 21:17), Charles Oliver Nutter wrote:
On Mon, Dec 6, 2010 at 8:48 AM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
Hi,
Hi,
Since I explained one use case I'd have for local rebinding: I think not having local rebinding is mostly what we want, local rebinding would mostly cause unwanted side effects and would be a pure horror to debug.
[#33338] [Ruby 1.9-Bug#4087][Open] String#scan(arg) taints results if arg is a Regexp but not if arg is a String — Brian Ford <redmine@...>
Bug #4087: String#scan(arg) taints results if arg is a Regexp but not if arg is a String
[#33367] Planning to release 1.8.7 fixes on 12/25 (Japanese timezone) — Urabe Shyouhei <shyouhei@...>
Hello,
2010/11/25 Urabe Shyouhei <shyouhei@ruby-lang.org>:
2010/11/25 Urabe Shyouhei <shyouhei@ruby-lang.org>:
(2010/11/28 5:55), Luis Lavena wrote:
On Sun, Nov 28, 2010 at 8:19 PM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
(2010/11/29 9:53), Luis Lavena wrote:
On Sun, Nov 28, 2010 at 17:19, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
[#33456] [Request for Comment] avoid timer thread — SASADA Koichi <ko1@...>
Hi,
On Mon, Nov 29, 2010 at 11:53:03AM +0900, SASADA Koichi wrote:
On Tue, Feb 08, 2011 at 09:24:13PM +0900, Mark Somerville wrote:
Mark Somerville <mark@scottishclimbs.com> wrote:
On Sat, Jun 11, 2011 at 05:57:11AM +0900, Eric Wong wrote:
Mark Somerville <mark@scottishclimbs.com> wrote:
(2011/06/14 3:37), Eric Wong wrote:
SASADA Koichi <ko1@atdot.net> wrote:
Eric Wong <normalperson@yhbt.net> wrote:
Eric Wong <normalperson@yhbt.net> wrote:
On Sat, Jun 18, 2011 at 08:55:19AM +0900, Eric Wong wrote:
(2011/06/23 20:53), Mark Somerville wrote:
SASADA Koichi <ko1@atdot.net> wrote:
Eric Wong <normalperson@yhbt.net> wrote:
(2011/06/28 19:55), Eric Wong wrote:
[#33460] [Ruby 1.9-Bug#4097][Open] Unexpected result of STDIN.read on Windows — Heesob Park <redmine@...>
Bug #4097: Unexpected result of STDIN.read on Windows
[#33469] [Ruby 1.9-Feature#4100][Open] Improve Net::HTTP documentation — Eric Hodel <redmine@...>
Feature #4100: Improve Net::HTTP documentation
Issue #4100 has been updated by Yui NARUSE.
Issue #4100 has been updated by mathew murphy.
[#33491] [Ruby 1.9-Bug#4103][Open] String#hash not returning consistent values in different sessions — Ryan Ong <redmine@...>
Bug #4103: String#hash not returning consistent values in different sessions
[ruby-core:33037] Re: [Ruby 1.9-Bug#4010] YAML fails to roundtrip non ASCII String
On Wed, Nov 03, 2010 at 11:36:35AM +0900, Heesob Park wrote:
> 2010/11/3 Aaron Patterson <aaron@tenderlovemaking.com>:
> > On Tue, Nov 02, 2010 at 09:58:27PM +0900, Heesob Park wrote:
> >> Issue #4010 has been updated by Heesob Park.
> >>
> >>
> >> The same result with psych.
> >>
> >> $ ruby -v -ryaml -e 'YAML::ENGINE.yamler = "psych"; s="한글";pYAML.load(YAML.dump(s))==s'
> >> ruby 1.9.3dev (2010-11-02 trunk 29667) [i686-linux]
> >> /usr/local/lib/ruby/1.9.1/psych/deprecated.rb:79: warning: method redefined; discarding old to_yaml_properties
> >> /usr/local/lib/ruby/1.9.1/syck/rubytypes.rb:13: warning: previous definition of to_yaml_properties was here
> >> false
> >>
> >> FYI the current encoding is 'EUC-KR'.
> >> I know it works when the encoding is 'UTF-8'.
> >
> > I think the problem is that your default_internal encoding isn't being
> > set. YAML is usually stored as UTF-8, but psych will automatically
> > transcode the string to whatever your default_internal encoding is set
> > to.
> >
> > Maybe this script will help illustrate the problem:
> >
> >
> > # coding: utf-8
> >
> > require 'psych'
> >
> > eucjp = "こんにちは!".encode('EUC-JP')
> > string = Psych.load(Psych.dump(eucjp))
> >
> > p string.encoding # => #<Encoding:UTF-8>
> > p eucjp == string # => false
> >
> > Encoding.default_internal = 'EUC-JP'
> >
> > string = Psych.load(Psych.dump(eucjp))
> > p string.encoding # => #<Encoding:EUC-JP>
> > p eucjp == string # => true
> >
> > Try running your Ruby like this:
> >
> > $ ruby -EEUC-KR:EUC-KR -v -ryaml -e 'YAML::ENGINE.yamler = "psych"; s="한글";pYAML.load(YAML.dump(s))==s'
> Here is the result
>
> $ ruby -EEUC-KR:EUC-KR -v -ryaml -e 'YAML::ENGINE.yamler = "psych";
> s="한글";p YAML.load(YAML.dump(s))==s'
> ruby 1.9.3dev (2010-11-02 trunk 29667) [i686-linux]
> true
>
> Did you mean it is not a bug and I must specify the default external
> and internal character encodings?
Yes. YAML is stored as UTF-8 or 16 (possibly 32 as well, depending on
the spec you choose). Strings you pull out of Psych will have an
encoding that matches the source document.
> $ irb
> irb(main):001:0> Encoding.default_external
> => #<Encoding:EUC-KR>
> irb(main):002:0> Encoding.default_internal
> => nil
> Why ruby cannot detect Encoding.default_internal ?
"default_external" indicates the encoding that files on disk probably
have. A good default is the OS setting.
magic comments indicate the encoding of string literals within that file.
"default_internal" indicates the encoding that you want strings internal
to your programs to have. Making that decision is not so easy. Magic
comments cannot be used because there can exist many magic comments in
your programs.
"default_internal" should be used by things like database adapters (or
in this case YAML parsers) where the encoding of the external entity may
differ from the encoding the user wants to use. The external entity
should transcode to the user's "default_internal" setting. Because of
this logic, there exists another problem with setting "default_internal"
to something for the user.
Here is an example of what *could* happen if default_internal was
automatically set:
"default_internal" is automatically set to something, say Shift-JIS, and
you load a YAML file. You know that your YAML file is stored as UTF-8,
and yet when you output the encoding from your program, you're surprised
to see it report Shift-JIS! You wanted the original encoding of the file,
but now you must call encode() to get it back to UTF-8. Even worse,
because you went from UTF-8 => Shift-JIS => UTF-8, now there may be data
loss due to encoding round trip problems.
Hope that helps!
--
Aaron Patterson
http://tenderlovemaking.com/