[ruby-dev:47937] [ruby-trunk - Bug #8782] Don't set rl_getc_function on editline

From: shibata.hiroshi@...
Date: 2014-01-30 06:17:10 UTC
List: ruby-dev #47937
Issue #8782 has been updated by Hiroshi SHIBATA.

Target version changed from 2.1.0 to current: 2.2.0

----------------------------------------
Bug #8782: Don't set rl_getc_function on editline
https://bugs.ruby-lang.org/issues/8782#change-44792

* Author: Yui NARUSE
* Status: Assigned
* Priority: Normal
* Assignee: Kouji Takao
* Category: ext
* Target version: current: 2.2.0
* ruby -v: ruby 2.1.0dev (2013-08-12 trunk 42528) [x86_64-darwin12.4.0]
* Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN
----------------------------------------
r42402 =E4=BB=A5=E6=9D=A5 OS X =E7=AD=89=E3=81=AE editline =E7=92=B0=E5=A2=
=83=E3=81=A7=E3=81=AF #define rl_getc(f) EOF =E3=81=8C=E4=BD=BF=E3=82=8F=E3=
=82=8C=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=AA=E3=81=A3=E3=81=A6=E3=81=
=97=E3=81=BE=E3=81=A3=E3=81=A6=E6=AE=8B=E5=BF=B5=E3=81=AA=E3=81=93=E3=81=A8=
=E3=81=AB=E3=81=AA=E3=81=A3=E3=81=A6=E3=81=84=E3=81=9F=E3=82=8F=E3=81=91=E3=
=81=A7=E3=81=99=E3=81=8C=E3=80=81
=E3=81=9D=E3=82=82=E3=81=9D=E3=82=82 editline =E3=81=AE readline wrapper =
=E3=81=AF non ASCII =E3=81=AB=E5=AF=BE=E5=BF=9C=E3=81=97=E3=81=A6=E3=81=84=
=E3=81=BE=E3=81=9B=E3=82=93=E3=80=82
(editline =E8=87=AA=E4=BD=93=E3=81=AB=E3=81=AF UTF-8 =E3=81=AE=E3=81=BF=E3=
=81=AE=E5=AF=BE=E5=BF=9C=E3=81=8C=E5=85=A5=E3=81=A3=E3=81=9F=E3=81=8C=E3=80=
=81readline wrapper =E3=81=AF src/readline.c =E3=81=AE _getc_function =E3=
=82=92=E7=B5=8C=E7=94=B1=E3=81=99=E3=82=8B=E3=81=AE=E3=81=A7 non ASCII =E3=
=81=AF=E5=8C=96=E3=81=91=E3=82=8B)

=E3=81=AE=E3=81=A7=E3=80=81=E3=81=84=E3=81=A3=E3=81=9D rl_getc_function =E3=
=82=92=E4=BD=BF=E3=82=8F=E3=81=AA=E3=81=84=E3=82=88=E3=81=86=E3=81=AB=E3=81=
=97=E3=81=A6=E3=81=AF=E3=81=A9=E3=81=86=E3=81=A7=E3=81=97=E3=82=87=E3=81=86=
=E3=80=82
=E4=BB=A5=E4=B8=8B=E3=81=AE=E3=82=88=E3=81=86=E3=81=AA=E3=83=91=E3=83=83=E3=
=83=81=E3=82=92=E5=BD=93=E3=81=A6=E3=82=8B=E3=81=A8=E3=80=81readline =E3=81=
=AA=E3=81=97=E3=81=AE OS X =E3=81=AE irb =E3=81=A7=E6=97=A5=E6=9C=AC=E8=AA=
=9E=E3=81=8C=E4=BD=BF=E3=81=88=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=AA=
=E3=82=8A=E3=81=BE=E3=81=99=E3=80=82

diff --git a/ext/readline/extconf.rb b/ext/readline/extconf.rb
index 0b121c1..bc0ee77 100644
--- a/ext/readline/extconf.rb
+++ b/ext/readline/extconf.rb
@@ -94,4 +94,5 @@ readline.have_func("clear_history")
 readline.have_func("rl_redisplay")
 readline.have_func("rl_insert_text")
 readline.have_func("rl_delete_text")
+readline.have_func("el_init")
 create_makefile("readline")
diff --git a/ext/readline/readline.c b/ext/readline/readline.c
index 0f76d1a..85109f0 100644
--- a/ext/readline/readline.c
+++ b/ext/readline/readline.c
@@ -130,12 +130,7 @@ static VALUE readline_instream;
 static VALUE readline_outstream;

 #if defined HAVE_RL_GETC_FUNCTION
-
-#ifndef HAVE_RL_GETC
-#define rl_getc(f) EOF
-#endif
-
-static int readline_getc(FILE *);
+# ifndef HAVE_EL_INIT
 static int
 readline_getc(FILE *input)
 {
@@ -187,6 +182,7 @@ readline_getc(FILE *input)
 #endif
     return FIX2INT(c);
 }
+# endif
 #elif defined HAVE_RL_EVENT_HOOK
 #define BUSY_WAIT 0

@@ -1771,7 +1767,9 @@ 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() */
+# ifndef HAVE_EL_INIT
     rl_getc_function =3D readline_getc;
+# endif
 #elif defined HAVE_RL_EVENT_HOOK
     rl_event_hook =3D readline_event;
 #endif




--=20
http://bugs.ruby-lang.org/

In This Thread

Prev Next