Mercurial > vim
changeset 1086:1a511b7b69eb v7.0.212
updated for version 7.0-212
author | vimboss |
---|---|
date | Thu, 08 Mar 2007 12:36:46 +0000 |
parents | f299f0bf32d7 |
children | c94bbf85eb16 |
files | src/ui.c src/version.c |
diffstat | 2 files changed, 17 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ui.c +++ b/src/ui.c @@ -166,10 +166,17 @@ ui_inchar(buf, maxlen, wtime, tb_change_ } #endif - /* When doing a blocking wait there is no need for CTRL-C to interrupt - * something, don't let it set got_int when it was mapped. */ - if (mapped_ctrl_c && (wtime == -1 || wtime > 100L)) - ctrl_c_interrupts = FALSE; + /* If we are going to wait for some time or block... */ + if (wtime == -1 || wtime > 100L) + { + /* ... allow signals to kill us. */ + (void)vim_handle_signal(SIGNAL_UNBLOCK); + + /* ... there is no need for CTRL-C to interrupt something, don't let + * it set got_int when it was mapped. */ + if (mapped_ctrl_c) + ctrl_c_interrupts = FALSE; + } #ifdef FEAT_GUI if (gui.in_use) @@ -183,16 +190,14 @@ ui_inchar(buf, maxlen, wtime, tb_change_ else # endif { - if (wtime == -1 || wtime > 100L) - /* allow signals to kill us */ - (void)vim_handle_signal(SIGNAL_UNBLOCK); retval = mch_inchar(buf, maxlen, wtime, tb_change_cnt); - if (wtime == -1 || wtime > 100L) - /* block SIGHUP et al. */ - (void)vim_handle_signal(SIGNAL_BLOCK); } #endif + if (wtime == -1 || wtime > 100L) + /* block SIGHUP et al. */ + (void)vim_handle_signal(SIGNAL_BLOCK); + ctrl_c_interrupts = TRUE; #ifdef NO_CONSOLE_INPUT