[#15359] Timeout::Error — Jeremy Thurgood <jerith@...>

Good day,

41 messages 2008/02/05
[#15366] Re: Timeout::Error — Eric Hodel <drbrain@...7.net> 2008/02/06

On Feb 5, 2008, at 06:20 AM, Jeremy Thurgood wrote:

[#15370] Re: Timeout::Error — Jeremy Thurgood <jerith@...> 2008/02/06

Eric Hodel wrote:

[#15373] Re: Timeout::Error — Nobuyoshi Nakada <nobu@...> 2008/02/06

Hi,

[#15374] Re: Timeout::Error — Jeremy Thurgood <jerith@...> 2008/02/06

Nobuyoshi Nakada wrote:

[#15412] Re: Timeout::Error — Nobuyoshi Nakada <nobu@...> 2008/02/07

Hi,

[#15413] Re: Timeout::Error — Jeremy Thurgood <jerith@...> 2008/02/07

Nobuyoshi Nakada wrote:

[#15414] Re: Timeout::Error — Nobuyoshi Nakada <nobu@...> 2008/02/07

Hi,

[#15360] reopen: can't change access mode from "w+" to "w"? — Sam Ruby <rubys@...>

I ran 'rake test' on test/spec [1], using

16 messages 2008/02/05
[#15369] Re: reopen: can't change access mode from "w+" to "w"? — Nobuyoshi Nakada <nobu@...> 2008/02/06

Hi,

[#15389] STDIN encoding differs from default source file encoding — Dave Thomas <dave@...>

This seems strange:

21 messages 2008/02/06
[#15392] Re: STDIN encoding differs from default source file encoding — Yukihiro Matsumoto <matz@...> 2008/02/06

Hi,

[#15481] very bad character performance on ruby1.9 — "Eric Mahurin" <eric.mahurin@...>

I'd like to bring up the issue of how characters are represented in

16 messages 2008/02/10

[#15528] Test::Unit maintainer — Kouhei Sutou <kou@...>

Hi Nathaniel, Ryan,

22 messages 2008/02/13

[#15551] Proc#curry — ts <decoux@...>

21 messages 2008/02/14
[#15557] Re: [1.9] Proc#curry — David Flanagan <david@...> 2008/02/15

ts wrote:

[#15558] Re: [1.9] Proc#curry — Yukihiro Matsumoto <matz@...> 2008/02/15

Hi,

[#15560] Re: Proc#curry — Trans <transfire@...> 2008/02/15

[#15585] Ruby M17N meeting summary — Martin Duerst <duerst@...>

This is a rough translation of the Japanese meeting summary

19 messages 2008/02/18

[#15596] possible bug in regexp lexing — Ryan Davis <ryand-ruby@...>

current:

17 messages 2008/02/19

[#15678] Re: [ANN] MacRuby — "Rick DeNatale" <rick.denatale@...>

On 2/27/08, Laurent Sansonetti <laurent.sansonetti@gmail.com> wrote:

18 messages 2008/02/28
[#15679] Re: [ANN] MacRuby — "Laurent Sansonetti" <laurent.sansonetti@...> 2008/02/28

On Thu, Feb 28, 2008 at 6:33 AM, Rick DeNatale <rick.denatale@gmail.com> wrote:

[#15680] Re: [ANN] MacRuby — Yukihiro Matsumoto <matz@...> 2008/02/28

Hi,

[#15683] Re: [ANN] MacRuby — "Laurent Sansonetti" <laurent.sansonetti@...> 2008/02/28

On Thu, Feb 28, 2008 at 1:51 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

Re: STDIN encoding differs from default source file encoding

From: "NARUSE, Yui" <naruse@...>
Date: 2008-02-09 17:35:41 UTC
List: ruby-core #15452
Hi,

Paul Brannan wrote:
> NARUSE, Yui wrote:
>> This is spec.  STDIN encoding will be locale when no magic comment and 
>> -K and -E.
> 
> Thank you for the table.  This makes a lot of sense.  What doesn't make 
> sense to me is that I can read invalid strings:
> 
> irb(main):017:0> File.open('/tmp/foo', 'w') { |f| f.puts "\x81" }
> => nil
> irb(main):018:0> s = File.open('/tmp/foo') { |f| f.gets }
> => "\x81\n"
> irb(main):019:0> s.encoding
> => #<Encoding:US-ASCII>
> irb(main):020:0> "\x81" =~ /foo/
> => nil
> irb(main):021:0> s =~ /foo/
> ArgumentError: broken US-ASCII string
>         from (irb):21
>         from /usr/local/lib/ruby/1.9.0/irb.rb:149:in `block (2 levels) 
> in eval_input'
>         from /usr/local/lib/ruby/1.9.0/irb.rb:262:in `signal_status'
>         from /usr/local/lib/ruby/1.9.0/irb.rb:146:in `block in eval_input'
>         from /usr/local/lib/ruby/1.9.0/irb.rb:145:in `eval_input'
>         from /usr/local/lib/ruby/1.9.0/irb.rb:69:in `block in start'
>         from /usr/local/lib/ruby/1.9.0/irb.rb:68:in `catch'
>         from /usr/local/lib/ruby/1.9.0/irb.rb:68:in `start'
>         from /usr/local/bin/irb-1.9:12:in `<main>'
> 
> Is this behavior also intended?  Can/should I change the locale/encoding 
> of my input streams?

Default IO encoding follows Encoding.default_external. So this is 
following case.

Normal script case            | script encoding | default external |
------------------------------+-----------------+------------------+
no -K -E, no   magic comment  | US-ASCII        | ->locale<-       |

Your locale seems LANG=C, so input string is US-ASCII.
 > irb(main):019:0> s.encoding
 > => #<Encoding:US-ASCII>

 > irb(main):020:0> "\x81" =~ /foo/
 > => nil
And why "\x81" =~ /foo/ is not error, the encoding of literal "\x81" is 
ASCII-8BIT.
irb(main):008:0> "\x81".encoding
=> #<Encoding:ASCII-8BIT>
(Ruby got byte array \x22\x5C\x78\x38\31\x22 and create "\x81" 
ASCII-8BIT string)


If you want to set another encoding for example UTF-8, you can add 
encoding explicitly.

 > irb(main):018:0> s = File.open('/tmp/foo', 'r:utf-8') { |f| f.gets }

% env LC_ALL=C irb19
irb(main):001:0> s = File.open('/tmp/foo') { |f| f.gets }
=> "\x81\n"
irb(main):002:0> s.encoding
=> #<Encoding:US-ASCII>
irb(main):003:0> s = File.open('/tmp/foo','r:utf-8') { |f| f.gets }
=> "\x81\n"
irb(main):004:0> s.encoding
=> #<Encoding:UTF-8>


-- 
NARUSE, Yui  <naruse@airemix.com>
DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA

In This Thread