>>>>> On Fri, 2 Mar 2007 10:12:37 -0800, Eric Wilhelm <[EMAIL PROTECTED]> said:

  > # from Andreas J. Koenig
  > # on Friday 02 March 2007 03:10 am:

 >> If
 >> the user redirects the prompt to /dev/null, then he deliberately
 >> shoots himself in the foot and there is no way to find that out.

  > Ok, pretend I said "> /tmp/foo" or "| thbbt" in the example.  In all 
  > three cases, it should not be prompting without a non-terminal STDIN.

I'm sorry, I cannot agree. If people deliberately keep their STDIN on
the terminal, then the terminal should be treated as the legitimate
owner of the input stream. That is exactly the situation for which I
filed this bug.

  > The user didn't shoot his foot, he just told the computer to not bother 
  > him with silly things like output.

Correct. Note that you said *out*put. The user didn't do anything to
redirect *in*put. So give him the right to use the input stream for
answering questions.

If he deliberately sends stdout to nirvana and does nothing for stdin,
well, we have no chance to help him.

  > Remember, STDOUT is part of the _is_interactive() question, STDIN only 
  > becomes involved if STDOUT is not a terminal, at which point we check 
  > to see if there is a scripted set of answers being piped in.

eof(STDIN) does a very bad job in checking if there is a scripted
answer. If there is a user waiting to answer questions he will see a
process that waits forever just to find out if a user is watching. The
user is sitting there until his patience is exhausted and goes file a
bugreport against this behaviour, as I did:)

What is it that you want to achieve that cannot be done since this
specific change?

-- 
andreas

Reply via email to