From 8f76e6b12b958f2779444a92234bbaf3f49eeb99 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 26 Nov 2019 16:50:30 +0100 Subject: patch 8.1.2348: :const cannot be followed by "| endif" Problem: :const cannot be followed by "| endif". Solution: Check following command for :const. (closes #5269) Also fix completion after :const. --- src/testdir/test_cmdline.vim | 1 + src/testdir/test_const.vim | 6 ++++++ src/testdir/test_let.vim | 4 ++++ 3 files changed, 11 insertions(+) (limited to 'src/testdir') diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim index 3f73d3da34..7a4979e015 100644 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -184,6 +184,7 @@ func Test_expr_completion() endif for cmd in [ \ 'let a = ', + \ 'const a = ', \ 'if', \ 'elseif', \ 'while', diff --git a/src/testdir/test_const.vim b/src/testdir/test_const.vim index 55e4492bde..8df34f4ad6 100644 --- a/src/testdir/test_const.vim +++ b/src/testdir/test_const.vim @@ -197,6 +197,12 @@ func Test_cannot_modify_existing_variable() call assert_fails('const [i2, f2, s2] = [1, 1.1, "vim"]', 'E995:') endfunc +func Test_const_with_condition() + const x = 0 + if 0 | const x = 1 | endif + call assert_equal(0, x) +endfunc + func Test_const_with_index_access() let l = [1, 2, 3] call assert_fails('const l[0] = 4', 'E996:') diff --git a/src/testdir/test_let.vim b/src/testdir/test_let.vim index 4d9aae96f1..055425de28 100644 --- a/src/testdir/test_let.vim +++ b/src/testdir/test_let.vim @@ -24,6 +24,10 @@ func Test_let() let out = execute('let a {0 == 1 ? "a" : "b"}') let s = "\na #1\nb #2" call assert_equal(s, out) + + let x = 0 + if 0 | let x = 1 | endif + call assert_equal(0, x) endfunc func s:set_arg1(a) abort -- cgit v1.2.3