Mercurial > vim
comparison src/ex_getln.c @ 29481:34bb46847ba0 v9.0.0082
patch 9.0.0082: cannot interrupt global command from command line
Commit: https://github.com/vim/vim/commit/3cfae39b087c2724991d385e5e8ee7d011aa8e99
Author: zeertzjq <zeertzjq@outlook.com>
Date: Tue Jul 26 17:48:13 2022 +0100
patch 9.0.0082: cannot interrupt global command from command line
Problem: Cannot interrupt global command from command line.
Solution: Reset got_int in another place. (closes https://github.com/vim/vim/issues/10739)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 26 Jul 2022 19:00:03 +0200 |
parents | b43cb3fd0c7b |
children | 2a327999c05c |
comparison
equal
deleted
inserted
replaced
29480:44fddf8c1ea4 | 29481:34bb46847ba0 |
---|---|
1784 | 1784 |
1785 did_emsg = FALSE; // There can't really be a reason why an error | 1785 did_emsg = FALSE; // There can't really be a reason why an error |
1786 // that occurs while typing a command should | 1786 // that occurs while typing a command should |
1787 // cause the command not to be executed. | 1787 // cause the command not to be executed. |
1788 | 1788 |
1789 got_int = FALSE; // avoid infinite Ctrl-C loop in Ex mode | |
1790 | |
1791 // Trigger SafeState if nothing is pending. | 1789 // Trigger SafeState if nothing is pending. |
1792 may_trigger_safestate(xpc.xp_numfiles <= 0); | 1790 may_trigger_safestate(xpc.xp_numfiles <= 0); |
1793 | 1791 |
1794 // Get a character. Ignore K_IGNORE and K_NOP, they should not do | 1792 // Get a character. Ignore K_IGNORE and K_NOP, they should not do |
1795 // anything, such as stop completion. | 1793 // anything, such as stop completion. |
1848 ) | 1846 ) |
1849 #if defined(FEAT_EVAL) || defined(FEAT_CRYPT) | 1847 #if defined(FEAT_EVAL) || defined(FEAT_CRYPT) |
1850 && firstc != '@' | 1848 && firstc != '@' |
1851 #endif | 1849 #endif |
1852 #ifdef FEAT_EVAL | 1850 #ifdef FEAT_EVAL |
1853 && !break_ctrl_c | 1851 // do clear got_int in Ex mode to avoid infinite Ctrl-C loop |
1852 && (!break_ctrl_c || exmode_active) | |
1854 #endif | 1853 #endif |
1855 && !global_busy) | 1854 && !global_busy) |
1856 got_int = FALSE; | 1855 got_int = FALSE; |
1857 | 1856 |
1858 // free old command line when finished moving around in the history | 1857 // free old command line when finished moving around in the history |