Currently, completion_proc seems to only be able to handle the current "word" being processed. You could hack basic_word_break_characters so that the whole line is fed into completion_proc, and do any string massaging in there, as you stated. There is somewhere in the ruby-talk archives a patch to have a two-argument version of completion_proc, but it doesn't seem to have gotten to the official distribution. It would have given both the current line and the current word. So yes, I guess your last judgment isn't completely wrong. DCA