comparison src/evalvars.c @ 18348:9ea364ccf216 v8.1.2168

patch 8.1.2168: heredoc assignment not skipped in if block Commit: https://github.com/vim/vim/commit/b1ba9abcb385b0a5355788a7eefef78ec68d2f65 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Oct 16 23:34:42 2019 +0200 patch 8.1.2168: heredoc assignment not skipped in if block Problem: Heredoc assignment not skipped in if block. Solution: Check if "skip" is set. (closes https://github.com/vim/vim/issues/5063)
author Bram Moolenaar <Bram@vim.org>
date Wed, 16 Oct 2019 23:45:03 +0200
parents 5c8906f653f5
children e93cab5d0f0f
comparison
equal deleted inserted replaced
18347:e4e6e0bfc526 18348:9ea364ccf216
754 // HERE document 754 // HERE document
755 l = heredoc_get(eap, expr + 3); 755 l = heredoc_get(eap, expr + 3);
756 if (l != NULL) 756 if (l != NULL)
757 { 757 {
758 rettv_list_set(&rettv, l); 758 rettv_list_set(&rettv, l);
759 op[0] = '='; 759 if (!eap->skip)
760 op[1] = NUL; 760 {
761 (void)ex_let_vars(eap->arg, &rettv, FALSE, semicolon, var_count, 761 op[0] = '=';
762 op[1] = NUL;
763 (void)ex_let_vars(eap->arg, &rettv, FALSE, semicolon, var_count,
762 is_const, op); 764 is_const, op);
765 }
763 clear_tv(&rettv); 766 clear_tv(&rettv);
764 } 767 }
765 } 768 }
766 else 769 else
767 { 770 {