summaryrefslogtreecommitdiffstats
path: root/src/ex_docmd.c
diff options
context:
space:
mode:
authorkuuote <znmxodq1@gmail.com>2021-10-04 22:17:36 +0100
committerBram Moolenaar <Bram@vim.org>2021-10-04 22:17:36 +0100
commit08d7b1c82866a61b61a55e55b6c190dba04e54ea (patch)
treed611343ead8155cda84d941ee25c6e6127814915 /src/ex_docmd.c
parent965d2edbce1a8ccba96925be5ac4575981f68949 (diff)
patch 8.2.3475: expression register set by not executed put commandv8.2.3475
Problem: Expression register set by not executed put command. Solution: Do not set the register if the command is skipped. (closes #8909)
Diffstat (limited to 'src/ex_docmd.c')
-rw-r--r--src/ex_docmd.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 617de6f06d..2c55e67bc3 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2382,9 +2382,12 @@ do_one_cmd(
// for '=' register: accept the rest of the line as an expression
if (ea.arg[-1] == '=' && ea.arg[0] != NUL)
{
- set_expr_line(vim_strsave(ea.arg), &ea);
+ if (!ea.skip)
+ {
+ set_expr_line(vim_strsave(ea.arg), &ea);
+ did_set_expr_line = TRUE;
+ }
ea.arg += STRLEN(ea.arg);
- did_set_expr_line = TRUE;
}
#endif
ea.arg = skipwhite(ea.arg);