To: vim_dev@googlegroups.com Subject: Patch 8.2.3475 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.3475 Problem: Expression register set by not executed put command. Solution: Do not set the register if the command is skipped. (closes #8909) Files: src/ex_docmd.c, src/testdir/test_excmd.vim *** ../vim-8.2.3474/src/ex_docmd.c 2021-09-12 12:39:04.323467415 +0100 --- src/ex_docmd.c 2021-10-04 22:14:23.116256124 +0100 *************** *** 2382,2390 **** // 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); ea.arg += STRLEN(ea.arg); - did_set_expr_line = TRUE; } #endif ea.arg = skipwhite(ea.arg); --- 2382,2393 ---- // for '=' register: accept the rest of the line as an expression if (ea.arg[-1] == '=' && ea.arg[0] != NUL) { ! if (!ea.skip) ! { ! set_expr_line(vim_strsave(ea.arg), &ea); ! did_set_expr_line = TRUE; ! } ea.arg += STRLEN(ea.arg); } #endif ea.arg = skipwhite(ea.arg); *** ../vim-8.2.3474/src/testdir/test_excmd.vim 2021-08-09 20:04:20.944157290 +0100 --- src/testdir/test_excmd.vim 2021-10-04 22:14:23.116256124 +0100 *************** *** 647,650 **** --- 647,658 ---- endif endfunc + func Test_not_break_expression_register() + call setreg('=', '1+1') + if 0 + put =1 + endif + call assert_equal('1+1', getreg('=', 1)) + endfunc + " vim: shiftwidth=2 sts=2 expandtab *** ../vim-8.2.3474/src/version.c 2021-10-04 21:51:53.779991087 +0100 --- src/version.c 2021-10-04 22:16:29.033492875 +0100 *************** *** 759,760 **** --- 759,762 ---- { /* Add new patch number below this line */ + /**/ + 3475, /**/ -- hundred-and-one symptoms of being an internet addict: 94. Now admit it... How many of you have made "modem noises" into the phone just to see if it was possible? :-) /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///