cvs commit: hugs98/libraries/Hugs IOExts.hs hugs98/src iomonad.c
machdep.c machdep.h hugs98/tests/libs prodcon.output
ross at glass.cse.ogi.edu
ross at glass.cse.ogi.edu
Wed Jan 14 06:19:12 EST 2004
ross 2004/01/14 06:19:12 PST
Modified files:
libraries/Hugs IOExts.hs
src iomonad.c machdep.c machdep.h
tests/libs prodcon.output
Log:
Change the handling of stdin (except on Win32).
Hugs used to treat standard input quite strangely: turning off echo and
buffering (if a terminal), with getChar echoing input chars on stdout
(which makes no sense if either stdin or stdout is redirected) though
hGetChar stdin and interact didn't.
With this change, stdin is left alone, and there are new primitives:
hIsTerminalDevice, hGetEcho and hSetEcho. One can use hSetBuffering
and hSetEcho to change the modes of any handle connected to a terminal.
The Hugs-only non-echoing getCh is gone.
I've left Win32 alone (look for RAW_CONSOLE) because I don't know what's
going on there, but I think the new behaviour would be more convenient.
Revision Changes Path
1.17 +9 -4 hugs98/libraries/Hugs/IOExts.hs
1.70 +78 -20 hugs98/src/iomonad.c
1.113 +111 -37 hugs98/src/machdep.c
1.9 +11 -1 hugs98/src/machdep.h
1.6 +1 -1 hugs98/tests/libs/prodcon.output
More information about the Cvs-hugs
mailing list