WinHugs bug #29, $$ doesn't work
Neil Mitchell <ndmitchell <at> gmail.com>
2006-06-29 17:29:15 GMT
I'm trying to track down: http://hackage.haskell.org/trac/hugs/ticket/29
The problem is in input.c, all the tests for $$ are written as:
if (it==textRepeat && reading==KEYBOARD) ...
The problem is that WinHugs doesn't pipe directly from the keyboard,
its from a string buffer, i.e. reading == STRING.
The possible values of reading are:
#define NOTHING 0 /* what kind of input is being read?*/
#define KEYBOARD 1 /* - keyboard/console? */
#define SCRIPTFILE 2 /* - script file */
#define STRING 3 /* - string buffer? */
#define NOKEYBOARD 4 /* - standard input, but not a tty */
Without knowing the exact purpose of this check, its hard to know how
to modify it for WinHugs. Can I just do reading == KEYBOARD || reading
== STRING? Is there a particular reason that you can't use $$ in a
SCRIPTFILE? Is reading == KEYBOARD required?