diff options
author | Bram Moolenaar <Bram@vim.org> | 2007-03-08 12:36:46 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2007-03-08 12:36:46 +0000 |
commit | c8da3119cfc78661cdf47bc92a357f40b8699cd1 (patch) | |
tree | df3fb407abe202313010675947361aae58b85b0b /src/ui.c | |
parent | 9248e6e12e6042562d91d9ad2b81f5a0692889df (diff) | |
download | vim-git-c8da3119cfc78661cdf47bc92a357f40b8699cd1.tar.gz |
updated for version 7.0-212v7.0.212
Diffstat (limited to 'src/ui.c')
-rw-r--r-- | src/ui.c | 25 |
1 files changed, 15 insertions, 10 deletions
@@ -166,10 +166,17 @@ ui_inchar(buf, maxlen, wtime, tb_change_cnt) } #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_cnt) 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 |