< :Á°¤ÎÈÖ¹æ
^ :ÈÖ¹æ½ç¥ê¥¹¥È
> :¼¡¤ÎÈÖ¹æ
P :Á°¤Îµ»ö¡Ê¥¹¥ì¥Ã¥É°Üư¡Ë
N :¼¡¤Îµ»ö¡Ê¥¹¥ì¥Ã¥É°Üư¡Ë
|<:Á°¤Î¥¹¥ì¥Ã¥É
>|:¼¡¤Î¥¹¥ì¥Ã¥É
^ :ÊÖ»öÀè
_:¼«Ê¬¤Ø¤ÎÊÖ»ö
>:Ʊ¤¸ÊÖ»öÀè¤ò»ý¤Äµ»ö¡ÊÁ°¡Ë
<:Ʊ¤¸ÊÖ»öÀè¤ò»ý¤Äµ»ö¡Ê¸å¡Ë
---:ʬ³ä¤·¤Æ¥¹¥ì¥Ã¥Éɽ¼¨¡¢ºÆÉ½¼¨
| :ʬ³ä¤·¤Æ¡Ê½Ä¡Ë¥¹¥ì¥Ã¥Éɽ¼¨¡¢ºÆÉ½¼¨
~ :¥¹¥ì¥Ã¥É¤Î¥Õ¥ì¡¼¥à¾Ãµî
.:¥¤¥ó¥Ç¥Ã¥¯¥¹
..:¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹
Issue #8782 has been reported by naruse (Yui NARUSE).
----------------------------------------
Bug #8782: Don't set rl_getc_function on editline
https://bugs.ruby-lang.org/issues/8782
Author: naruse (Yui NARUSE)
Status: Assigned
Priority: Normal
Assignee: kouji (Kouji Takao)
Category: ext
Target version: current: 2.1.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 以æ?? OS X ç???? editline ??°å????§ã?? #define rl_getc(f) EOF ???使ã???????????????«ã?ªã?£ã?¦ã????¾ã?£ã?¦æ??念ã?ªã????¨ã?«ã?ªã?£ã?¦ã????????????§ã????????
???????????? editline ??? readline wrapper ??? non ASCII ??«å¯¾å¿??????¦ã????¾ã????????
(editline ??ªä????«ã?? UTF-8 ??®ã?¿ã?®å¯¾å¿??????¥ã?£ã????????readline wrapper ??? src/readline.c ??? _getc_function ???çµ???±ã???????®ã?? non ASCII ??¯å????????)
??®ã?§ã???????£ã?? rl_getc_function ???使ã???ªã??????????«ã????¦ã?¯ã?©ã????§ã???????????
以ä????®ã???????ªã???????????å½???¦ã????¨ã??readline ??ªã????? OS X ??? irb ??§æ?¥æ?¬è?????使ã?????????????«ã?ªã????¾ã?????
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 = readline_getc;
+# endif
#elif defined HAVE_RL_EVENT_HOOK
rl_event_hook = readline_event;
#endif
--
http://bugs.ruby-lang.org/