1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/readline/readline.c (readline_attempted_completion_function):

in Readline module with GNU Readline 6 case, Readline module
  resets completion_append_character to " ", after it executes
  completion. So, Readline module stores
  completion_append_character, and Readline module always sets it
  after Readline module executes completion. [ruby-dev:43456]
  [Feature #4635]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
kouji 2011-12-23 07:38:14 +00:00
parent ec4f9d1c60
commit 5191ecad6c
2 changed files with 19 additions and 0 deletions

View file

@ -1,3 +1,13 @@
Fri Dec 23 16:14:30 2011 TAKAO Kouji <kouji@takao7.net>
* ext/readline/readline.c (readline_attempted_completion_function):
in Readline module with GNU Readline 6 case, Readline module
resets completion_append_character to " ", after it executes
completion. So, Readline module stores
completion_append_character, and Readline module always sets it
after Readline module executes completion. [ruby-dev:43456]
[Feature #4635]
Fri Dec 23 15:59:05 2011 TAKAO Kouji <kouji@takao7.net> Fri Dec 23 15:59:05 2011 TAKAO Kouji <kouji@takao7.net>
* ext/readline/readline.c (Init_readline): libedit check * ext/readline/readline.c (Init_readline): libedit check

View file

@ -70,6 +70,9 @@ static ID id_orig_prompt, id_last_prompt;
static int (*history_get_offset_func)(int); static int (*history_get_offset_func)(int);
static int (*history_replace_offset_func)(int); static int (*history_replace_offset_func)(int);
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
static int readline_completion_append_character;
#endif
static char **readline_attempted_completion_function(const char *text, static char **readline_attempted_completion_function(const char *text,
int start, int end); int start, int end);
@ -258,6 +261,9 @@ insert_ignore_escape(VALUE self, VALUE prompt)
static VALUE static VALUE
readline_get(VALUE prompt) readline_get(VALUE prompt)
{ {
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
readline_completion_append_character = rl_completion_append_character;
#endif
return (VALUE)readline((char *)prompt); return (VALUE)readline((char *)prompt);
} }
@ -642,6 +648,9 @@ readline_attempted_completion_function(const char *text, int start, int end)
proc = rb_attr_get(mReadline, completion_proc); proc = rb_attr_get(mReadline, completion_proc);
if (NIL_P(proc)) if (NIL_P(proc))
return NULL; return NULL;
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
rl_completion_append_character = readline_completion_append_character;
#endif
#ifdef HAVE_RL_ATTEMPTED_COMPLETION_OVER #ifdef HAVE_RL_ATTEMPTED_COMPLETION_OVER
rl_attempted_completion_over = 1; rl_attempted_completion_over = 1;
#endif #endif