win98, ctrl-c & System.system (was: Updated 6.4 Windows installer RC)

Claus Reinke claus.reinke at talk21.com
Tue Mar 22 16:58:18 EST 2005


> Yet another 6.4 installer, this time fixing issues regarding GHC
> use on Win9x / NT4 installations:
> http://www.haskell.org/ghc/dist/stable/dist/ghc-6-4-bld2.msi
> Unless some _really bad_ platform-specific bugs are reported against
> this one soon, that's the final 6.4 installer.

sorry to be complaining about issues with a pre-OS that, by all
rights, should be gone and forgotten, but I thought I'd at least
report such things as I find.

the new snapshot installs and runs fine on win98se, but someone
tries to be too clever about catching <ctrl>-C, it seems. not that
I particularly liked the old behaviour (dropping out of a ghci
session when interrupting a loop), but this is no improvement.

in the appended log, after ghci starts up, I just repeatedly type
<ctrl>-c, and though the bash prompt appears, ghci isn't
quite gone, and there appears to be some competition about
further inputs.. if I'm lucky, I get a complete command through
to bash, then type <ctrl>-c to be back in ghci-land for a moment, 
with similar problems to complete commands, but if I manage to
get an unclobbered :q<ret> through, things seem to return to
normal, at bash-level.

either keeping in ghci-level or dropping to bash-level would
be better than this mixture. I notice that this new catching of
<ctrl>-c seems to work as intended if I start ghci from the
start-menu, ie without cygwin bash, but that is very 
unconfigurable/uncomfortable on win98 (tiny window-size
without scrolling, in which I can't even see the complete
output of ":?".

while I was at win98-specific issues, I remembered the old
"System.system always returns ExitSuccess on ghc/win98"
(somewhat of a nuisance when you're trying to run a suite
of tests from within Haskell that involve external commands).
so I tried to check that, but:

Prelude> System.system "ls" >>= print
*** Exception: C:\WINDOWS\SYSTEM\CMD.EXE: runCommand: does not exist (No such fi
le or directory)
Prelude> System.Cmd.rawSystem "ls" [] >>= print
_viminfo  getname.pl  index.html
ExitSuccess
Prelude> System.system "false" >>= print
*** Exception: C:\WINDOWS\SYSTEM\CMD.EXE: runCommand: does not exist (No such fi
le or directory)
Prelude> System.Cmd.rawSystem "false" [] >>= print
ExitFailure 1

(this is from within bash; the effect is similar without
    bash, after substituting some non-bash command that 
    is in the normal %PATH%)

---------------------

so, in brief:
- catching <ctrl>-c from ghci running under bash leads to 
    trouble.
- System.system does not appear to work anymore? it
    can't seem to find any command.
- System.Cmd.rawSystem does seem to solve that old
    ExitCode problem, but why is it better at finding
    commands than System.system? shouldn't it be
    the other way round?

perhaps the first falls into "file bug report and live with it",
but it would be nice if someone could explain the second and
third for me?

cheers,
claus

-----------------
$ uname -a
CYGWIN_98-4.10 vaio 1.5.5(0.94/3/2) 2003-09-20 16:31 i686 unknown unknown Cygwin


unknown at vaio ~
$ ghci
   ___         ___ _
  / _ \ /\  /\/ __(_)
 / /_\// /_/ / /  | |      GHC Interactive, version 6.4, for Haskell 98.
/ /_\\/ __  / /___| |      http://www.haskell.org/ghc/
\____/\/ /_/\____/|_|      Type :? for help.

Loading package base-1.0 ... linking ... done.
Prelude>
Prelude> Prelude>

unknown at vaio ~
$ Prelude>

unknown at vaio ~
$ Prelude>

unknown at vaio ~
$
P
unknown at vaio ~
$ elude> Prelude> Prelude>


unknown at vaio ~
$ P
r
unknown at vaio ~el
$ de> Prelude>

unknown at vaio ~
$





More information about the Glasgow-haskell-bugs mailing list