diff options
author | kouji <kouji@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-12-23 07:02:42 +0000 |
---|---|---|
committer | kouji <kouji@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-12-23 07:02:42 +0000 |
commit | ec4f9d1c60a81ea45d11c0eb0c3c8930564e66a8 (patch) | |
tree | 64ed651e0c02e431f038df891a44ca5901d56d75 /ext/readline | |
parent | e89bebdab448f20555a322d84ef42eea531c51cc (diff) |
* ext/readline/readline.c (Init_readline): libedit check
rl_getc_function only when rl_initialize() is called, and
using_history() call rl_initialize(). This assignment should be
placed before using_history(). [ruby-core:40641] [Bug #5539]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/readline')
-rw-r--r-- | ext/readline/readline.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/ext/readline/readline.c b/ext/readline/readline.c index 198f0e6044..d6fb631602 100644 --- a/ext/readline/readline.c +++ b/ext/readline/readline.c @@ -1495,6 +1495,16 @@ Init_readline() /* Allow conditional parsing of the ~/.inputrc file. */ rl_readline_name = (char *)"Ruby"; +#if defined HAVE_RL_GETC_FUNCTION + /* libedit check rl_getc_function only when rl_initialize() is called, */ + /* and using_history() call rl_initialize(). */ + /* This assignment should be placed before using_history() */ + rl_getc_function = readline_getc; + id_getbyte = rb_intern_const("getbyte"); +#elif defined HAVE_RL_EVENT_HOOK + rl_event_hook = readline_event; +#endif + using_history(); completion_proc = rb_intern(COMPLETION_PROC); @@ -1640,12 +1650,6 @@ Init_readline() rb_define_const(mReadline, "VERSION", version); rl_attempted_completion_function = readline_attempted_completion_function; -#if defined HAVE_RL_GETC_FUNCTION - rl_getc_function = readline_getc; - id_getbyte = rb_intern_const("getbyte"); -#elif defined HAVE_RL_EVENT_HOOK - rl_event_hook = readline_event; -#endif #ifdef HAVE_RL_CATCH_SIGNALS rl_catch_signals = 0; #endif |