aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/edit.c23
-rw-r--r--src/nvim/eval/funcs.c6
-rw-r--r--src/nvim/ex_cmds.lua617
-rw-r--r--src/nvim/ex_cmds_defs.h7
-rw-r--r--src/nvim/ex_docmd.c28
-rw-r--r--src/nvim/ex_getln.c10
-rw-r--r--src/nvim/testdir/check.vim16
-rw-r--r--src/nvim/testdir/test_edit.vim18
-rw-r--r--src/nvim/testdir/test_ex_mode.vim3
-rw-r--r--src/nvim/testdir/test_ins_complete.vim81
-rw-r--r--src/nvim/testdir/test_popup.vim12
-rw-r--r--src/nvim/testdir/test_quickfix.vim84
-rw-r--r--src/nvim/testdir/test_textformat.vim24
13 files changed, 545 insertions, 384 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index 2abe9068eb..0571e71cb5 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -136,7 +136,6 @@ static char *ctrl_x_mode_names[] = {
};
static char e_hitend[] = N_("Hit end of paragraph");
-static char e_complwin[] = N_("E839: Completion function changed window");
static char e_compldel[] = N_("E840: Completion function deleted text");
/*
@@ -3939,8 +3938,6 @@ static void expand_by_function(int type, char_u *base)
dict_T *matchdict = NULL;
char_u *funcname;
pos_T pos;
- win_T *curwin_save;
- buf_T *curbuf_save;
typval_T rettv;
const int save_State = State;
@@ -3959,9 +3956,9 @@ static void expand_by_function(int type, char_u *base)
args[1].vval.v_string = base != NULL ? (char *)base : "";
pos = curwin->w_cursor;
- curwin_save = curwin;
- curbuf_save = curbuf;
- // Lock the text to avoid weird things from happening.
+ // Lock the text to avoid weird things from happening. Also disallow
+ // switching to another window, it should not be needed and may end up in
+ // Insert mode in another buffer.
textlock++;
// Call a function, which returns a list or dict.
@@ -3983,10 +3980,6 @@ static void expand_by_function(int type, char_u *base)
}
textlock--;
- if (curwin_save != curwin || curbuf_save != curbuf) {
- emsg(_(e_complwin));
- goto theend;
- }
curwin->w_cursor = pos; // restore the cursor position
validate_cursor();
if (!equalpos(curwin->w_cursor, pos)) {
@@ -5224,8 +5217,6 @@ static int ins_complete(int c, bool enable_pum)
// set to 1 to obtain the length of text to use for completion.
char_u *funcname;
pos_T pos;
- win_T *curwin_save;
- buf_T *curbuf_save;
const int save_State = State;
// Call 'completefunc' or 'omnifunc' and get pattern length as a string
@@ -5246,15 +5237,11 @@ static int ins_complete(int c, bool enable_pum)
args[1].vval.v_string = "";
pos = curwin->w_cursor;
- curwin_save = curwin;
- curbuf_save = curbuf;
+ textlock++;
colnr_T col = (colnr_T)call_func_retnr((char *)funcname, 2, args);
+ textlock--;
State = save_State;
- if (curwin_save != curwin || curbuf_save != curbuf) {
- emsg(_(e_complwin));
- return FAIL;
- }
curwin->w_cursor = pos; // restore the cursor position
validate_cursor();
if (!equalpos(curwin->w_cursor, pos)) {
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index f231146d7c..80586caf8e 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -1062,11 +1062,6 @@ static void f_complete(typval_T *argvars, typval_T *rettv, FunPtr fptr)
return;
}
- const int save_textlock = textlock;
- // "textlock" is set when evaluating 'completefunc' but we can change text
- // here.
- textlock = 0;
-
// Check for undo allowed here, because if something was already inserted
// the line was already saved for undo and this check isn't done.
if (!undo_allowed(curbuf)) {
@@ -1081,7 +1076,6 @@ static void f_complete(typval_T *argvars, typval_T *rettv, FunPtr fptr)
set_completion(startcol - 1, argvars[1].vval.v_list);
}
}
- textlock = save_textlock;
}
/// "complete_add()" function
diff --git a/src/nvim/ex_cmds.lua b/src/nvim/ex_cmds.lua
index 8c8cde8be3..a5ba5e0b30 100644
--- a/src/nvim/ex_cmds.lua
+++ b/src/nvim/ex_cmds.lua
@@ -26,6 +26,7 @@ local SBOXOK = 0x40000
local CMDWIN = 0x80000
local MODIFY = 0x100000
local FLAGS = 0x200000
+local LOCK_OK = 0x1000000
local PREVIEW = 0x8000000
local FILES = bit.bor(XFILE, EXTRA)
local WORD1 = bit.bor(EXTRA, NOSPC)
@@ -41,19 +42,19 @@ module.flags = {
module.cmds = {
{
command='append',
- flags=bit.bor(BANG, RANGE, ZEROR, TRLBAR, CMDWIN, MODIFY),
+ flags=bit.bor(BANG, RANGE, ZEROR, TRLBAR, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_append',
},
{
command='abbreviate',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_abbreviate',
},
{
command='abclear',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_abclear',
},
@@ -71,13 +72,13 @@ module.cmds = {
},
{
command='amenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='anoremenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
@@ -131,25 +132,25 @@ module.cmds = {
},
{
command='ascii',
- flags=bit.bor(TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='do_ascii',
},
{
command='autocmd',
- flags=bit.bor(BANG, EXTRA, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_autocmd',
},
{
command='augroup',
- flags=bit.bor(BANG, WORD1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, WORD1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_autocmd',
},
{
command='aunmenu',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_menu',
},
@@ -173,13 +174,13 @@ module.cmds = {
},
{
command='badd',
- flags=bit.bor(NEEDARG, FILE1, CMDARG, TRLBAR, CMDWIN),
+ flags=bit.bor(NEEDARG, FILE1, CMDARG, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_edit',
},
{
command='balt',
- flags=bit.bor(NEEDARG, FILE1, CMDARG, TRLBAR, CMDWIN),
+ flags=bit.bor(NEEDARG, FILE1, CMDARG, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_edit',
},
@@ -191,7 +192,7 @@ module.cmds = {
},
{
command='behave',
- flags=bit.bor(BANG, NEEDARG, WORD1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, NEEDARG, WORD1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_behave',
},
@@ -245,37 +246,37 @@ module.cmds = {
},
{
command='break',
- flags=bit.bor(TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_break',
},
{
command='breakadd',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_breakadd',
},
{
command='breakdel',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_breakdel',
},
{
command='breaklist',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_breaklist',
},
{
command='browse',
- flags=bit.bor(NEEDARG, EXTRA, NOTRLCOM, CMDWIN),
+ flags=bit.bor(NEEDARG, EXTRA, NOTRLCOM, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_wrongmodifier',
},
{
command='buffers',
- flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='buflist_list',
},
@@ -299,7 +300,7 @@ module.cmds = {
},
{
command='change',
- flags=bit.bor(BANG, WHOLEFOLD, RANGE, COUNT, TRLBAR, CMDWIN, MODIFY),
+ flags=bit.bor(BANG, WHOLEFOLD, RANGE, COUNT, TRLBAR, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_change',
},
@@ -317,13 +318,13 @@ module.cmds = {
},
{
command='cabbrev',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_abbreviate',
},
{
command='cabclear',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_abclear',
},
@@ -359,13 +360,13 @@ module.cmds = {
},
{
command='call',
- flags=bit.bor(RANGE, NEEDARG, EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(RANGE, NEEDARG, EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_call',
},
{
command='catch',
- flags=bit.bor(EXTRA, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_catch',
},
@@ -407,7 +408,7 @@ module.cmds = {
},
{
command='cd',
- flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_cd',
},
@@ -419,7 +420,7 @@ module.cmds = {
},
{
command='center',
- flags=bit.bor(TRLBAR, RANGE, WHOLEFOLD, EXTRA, CMDWIN, MODIFY),
+ flags=bit.bor(TRLBAR, RANGE, WHOLEFOLD, EXTRA, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_align',
},
@@ -469,13 +470,13 @@ module.cmds = {
},
{
command='chdir',
- flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_cd',
},
{
command='changes',
- flags=bit.bor(TRLBAR, CMDWIN),
+ flags=bit.bor(TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_changes',
},
@@ -487,7 +488,7 @@ module.cmds = {
},
{
command='checkpath',
- flags=bit.bor(TRLBAR, BANG, CMDWIN),
+ flags=bit.bor(TRLBAR, BANG, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_checkpath',
},
@@ -505,7 +506,7 @@ module.cmds = {
},
{
command='clist',
- flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='qf_list',
},
@@ -517,31 +518,31 @@ module.cmds = {
},
{
command='close',
- flags=bit.bor(BANG, RANGE, COUNT, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, RANGE, COUNT, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_WINDOWS',
func='ex_close',
},
{
command='clearjumps',
- flags=bit.bor(TRLBAR, CMDWIN),
+ flags=bit.bor(TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_clearjumps',
},
{
command='cmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='cmapclear',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_mapclear',
},
{
command='cmenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
@@ -565,25 +566,25 @@ module.cmds = {
},
{
command='cnoremap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='cnoreabbrev',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_abbreviate',
},
{
command='cnoremenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='copy',
- flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, TRLBAR, CMDWIN, MODIFY),
+ flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, TRLBAR, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_copymove',
},
@@ -595,43 +596,43 @@ module.cmds = {
},
{
command='colorscheme',
- flags=bit.bor(WORD1, TRLBAR, CMDWIN),
+ flags=bit.bor(WORD1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_colorscheme',
},
{
command='command',
- flags=bit.bor(EXTRA, BANG, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, BANG, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_command',
},
{
command='comclear',
- flags=bit.bor(TRLBAR, CMDWIN),
+ flags=bit.bor(TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_comclear',
},
{
command='compiler',
- flags=bit.bor(BANG, TRLBAR, WORD1, CMDWIN),
+ flags=bit.bor(BANG, TRLBAR, WORD1, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_compiler',
},
{
command='continue',
- flags=bit.bor(TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_continue',
},
{
command='confirm',
- flags=bit.bor(NEEDARG, EXTRA, NOTRLCOM, CMDWIN),
+ flags=bit.bor(NEEDARG, EXTRA, NOTRLCOM, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_wrongmodifier',
},
{
command='const',
- flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_const',
},
@@ -679,19 +680,19 @@ module.cmds = {
},
{
command='cunmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_unmap',
},
{
command='cunabbrev',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_abbreviate',
},
{
command='cunmenu',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_menu',
},
@@ -703,43 +704,43 @@ module.cmds = {
},
{
command='delete',
- flags=bit.bor(RANGE, WHOLEFOLD, REGSTR, COUNT, TRLBAR, CMDWIN, MODIFY),
+ flags=bit.bor(RANGE, WHOLEFOLD, REGSTR, COUNT, TRLBAR, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_operators',
},
{
command='delmarks',
- flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_delmarks',
},
{
command='debug',
- flags=bit.bor(NEEDARG, EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(NEEDARG, EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_debug',
},
{
command='debuggreedy',
- flags=bit.bor(RANGE, ZEROR, TRLBAR, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_debuggreedy',
},
{
command='delcommand',
- flags=bit.bor(BANG, NEEDARG, WORD1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, NEEDARG, WORD1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_delcommand',
},
{
command='delfunction',
- flags=bit.bor(BANG, NEEDARG, WORD1, CMDWIN),
+ flags=bit.bor(BANG, NEEDARG, WORD1, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_delfunction',
},
{
command='display',
- flags=bit.bor(EXTRA, NOTRLCOM, TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_display',
},
@@ -787,7 +788,7 @@ module.cmds = {
},
{
command='digraphs',
- flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_digraphs',
},
@@ -799,19 +800,19 @@ module.cmds = {
},
{
command='dlist',
- flags=bit.bor(BANG, RANGE, DFLALL, WHOLEFOLD, EXTRA, CMDWIN),
+ flags=bit.bor(BANG, RANGE, DFLALL, WHOLEFOLD, EXTRA, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_findpat',
},
{
command='doautocmd',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_doautocmd',
},
{
command='doautoall',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_doautoall',
},
@@ -823,7 +824,7 @@ module.cmds = {
},
{
command='dsearch',
- flags=bit.bor(BANG, RANGE, DFLALL, WHOLEFOLD, EXTRA, CMDWIN),
+ flags=bit.bor(BANG, RANGE, DFLALL, WHOLEFOLD, EXTRA, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_findpat',
},
@@ -841,85 +842,85 @@ module.cmds = {
},
{
command='earlier',
- flags=bit.bor(TRLBAR, EXTRA, NOSPC, CMDWIN),
+ flags=bit.bor(TRLBAR, EXTRA, NOSPC, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_later',
},
{
command='echo',
- flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_echo',
},
{
command='echoerr',
- flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_execute',
},
{
command='echohl',
- flags=bit.bor(EXTRA, TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_echohl',
},
{
command='echomsg',
- flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_execute',
},
{
command='echon',
- flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_echo',
},
{
command='else',
- flags=bit.bor(TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_else',
},
{
command='elseif',
- flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_else',
},
{
command='emenu',
- flags=bit.bor(NEEDARG, EXTRA, TRLBAR, NOTRLCOM, RANGE, CMDWIN),
+ flags=bit.bor(NEEDARG, EXTRA, TRLBAR, NOTRLCOM, RANGE, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_emenu',
},
{
command='endif',
- flags=bit.bor(TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_endif',
},
{
command='endfunction',
- flags=bit.bor(TRLBAR, CMDWIN),
+ flags=bit.bor(TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_endfunction',
},
{
command='endfor',
- flags=bit.bor(TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_endwhile',
},
{
command='endtry',
- flags=bit.bor(TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_endtry',
},
{
command='endwhile',
- flags=bit.bor(TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_endwhile',
},
@@ -931,7 +932,7 @@ module.cmds = {
},
{
command='eval',
- flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_eval',
},
@@ -943,13 +944,13 @@ module.cmds = {
},
{
command='execute',
- flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_execute',
},
{
command='exit',
- flags=bit.bor(RANGE, WHOLEFOLD, BANG, FILE1, ARGOPT, DFLALL, TRLBAR, CMDWIN),
+ flags=bit.bor(RANGE, WHOLEFOLD, BANG, FILE1, ARGOPT, DFLALL, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_exit',
},
@@ -967,13 +968,13 @@ module.cmds = {
},
{
command='files',
- flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='buflist_list',
},
{
command='filetype',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_filetype',
},
@@ -991,13 +992,13 @@ module.cmds = {
},
{
command='finally',
- flags=bit.bor(TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_finally',
},
{
command='finish',
- flags=bit.bor(TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_finish',
},
@@ -1009,13 +1010,13 @@ module.cmds = {
},
{
command='fold',
- flags=bit.bor(RANGE, WHOLEFOLD, TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(RANGE, WHOLEFOLD, TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_fold',
},
{
command='foldclose',
- flags=bit.bor(RANGE, BANG, WHOLEFOLD, TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(RANGE, BANG, WHOLEFOLD, TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_foldopen',
},
@@ -1033,31 +1034,31 @@ module.cmds = {
},
{
command='foldopen',
- flags=bit.bor(RANGE, BANG, WHOLEFOLD, TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(RANGE, BANG, WHOLEFOLD, TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_foldopen',
},
{
command='for',
- flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_while',
},
{
command='function',
- flags=bit.bor(EXTRA, BANG, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, BANG, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_function',
},
{
command='global',
- flags=bit.bor(RANGE, WHOLEFOLD, BANG, EXTRA, DFLALL, SBOXOK, CMDWIN),
+ flags=bit.bor(RANGE, WHOLEFOLD, BANG, EXTRA, DFLALL, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_global',
},
{
command='goto',
- flags=bit.bor(RANGE, COUNT, TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(RANGE, COUNT, TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_goto',
},
@@ -1075,13 +1076,13 @@ module.cmds = {
},
{
command='gui',
- flags=bit.bor(BANG, FILES, CMDARG, ARGOPT, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILES, CMDARG, ARGOPT, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_nogui',
},
{
command='gvim',
- flags=bit.bor(BANG, FILES, CMDARG, ARGOPT, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILES, CMDARG, ARGOPT, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_nogui',
},
@@ -1105,7 +1106,7 @@ module.cmds = {
},
{
command='helptags',
- flags=bit.bor(NEEDARG, FILES, TRLBAR, CMDWIN),
+ flags=bit.bor(NEEDARG, FILES, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_helptags',
},
@@ -1117,7 +1118,7 @@ module.cmds = {
},
{
command='highlight',
- flags=bit.bor(BANG, EXTRA, TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_highlight',
},
@@ -1129,31 +1130,31 @@ module.cmds = {
},
{
command='history',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_history',
},
{
command='insert',
- flags=bit.bor(BANG, RANGE, TRLBAR, CMDWIN, MODIFY),
+ flags=bit.bor(BANG, RANGE, TRLBAR, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_append',
},
{
command='iabbrev',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_abbreviate',
},
{
command='iabclear',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_abclear',
},
{
command='if',
- flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_if',
},
@@ -1165,55 +1166,55 @@ module.cmds = {
},
{
command='ilist',
- flags=bit.bor(BANG, RANGE, DFLALL, WHOLEFOLD, EXTRA, CMDWIN),
+ flags=bit.bor(BANG, RANGE, DFLALL, WHOLEFOLD, EXTRA, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_findpat',
},
{
command='imap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='imapclear',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_mapclear',
},
{
command='imenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='inoremap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='inoreabbrev',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_abbreviate',
},
{
command='inoremenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='intro',
- flags=bit.bor(TRLBAR, CMDWIN),
+ flags=bit.bor(TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_intro',
},
{
command='isearch',
- flags=bit.bor(BANG, RANGE, DFLALL, WHOLEFOLD, EXTRA, CMDWIN),
+ flags=bit.bor(BANG, RANGE, DFLALL, WHOLEFOLD, EXTRA, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_findpat',
},
@@ -1225,37 +1226,37 @@ module.cmds = {
},
{
command='iunmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_unmap',
},
{
command='iunabbrev',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_abbreviate',
},
{
command='iunmenu',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_menu',
},
{
command='join',
- flags=bit.bor(BANG, RANGE, WHOLEFOLD, COUNT, FLAGS, TRLBAR, CMDWIN, MODIFY),
+ flags=bit.bor(BANG, RANGE, WHOLEFOLD, COUNT, FLAGS, TRLBAR, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_join',
},
{
command='jumps',
- flags=bit.bor(TRLBAR, CMDWIN),
+ flags=bit.bor(TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_jumps',
},
{
command='k',
- flags=bit.bor(RANGE, WORD1, TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(RANGE, WORD1, TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_mark',
},
@@ -1285,7 +1286,7 @@ module.cmds = {
},
{
command='list',
- flags=bit.bor(RANGE, WHOLEFOLD, COUNT, FLAGS, TRLBAR, CMDWIN),
+ flags=bit.bor(RANGE, WHOLEFOLD, COUNT, FLAGS, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_print',
},
@@ -1315,7 +1316,7 @@ module.cmds = {
},
{
command='language',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_language',
},
@@ -1345,7 +1346,7 @@ module.cmds = {
},
{
command='later',
- flags=bit.bor(TRLBAR, EXTRA, NOSPC, CMDWIN),
+ flags=bit.bor(TRLBAR, EXTRA, NOSPC, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_later',
},
@@ -1375,13 +1376,13 @@ module.cmds = {
},
{
command='lcd',
- flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_cd',
},
{
command='lchdir',
- flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_cd',
},
@@ -1405,7 +1406,7 @@ module.cmds = {
},
{
command='left',
- flags=bit.bor(TRLBAR, RANGE, WHOLEFOLD, EXTRA, CMDWIN, MODIFY),
+ flags=bit.bor(TRLBAR, RANGE, WHOLEFOLD, EXTRA, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_align',
},
@@ -1417,7 +1418,7 @@ module.cmds = {
},
{
command='let',
- flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_let',
},
@@ -1503,19 +1504,19 @@ module.cmds = {
},
{
command='llist',
- flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='qf_list',
},
{
command='lmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='lmapclear',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_mapclear',
},
@@ -1527,7 +1528,7 @@ module.cmds = {
},
{
command='lnoremap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
@@ -1557,7 +1558,7 @@ module.cmds = {
},
{
command='loadkeymap',
- flags=bit.bor(CMDWIN),
+ flags=bit.bor(CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_loadkeymap',
},
@@ -1569,7 +1570,7 @@ module.cmds = {
},
{
command='lockvar',
- flags=bit.bor(BANG, EXTRA, NEEDARG, SBOXOK, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, NEEDARG, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_lockvar',
},
@@ -1611,37 +1612,37 @@ module.cmds = {
},
{
command='lunmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_unmap',
},
{
command='lua',
- flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_lua',
},
{
command='luado',
- flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_luado',
},
{
command='luafile',
- flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_luafile',
},
{
command='lvimgrep',
- flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE),
+ flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_vimgrep',
},
{
command='lvimgrepadd',
- flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE),
+ flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_vimgrep',
},
@@ -1653,19 +1654,19 @@ module.cmds = {
},
{
command='ls',
- flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='buflist_list',
},
{
command='move',
- flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, TRLBAR, CMDWIN, MODIFY),
+ flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, TRLBAR, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_copymove',
},
{
command='mark',
- flags=bit.bor(RANGE, WORD1, TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(RANGE, WORD1, TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_mark',
},
@@ -1677,49 +1678,49 @@ module.cmds = {
},
{
command='map',
- flags=bit.bor(BANG, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='mapclear',
- flags=bit.bor(EXTRA, BANG, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, BANG, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_mapclear',
},
{
command='marks',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_marks',
},
{
command='match',
- flags=bit.bor(RANGE, EXTRA, CMDWIN),
+ flags=bit.bor(RANGE, EXTRA, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_match',
},
{
command='menu',
- flags=bit.bor(RANGE, ZEROR, BANG, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, BANG, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='menutranslate',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_menutranslate',
},
{
command='messages',
- flags=bit.bor(EXTRA, TRLBAR, RANGE, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, RANGE, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_messages',
},
{
command='mkexrc',
- flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_mkrc',
},
@@ -1737,7 +1738,7 @@ module.cmds = {
},
{
command='mkvimrc',
- flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_mkrc',
},
@@ -1749,19 +1750,19 @@ module.cmds = {
},
{
command='mode',
- flags=bit.bor(WORD1, TRLBAR, CMDWIN),
+ flags=bit.bor(WORD1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_mode',
},
{
command='mzscheme',
- flags=bit.bor(RANGE, EXTRA, DFLALL, NEEDARG, CMDWIN, SBOXOK),
+ flags=bit.bor(RANGE, EXTRA, DFLALL, NEEDARG, CMDWIN, LOCK_OK, SBOXOK),
addr_type='ADDR_LINES',
func='ex_script_ni',
},
{
command='mzfile',
- flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_ni',
},
@@ -1779,37 +1780,37 @@ module.cmds = {
},
{
command='nmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='nmapclear',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_mapclear',
},
{
command='nmenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='nnoremap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='nnoremenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='noremap',
- flags=bit.bor(BANG, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
@@ -1821,19 +1822,19 @@ module.cmds = {
},
{
command='nohlsearch',
- flags=bit.bor(TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_nohlsearch',
},
{
command='noreabbrev',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_abbreviate',
},
{
command='noremenu',
- flags=bit.bor(RANGE, ZEROR, BANG, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, BANG, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
@@ -1845,49 +1846,49 @@ module.cmds = {
},
{
command='normal',
- flags=bit.bor(RANGE, BANG, EXTRA, NEEDARG, NOTRLCOM, CTRLV, SBOXOK, CMDWIN),
+ flags=bit.bor(RANGE, BANG, EXTRA, NEEDARG, NOTRLCOM, CTRLV, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_normal',
},
{
command='number',
- flags=bit.bor(RANGE, WHOLEFOLD, COUNT, FLAGS, TRLBAR, CMDWIN),
+ flags=bit.bor(RANGE, WHOLEFOLD, COUNT, FLAGS, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_print',
},
{
command='nunmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_unmap',
},
{
command='nunmenu',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_menu',
},
{
command='oldfiles',
- flags=bit.bor(BANG, TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(BANG, TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_oldfiles',
},
{
command='omap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='omapclear',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_mapclear',
},
{
command='omenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
@@ -1899,13 +1900,13 @@ module.cmds = {
},
{
command='onoremap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='onoremenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
@@ -1917,37 +1918,37 @@ module.cmds = {
},
{
command='ounmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_unmap',
},
{
command='ounmenu',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_menu',
},
{
command='ownsyntax',
- flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_ownsyntax',
},
{
command='print',
- flags=bit.bor(RANGE, WHOLEFOLD, COUNT, FLAGS, TRLBAR, CMDWIN, SBOXOK),
+ flags=bit.bor(RANGE, WHOLEFOLD, COUNT, FLAGS, TRLBAR, CMDWIN, LOCK_OK, SBOXOK),
addr_type='ADDR_LINES',
func='ex_print',
},
{
command='packadd',
- flags=bit.bor(BANG, FILE1, NEEDARG, TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(BANG, FILE1, NEEDARG, TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_packadd',
},
{
command='packloadall',
- flags=bit.bor(BANG, TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(BANG, TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_packloadall',
},
@@ -1959,19 +1960,19 @@ module.cmds = {
},
{
command='perl',
- flags=bit.bor(RANGE, EXTRA, DFLALL, NEEDARG, SBOXOK, CMDWIN),
+ flags=bit.bor(RANGE, EXTRA, DFLALL, NEEDARG, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_perl',
},
{
command='perldo',
- flags=bit.bor(RANGE, EXTRA, DFLALL, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, EXTRA, DFLALL, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_perldo',
},
{
command='perlfile',
- flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_perlfile',
},
@@ -1989,7 +1990,7 @@ module.cmds = {
},
{
command='popup',
- flags=bit.bor(NEEDARG, EXTRA, BANG, TRLBAR, NOTRLCOM, CMDWIN),
+ flags=bit.bor(NEEDARG, EXTRA, BANG, TRLBAR, NOTRLCOM, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_popup',
},
@@ -2013,13 +2014,13 @@ module.cmds = {
},
{
command='profile',
- flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_profile',
},
{
command='profdel',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_breakdel',
},
@@ -2085,85 +2086,85 @@ module.cmds = {
},
{
command='put',
- flags=bit.bor(RANGE, WHOLEFOLD, BANG, REGSTR, TRLBAR, ZEROR, CMDWIN, MODIFY),
+ flags=bit.bor(RANGE, WHOLEFOLD, BANG, REGSTR, TRLBAR, ZEROR, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_put',
},
{
command='pwd',
- flags=bit.bor(TRLBAR, CMDWIN),
+ flags=bit.bor(TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_pwd',
},
{
command='python',
- flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_python3',
},
{
command='pydo',
- flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_pydo3',
},
{
command='pyfile',
- flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_py3file',
},
{
command='py3',
- flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_python3',
},
{
command='py3do',
- flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_pydo3',
},
{
command='python3',
- flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_python3',
},
{
command='py3file',
- flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_py3file',
},
{
command='pyx',
- flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_python3',
},
{
command='pyxdo',
- flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_pydo3',
},
{
command='pythonx',
- flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_python3',
},
{
command='pyxfile',
- flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_py3file',
},
{
command='quit',
- flags=bit.bor(BANG, RANGE, COUNT, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, RANGE, COUNT, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_WINDOWS',
func='ex_quit',
},
@@ -2175,13 +2176,13 @@ module.cmds = {
},
{
command='qall',
- flags=bit.bor(BANG, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_quit_all',
},
{
command='read',
- flags=bit.bor(BANG, RANGE, WHOLEFOLD, FILE1, ARGOPT, TRLBAR, ZEROR, CMDWIN, MODIFY),
+ flags=bit.bor(BANG, RANGE, WHOLEFOLD, FILE1, ARGOPT, TRLBAR, ZEROR, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_read',
},
@@ -2193,55 +2194,55 @@ module.cmds = {
},
{
command='redo',
- flags=bit.bor(TRLBAR, CMDWIN),
+ flags=bit.bor(TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_redo',
},
{
command='redir',
- flags=bit.bor(BANG, FILES, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILES, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_redir',
},
{
command='redraw',
- flags=bit.bor(BANG, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_redraw',
},
{
command='redrawstatus',
- flags=bit.bor(BANG, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_redrawstatus',
},
{
command='redrawtabline',
- flags=bit.bor(TRLBAR, CMDWIN),
+ flags=bit.bor(TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_redrawtabline',
},
{
command='registers',
- flags=bit.bor(EXTRA, NOTRLCOM, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_display',
},
{
command='resize',
- flags=bit.bor(RANGE, TRLBAR, WORD1, CMDWIN),
+ flags=bit.bor(RANGE, TRLBAR, WORD1, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_resize',
},
{
command='retab',
- flags=bit.bor(TRLBAR, RANGE, WHOLEFOLD, DFLALL, BANG, WORD1, CMDWIN, MODIFY),
+ flags=bit.bor(TRLBAR, RANGE, WHOLEFOLD, DFLALL, BANG, WORD1, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_retab',
},
{
command='return',
- flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_return',
},
@@ -2253,7 +2254,7 @@ module.cmds = {
},
{
command='right',
- flags=bit.bor(TRLBAR, RANGE, WHOLEFOLD, EXTRA, CMDWIN, MODIFY),
+ flags=bit.bor(TRLBAR, RANGE, WHOLEFOLD, EXTRA, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_align',
},
@@ -2265,13 +2266,13 @@ module.cmds = {
},
{
command='rshada',
- flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_shada',
},
{
command='runtime',
- flags=bit.bor(BANG, NEEDARG, FILES, TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(BANG, NEEDARG, FILES, TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_runtime',
},
@@ -2283,31 +2284,31 @@ module.cmds = {
},
{
command='ruby',
- flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_ruby',
},
{
command='rubydo',
- flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_rubydo',
},
{
command='rubyfile',
- flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN),
+ flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_rubyfile',
},
{
command='rviminfo',
- flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_shada',
},
{
command='substitute',
- flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, CMDWIN, PREVIEW),
+ flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, CMDWIN, LOCK_OK, PREVIEW),
addr_type='ADDR_LINES',
func='ex_substitute',
preview_func='ex_substitute_preview',
@@ -2338,7 +2339,7 @@ module.cmds = {
},
{
command='saveas',
- flags=bit.bor(BANG, FILE1, ARGOPT, CMDWIN, TRLBAR),
+ flags=bit.bor(BANG, FILE1, ARGOPT, CMDWIN, LOCK_OK, TRLBAR),
addr_type='ADDR_NONE',
func='ex_write',
},
@@ -2398,13 +2399,13 @@ module.cmds = {
},
{
command='scriptnames',
- flags=bit.bor(BANG, RANGE, COUNT, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, RANGE, COUNT, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_scriptnames',
},
{
command='scriptencoding',
- flags=bit.bor(WORD1, TRLBAR, CMDWIN),
+ flags=bit.bor(WORD1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_scriptencoding',
},
@@ -2416,25 +2417,25 @@ module.cmds = {
},
{
command='set',
- flags=bit.bor(BANG, TRLBAR, EXTRA, CMDWIN, SBOXOK),
+ flags=bit.bor(BANG, TRLBAR, EXTRA, CMDWIN, LOCK_OK, SBOXOK),
addr_type='ADDR_NONE',
func='ex_set',
},
{
command='setfiletype',
- flags=bit.bor(TRLBAR, EXTRA, NEEDARG, CMDWIN),
+ flags=bit.bor(TRLBAR, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_setfiletype',
},
{
command='setglobal',
- flags=bit.bor(BANG, TRLBAR, EXTRA, CMDWIN, SBOXOK),
+ flags=bit.bor(BANG, TRLBAR, EXTRA, CMDWIN, LOCK_OK, SBOXOK),
addr_type='ADDR_NONE',
func='ex_set',
},
{
command='setlocal',
- flags=bit.bor(BANG, TRLBAR, EXTRA, CMDWIN, SBOXOK),
+ flags=bit.bor(BANG, TRLBAR, EXTRA, CMDWIN, LOCK_OK, SBOXOK),
addr_type='ADDR_NONE',
func='ex_set',
},
@@ -2452,25 +2453,25 @@ module.cmds = {
},
{
command='simalt',
- flags=bit.bor(NEEDARG, WORD1, TRLBAR, CMDWIN),
+ flags=bit.bor(NEEDARG, WORD1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_ni',
},
{
command='sign',
- flags=bit.bor(NEEDARG, RANGE, EXTRA, CMDWIN),
+ flags=bit.bor(NEEDARG, RANGE, EXTRA, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_sign',
},
{
command='silent',
- flags=bit.bor(NEEDARG, EXTRA, BANG, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(NEEDARG, EXTRA, BANG, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_wrongmodifier',
},
{
command='sleep',
- flags=bit.bor(BANG, RANGE, COUNT, EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, RANGE, COUNT, EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_sleep',
},
@@ -2482,26 +2483,26 @@ module.cmds = {
},
{
command='smagic',
- flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, CMDWIN, PREVIEW),
+ flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, CMDWIN, LOCK_OK, PREVIEW),
addr_type='ADDR_LINES',
func='ex_submagic',
preview_func='ex_submagic_preview',
},
{
command='smap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='smapclear',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_mapclear',
},
{
command='smenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
@@ -2513,26 +2514,26 @@ module.cmds = {
},
{
command='snomagic',
- flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, CMDWIN, PREVIEW),
+ flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, CMDWIN, LOCK_OK, PREVIEW),
addr_type='ADDR_LINES',
func='ex_submagic',
preview_func='ex_submagic_preview',
},
{
command='snoremap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='snoremenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='source',
- flags=bit.bor(RANGE, DFLALL, WHOLEFOLD, BANG, FILE1, TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(RANGE, DFLALL, WHOLEFOLD, BANG, FILE1, TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_source',
},
@@ -2604,7 +2605,7 @@ module.cmds = {
},
{
command='stop',
- flags=bit.bor(TRLBAR, BANG, CMDWIN),
+ flags=bit.bor(TRLBAR, BANG, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_stop',
},
@@ -2616,25 +2617,25 @@ module.cmds = {
},
{
command='startinsert',
- flags=bit.bor(BANG, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_startinsert',
},
{
command='startgreplace',
- flags=bit.bor(BANG, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_startinsert',
},
{
command='startreplace',
- flags=bit.bor(BANG, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_startinsert',
},
{
command='stopinsert',
- flags=bit.bor(BANG, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_stopinsert',
},
@@ -2658,19 +2659,19 @@ module.cmds = {
},
{
command='sunmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_unmap',
},
{
command='sunmenu',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_menu',
},
{
command='suspend',
- flags=bit.bor(TRLBAR, BANG, CMDWIN),
+ flags=bit.bor(TRLBAR, BANG, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_stop',
},
@@ -2682,19 +2683,19 @@ module.cmds = {
},
{
command='swapname',
- flags=bit.bor(TRLBAR, CMDWIN),
+ flags=bit.bor(TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_swapname',
},
{
command='syntax',
- flags=bit.bor(EXTRA, NOTRLCOM, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_syntax',
},
{
command='syntime',
- flags=bit.bor(NEEDARG, WORD1, TRLBAR, CMDWIN),
+ flags=bit.bor(NEEDARG, WORD1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_syntime',
},
@@ -2706,19 +2707,19 @@ module.cmds = {
},
{
command='t',
- flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, TRLBAR, CMDWIN, MODIFY),
+ flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, TRLBAR, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_copymove',
},
{
command='tcd',
- flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_cd',
},
{
command='tchdir',
- flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_cd',
},
@@ -2736,7 +2737,7 @@ module.cmds = {
},
{
command='tags',
- flags=bit.bor(TRLBAR, CMDWIN),
+ flags=bit.bor(TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='do_tags',
},
@@ -2748,7 +2749,7 @@ module.cmds = {
},
{
command='tabclose',
- flags=bit.bor(BANG, RANGE, ZEROR, EXTRA, NOSPC, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, RANGE, ZEROR, EXTRA, NOSPC, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_TABS',
func='ex_tabclose',
},
@@ -2802,7 +2803,7 @@ module.cmds = {
},
{
command='tabonly',
- flags=bit.bor(BANG, RANGE, ZEROR, EXTRA, NOSPC, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, RANGE, ZEROR, EXTRA, NOSPC, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_TABS',
func='ex_tabonly',
},
@@ -2826,31 +2827,31 @@ module.cmds = {
},
{
command='tabs',
- flags=bit.bor(TRLBAR, CMDWIN),
+ flags=bit.bor(TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_tabs',
},
{
command='tcl',
- flags=bit.bor(RANGE,EXTRA,NEEDARG,CMDWIN),
+ flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_script_ni',
},
{
command='tcldo',
- flags=bit.bor(RANGE,DFLALL,EXTRA,NEEDARG,CMDWIN),
+ flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_ni',
},
{
command='tclfile',
- flags=bit.bor(RANGE,FILE1,NEEDARG,CMDWIN),
+ flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_ni',
},
{
command='terminal',
- flags=bit.bor(BANG, FILES, CMDWIN),
+ flags=bit.bor(BANG, FILES, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_terminal',
},
@@ -2862,7 +2863,7 @@ module.cmds = {
},
{
command='throw',
- flags=bit.bor(EXTRA, NEEDARG, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NEEDARG, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_throw',
},
@@ -2880,37 +2881,37 @@ module.cmds = {
},
{
command='tlmenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='tlnoremenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='tlunmenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='tmenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='tmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='tmapclear',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_mapclear',
},
@@ -2922,7 +2923,7 @@ module.cmds = {
},
{
command='tnoremap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
@@ -2946,7 +2947,7 @@ module.cmds = {
},
{
command='try',
- flags=bit.bor(TRLBAR, SBOXOK, CMDWIN),
+ flags=bit.bor(TRLBAR, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_try',
},
@@ -2958,37 +2959,37 @@ module.cmds = {
},
{
command='tunmenu',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_menu',
},
{
command='tunmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_unmap',
},
{
command='undo',
- flags=bit.bor(BANG, RANGE, COUNT, ZEROR, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, RANGE, COUNT, ZEROR, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_undo',
},
{
command='undojoin',
- flags=bit.bor(TRLBAR, CMDWIN),
+ flags=bit.bor(TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_undojoin',
},
{
command='undolist',
- flags=bit.bor(TRLBAR, CMDWIN),
+ flags=bit.bor(TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_undolist',
},
{
command='unabbreviate',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_abbreviate',
},
@@ -3000,31 +3001,31 @@ module.cmds = {
},
{
command='unlet',
- flags=bit.bor(BANG, EXTRA, NEEDARG, SBOXOK, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, NEEDARG, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_unlet',
},
{
command='unlockvar',
- flags=bit.bor(BANG, EXTRA, NEEDARG, SBOXOK, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, NEEDARG, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_lockvar',
},
{
command='unmap',
- flags=bit.bor(BANG, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_unmap',
},
{
command='unmenu',
- flags=bit.bor(BANG, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(BANG, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_menu',
},
{
command='unsilent',
- flags=bit.bor(NEEDARG, EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(NEEDARG, EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_wrongmodifier',
},
@@ -3036,19 +3037,19 @@ module.cmds = {
},
{
command='vglobal',
- flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, DFLALL, CMDWIN),
+ flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, DFLALL, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_global',
},
{
command='version',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_version',
},
{
command='verbose',
- flags=bit.bor(NEEDARG, RANGE, EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(NEEDARG, RANGE, EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_wrongmodifier',
},
@@ -3072,13 +3073,13 @@ module.cmds = {
},
{
command='vimgrep',
- flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE),
+ flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_vimgrep',
},
{
command='vimgrepadd',
- flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE),
+ flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_vimgrep',
},
@@ -3090,25 +3091,25 @@ module.cmds = {
},
{
command='vmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='vmapclear',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_mapclear',
},
{
command='vmenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='vnoremap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
@@ -3120,7 +3121,7 @@ module.cmds = {
},
{
command='vnoremenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
@@ -3132,19 +3133,19 @@ module.cmds = {
},
{
command='vunmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_unmap',
},
{
command='vunmenu',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_menu',
},
{
command='write',
- flags=bit.bor(RANGE, WHOLEFOLD, BANG, FILE1, ARGOPT, DFLALL, TRLBAR, CMDWIN),
+ flags=bit.bor(RANGE, WHOLEFOLD, BANG, FILE1, ARGOPT, DFLALL, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_write',
},
@@ -3156,13 +3157,13 @@ module.cmds = {
},
{
command='wall',
- flags=bit.bor(BANG, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='do_wqall',
},
{
command='while',
- flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN),
+ flags=bit.bor(EXTRA, NOTRLCOM, SBOXOK, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_while',
},
@@ -3174,7 +3175,7 @@ module.cmds = {
},
{
command='wincmd',
- flags=bit.bor(NEEDARG, WORD1, RANGE, CMDWIN),
+ flags=bit.bor(NEEDARG, WORD1, RANGE, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_wincmd',
},
@@ -3186,7 +3187,7 @@ module.cmds = {
},
{
command='winpos',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_ni',
},
@@ -3216,7 +3217,7 @@ module.cmds = {
},
{
command='wshada',
- flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_shada',
},
@@ -3228,13 +3229,13 @@ module.cmds = {
},
{
command='wviminfo',
- flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),
+ flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_shada',
},
{
command='xit',
- flags=bit.bor(RANGE, WHOLEFOLD, BANG, FILE1, ARGOPT, DFLALL, TRLBAR, CMDWIN),
+ flags=bit.bor(RANGE, WHOLEFOLD, BANG, FILE1, ARGOPT, DFLALL, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_exit',
},
@@ -3246,55 +3247,55 @@ module.cmds = {
},
{
command='xmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='xmapclear',
- flags=bit.bor(EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_mapclear',
},
{
command='xmenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='xnoremap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_map',
},
{
command='xnoremenu',
- flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(RANGE, ZEROR, EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_menu',
},
{
command='xunmap',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_unmap',
},
{
command='xunmenu',
- flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN),
+ flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, CTRLV, CMDWIN, LOCK_OK),
addr_type='ADDR_NONE',
func='ex_menu',
},
{
command='yank',
- flags=bit.bor(RANGE, WHOLEFOLD, REGSTR, COUNT, TRLBAR, CMDWIN),
+ flags=bit.bor(RANGE, WHOLEFOLD, REGSTR, COUNT, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_operators',
},
{
command='z',
- flags=bit.bor(RANGE, WHOLEFOLD, BANG, EXTRA, FLAGS, TRLBAR, CMDWIN),
+ flags=bit.bor(RANGE, WHOLEFOLD, BANG, EXTRA, FLAGS, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_z',
},
@@ -3302,56 +3303,56 @@ module.cmds = {
{
command='!',
enum='CMD_bang',
- flags=bit.bor(RANGE, WHOLEFOLD, BANG, FILES, CMDWIN),
+ flags=bit.bor(RANGE, WHOLEFOLD, BANG, FILES, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_bang',
},
{
command='#',
enum='CMD_pound',
- flags=bit.bor(RANGE, WHOLEFOLD, COUNT, FLAGS, TRLBAR, CMDWIN),
+ flags=bit.bor(RANGE, WHOLEFOLD, COUNT, FLAGS, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_print',
},
{
command='&',
enum='CMD_and',
- flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, CMDWIN, MODIFY),
+ flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_substitute',
},
{
command='<',
enum='CMD_lshift',
- flags=bit.bor(RANGE, WHOLEFOLD, COUNT, FLAGS, TRLBAR, CMDWIN, MODIFY),
+ flags=bit.bor(RANGE, WHOLEFOLD, COUNT, FLAGS, TRLBAR, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_operators',
},
{
command='=',
enum='CMD_equal',
- flags=bit.bor(RANGE, TRLBAR, DFLALL, FLAGS, CMDWIN),
+ flags=bit.bor(RANGE, TRLBAR, DFLALL, FLAGS, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_equal',
},
{
command='>',
enum='CMD_rshift',
- flags=bit.bor(RANGE, WHOLEFOLD, COUNT, FLAGS, TRLBAR, CMDWIN, MODIFY),
+ flags=bit.bor(RANGE, WHOLEFOLD, COUNT, FLAGS, TRLBAR, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_operators',
},
{
command='@',
enum='CMD_at',
- flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, TRLBAR, CMDWIN),
+ flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, TRLBAR, CMDWIN, LOCK_OK),
addr_type='ADDR_LINES',
func='ex_at',
},
{
command='~',
enum='CMD_tilde',
- flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, CMDWIN, MODIFY),
+ flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, CMDWIN, LOCK_OK, MODIFY),
addr_type='ADDR_LINES',
func='ex_substitute',
},
diff --git a/src/nvim/ex_cmds_defs.h b/src/nvim/ex_cmds_defs.h
index 6798f7693b..052926fa1f 100644
--- a/src/nvim/ex_cmds_defs.h
+++ b/src/nvim/ex_cmds_defs.h
@@ -57,11 +57,12 @@
#define EX_BUFUNL 0x10000 // accepts unlisted buffer too
#define EX_ARGOPT 0x20000 // allow "++opt=val" argument
#define EX_SBOXOK 0x40000 // allowed in the sandbox
-#define EX_CMDWIN 0x80000 // allowed in cmdline window; when missing
- // disallows editing another buffer when
- // current buffer is locked
+#define EX_CMDWIN 0x80000 // allowed in cmdline window
#define EX_MODIFY 0x100000 // forbidden in non-'modifiable' buffer
#define EX_FLAGS 0x200000 // allow flags after count in argument
+#define EX_LOCK_OK 0x1000000 // command can be executed when textlock is
+ // set; when missing disallows editing another
+ // buffer when current buffer is locked
#define EX_KEEPSCRIPT 0x4000000 // keep sctx of where command was invoked
#define EX_PREVIEW 0x8000000 // allow incremental command preview
#define EX_FILES (EX_XFILE | EX_EXTRA) // multiple extra files allowed
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index c5f393e2ce..c4d2821e79 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -1590,9 +1590,15 @@ int execute_cmd(exarg_T *eap, CmdParseInfo *cmdinfo, bool preview)
&& !(curbuf->terminal && eap->cmdidx == CMD_put)) {
ERROR(_(e_modifiable));
}
- if (text_locked() && !(eap->argt & EX_CMDWIN)
- && !IS_USER_CMDIDX(eap->cmdidx)) {
- ERROR(_(get_text_locked_msg()));
+ if (!IS_USER_CMDIDX(eap->cmdidx)) {
+ if (cmdwin_type != 0 && !(eap->argt & EX_CMDWIN)) {
+ // Command not allowed in the command line window
+ ERROR(_(e_cmdwin));
+ }
+ if (text_locked() && !(eap->argt & EX_LOCK_OK)) {
+ // Command not allowed when text is locked
+ ERROR(_(get_text_locked_msg()));
+ }
}
// Disallow editing another buffer when "curbuf->b_ro_locked" is set.
// Do allow ":checktime" (it is postponed).
@@ -1967,11 +1973,17 @@ static char *do_one_cmd(char **cmdlinep, int flags, cstack_T *cstack, LineGetter
goto doend;
}
- if (text_locked() && !(ea.argt & EX_CMDWIN)
- && !IS_USER_CMDIDX(ea.cmdidx)) {
- // Command not allowed when editing the command line.
- errormsg = _(get_text_locked_msg());
- goto doend;
+ if (!IS_USER_CMDIDX(ea.cmdidx)) {
+ if (cmdwin_type != 0 && !(ea.argt & EX_CMDWIN)) {
+ // Command not allowed in the command line window
+ errormsg = _(e_cmdwin);
+ goto doend;
+ }
+ if (text_locked() && !(ea.argt & EX_LOCK_OK)) {
+ // Command not allowed when text is locked
+ errormsg = _(get_text_locked_msg());
+ goto doend;
+ }
}
// Disallow editing another buffer when "curbuf->b_ro_locked" is set.
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c
index 92c9d83045..4c26cfe500 100644
--- a/src/nvim/ex_getln.c
+++ b/src/nvim/ex_getln.c
@@ -2696,14 +2696,12 @@ char_u *get_cmdprompt(void)
return ccline.cmdprompt;
}
-/*
- * Return TRUE when the text must not be changed and we can't switch to
- * another window or buffer. Used when editing the command line etc.
- */
-int text_locked(void)
+/// Return true when the text must not be changed and we can't switch to
+/// another window or buffer. True when editing the command line etc.
+bool text_locked(void)
{
if (cmdwin_type != 0) {
- return TRUE;
+ return true;
}
return textlock != 0;
}
diff --git a/src/nvim/testdir/check.vim b/src/nvim/testdir/check.vim
index 8f97d959ce..4107df99d6 100644
--- a/src/nvim/testdir/check.vim
+++ b/src/nvim/testdir/check.vim
@@ -55,6 +55,14 @@ func CheckMSWindows()
endif
endfunc
+" Command to check for NOT running on MS-Windows
+command CheckNotMSWindows call CheckNotMSWindows()
+func CheckNotMSWindows()
+ if has('win32')
+ throw 'Skipped: does not work on MS-Windows'
+ endif
+endfunc
+
" Command to check for running on Unix
command CheckUnix call CheckUnix()
func CheckUnix()
@@ -129,14 +137,6 @@ func CheckEnglish()
endif
endfunc
-" Command to check for NOT running on MS-Windows
-command CheckNotMSWindows call CheckNotMSWindows()
-func CheckNotMSWindows()
- if has('win32')
- throw 'Skipped: does not work on MS-Windows'
- endif
-endfunc
-
" Command to check for not running under ASAN
command CheckNotAsan call CheckNotAsan()
func CheckNotAsan()
diff --git a/src/nvim/testdir/test_edit.vim b/src/nvim/testdir/test_edit.vim
index 69a34a1c51..42c77518e4 100644
--- a/src/nvim/testdir/test_edit.vim
+++ b/src/nvim/testdir/test_edit.vim
@@ -349,8 +349,8 @@ func Test_edit_11_indentexpr()
bw!
endfunc
+" Test changing indent in replace mode
func Test_edit_12()
- " Test changing indent in replace mode
new
call setline(1, ["\tabc", "\tdef"])
call cursor(2, 4)
@@ -389,15 +389,15 @@ func Test_edit_12()
call feedkeys("R\<c-t>\<c-t>", 'tnix')
call assert_equal(["\tabc", "\t\t\tdef"], getline(1, '$'))
call assert_equal([0, 2, 2, 0], getpos('.'))
- set et
- set sw& et&
+ set sw&
+
+ " In replace mode, after hitting enter in a line with tab characters,
+ " pressing backspace should restore the tab characters.
%d
- call setline(1, ["\t/*"])
- set formatoptions=croql
- call cursor(1, 3)
- call feedkeys("A\<cr>\<cr>/", 'tnix')
- call assert_equal(["\t/*", " *", " */"], getline(1, '$'))
- set formatoptions&
+ setlocal autoindent backspace=2
+ call setline(1, "\tone\t\ttwo")
+ exe "normal ggRred\<CR>six" .. repeat("\<BS>", 8)
+ call assert_equal(["\tone\t\ttwo"], getline(1, '$'))
bw!
endfunc
diff --git a/src/nvim/testdir/test_ex_mode.vim b/src/nvim/testdir/test_ex_mode.vim
index b478332c79..122572f32a 100644
--- a/src/nvim/testdir/test_ex_mode.vim
+++ b/src/nvim/testdir/test_ex_mode.vim
@@ -191,6 +191,9 @@ func Test_ex_mode_errors()
endfunc
func Test_ex_mode_count_overflow()
+ " The multiplication causes an integer overflow
+ CheckNotAsan
+
" this used to cause a crash
let lines =<< trim END
call feedkeys("\<Esc>gQ\<CR>")
diff --git a/src/nvim/testdir/test_ins_complete.vim b/src/nvim/testdir/test_ins_complete.vim
index 4b444d15d8..93ab17955d 100644
--- a/src/nvim/testdir/test_ins_complete.vim
+++ b/src/nvim/testdir/test_ins_complete.vim
@@ -601,6 +601,87 @@ func Test_ins_compl_tag_sft()
%bwipe!
endfunc
+" Test for 'completefunc' deleting text
+func Test_completefunc_error()
+ new
+ " delete text when called for the first time
+ func CompleteFunc(findstart, base)
+ if a:findstart == 1
+ normal dd
+ return col('.') - 1
+ endif
+ return ['a', 'b']
+ endfunc
+ set completefunc=CompleteFunc
+ call setline(1, ['', 'abcd', ''])
+ call assert_fails('exe "normal 2G$a\<C-X>\<C-U>"', 'E565:')
+
+ " delete text when called for the second time
+ func CompleteFunc2(findstart, base)
+ if a:findstart == 1
+ return col('.') - 1
+ endif
+ normal dd
+ return ['a', 'b']
+ endfunc
+ set completefunc=CompleteFunc2
+ call setline(1, ['', 'abcd', ''])
+ call assert_fails('exe "normal 2G$a\<C-X>\<C-U>"', 'E565:')
+
+ " Jump to a different window from the complete function
+ func CompleteFunc3(findstart, base)
+ if a:findstart == 1
+ return col('.') - 1
+ endif
+ wincmd p
+ return ['a', 'b']
+ endfunc
+ set completefunc=CompleteFunc3
+ new
+ call assert_fails('exe "normal a\<C-X>\<C-U>"', 'E565:')
+ close!
+
+ set completefunc&
+ delfunc CompleteFunc
+ delfunc CompleteFunc2
+ delfunc CompleteFunc3
+ close!
+endfunc
+
+" Test for returning non-string values from 'completefunc'
+func Test_completefunc_invalid_data()
+ new
+ func! CompleteFunc(findstart, base)
+ if a:findstart == 1
+ return col('.') - 1
+ endif
+ return [{}, '', 'moon']
+ endfunc
+ set completefunc=CompleteFunc
+ exe "normal i\<C-X>\<C-U>"
+ call assert_equal('moon', getline(1))
+ set completefunc&
+ close!
+endfunc
+
+" Test for errors in using complete() function
+func Test_complete_func_error()
+ call assert_fails('call complete(1, ["a"])', 'E785:')
+ func ListColors()
+ call complete(col('.'), "blue")
+ endfunc
+ call assert_fails('exe "normal i\<C-R>=ListColors()\<CR>"', 'E474:')
+ func ListMonths()
+ call complete(col('.'), test_null_list())
+ endfunc
+ " Nvim allows a NULL list
+ " call assert_fails('exe "normal i\<C-R>=ListMonths()\<CR>"', 'E474:')
+ delfunc ListColors
+ delfunc ListMonths
+ call assert_fails('call complete_info({})', 'E714:')
+ call assert_equal([], complete_info(['items']).items)
+endfunc
+
" Test for completing words following a completed word in a line
func Test_complete_wrapscan()
" complete words from another buffer
diff --git a/src/nvim/testdir/test_popup.vim b/src/nvim/testdir/test_popup.vim
index 7afa31a6d1..a5e4be49f4 100644
--- a/src/nvim/testdir/test_popup.vim
+++ b/src/nvim/testdir/test_popup.vim
@@ -382,11 +382,11 @@ func Test_completefunc_opens_new_window_two()
setlocal completefunc=DummyCompleteTwo
call setline(1, 'two')
/^two
- call assert_fails('call feedkeys("A\<C-X>\<C-U>\<C-N>\<Esc>", "x")', 'E764:')
- call assert_notequal(winid, win_getid())
- q!
+ call assert_fails('call feedkeys("A\<C-X>\<C-U>\<C-N>\<Esc>", "x")', 'E565:')
call assert_equal(winid, win_getid())
- call assert_equal('two', getline(1))
+ " v8.2.1919 hasn't been ported yet
+ " call assert_equal('twodef', getline(1))
+ call assert_equal('twoDEF', getline(1))
q!
endfunc
@@ -655,8 +655,8 @@ func Test_complete_func_mess()
set completefunc=MessComplete
new
call setline(1, 'Ju')
- call feedkeys("A\<c-x>\<c-u>/\<esc>", 'tx')
- call assert_equal('Oct/Oct', getline(1))
+ call assert_fails('call feedkeys("A\<c-x>\<c-u>/\<esc>", "tx")', 'E565:')
+ call assert_equal('Jan/', getline(1))
bwipe!
set completefunc=
endfunc
diff --git a/src/nvim/testdir/test_quickfix.vim b/src/nvim/testdir/test_quickfix.vim
index af70b37163..ddd4229f17 100644
--- a/src/nvim/testdir/test_quickfix.vim
+++ b/src/nvim/testdir/test_quickfix.vim
@@ -3124,20 +3124,80 @@ func Test_file_from_copen()
endfunc
func Test_resize_from_copen()
+ augroup QF_Test
+ au!
+ au FileType qf resize 5
+ augroup END
+ try
+ " This should succeed without any exception. No other buffers are
+ " involved in the autocmd.
+ copen
+ finally
augroup QF_Test
- au!
- au FileType qf resize 5
+ au!
augroup END
- try
- " This should succeed without any exception. No other buffers are
- " involved in the autocmd.
- copen
- finally
- augroup QF_Test
- au!
- augroup END
- augroup! QF_Test
- endtry
+ augroup! QF_Test
+ endtry
+endfunc
+
+func Test_vimgrep_with_textlock()
+ new
+
+ " Simple way to execute something with "textlock" set.
+ " Check that vimgrep without jumping can be executed.
+ au InsertCharPre * vimgrep /RunTheTest/j runtest.vim
+ normal ax
+ let qflist = getqflist()
+ call assert_true(len(qflist) > 0)
+ call assert_match('RunTheTest', qflist[0].text)
+ call setqflist([], 'r')
+ au! InsertCharPre
+
+ " Check that vimgrepadd without jumping can be executed.
+ au InsertCharPre * vimgrepadd /RunTheTest/j runtest.vim
+ normal ax
+ let qflist = getqflist()
+ call assert_true(len(qflist) > 0)
+ call assert_match('RunTheTest', qflist[0].text)
+ call setqflist([], 'r')
+ au! InsertCharPre
+
+ " Check that lvimgrep without jumping can be executed.
+ au InsertCharPre * lvimgrep /RunTheTest/j runtest.vim
+ normal ax
+ let qflist = getloclist(0)
+ call assert_true(len(qflist) > 0)
+ call assert_match('RunTheTest', qflist[0].text)
+ call setloclist(0, [], 'r')
+ au! InsertCharPre
+
+ " Check that lvimgrepadd without jumping can be executed.
+ au InsertCharPre * lvimgrepadd /RunTheTest/j runtest.vim
+ normal ax
+ let qflist = getloclist(0)
+ call assert_true(len(qflist) > 0)
+ call assert_match('RunTheTest', qflist[0].text)
+ call setloclist(0, [], 'r')
+ au! InsertCharPre
+
+ " trying to jump will give an error
+ au InsertCharPre * vimgrep /RunTheTest/ runtest.vim
+ call assert_fails('normal ax', 'E565:')
+ au! InsertCharPre
+
+ au InsertCharPre * vimgrepadd /RunTheTest/ runtest.vim
+ call assert_fails('normal ax', 'E565:')
+ au! InsertCharPre
+
+ au InsertCharPre * lvimgrep /RunTheTest/ runtest.vim
+ call assert_fails('normal ax', 'E565:')
+ au! InsertCharPre
+
+ au InsertCharPre * lvimgrepadd /RunTheTest/ runtest.vim
+ call assert_fails('normal ax', 'E565:')
+ au! InsertCharPre
+
+ bwipe!
endfunc
" Tests for the quickfix buffer b:changedtick variable
diff --git a/src/nvim/testdir/test_textformat.vim b/src/nvim/testdir/test_textformat.vim
index 35a7887761..970f5ae0d0 100644
--- a/src/nvim/testdir/test_textformat.vim
+++ b/src/nvim/testdir/test_textformat.vim
@@ -1161,6 +1161,30 @@ func Test_whichwrap_multi_byte()
bwipe!
endfunc
+" Test for automatically adding comment leaders in insert mode
+func Test_threepiece_comment()
+ new
+ setlocal expandtab
+ call setline(1, ["\t/*"])
+ setlocal formatoptions=croql
+ call cursor(1, 3)
+ call feedkeys("A\<cr>\<cr>/", 'tnix')
+ call assert_equal(["\t/*", " *", " */"], getline(1, '$'))
+
+ " If a comment ends in a single line, then don't add it in the next line
+ %d
+ call setline(1, '/* line1 */')
+ call feedkeys("A\<CR>next line", 'xt')
+ call assert_equal(['/* line1 */', 'next line'], getline(1, '$'))
+
+ %d
+ " Copy the trailing indentation from the leader comment to a new line
+ setlocal autoindent noexpandtab
+ call feedkeys("a\t/*\tone\ntwo\n/", 'xt')
+ call assert_equal(["\t/*\tone", "\t *\ttwo", "\t */"], getline(1, '$'))
+ close!
+endfunc
+
" Test for the 'f' flag in 'comments' (only the first line has the comment
" string)
func Test_firstline_comment()