0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.1.1061: when substitute string throws error, substitute happens anyway

Problem:    When substitute string throws error, substitute happens anyway.
Solution:   Skip substitution when aborting. (closes #4161)
This commit is contained in:
Bram Moolenaar
2019-03-27 22:53:53 +01:00
parent 760285dd4f
commit 0e97b94875
3 changed files with 38 additions and 1 deletions

View File

@@ -5574,7 +5574,12 @@ do_sub(exarg_T *eap)
sub_firstlnum - regmatch.startpos[0].lnum,
sub, sub_firstline, FALSE, p_magic, TRUE);
#ifdef FEAT_EVAL
/* Don't keep flags set by a recursive call. */
// If getting the substitute string caused an error, don't do
// the replacement.
if (aborting())
goto skip;
// Don't keep flags set by a recursive call.
subflags = subflags_save;
if (subflags.do_count)
{