[#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:30697] [Bug #3418] IO#putc Clobbers Multi-byte Characters

From: Run Paint Run Run <redmine@...>
Date: 2010-06-09 20:49:55 UTC
List: ruby-core #30697
Bug #3418: IO#putc Clobbers Multi-byte Characters
http://redmine.ruby-lang.org/issues/show/3418

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

IO#putc claims to write a "character", when in fact it writes a byte. I assume this is for backward compatibility reasons, but as this could lead to data loss, the documentation needs clarifying. Currently, #putc doesn't require the stream to be in binmode, provide any warning of the truncation, or agree with IO#getc on the definition of "character".

  open('/tmp/putc', 'w+')   {|f| f.putc "\u1234"; f.rewind; f.read}
  #=> "\xE1
  >> open('/tmp/getc', 'w+'){|f| f.print "\u1234"; f.rewind; f.getc}
  #=> "瘉エ"

If the IO stream explicitly specifies a non-BINARY encoding, the first example fails with an Encoding::UndefinedConversionError, which is reasonable.

  open('/tmp/putc', 'w+:UTF-8'){|f| f.putc "\u1234"; f.rewind; f.read}
  #=> Encoding::UndefinedConversionError: "\xE1" from ASCII-8BIT to UTF-8


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

In This Thread

Prev Next