From: Joel VanderWerf Date: 2004-11-19T09:18:44+09:00 Subject: [BUG] Readline.completion_append_character in latest snapshot In ruby 1.9.0 (2004-11-18) [i686-linux], something changed in readline, which broke irb -r irb/completion. $ irb -r irb/completion /usr/local/lib/ruby/1.9/irb/completion.rb:187:in `completion_append_character=':TypeError: cannot convert nil into String The offending line is: Readline.completion_append_character = nil but the problem is likely in readline.c, where the following changed: @@ -195,7 +203,9 @@ VALUE self, str; { #ifdef READLINE_21_OR_LATER - if (NIL_P(str) || !StringValuePtr(str) || !RSTRING(str)->len) { + rb_secure(4); + SafeStringValue(str); + if (NIL_P(str) || RSTRING(str)->len == 0) { rl_completion_append_character = '\0'; } else { rl_completion_append_character = RSTRING(str)->ptr[0]; I guess SafeStringValue rejects Qnil.