Issue #4635 has been updated by Yui NARUSE.
Category set to ext
Status changed from Open to Assigned
Assignee set to Kouji T.
Feature #4635: Readline.completion_append_character
Author: Nobuhiro IMAI
Status: Assigned
Priority: Normal
Assignee: Kouji T.
Category: ext
Target version:
いまいです。
GNU readline library での話ですが、6 系のものを使うと TAB キーでの補完
後に Readline.completion_append_character がデフォルトの " " に戻ってし
まいます。しかも、" " 以外にセットしても、補完された単語にはデフォルト
の " " が付加されます。
require “readline”
p RUBY_DESCRIPTION
p Readline::VERSION
p Readline.completion_append_character
Readline.completion_proc = ->(input){[input]}
IO.pipe do |r, w|
Readline.output = (w << “Readline\t”).reopen(“/dev/null”)
Readline.input = r
Readline.completion_append_character = nil
p Readline.completion_append_character
p Readline.readline
p Readline.completion_append_character
end
Debian GNU/Linux (sid) libreadline-gplv2-dev (5.2-8)
>> “ruby 1.9.3dev (2011-04-29 trunk 31382) [x86_64-linux]”
>> “5.2”
>> " "
>> nil
>> “Readline”
>> nil
Debian GNU/Linux (sid) libreadline6-dev (6.2-1)
>> “ruby 1.9.3dev (2011-04-29 trunk 31382) [x86_64-linux]”
>> “6.2”
>> " "
>> nil (nil にセットは出来るけど)
>> "Readline " (末尾にスペースが付いてしまって)
>> " " (リセットされてしまう)
changelog に以下のように書いてあって、補完後にリセットされるのは意図的
なようです。Ruby の readline 側で何とかならないものでしょうか?
This document details the changes between this version, readline-6.0,
and the previous version, readline-5.2.
(snip)
f. Fixed a bug that caused the completion append character to not be
reset to
the default after an application-specified completion function
changed it.
Nobuhiro IMAI [email protected]
Key fingerprint = E57F 2482 4074 13BC 3B9A 165B C689 5B16 A620 4657