ruby-core

Mailing list archive

[#35446] [Ruby 1.9 - Bug #4477][Open] Kernel:exec and backtick (`) don't work for certain system commands — Joachim Wuttke <j.wuttke@...>

10 messages 2011/03/07

[#35476] [Ruby 1.9 - Bug #4489][Open] [PATCH] Encodings with /-(unix|dos|mac)\Z/ — "James M. Lawrence" <quixoticsycophant@...>

20 messages 2011/03/10

[#35552] [Ruby 1.9 - Feature #4523][Open] Kernel#require to return the path of the loaded file — Alex Young <alex@...>

14 messages 2011/03/24

[#35565] [Ruby 1.9 - Feature #4531][Open] [PATCH 0/7] use poll() instead of select() in certain cases — Eric Wong <normalperson@...>

33 messages 2011/03/28

[#35566] [Ruby 1.9 - Feature #4532][Open] [PATCH] add IO#pread and IO#pwrite methods — Eric Wong <normalperson@...>

12 messages 2011/03/28

[#35586] [Ruby 1.9 - Feature #4538][Open] [PATCH (cleanup)] avoid unnecessary select() calls before doing I/O — Eric Wong <normalperson@...>

9 messages 2011/03/29

[ruby-core:35400] Fwd: [ruby-cvs:38176] Ruby:r30994 (trunk): * string.c (rb_str_byteslice): the resulted encoding should keep

From: "Martin J. Dst" <duerst@...>
Date: 2011-03-01 08:48:17 UTC
List: ruby-core #35400
I'm really surprised that the encoding is kept for an arbitrary byteslice.

assert_equal("\x81\x82".force_encoding(Encoding::UTF_8),
     "\u3042".byteslice(1..2))

really just doesn't make sense to me. In UTF-8, the string "\x81\x82" is 
just garbage, and will hit some exception or other problem sooner or 
later. The only reasonable result is to mark this as BINARY aka 
ASCII8BIT. I don't think anybody would expect something else.

Regards,    Martin.


-------- Original Message --------
Subject: [ruby-cvs:38176] Ruby:r30994 (trunk): * string.c 
(rb_str_byteslice): the resulted encoding should keep
Date: Tue,  1 Mar 2011 16:02:09 +0900 (JST)
From: naruse@ruby-lang.org
Reply-To: ruby-dev@ruby-lang.org
To: ruby-cvs@ruby-lang.org

naruse	2011-03-01 16:02:08 +0900 (Tue, 01 Mar 2011)

   New Revision: 30994

   http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=30994

   Log:
     * string.c (rb_str_byteslice): the resulted encoding should keep
       original encoding. this also fixes the encoding when the result
       shares internal string. [ruby-core:35376]

   Modified files:
     trunk/ChangeLog
     trunk/string.c
     trunk/test/ruby/test_string.rb



In This Thread

Prev Next