diff options
| author | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-11-19 01:38:38 +0000 |
|---|---|---|
| committer | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-11-19 01:38:38 +0000 |
| commit | c374af2137de8bb1f0091ac4b12e5a70f04be3ec (patch) | |
| tree | bd48f71ca2ef6a9f00c4774cec5d925f46e320b4 | |
| parent | 34f317867def9b5c6673ae37b38f04e4b8f1af5f (diff) | |
| download | ruby-c374af2137de8bb1f0091ac4b12e5a70f04be3ec.tar.gz ruby-c374af2137de8bb1f0091ac4b12e5a70f04be3ec.tar.xz ruby-c374af2137de8bb1f0091ac4b12e5a70f04be3ec.zip | |
* ext/readline/readline.c (readline_s_set_completion_append_character):
accept nil. [ruby-core:03765]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@7316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 5 | ||||
| -rw-r--r-- | ext/readline/readline.c | 13 | ||||
| -rw-r--r-- | test/readline/test_readline.rb | 9 |
3 files changed, 23 insertions, 4 deletions
@@ -1,3 +1,8 @@ +Fri Nov 19 10:32:36 2004 Shugo Maeda <shugo@ruby-lang.org> + + * ext/readline/readline.c (readline_s_set_completion_append_character): + accept nil. [ruby-core:03765] + Fri Nov 19 00:59:31 2004 Yukihiro Matsumoto <matz@ruby-lang.org> * string.c (str_gsub): internal buffer should not be listed by diff --git a/ext/readline/readline.c b/ext/readline/readline.c index 8812524a6..e3a1dcbf0 100644 --- a/ext/readline/readline.c +++ b/ext/readline/readline.c @@ -204,11 +204,16 @@ readline_s_set_completion_append_character(self, str) { #ifdef READLINE_21_OR_LATER rb_secure(4); - SafeStringValue(str); - if (NIL_P(str) || RSTRING(str)->len == 0) { + if (NIL_P(str)) { rl_completion_append_character = '\0'; - } else { - rl_completion_append_character = RSTRING(str)->ptr[0]; + } + else { + SafeStringValue(str); + if (RSTRING(str)->len == 0) { + rl_completion_append_character = '\0'; + } else { + rl_completion_append_character = RSTRING(str)->ptr[0]; + } } return self; diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb index f41f3584c..80c007c06 100644 --- a/test/readline/test_readline.rb +++ b/test/readline/test_readline.rb @@ -38,6 +38,15 @@ class TestReadline < Test::Unit::TestCase end end + def test_completion_append_character + Readline.completion_append_character = nil + assert_equal(nil, Readline.completion_append_character) + Readline.completion_append_character = "x" + assert_equal("x", Readline.completion_append_character) + Readline.completion_append_character = "xyz" + assert_equal("x", Readline.completion_append_character) + end + private def replace_stdio(stdin, stdout) |
