From a11a0860d1decc554e7fe52aa530c765a57807ff Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 20 Jun 2002 12:14:33 +0000 Subject: [PATCH] * ext/readline/readline.c (readline_readline): get rid of libreadline's bug. (ruby-bugs-ja:PR#268) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ ext/readline/readline.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 93c90512e2..6d56d665ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Jun 20 21:09:37 2002 Nobuyoshi Nakada + + * ext/readline/readline.c (readline_readline): get rid of + libreadline's bug. (ruby-bugs-ja:PR#268) + Thu Jun 20 17:10:27 2002 WATANABE Hirofumi * lib/ftool.rb (BUFSIZE): tuning, set buffer length to 8192. diff --git a/ext/readline/readline.c b/ext/readline/readline.c index 49e3c04fed..b5e749a312 100644 --- a/ext/readline/readline.c +++ b/ext/readline/readline.c @@ -1,6 +1,7 @@ /* readline.c -- GNU Readline module Copyright (C) 1997-1998 Shugo Maeda */ +#include #include #include #include @@ -42,6 +43,9 @@ readline_readline(argc, argv, self) if (rb_scan_args(argc, argv, "02", &tmp, &add_hist) > 0) { prompt = STR2CSTR(tmp); } + + if (!isatty(0) && errno == EBADF) rb_raise(rb_eIOError, "stdin closed"); + buff = readline(prompt); if (RTEST(add_hist) && buff) { add_history(buff);