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


Reply via email to