Bug #6601 ยป readline.diff
ext/readline/readline.c | ||
---|---|---|
{
|
||
rb_io_t *ifp = 0;
|
||
VALUE c;
|
||
int ch;
|
||
if (!readline_instream) return rl_getc(input);
|
||
GetOpenFile(readline_instream, ifp);
|
||
if (rl_instream != ifp->stdio_file) return rl_getc(input);
|
||
... | ... | |
#endif
|
||
c = rb_funcall(readline_instream, id_getbyte, 0, 0);
|
||
if (NIL_P(c)) return EOF;
|
||
return NUM2CHR(c);
|
||
ch = NUM2CHR(c);
|
||
if (RL_ISSTATE(RL_STATE_ISEARCH)
|
||
&& ch == ESC
|
||
/* interested in bytes only, actually */
|
||
&& rb_io_read_pending(ifp))
|
||
rl_execute_next(ESC);
|
||
return ch;
|
||
}
|
||
#elif defined HAVE_RL_EVENT_HOOK
|
||
#define BUSY_WAIT 0
|