зеркало из https://github.com/github/ruby.git
* 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:
Родитель
ec4f9d1c60
Коммит
5191ecad6c
10
ChangeLog
10
ChangeLog
|
@ -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>
|
||||
|
||||
* ext/readline/readline.c (Init_readline): libedit check
|
||||
|
|
|
@ -70,6 +70,9 @@ static ID id_orig_prompt, id_last_prompt;
|
|||
|
||||
static int (*history_get_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,
|
||||
int start, int end);
|
||||
|
@ -258,6 +261,9 @@ insert_ignore_escape(VALUE self, VALUE prompt)
|
|||
static VALUE
|
||||
readline_get(VALUE prompt)
|
||||
{
|
||||
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
|
||||
readline_completion_append_character = rl_completion_append_character;
|
||||
#endif
|
||||
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);
|
||||
if (NIL_P(proc))
|
||||
return NULL;
|
||||
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
|
||||
rl_completion_append_character = readline_completion_append_character;
|
||||
#endif
|
||||
#ifdef HAVE_RL_ATTEMPTED_COMPLETION_OVER
|
||||
rl_attempted_completion_over = 1;
|
||||
#endif
|
||||
|
|
Загрузка…
Ссылка в новой задаче