On Fri, Mar 09, 2007 at 11:52:05AM -0800, Michael G Schwern wrote:
> Andreas J. Koenig wrote:
> >>>>>> On Tue, 6 Mar 2007 19:25:35 -0800, Eric Wilhelm <[EMAIL PROTECTED]> 
> >>>>>> said:
> > 
> > Thanks for the summary. I must apologize, this answer is going to
> > sound a bit violent and rude.
> 
> Andreas, I have trouble imagining you being violent and rude.
> 
> 
> > Sure can we. If you would let the user use his terminal the way it was
> > designed.
> 
> This argument has swayed me back.  Every single Unix program will act the
> way MakeMaker and Module::Build do if you redirect STDOUT while leaving
> STDIN attached to a terminal... unless the author special cases it.  And
> then you have to learn the quirks of that special cleverness for that
> specific app and be surprised in new and interesting ways, such as the tee
> example.
> 
> If you did "rm -i * 2> rm.out" you'd be in the same boat.
> 

        There are cases where terminal programs use STDIN and STDOUT
in addition to /dev/tty, such as ssh. One can redirect the input
and output from the remote host, yet ssh will interact with the user
via the tty for passwords, etc. where necessary. This seems like natural
behavior. It removes out of band interaction from getting tossed in
with the in band data.

        Instead of trying to hack the tool to do something odd, why not just
recommend expect (or equivalents) to interact with M::B where interactivity
needs to be automated? That could be considered 'special cleverness', but
it maps well to the rest of the unix universe.

        Maybe that's what you're suggesting already. I've gotten a little
lost in this thread in terms of figuring out who is arguing for what and
under what circumstances.

        Austin

Reply via email to