summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ext/readline/readline.c2
-rw-r--r--test/readline/test_readline.rb2
3 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 4950154db4..3bb1445608 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jun 19 11:43:16 2012 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * ext/readline/readline.c (readline_getc): fix editline compatibility
+ broken by r36123. [Bug #6601]
+
Mon Jun 18 17:10:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* string.c (rb_str_subpos): split from rb_str_substr. returns
diff --git a/ext/readline/readline.c b/ext/readline/readline.c
index 07c9268bb5..b6b46119ac 100644
--- a/ext/readline/readline.c
+++ b/ext/readline/readline.c
@@ -174,6 +174,7 @@ readline_getc(FILE *input)
#endif
c = rb_io_getbyte(readline_instream);
if (NIL_P(c)) return EOF;
+#ifdef ESC
if (c == INT2FIX(ESC) &&
RL_ISSTATE(RL_STATE_ISEARCH) && /* isn't needed in other states? */
rb_io_read_pending(ifp)) {
@@ -184,6 +185,7 @@ readline_getc(FILE *input)
if (meta) rl_execute_next(ESC);
return ESC;
}
+#endif
return FIX2INT(c);
}
#elif defined HAVE_RL_EVENT_HOOK
diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb
index 3352eb19da..7d2e96389d 100644
--- a/test/readline/test_readline.rb
+++ b/test/readline/test_readline.rb
@@ -412,7 +412,7 @@ class TestReadline < Test::Unit::TestCase
wo.close
with_pipe {|r, w| w.write("\C-a\C-k\n")} # clear line_buffer
Readline::HISTORY.clear
- end
+ end if !/EditLine/n.match(Readline::VERSION)
private