From ec4f9d1c60a81ea45d11c0eb0c3c8930564e66a8 Mon Sep 17 00:00:00 2001 From: kouji Date: Fri, 23 Dec 2011 07:02:42 +0000 Subject: * 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 --- ext/readline/readline.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'ext/readline') 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 -- cgit v1.2.3