[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: looking for consistent C-c trap behavior
From: |
Chet Ramey |
Subject: |
Re: looking for consistent C-c trap behavior |
Date: |
Sun, 19 Apr 2020 15:20:56 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 |
On 4/18/20 6:45 PM, gentoo_eshoes@tutanota.com wrote:
>
>
>
> Apr 18, 2020, 23:41 by gentoo_eshoes@tutanota.com:
>
>>
>> On another note, I naively tried to patch out the POSIX requirement, for my
>> own/local_use puposes but had no effect:
>> in this code
>> + /* posix mode SIGINT during read -e. We only get here if SIGINT is
>> trapped. */
>> + if (posixly_correct && this_shell_builtin == read_builtin && sig == 2)
>> + {
>> + last_command_exit_value = 128|SIGINT;
>> + throw_to_top_level ();
>> + }
>> by removing "posixly_correct &&" from above. I've no idea why that would
>> have no effect, a bit stumped.
>> I've even tried with a prior 'make clean'. The only explanation is that some
>> other code that happens only during `POSIXly correct` mode is affecting this
>> somehow...
>>
> regarding the above, I stand corrected: it does indeed have effect but only
> on 'read -e' (just as the comment states), that bash_event_hook() function
> isn't entered for 'read -p' which to me was surprising, yet no doubt
> correct(I'm guessing).
The hook functions are a way for readline to communicate with calling
applications when signals or other events happen, since you can't really
do very much in a signal handler, so they're not called when not using
readline.
> The code that allows 'read -p' to be interrupted when posixly_correct, must
> then be somewhere else, I shall keep lookin', yet I fear I might not find it
> :-"
Look in read_builtin() and the calls to various zread* functions there.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/