X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fwin32-dlls.xml;h=22a77deef8ebf5d7cbf83521c9d6c2f0ae41c687;hb=2eb04ca0f8d0ec72b417cddc60672c696b4a3daa;hp=959f7ce1b65f67a1c9690343c1e5c8d45e95682f;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git diff --git a/docs/users_guide/win32-dlls.xml b/docs/users_guide/win32-dlls.xml index 959f7ce..22a77de 100644 --- a/docs/users_guide/win32-dlls.xml +++ b/docs/users_guide/win32-dlls.xml @@ -2,9 +2,9 @@ Running GHC on Win32 systems - + -Starting GHC on Win32 platforms +Starting GHC on Windows platforms The installer that installs GHC on Win32 also sets up the file-suffix associations @@ -36,7 +36,46 @@ Notice how the "%1" argument is quoted (or not). - + +Running GHCi on Windows + + We recommend running GHCi in a standard Windows console: + select the GHCi option from the start menu item + added by the GHC installer, or use + Start->Run->cmd to get a Windows console and + invoke ghci from there (as long as it's in your + PATH). + + If you run GHCi in a Cygwin or MSYS shell, then the Control-C + behaviour is adversely affected. In one of these environments you + should use the ghcii.sh script to start GHCi, + otherwise when you hit Control-C you'll be returned to the shell + prompt but the GHCi process will still be running. However, even + using the ghcii.sh script, if you hit Control-C + then the GHCi process will be killed immediately, rather than + letting you interrupt a running program inside GHCi as it should. + This problem is caused by the fact that the Cygwin and MSYS shell + environments don't pass Control-C events to non-Cygwin child + processes, because in order to do that there needs to be a Windows + console. + + There's an exception: you can use a Cygwin shell if the + CYGWIN environment variable does + not contain tty. In this + mode, the Cygwin shell behaves like a Windows console shell and + console events are propagated to child processes. Note that the + CYGWIN environment variable must be set + before starting the Cygwin shell; changing it + afterwards has no effect on the shell. + + This problem doesn't just affect GHCi, it affects any + GHC-compiled program that wants to catch console events. See the + GHC.ConsoleHandler + module. + + + Interacting with the terminal @@ -63,7 +102,7 @@ You can get a close simulation by using an emacs shell buffer! - + Differences in library behaviour @@ -86,7 +125,7 @@ binary mode using IOExts.hSetBinaryMode. The - + Using GHC (and other GHC-compiled executables) with cygwin