[#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:30903] [Bug #3482] StringScanner#pos returns wrong character position if used with multibyte chars

From: Marvin Gülker <redmine@...>
Date: 2010-06-25 16:29:06 UTC
List: ruby-core #30903
Bug #3482: StringScanner#pos returns wrong character position if used with multibyte chars
http://redmine.ruby-lang.org/issues/show/3482

Author: Marvin G端lker
Status: Open, Priority: Normal
Category: M17N, Target version: 1.9.x
ruby -v: ruby 1.9.2dev (2010-05-31 revision 28117) [x86_64-linux]

The StringScanner class from 1.9's stdlib works on bytes rather than on characters. That means, if you want to extract substrings from the original string by use of the return value of StringScanner#pos you get incorrect results: 

irb(main):001:0> require "strscan"
=> true
irb(main):002:0> str = "abc辰def旦ghi"
=> "abc辰def旦ghi"
irb(main):003:0> ss = StringScanner.new(str)
=> #<StringScanner 0/13 @ "abc\xC3\xA4...">
irb(main):004:0> ss.scan_until(/辰/)
=> "abc辰"
irb(main):005:0> ss.pos
=> 5
irb(main):006:0> ss.scan_until(/旦/)
=> "def旦"
irb(main):007:0> ss.pos
=> 10
irb(main):008:0> 

After the first scan_until I expected the position to be 4, after the second to be 8, which means we finally have an offset of 2 here. 

My Ruby version is ruby 1.9.1p378 (2010-01-10 revision 26273) [x86_64-linux], but I also get the same beaviour with the 1.9.2-preview3 (ruby 1.9.2dev (2010-05-31 revision 28117) [x86_64-linux]).


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

In This Thread

Prev Next