Is there another way I can address the concern here? I'm willing to put in the work to get this in. To put it more simply, it seems like an error that emacs doesn't call clearerr(stdin) after reading EOF. Without that, it's impossible to ever read from stdin after the first EOF. Should that be changed? On Fri, Jan 18, 2019 at 10:29 AM Eli Zaretskii wrote: > > From: Shawn Presser > > Date: Fri, 18 Jan 2019 10:20:54 -0600 > > Cc: 34123@debbugs.gnu.org > > > > It's non-interactive: > > > > arc> |noninteractive| > > t > > > > (The expression |noninteractive| in arcmacs is equivalent to evaluating > 'noninteractive in emacs lisp.) > > > > The runtimes start by invoking emacs using `emacs -Q --script ...`, so > it's always noninteractive. And in > > general for writing shell scripts rather than repls, it's important to > be in noninteractive mode. But it's equally > > important to have the ability to prompt the user from a shell script, > and for the user to be able to cancel by > > using ^D without causing stdin errors on all subsequent prompts. > > I think we are miscommunicating, since your usage involves Emacs > reading from the terminal. That is not noninteractive in my book. > What I mean by noninteractive is when stdin is not connected to a > terminal. Your proposed patch affects that case as well, doesn't it? >