Hi Ian,
The following patch fixes things up again:
diff -C2 -r1.58 -r1.59
*** hugs.c 1997/09/25 15:03:01 1.58
--- hugs.c 1997/10/12 17:06:44 1.59
***************
*** 1033,1037 ****
numberGcs = 0;
printing = TRUE;
! /* Not Haskell 1.4 compliant: noechoTerminal(); */
consGC = FALSE;
if (nonNull(type) && addType) {
--- 1033,1039 ----
numberGcs = 0;
printing = TRUE;
! #if 1 /* Arguably not Haskell 1.4 compliant */
! noechoTerminal();
! #endif
consGC = FALSE;
if (nonNull(type) && addType) {
Don't ask me to explain why the code was commented out in the first place
- I don't remember.
Alastair
> The following happens in hugs 1.4 (970719) on Solaris:
> Program:
>
> main :: IO ()
> main =
> getChar >>= \c ->
> putChar c >>
> main
>
> Result:
>
> Main> main
> abc
> aabbcc
>
> I can understand two of the three times the input gets echoed, but not the
> third. Using getCh from IOExtensions instead of getChar removes one lot of
> echoing, but not the other (and the program still works line-by-line instead
> of character-by-character):
>
> Main> main
> abc
> abc
>
> Is terminal input broken, or am I missing something?
>
> Thanks,
>
> Ian [EMAIL PROTECTED], Tel: 0117 9545148