darcs patch: Restore the terminal attributes even if ghci does not exit normally.

Judah Jacobson judah.jacobson at gmail.com
Mon Oct 20 12:50:22 EDT 2008


On Mon, Oct 20, 2008 at 1:23 AM, Simon Marlow <marlowsd at gmail.com> wrote:
> Ian Lynagh wrote:
>>
>> Wed Oct 15 19:48:38 PDT 2008  Judah Jacobson <judah.jacobson at gmail.com>
>>  * FIX #2691: Manually reset the terminal to its initial settings; works
>> around a bug in libedit.
>>
>>    M ./compiler/ghci/InteractiveUI.hs -1 +17
>>
>> View patch online:
>>
>> http://darcs.haskell.org/ghc/_darcs/patches/20081016024838-9f663-c9dc5d15dc8c45e4548eb9c79c91637be2cc483a.gz
>
> You probably want to use Control.Exception.bracket here.

I had considered that but thought it unnecessary since currently ghci
handles all exceptions/errors without exiting (even panics).  However,
the recent discussion about ghci's behavior on "exitWith ExitSuccess"
indicates that this might not always be the case; so I've attached
another patch with your suggestion.

-Judah


Mon Oct 20 09:41:09 PDT 2008  Judah Jacobson <judah.jacobson at gmail.com>
  * Restore the terminal attributes even if ghci does not exit normally.

    M ./compiler/ghci/InteractiveUI.hs -4 +3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: termreset.patch
Type: application/octet-stream
Size: 48885 bytes
Desc: not available
Url : http://www.haskell.org/pipermail/cvs-ghc/attachments/20081020/0f465ef4/termreset-0001.obj


More information about the Cvs-ghc mailing list