[ruby-trunk - Bug #5941][Open] 補完候補にマルチバイト文字が含まれる場合の挙動

Issue #5941 has been reported by Nobuhiro IMAI.


Bug #5941: 補完候補にマルチバイト文字が含まれる場合の挙動

Author: Nobuhiro IMAI
Status: Open
Priority: Normal
Assignee: Kouji T.
Category: ext
Target version:
ruby -v: ruby 2.0.0dev (2012-01-27 trunk 34383) [x86_64-linux]

=begin
以下のように、補完候補にマルチバイト文字が含まれる場合に、
文字単位ではなくバイト単位で処理されてしまうのは仕様でしょうか?
出来れば文字単位で処理されて、「あ」だけがバッファに残ったまま、
補完候補が表示されて欲しいです(以下では補完候補は表示しないようにしています)。

メンテナの高尾さんからはバグではないかと教えていただいたので、
Bug ということでチケットを作成しています。

encoding: UTF-8

require “readline”

RUBY_DESCRIPTION # => “ruby 2.0.0dev (2012-01-27 trunk 34383)
[x86_64-linux]”
Readline::VERSION # => “6.2”
Readline.completion_proc = ->(text){%w[ああ あい]}
IO.pipe{|r, w|
Readline.input = r
Readline.output = (w << “あ\t”).reopen(IO::NULL)
p Readline.readline
}

>> “あ\xE3\x81”

=end

Issue #5941 has been updated by Kouji T…

Subject changed from 補完候補にマルチバイト文字が含まれる場合の挙動 to Backport 34391
(補完候補にマルチバイト文字が含まれる場合の挙動)


Backport #5941: Backport 34391 (補完候補にマルチバイト文字が含まれる場合の挙動)

Author: Nobuhiro IMAI
Status: Open
Priority: Normal
Assignee:
Category:
Target version:

=begin
以下のように、補完候補にマルチバイト文字が含まれる場合に、
文字単位ではなくバイト単位で処理されてしまうのは仕様でしょうか?
出来れば文字単位で処理されて、「あ」だけがバッファに残ったまま、
補完候補が表示されて欲しいです(以下では補完候補は表示しないようにしています)。

メンテナの高尾さんからはバグではないかと教えていただいたので、
Bug ということでチケットを作成しています。

encoding: UTF-8

require “readline”

RUBY_DESCRIPTION # => “ruby 2.0.0dev (2012-01-27 trunk 34383)
[x86_64-linux]”
Readline::VERSION # => “6.2”
Readline.completion_proc = ->(text){%w[ああ あい]}
IO.pipe{|r, w|
Readline.input = r
Readline.output = (w << “あ\t”).reopen(IO::NULL)
p Readline.readline
}

>> “あ\xE3\x81”

=end

Issue #5941 has been updated by Kouji T…

Subject changed from Backport 34391 (補完候補にマルチバイト文字が含まれる場合の挙動) to
Backport r34391 (補完候補にマルチバイト文字が含まれる場合の挙動)


Backport #5941: Backport r34391 (補完候補にマルチバイト文字が含まれる場合の挙動)

Author: Nobuhiro IMAI
Status: Open
Priority: Normal
Assignee:
Category:
Target version:

=begin
以下のように、補完候補にマルチバイト文字が含まれる場合に、
文字単位ではなくバイト単位で処理されてしまうのは仕様でしょうか?
出来れば文字単位で処理されて、「あ」だけがバッファに残ったまま、
補完候補が表示されて欲しいです(以下では補完候補は表示しないようにしています)。

メンテナの高尾さんからはバグではないかと教えていただいたので、
Bug ということでチケットを作成しています。

encoding: UTF-8

require “readline”

RUBY_DESCRIPTION # => “ruby 2.0.0dev (2012-01-27 trunk 34383)
[x86_64-linux]”
Readline::VERSION # => “6.2”
Readline.completion_proc = ->(text){%w[ああ あい]}
IO.pipe{|r, w|
Readline.input = r
Readline.output = (w << “あ\t”).reopen(IO::NULL)
p Readline.readline
}

>> “あ\xE3\x81”

=end