This too may be applicable:

http://www.delorie.com/gnu/docs/readline/rlman_43.html


On Mon, Jul 21, 2014 at 1:12 PM, Blake McBride <[email protected]> wrote:

> Does this help?
>
> This may be related to the cooked/uncooked/rare
> <http://en.wikipedia.org/wiki/POSIX_terminal_interface#Early_Unices%3a_Seventh_Edition_Unix>
>  terminal
> modes; ^C does not always send a signal. It seems likely that readline
> uncooks the terminal, and thus any signals caused by keyboard input must be
> due to logic within readline itself; it seems plausible that it might only
> trigger a SIGINT on two sequential ^Cs (especially since for many
> programs that utilise readline such as shells and REPLs, the program
> exiting on a single ^C would be very annoying!).
>
> You might be able to change this behaviour by using the readline API to
> rebind ^C to some of your own code that triggers a SIGINT. I haven't used
> readline from Haskell, just from C, so I'm not sure exactly how you'd go
> about this, but the binding
> <http://hackage.haskell.org/packages/archive/readline/latest/doc/html/System-Console-Readline.html>
>  seems
> rich enough to achieve it.
>
>
>
> *Blake McBride*
>
> www.arahant.com
> Cell:    615-394-6760
> Office:  615-376-5500
> Fax:     615-377-6006
>
>
>
>
> On Mon, Jul 21, 2014 at 12:39 PM, Juergen Sauermann <
> [email protected]> wrote:
>
>>  Hi David,
>>
>> I see. The problem is that the line input (readline) does not return even
>> though I tell it to (by setting *rl_done* in the signal handler for ^C).
>> I haven't
>> found a way to fix this (hints more than welcome). This could also be
>> caused
>> by terminal settings ("cooked mode") but I thought readline would handle
>> this.
>>
>> Long term I will most likely replace readline because so far it has
>> created more problems
>> than it has helped. That would be a bigger issue and should also be
>> aligned with Elias'
>> emacs mode. So it would  be after the next GNU APL release.
>>
>> /// Jürgen
>>
>>
>>
>> On 07/21/2014 06:32 PM, David B. Lamkins wrote:
>>
>> Thanks, Jüergen.
>>
>> The real issue, from my perspective, is that APL doesn't report the
>> ATTENTION message until it sees a newline on input. It seems to me that
>> typing a ^C should immediately suspend execution and show the ATTENTION
>> message.
>>
>> On Mon, 2014-07-21 at 18:23 +0200, Juergen Sauermann wrote:
>>
>>  Hi David,
>>
>> I have changed readline to display a new line right after ^C, see SVN 382.
>>
>> For reasons that I don't fully understand, the next character after ^C
>> will be eaten by
>> readline; I tried a number of things to prevent this but haven't succeeded.
>>
>> I believe readline will be one of the next things removed from GNU APL.
>>
>> /// Jürgen
>>
>>
>> On 07/21/2014 02:32 AM, David Lamkins wrote:
>>
>>  When the session is not executing APL code, the attention signal is
>> not handled until the next newline.
>>
>> To see this, enter the characters Control-C, 1, Return.
>>
>>
>> --
>> "The secret to creativity is knowing how to hide your sources."
>>    Albert Einstein
>>
>> http://soundcloud.com/davidlamkinshttp://reverbnation.com/lamkinshttp://reverbnation.com/lcwhttp://lamkins-guitar.com/http://lamkins.net/http://successful-lisp.com/
>>
>>
>>
>

Reply via email to