aboutsummaryrefslogtreecommitdiffstats
path: root/ext
diff options
context:
space:
mode:
authorkouji <kouji@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-12-23 07:02:42 +0000
committerkouji <kouji@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-12-23 07:02:42 +0000
commitec4f9d1c60a81ea45d11c0eb0c3c8930564e66a8 (patch)
tree64ed651e0c02e431f038df891a44ca5901d56d75 /ext
parente89bebdab448f20555a322d84ef42eea531c51cc (diff)
downloadruby-ec4f9d1c60a81ea45d11c0eb0c3c8930564e66a8.tar.gz
* 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')
-rw-r--r--ext/readline/readline.c16
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