From: nobu@... Date: 2014-05-19T07:30:03+00:00 Subject: [ruby-core:62671] [ruby-trunk - Bug #9849] [Closed] gsub(String, String) doesn't work properly Issue #9849 has been updated by Nobuyoshi Nakada. Status changed from Assigned to Closed % Done changed from 0 to 100 Applied in changeset r46013. ---------- string.c: byte offset * string.c (rb_pat_search): advance by byte offset but not by char offset. [ruby-core:62669] [Bug #9849] ---------------------------------------- Bug #9849: gsub(String, String) doesn't work properly https://bugs.ruby-lang.org/issues/9849#change-46805 * Author: Shugo Maeda * Status: Closed * Priority: Normal * Assignee: Nobuyoshi Nakada * Category: core * Target version: current: 2.2.0 * ruby -v: ruby 2.2.0dev (2014-05-19 trunk 46010) [i686-linux] * Backport: 2.0.0: DONTNEED, 2.1: DONTNEED ---------------------------------------- gsub(String, String) doesn't work properly as follows: ``` $ ruby -ve 'puts "���������\"foo\"\n\"bar\"".gsub("\"", "\"\"")' ruby 2.2.0dev (2014-05-19 trunk 46010) [i686-linux] ���������""foo" "bar"" ``` The expected behavior is: ``` $ ~/.rbenv/versions/2.1.1/bin/ruby -ve 'puts "���������\"foo\"\n\"bar\"".gsub("\"", "\"\"")' ruby 2.1.1p76 (2014-02-24 revision 45161) [i686-linux] ���������""foo"" ""bar"" ``` It seems that the bug was introduced by r45451, so I assign this issue to nobu. -- https://bugs.ruby-lang.org/