[#30589] [Bug #3391] Use single exclamation mark instead of double exclamation mark for IRB — Diego Viola <redmine@...>

Bug #3391: Use single exclamation mark instead of double exclamation mark for IRB

10 messages 2010/06/04

[#30672] [Bug #3411] Time.local 1916,5,1 #=> 1916-04-30 23:00:00 +0100 — Benoit Daloze <redmine@...>

Bug #3411: Time.local 1916,5,1 #=> 1916-04-30 23:00:00 +0100

12 messages 2010/06/08

[#30699] [Bug #3419] 1.9.2-preview3 possible bug with Rails 3 active_record sqlite_adapter — Joe Sak <redmine@...>

Bug #3419: 1.9.2-preview3 possible bug with Rails 3 active_record sqlite_adapter

9 messages 2010/06/09

[#30734] [Bug #3428] ri outputs ansi escape sequences even when stdout is not a tty — caleb clausen <redmine@...>

Bug #3428: ri outputs ansi escape sequences even when stdout is not a tty

11 messages 2010/06/11

[#30756] [Feature #3436] Spawn the timer thread lazily — Maximilian Gass <redmine@...>

Feature #3436: Spawn the timer thread lazily

15 messages 2010/06/13
[#32686] [Ruby 1.9-Feature#3436] Spawn the timer thread lazily — Mark Somerville <redmine@...> 2010/10/04

Issue #3436 has been updated by Mark Somerville.

[ruby-core:30592] [Bug #3392] Kernel.open Ignores :binmode Key in Opts Hash w.r.t Encoding

From: Run Paint Run Run <redmine@...>
Date: 2010-06-05 03:42:23 UTC
List: ruby-core #30592
Bug #3392: Kernel.open Ignores :binmode Key in Opts Hash w.r.t Encoding
http://redmine.ruby-lang.org/issues/show/3392

Author: Run Paint Run Run
Status: Open, Priority: Low
Category: M17N, Target version: 1.9.x
ruby -v: ruby 1.9.3dev (2010-06-01 trunk 28120) [i686-linux]

(Ignoring the encoding names, there appear to be at least 30 permutations of mode string now accepted, and that's before you allow for platform-specific differences, so please forgive me if this is a stupid question.)

When Kernel.open, and friends, receive an opts Hash containing :binmode => true, they don't tag the data they read with ASCII-8BIT. However, the--unwritten--spec holds that when data is read from a stream opened in binmode which doesn't specify a pair of encodings with which to transcode, it is tagged ASCII-8BIT.
 
# :binmode is a recognised key in the opts Hash accepted by IO.open, 
# Kernel.open, File.open, etc.
>> open('/etc/hosts', mode: ?r, binmode: true, textmode: true)
ArgumentError: both textmode and binmode specified
	from (irb):16:in `initialize'
	from (irb):16:in `open'
	from (irb):16
	from /usr/local/bin/irb:12:in `<main>'
# :binmode => true enables binmode:
>> open('/etc/hosts', mode: ?r, binmode: true).binmode? #=> true
# A file opened with :binmode => true has UTF-8 (Encoding.default_external) encoding
>> open('/etc/hosts', mode: ?r, binmode: true).read.encoding #=> #<Encoding:UTF-8>
# A file opened with a mode of 'rb' has BINARY encoding
>> open('/etc/hosts', mode: 'rb').read.encoding #=> #<Encoding:ASCII-8BIT>
# A file read with File.binread, which implies a mode string of 'rb', also 
# has BINARY encoding
File.binread('/etc/hosts').encoding #=> #<Encoding:ASCII-8BIT>


----------------------------------------
http://redmine.ruby-lang.org

In This Thread

Prev Next