From 1353369fbb3722d0b98dfffb758158ed330957e3 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sat, 16 Jul 2022 14:00:10 +0800 Subject: [PATCH] fix(ex_cmds): correct flags for :const (cherry picked from commit 0a7e0304c797b7700304b8614a24ad9bcd7e9c6b) --- src/nvim/ex_cmds.lua | 2 +- test/functional/vimscript/let_spec.lua | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/nvim/ex_cmds.lua b/src/nvim/ex_cmds.lua index c2d40c8bb7..32dbed2e2e 100644 --- a/src/nvim/ex_cmds.lua +++ b/src/nvim/ex_cmds.lua @@ -629,7 +629,7 @@ module.cmds = { }, { command='const', - flags=bit.bor(NEEDARG, EXTRA, NOTRLCOM, CMDWIN), + flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN), addr_type='ADDR_NONE', func='ex_const', }, diff --git a/test/functional/vimscript/let_spec.lua b/test/functional/vimscript/let_spec.lua index 509846450c..50d70e7563 100644 --- a/test/functional/vimscript/let_spec.lua +++ b/test/functional/vimscript/let_spec.lua @@ -5,6 +5,7 @@ local clear = helpers.clear local command = helpers.command local eval = helpers.eval local meths = helpers.meths +local exec = helpers.exec local exec_capture = helpers.exec_capture local source = helpers.source local testprg = helpers.testprg @@ -91,3 +92,19 @@ describe(':let', function() eq(1, eval('1')) end) end) + +describe(':let and :const', function() + it('have the same output when called without arguments', function() + eq(exec_capture('let'), exec_capture('const')) + end) + + it('can be used in sandbox', function() + exec([[ + func Func() + let l:foo = 'foo' + const l:bar = 'bar' + endfunc + sandbox call Func() + ]]) + end) +end)