• Peter Stephenson's avatar
    33876: etc.: Separate errors and keyboards interrupts · d067ebca
    Peter Stephenson authored
    Combination of 12 commits from interrupt_abort branch.
    
    Basic strategy is to introduce bits to errflag and to set and
    reset them separately.
    
    Remove interrupt status on return to main keymap.
    
    Turn off ERRFLAG_INT for always block.
    
    Restore bit thereafter: we probably need a new variable in order
    to allow user interrupts to be reset in the always block.
    
    Add TRY_BLOCK_INTERRUPT
    
    This works the same as TRY_BLOCK_ERROR, but for a SIGINT, too.
    
    Ensure propagation of SIGINT from exited job.
    
    If received by foreground job, shell uses ERRFLAG_INT, not
    ERRFLAG_ERROR, to set the new state.
    
    Reset errflag before precmd()
    
    Add always block in _main_completion to fix ZLS_COLORS
    
    Ensures we get the right state of $ZLS_COLORS at the end of _main_complete
    even if there's an interrupt.  However, the "right state" is a bit messy
    as it depends on styles.
    d067ebca
zpty.c 18.1 KB