summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-05-01 18:08:42 +0200
committerBram Moolenaar <Bram@vim.org>2019-05-01 18:08:42 +0200
commitb731689e85b4153af7edc8f0a6b9f99d36d8b011 (patch)
tree368b1e876335c781e6653e36faa1e1ac17e2f924
parentd96dbd6f95ea22f609042cc9c6272f14a21ff1a5 (diff)
downloadvim-git-b731689e85b4153af7edc8f0a6b9f99d36d8b011.tar.gz
patch 8.1.1241: Ex command info contains confusing informationv8.1.1241
Problem: Ex command info contains confusing information. Solution: When using the NOTADR flag use ADDR_OTHER for the address type. Cleanup code using NOTADR. Check for errors in create_cmdidxs.vim. Adjust Makefile to see the errors.
-rw-r--r--src/Makefile2
-rw-r--r--src/create_cmdidxs.vim27
-rw-r--r--src/ex_cmds.c7
-rw-r--r--src/ex_cmds.h1290
-rw-r--r--src/ex_docmd.c54
-rw-r--r--src/testdir/test_usercommands.vim10
-rw-r--r--src/usercmd.c63
-rw-r--r--src/version.c2
-rw-r--r--src/window.c14
9 files changed, 769 insertions, 700 deletions
diff --git a/src/Makefile b/src/Makefile
index 19b59c290..65e798144 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1987,7 +1987,7 @@ autoconf:
# If this fails because you don't have Vim yet, first build and install Vim
# without changes.
cmdidxs: ex_cmds.h
- vim -u NONE -i NONE -X -S create_cmdidxs.vim
+ vim --clean -X -u create_cmdidxs.vim
# The normal command to compile a .c file to its .o file.
diff --git a/src/create_cmdidxs.vim b/src/create_cmdidxs.vim
index c306ccb87..1d73c5faa 100644
--- a/src/create_cmdidxs.vim
+++ b/src/create_cmdidxs.vim
@@ -10,7 +10,10 @@
let cmds = []
let skipped_cmds = 0
-for line in readfile('ex_cmds.h')
+let lines = readfile('ex_cmds.h')
+let idx = 0
+while idx < len(lines)
+ let line = lines[idx]
if line =~ '^EX(CMD_'
let m = matchlist(line, '^EX(CMD_\S*,\s*"\([a-z][^"]*\)"')
if len(m) >= 2
@@ -18,8 +21,28 @@ for line in readfile('ex_cmds.h')
else
let skipped_cmds += 1
endif
+
+ let idx += 1
+ let flags = lines[idx]
+ let idx += 1
+ let addr_type = lines[idx]
+
+ if flags =~ '\<RANGE\>'
+ if addr_type =~ 'ADDR_NONE'
+ echoerr 'ex_cmds.h:' .. (idx - 1) .. ': Using RANGE with ADDR_NONE: ' .. line
+ endif
+ else
+ if addr_type !~ 'ADDR_NONE'
+ echoerr 'ex_cmds.h:' .. (idx - 1) .. ': Missing ADDR_NONE: ' .. line
+ endif
+ endif
+
+ if flags =~ '\<DFLALL\>' && (addr_type =~ 'ADDR_OTHER' || addr_type =~ 'ADDR_NONE')
+ echoerr 'ex_cmds.h:' .. (idx - 1) .. ': Missing misplaced DFLALL: ' .. line
+ endif
endif
-endfor
+ let idx += 1
+endwhile
let cmdidxs1 = {}
let cmdidxs2 = {}
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 991dc458e..ebfcf5453 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -3157,6 +3157,13 @@ ex_update(exarg_T *eap)
void
ex_write(exarg_T *eap)
{
+ if (eap->cmdidx == CMD_saveas)
+ {
+ // :saveas does not take a range, uses all lines.
+ eap->line1 = 1;
+ eap->line2 = curbuf->b_ml.ml_line_count;
+ }
+
if (eap->usefilter) /* input lines to shell command */
do_bang(1, eap, FALSE, TRUE, FALSE);
else
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 27029baf0..63196afd3 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -28,50 +28,56 @@
*/
#ifdef RANGE
-# undef RANGE /* SASC on Amiga defines it */
+# undef RANGE // SASC on Amiga defines it
#endif
-#define RANGE 0x001 /* allow a linespecs */
-#define BANG 0x002 /* allow a ! after the command name */
-#define EXTRA 0x004 /* allow extra args after command name */
-#define XFILE 0x008 /* expand wildcards in extra part */
-#define NOSPC 0x010 /* no spaces allowed in the extra part */
-#define DFLALL 0x020 /* default file range is 1,$ */
-#define WHOLEFOLD 0x040 /* extend range to include whole fold also
- when less than two numbers given */
-#define NEEDARG 0x080 /* argument required */
-#define TRLBAR 0x100 /* check for trailing vertical bar */
-#define REGSTR 0x200 /* allow "x for register designation */
-#define COUNT 0x400 /* allow count in argument, after command */
-#define NOTRLCOM 0x800 /* no trailing comment allowed */
-#define ZEROR 0x1000 /* zero line number allowed */
-#define USECTRLV 0x2000 /* do not remove CTRL-V from argument */
-#define NOTADR 0x4000 /* number before command is not an address */
-#define EDITCMD 0x8000 /* allow "+command" argument */
-#define BUFNAME 0x10000L /* accepts buffer name */
-#define BUFUNL 0x20000L /* accepts unlisted buffer too */
-#define ARGOPT 0x40000L /* allow "++opt=val" argument */
-#define SBOXOK 0x80000L /* allowed in the sandbox */
-#define CMDWIN 0x100000L /* allowed in cmdline window; when missing
- * disallows editing another buffer when
- * curbuf_lock is set */
-#define MODIFY 0x200000L /* forbidden in non-'modifiable' buffer */
-#define EXFLAGS 0x400000L /* allow flags after count in argument */
-#define RESTRICT 0x800000L /* forbidden in restricted mode */
-#define FILES (XFILE | EXTRA) /* multiple extra files allowed */
-#define WORD1 (EXTRA | NOSPC) /* one extra word allowed */
-#define FILE1 (FILES | NOSPC) /* 1 file allowed, defaults to current file */
+#define RANGE 0x001 // allow a linespecs
+#define BANG 0x002 // allow a ! after the command name
+#define EXTRA 0x004 // allow extra args after command name
+#define XFILE 0x008 // expand wildcards in extra part
+#define NOSPC 0x010 // no spaces allowed in the extra part
+#define DFLALL 0x020 // default file range is 1,$
+#define WHOLEFOLD 0x040 // extend range to include whole fold also
+ // when less than two numbers given
+#define NEEDARG 0x080 // argument required
+#define TRLBAR 0x100 // check for trailing vertical bar
+#define REGSTR 0x200 // allow "x for register designation
+#define COUNT 0x400 // allow count in argument, after command
+#define NOTRLCOM 0x800 // no trailing comment allowed
+#define ZEROR 0x1000 // zero line number allowed
+#define USECTRLV 0x2000 // do not remove CTRL-V from argument
+#define EDITCMD 0x4000 // allow "+command" argument
+#define BUFNAME 0x8000 // accepts buffer name
+#define BUFUNL 0x10000L // accepts unlisted buffer too
+#define ARGOPT 0x20000L // allow "++opt=val" argument
+#define SBOXOK 0x40000L // allowed in the sandbox
+#define CMDWIN 0x80000L // allowed in cmdline window; when missing
+ // disallows editing another buffer when
+ // curbuf_lock is set
+#define MODIFY 0x100000L // forbidden in non-'modifiable' buffer
+#define EXFLAGS 0x200000L // allow flags after count in argument
+#define RESTRICT 0x400000L // forbidden in restricted mode
+#define FILES (XFILE | EXTRA) // multiple extra files allowed
+#define WORD1 (EXTRA | NOSPC) // one extra word allowed
+#define FILE1 (FILES | NOSPC) // 1 file allowed, defaults to current file
-/* values for cmd_addr_type */
-#define ADDR_LINES 0 // buffer line numbers
-#define ADDR_WINDOWS 1 // window number
-#define ADDR_ARGUMENTS 2 // argument number
-#define ADDR_LOADED_BUFFERS 3 // buffer number of loaded buffer
-#define ADDR_BUFFERS 4 // buffer number
-#define ADDR_TABS 5 // tab page number
-#define ADDR_TABS_RELATIVE 6 // Tab page that only relative
-#define ADDR_QUICKFIX 7 // quickfix list entry number
-#define ADDR_OTHER 99 // something else
+#ifndef DO_DECLARE_EXCMD
+/*
+ * values for cmd_addr_type
+ */
+typedef enum {
+ ADDR_LINES, // buffer line numbers
+ ADDR_WINDOWS, // window number
+ ADDR_ARGUMENTS, // argument number
+ ADDR_LOADED_BUFFERS, // buffer number of loaded buffer
+ ADDR_BUFFERS, // buffer number
+ ADDR_TABS, // tab page number
+ ADDR_TABS_RELATIVE, // Tab page that only relative
+ ADDR_QUICKFIX, // quickfix list entry number
+ ADDR_OTHER, // something else
+ ADDR_NONE // no range used
+} cmd_addr_T;
+#endif
#ifndef DO_DECLARE_EXCMD
typedef struct exarg exarg_T;
@@ -95,10 +101,10 @@ typedef void (*ex_func_T) (exarg_T *eap);
static struct cmdname
{
- char_u *cmd_name; /* name of the command */
- ex_func_T cmd_func; /* function for this command */
- long_u cmd_argt; /* flags declared above */
- int cmd_addr_type; /* flag for address type */
+ char_u *cmd_name; // name of the command
+ ex_func_T cmd_func; // function for this command
+ long_u cmd_argt; // flags declared above
+ cmd_addr_T cmd_addr_type; // flag for address type
} cmdnames[] =
#else
# define EX(a, b, c, d, e) a
@@ -110,355 +116,355 @@ EX(CMD_append, "append", ex_append,
ADDR_LINES),
EX(CMD_abbreviate, "abbreviate", ex_abbreviate,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_abclear, "abclear", ex_abclear,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_aboveleft, "aboveleft", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_all, "all", ex_all,
- BANG|RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ BANG|RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_amenu, "amenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_anoremenu, "anoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_args, "args", ex_args,
BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_argadd, "argadd", ex_argadd,
- BANG|RANGE|NOTADR|ZEROR|FILES|TRLBAR,
+ BANG|RANGE|ZEROR|FILES|TRLBAR,
ADDR_ARGUMENTS),
EX(CMD_argdelete, "argdelete", ex_argdelete,
- BANG|RANGE|NOTADR|FILES|TRLBAR,
+ BANG|RANGE|FILES|TRLBAR,
ADDR_ARGUMENTS),
EX(CMD_argdo, "argdo", ex_listdo,
- BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|NOTADR|DFLALL,
+ BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|DFLALL,
ADDR_ARGUMENTS),
EX(CMD_argedit, "argedit", ex_argedit,
- BANG|NEEDARG|RANGE|NOTADR|ZEROR|FILES|EDITCMD|ARGOPT|TRLBAR,
+ BANG|NEEDARG|RANGE|ZEROR|FILES|EDITCMD|ARGOPT|TRLBAR,
ADDR_ARGUMENTS),
EX(CMD_argglobal, "argglobal", ex_args,
BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_arglocal, "arglocal", ex_args,
BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_argument, "argument", ex_argument,
- BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR,
+ BANG|RANGE|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR,
ADDR_ARGUMENTS),
EX(CMD_ascii, "ascii", do_ascii,
TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_autocmd, "autocmd", ex_autocmd,
BANG|EXTRA|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_augroup, "augroup", ex_autocmd,
BANG|WORD1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_aunmenu, "aunmenu", ex_menu,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_buffer, "buffer", ex_buffer,
- BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|EDITCMD|TRLBAR,
+ BANG|RANGE|BUFNAME|BUFUNL|COUNT|EXTRA|EDITCMD|TRLBAR,
ADDR_BUFFERS),
EX(CMD_bNext, "bNext", ex_bprevious,
- BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
- ADDR_LINES),
+ BANG|RANGE|COUNT|EDITCMD|TRLBAR,
+ ADDR_OTHER),
EX(CMD_ball, "ball", ex_buffer_all,
- RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_badd, "badd", ex_edit,
NEEDARG|FILE1|EDITCMD|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_bdelete, "bdelete", ex_bunload,
- BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR,
+ BANG|RANGE|BUFNAME|COUNT|EXTRA|TRLBAR,
ADDR_BUFFERS),
EX(CMD_behave, "behave", ex_behave,
BANG|NEEDARG|WORD1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_belowright, "belowright", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_bfirst, "bfirst", ex_brewind,
- BANG|RANGE|NOTADR|EDITCMD|TRLBAR,
- ADDR_LINES),
+ BANG|RANGE|EDITCMD|TRLBAR,
+ ADDR_OTHER),
EX(CMD_blast, "blast", ex_blast,
- BANG|RANGE|NOTADR|EDITCMD|TRLBAR,
- ADDR_LINES),
+ BANG|RANGE|EDITCMD|TRLBAR,
+ ADDR_OTHER),
EX(CMD_bmodified, "bmodified", ex_bmodified,
- BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
- ADDR_LINES),
+ BANG|RANGE|COUNT|EDITCMD|TRLBAR,
+ ADDR_OTHER),
EX(CMD_bnext, "bnext", ex_bnext,
- BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
- ADDR_LINES),
+ BANG|RANGE|COUNT|EDITCMD|TRLBAR,
+ ADDR_OTHER),
EX(CMD_botright, "botright", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_bprevious, "bprevious", ex_bprevious,
- BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
- ADDR_LINES),
+ BANG|RANGE|COUNT|EDITCMD|TRLBAR,
+ ADDR_OTHER),
EX(CMD_brewind, "brewind", ex_brewind,
- BANG|RANGE|NOTADR|EDITCMD|TRLBAR,
- ADDR_LINES),
+ BANG|RANGE|EDITCMD|TRLBAR,
+ ADDR_OTHER),
EX(CMD_break, "break", ex_break,
TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_breakadd, "breakadd", ex_breakadd,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_breakdel, "breakdel", ex_breakdel,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_breaklist, "breaklist", ex_breaklist,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_browse, "browse", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_buffers, "buffers", buflist_list,
BANG|EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_bufdo, "bufdo", ex_listdo,
- BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|NOTADR|DFLALL,
+ BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|DFLALL,
ADDR_BUFFERS),
EX(CMD_bunload, "bunload", ex_bunload,
- BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR,
+ BANG|RANGE|BUFNAME|COUNT|EXTRA|TRLBAR,
ADDR_LOADED_BUFFERS),
EX(CMD_bwipeout, "bwipeout", ex_bunload,
- BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR,
+ BANG|RANGE|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR,
ADDR_BUFFERS),
EX(CMD_change, "change", ex_change,
BANG|WHOLEFOLD|RANGE|COUNT|TRLBAR|CMDWIN|MODIFY,
ADDR_LINES),
EX(CMD_cNext, "cNext", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_cNfile, "cNfile", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_cabbrev, "cabbrev", ex_abbreviate,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cabclear, "cabclear", ex_abclear,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_caddbuffer, "caddbuffer", ex_cbuffer,
- RANGE|NOTADR|WORD1|TRLBAR,
- ADDR_LINES),
+ RANGE|WORD1|TRLBAR,
+ ADDR_OTHER),
EX(CMD_caddexpr, "caddexpr", ex_cexpr,
NEEDARG|WORD1|NOTRLCOM|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_caddfile, "caddfile", ex_cfile,
TRLBAR|FILE1,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_call, "call", ex_call,
RANGE|NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
ADDR_LINES),
EX(CMD_catch, "catch", ex_catch,
EXTRA|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cbuffer, "cbuffer", ex_cbuffer,
- BANG|RANGE|NOTADR|WORD1|TRLBAR,
- ADDR_LINES),
+ BANG|RANGE|WORD1|TRLBAR,
+ ADDR_OTHER),
EX(CMD_cbottom, "cbottom", ex_cbottom,
TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cc, "cc", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_cclose, "cclose", ex_cclose,
- RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ TRLBAR,
+ ADDR_NONE),
EX(CMD_cd, "cd", ex_cd,
BANG|FILE1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cdo, "cdo", ex_listdo,
- BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|NOTADR|DFLALL,
+ BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|DFLALL,
ADDR_QUICKFIX),
EX(CMD_center, "center", ex_align,
TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY,
ADDR_LINES),
EX(CMD_cexpr, "cexpr", ex_cexpr,
NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cfile, "cfile", ex_cfile,
TRLBAR|FILE1|BANG,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cfdo, "cfdo", ex_listdo,
- BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|NOTADR|DFLALL,
+ BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|DFLALL,
ADDR_QUICKFIX),
EX(CMD_cfirst, "cfirst", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_cgetfile, "cgetfile", ex_cfile,
TRLBAR|FILE1,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cgetbuffer, "cgetbuffer", ex_cbuffer,
- RANGE|NOTADR|WORD1|TRLBAR,
- ADDR_LINES),
+ RANGE|WORD1|TRLBAR,
+ ADDR_OTHER),
EX(CMD_cgetexpr, "cgetexpr", ex_cexpr,
NEEDARG|WORD1|NOTRLCOM|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_chdir, "chdir", ex_cd,
BANG|FILE1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_changes, "changes", ex_changes,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_checkpath, "checkpath", ex_checkpath,
TRLBAR|BANG|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_checktime, "checktime", ex_checktime,
- RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR,
- ADDR_LINES),
+ RANGE|BUFNAME|COUNT|EXTRA|TRLBAR,
+ ADDR_OTHER),
EX(CMD_chistory, "chistory", qf_history,
TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_clist, "clist", qf_list,
BANG|EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_clast, "clast", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_close, "close", ex_close,
- BANG|RANGE|NOTADR|COUNT|TRLBAR|CMDWIN,
+ BANG|RANGE|COUNT|TRLBAR|CMDWIN,
ADDR_WINDOWS),
EX(CMD_clearjumps, "clearjumps", ex_clearjumps,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cmap, "cmap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cmapclear, "cmapclear", ex_mapclear,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cmenu, "cmenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_cnext, "cnext", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_cnewer, "cnewer", qf_age,
- RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_cnfile, "cnfile", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_cnoremap, "cnoremap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cnoreabbrev, "cnoreabbrev", ex_abbreviate,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cnoremenu, "cnoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_copy, "copy", ex_copymove,
RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY,
ADDR_LINES),
EX(CMD_colder, "colder", qf_age,
- RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_colorscheme, "colorscheme", ex_colorscheme,
WORD1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_command, "command", ex_command,
EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_comclear, "comclear", ex_comclear,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_compiler, "compiler", ex_compiler,
BANG|TRLBAR|WORD1|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_continue, "continue", ex_continue,
TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_confirm, "confirm", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_copen, "copen", ex_copen,
- RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_cprevious, "cprevious", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_cpfile, "cpfile", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_cquit, "cquit", ex_cquit,
TRLBAR|BANG,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_crewind, "crewind", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_cscope, "cscope", ex_cscope,
EXTRA|NOTRLCOM|XFILE,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cstag, "cstag", ex_cstag,
BANG|TRLBAR|WORD1,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cunmap, "cunmap", ex_unmap,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cunabbrev, "cunabbrev", ex_abbreviate,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cunmenu, "cunmenu", ex_menu,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_cwindow, "cwindow", ex_cwindow,
- RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_delete, "delete", ex_operators,
RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN|MODIFY,
ADDR_LINES),
EX(CMD_delmarks, "delmarks", ex_delmarks,
BANG|EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_debug, "debug", ex_debug,
NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_debuggreedy, "debuggreedy", ex_debuggreedy,
- RANGE|NOTADR|ZEROR|TRLBAR|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|TRLBAR|CMDWIN,
+ ADDR_OTHER),
EX(CMD_delcommand, "delcommand", ex_delcommand,
NEEDARG|WORD1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_delfunction, "delfunction", ex_delfunction,
BANG|NEEDARG|WORD1|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_display, "display", ex_display,
EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_diffupdate, "diffupdate", ex_diffupdate,
BANG|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_diffget, "diffget", ex_diffgetput,
RANGE|EXTRA|TRLBAR|MODIFY,
ADDR_LINES),
EX(CMD_diffoff, "diffoff", ex_diffoff,
BANG|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_diffpatch, "diffpatch", ex_diffpatch,
EXTRA|FILE1|TRLBAR|MODIFY,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_diffput, "diffput", ex_diffgetput,
RANGE|EXTRA|TRLBAR,
ADDR_LINES),
EX(CMD_diffsplit, "diffsplit", ex_diffsplit,
EXTRA|FILE1|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_diffthis, "diffthis", ex_diffthis,
TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_digraphs, "digraphs", ex_digraphs,
BANG|EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_djump, "djump", ex_findpat,
BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA,
ADDR_LINES),
@@ -467,13 +473,13 @@ EX(CMD_dlist, "dlist", ex_findpat,
ADDR_LINES),
EX(CMD_doautocmd, "doautocmd", ex_doautocmd,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_doautoall, "doautoall", ex_doautoall,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_drop, "drop", ex_drop,
FILES|EDITCMD|NEEDARG|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_dsearch, "dsearch", ex_findpat,
BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN,
ADDR_LINES),
@@ -482,91 +488,91 @@ EX(CMD_dsplit, "dsplit", ex_findpat,
ADDR_LINES),
EX(CMD_edit, "edit", ex_edit,
BANG|FILE1|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_earlier, "earlier", ex_later,
TRLBAR|EXTRA|NOSPC|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_echo, "echo", ex_echo,
EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_echoerr, "echoerr", ex_execute,
EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_echohl, "echohl", ex_echohl,
EXTRA|TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_echomsg, "echomsg", ex_execute,
EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_echon, "echon", ex_echo,
EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_else, "else", ex_else,
TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_elseif, "elseif", ex_else,
EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_emenu, "emenu", ex_emenu,
- NEEDARG|EXTRA|TRLBAR|NOTRLCOM|RANGE|NOTADR|CMDWIN,
- ADDR_LINES),
+ NEEDARG|EXTRA|TRLBAR|NOTRLCOM|RANGE|CMDWIN,
+ ADDR_OTHER),
EX(CMD_endif, "endif", ex_endif,
TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_endfunction, "endfunction", ex_endfunction,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_endfor, "endfor", ex_endwhile,
TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_endtry, "endtry", ex_endtry,
TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_endwhile, "endwhile", ex_endwhile,
TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_enew, "enew", ex_edit,
BANG|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_ex, "ex", ex_edit,
BANG|FILE1|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_execute, "execute", ex_execute,
EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_exit, "exit", ex_exit,
RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN,
ADDR_LINES),
EX(CMD_exusage, "exusage", ex_exusage,
TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_file, "file", ex_file,
- RANGE|NOTADR|ZEROR|BANG|FILE1|TRLBAR,
- ADDR_LINES),
+ RANGE|ZEROR|BANG|FILE1|TRLBAR,
+ ADDR_OTHER),
EX(CMD_files, "files", buflist_list,
BANG|EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_filetype, "filetype", ex_filetype,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_filter, "filter", ex_wrongmodifier,
BANG|NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_find, "find", ex_find,
- RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ RANGE|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_finally, "finally", ex_finally,
TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_finish, "finish", ex_finish,
TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_first, "first", ex_rewind,
EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_fixdel, "fixdel", do_fixdel,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_fold, "fold", ex_fold,
RANGE|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN,
ADDR_LINES),
@@ -584,67 +590,67 @@ EX(CMD_foldopen, "foldopen", ex_foldopen,
ADDR_LINES),
EX(CMD_for, "for", ex_while,
EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_function, "function", ex_function,
EXTRA|BANG|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_global, "global", ex_global,
RANGE|WHOLEFOLD|BANG|EXTRA|DFLALL|SBOXOK|CMDWIN,
ADDR_LINES),
EX(CMD_goto, "goto", ex_goto,
- RANGE|NOTADR|COUNT|TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|SBOXOK|CMDWIN,
+ ADDR_OTHER),
EX(CMD_grep, "grep", ex_make,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
- ADDR_LINES),
+ RANGE|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+ ADDR_OTHER),
EX(CMD_grepadd, "grepadd", ex_make,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
- ADDR_LINES),
+ RANGE|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+ ADDR_OTHER),
EX(CMD_gui, "gui", ex_gui,
BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_gvim, "gvim", ex_gui,
BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_help, "help", ex_help,
BANG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_helpclose, "helpclose", ex_helpclose,
- RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_helpfind, "helpfind", ex_helpfind,
EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_helpgrep, "helpgrep", ex_helpgrep,
EXTRA|NOTRLCOM|NEEDARG,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_helptags, "helptags", ex_helptags,
NEEDARG|FILES|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_hardcopy, "hardcopy", ex_hardcopy,
RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG,
ADDR_LINES),
EX(CMD_highlight, "highlight", ex_highlight,
BANG|EXTRA|TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_hide, "hide", ex_hide,
- BANG|RANGE|NOTADR|COUNT|EXTRA|TRLBAR,
+ BANG|RANGE|COUNT|EXTRA|TRLBAR,
ADDR_WINDOWS),
EX(CMD_history, "history", ex_history,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_insert, "insert", ex_append,
BANG|RANGE|TRLBAR|CMDWIN|MODIFY,
ADDR_LINES),
EX(CMD_iabbrev, "iabbrev", ex_abbreviate,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_iabclear, "iabclear", ex_abclear,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_if, "if", ex_if,
EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_ijump, "ijump", ex_findpat,
BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA,
ADDR_LINES),
@@ -653,25 +659,25 @@ EX(CMD_ilist, "ilist", ex_findpat,
ADDR_LINES),
EX(CMD_imap, "imap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_imapclear, "imapclear", ex_mapclear,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_imenu, "imenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_inoremap, "inoremap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_inoreabbrev, "inoreabbrev", ex_abbreviate,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_inoremenu, "inoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_intro, "intro", ex_intro,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_isearch, "isearch", ex_findpat,
BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN,
ADDR_LINES),
@@ -680,187 +686,187 @@ EX(CMD_isplit, "isplit", ex_findpat,
ADDR_LINES),
EX(CMD_iunmap, "iunmap", ex_unmap,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_iunabbrev, "iunabbrev", ex_abbreviate,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_iunmenu, "iunmenu", ex_menu,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_join, "join", ex_join,
BANG|RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY,
ADDR_LINES),
EX(CMD_jumps, "jumps", ex_jumps,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_k, "k", ex_mark,
RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN,
ADDR_LINES),
EX(CMD_keepmarks, "keepmarks", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_keepjumps, "keepjumps", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_keeppatterns, "keeppatterns", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_keepalt, "keepalt", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_list, "list", ex_print,
RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN,
ADDR_LINES),
EX(CMD_lNext, "lNext", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_lNfile, "lNfile", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_last, "last", ex_last,
EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_language, "language", ex_language,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_laddexpr, "laddexpr", ex_cexpr,
NEEDARG|WORD1|NOTRLCOM|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_laddbuffer, "laddbuffer", ex_cbuffer,
- RANGE|NOTADR|WORD1|TRLBAR,
- ADDR_LINES),
+ RANGE|WORD1|TRLBAR,
+ ADDR_OTHER),
EX(CMD_laddfile, "laddfile", ex_cfile,
TRLBAR|FILE1,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_later, "later", ex_later,
TRLBAR|EXTRA|NOSPC|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lbuffer, "lbuffer", ex_cbuffer,
- BANG|RANGE|NOTADR|WORD1|TRLBAR,
- ADDR_LINES),
+ BANG|RANGE|WORD1|TRLBAR,
+ ADDR_OTHER),
EX(CMD_lbottom, "lbottom", ex_cbottom,
TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lcd, "lcd", ex_cd,
BANG|FILE1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lchdir, "lchdir", ex_cd,
BANG|FILE1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lclose, "lclose", ex_cclose,
- RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_lcscope, "lcscope", ex_cscope,
EXTRA|NOTRLCOM|XFILE,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_ldo, "ldo", ex_listdo,
- BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|NOTADR|DFLALL,
+ BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|DFLALL,
ADDR_QUICKFIX),
EX(CMD_left, "left", ex_align,
TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY,
ADDR_LINES),
EX(CMD_leftabove, "leftabove", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_let, "let", ex_let,
EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lexpr, "lexpr", ex_cexpr,
NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lfile, "lfile", ex_cfile,
TRLBAR|FILE1|BANG,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lfdo, "lfdo", ex_listdo,
- BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|NOTADR|DFLALL,
+ BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|DFLALL,
ADDR_QUICKFIX),
EX(CMD_lfirst, "lfirst", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_lgetfile, "lgetfile", ex_cfile,
TRLBAR|FILE1,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lgetbuffer, "lgetbuffer", ex_cbuffer,
- RANGE|NOTADR|WORD1|TRLBAR,
- ADDR_LINES),
+ RANGE|WORD1|TRLBAR,
+ ADDR_OTHER),
EX(CMD_lgetexpr, "lgetexpr", ex_cexpr,
NEEDARG|WORD1|NOTRLCOM|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lgrep, "lgrep", ex_make,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
- ADDR_LINES),
+ RANGE|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+ ADDR_OTHER),
EX(CMD_lgrepadd, "lgrepadd", ex_make,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
- ADDR_LINES),
+ RANGE|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+ ADDR_OTHER),
EX(CMD_lhelpgrep, "lhelpgrep", ex_helpgrep,
EXTRA|NOTRLCOM|NEEDARG,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lhistory, "lhistory", qf_history,
TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_ll, "ll", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_llast, "llast", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_llist, "llist", qf_list,
BANG|EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lmap, "lmap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lmapclear, "lmapclear", ex_mapclear,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lmake, "lmake", ex_make,
BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lnoremap, "lnoremap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lnext, "lnext", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_lnewer, "lnewer", qf_age,
- RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_lnfile, "lnfile", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_loadview, "loadview", ex_loadview,
FILE1|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_loadkeymap, "loadkeymap", ex_loadkeymap,
CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lockmarks, "lockmarks", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lockvar, "lockvar", ex_lockvar,
BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lolder, "lolder", qf_age,
- RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_lopen, "lopen", ex_copen,
- RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_lprevious, "lprevious", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_lpfile, "lpfile", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_lrewind, "lrewind", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR|BANG,
+ ADDR_OTHER),
EX(CMD_ltag, "ltag", ex_tag,
- NOTADR|TRLBAR|BANG|WORD1,
- ADDR_LINES),
+ TRLBAR|BANG|WORD1,
+ ADDR_NONE),
EX(CMD_lunmap, "lunmap", ex_unmap,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_lua, "lua", ex_lua,
RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
ADDR_LINES),
@@ -871,17 +877,17 @@ EX(CMD_luafile, "luafile", ex_luafile,
RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
ADDR_LINES),
EX(CMD_lvimgrep, "lvimgrep", ex_vimgrep,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
- ADDR_LINES),
+ RANGE|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+ ADDR_OTHER),
EX(CMD_lvimgrepadd, "lvimgrepadd", ex_vimgrep,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
- ADDR_LINES),
+ RANGE|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+ ADDR_OTHER),
EX(CMD_lwindow, "lwindow", ex_cwindow,
- RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_ls, "ls", buflist_list,
BANG|EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_move, "move", ex_copymove,
RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY,
ADDR_LINES),
@@ -890,46 +896,46 @@ EX(CMD_mark, "mark", ex_mark,
ADDR_LINES),
EX(CMD_make, "make", ex_make,
BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_map, "map", ex_map,
BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_mapclear, "mapclear", ex_mapclear,
EXTRA|BANG|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_marks, "marks", do_marks,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_match, "match", ex_match,
- RANGE|NOTADR|EXTRA|CMDWIN,
- ADDR_LINES),
+ RANGE|EXTRA|CMDWIN,
+ ADDR_OTHER),
EX(CMD_menu, "menu", ex_menu,
- RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_menutranslate, "menutranslate", ex_menutranslate,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_messages, "messages", ex_messages,
EXTRA|TRLBAR|RANGE|CMDWIN,
ADDR_OTHER),
EX(CMD_mkexrc, "mkexrc", ex_mkrc,
BANG|FILE1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_mksession, "mksession", ex_mkrc,
BANG|FILE1|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_mkspell, "mkspell", ex_mkspell,
BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_mkvimrc, "mkvimrc", ex_mkrc,
BANG|FILE1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_mkview, "mkview", ex_mkrc,
BANG|FILE1|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_mode, "mode", ex_mode,
WORD1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_mzscheme, "mzscheme", ex_mzscheme,
RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN|SBOXOK|RESTRICT,
ADDR_LINES),
@@ -937,53 +943,53 @@ EX(CMD_mzfile, "mzfile", ex_mzfile,
RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
ADDR_LINES),
EX(CMD_next, "next", ex_next,
- RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ RANGE|BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_nbkey, "nbkey", ex_nbkey,
- EXTRA|NOTADR|NEEDARG,
- ADDR_LINES),
+ EXTRA|NEEDARG,
+ ADDR_NONE),
EX(CMD_nbclose, "nbclose", ex_nbclose,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_nbstart, "nbstart", ex_nbstart,
WORD1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_new, "new", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ BANG|FILE1|RANGE|EDITCMD|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_nmap, "nmap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_nmapclear, "nmapclear", ex_mapclear,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_nmenu, "nmenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_nnoremap, "nnoremap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_nnoremenu, "nnoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_noremap, "noremap", ex_map,
BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_noautocmd, "noautocmd", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_nohlsearch, "nohlsearch", ex_nohlsearch,
TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_noreabbrev, "noreabbrev", ex_abbreviate,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_noremenu, "noremenu", ex_menu,
- RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_noswapfile, "noswapfile", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_normal, "normal", ex_normal,
RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK|CMDWIN,
ADDR_LINES),
@@ -992,58 +998,58 @@ EX(CMD_number, "number", ex_print,
ADDR_LINES),
EX(CMD_nunmap, "nunmap", ex_unmap,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_nunmenu, "nunmenu", ex_menu,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_open, "open", ex_open,
RANGE|BANG|EXTRA,
ADDR_LINES),
EX(CMD_oldfiles, "oldfiles", ex_oldfiles,
BANG|TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_omap, "omap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_omapclear, "omapclear", ex_mapclear,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_omenu, "omenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_only, "only", ex_only,
- BANG|NOTADR|RANGE|COUNT|TRLBAR,
+ BANG|RANGE|COUNT|TRLBAR,
ADDR_WINDOWS),
EX(CMD_onoremap, "onoremap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_onoremenu, "onoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_options, "options", ex_options,
TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_ounmap, "ounmap", ex_unmap,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_ounmenu, "ounmenu", ex_menu,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_ownsyntax, "ownsyntax", ex_ownsyntax,
EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_print, "print", ex_print,
RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|SBOXOK,
ADDR_LINES),
EX(CMD_packadd, "packadd", ex_packadd,
BANG|FILE1|NEEDARG|TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_packloadall, "packloadall", ex_packloadall,
BANG|TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_pclose, "pclose", ex_pclose,
BANG|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_perl, "perl", ex_perl,
RANGE|EXTRA|DFLALL|NEEDARG|SBOXOK|CMDWIN,
ADDR_LINES),
@@ -1052,70 +1058,70 @@ EX(CMD_perldo, "perldo", ex_perldo,
ADDR_LINES),
EX(CMD_pedit, "pedit", ex_pedit,
BANG|FILE1|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_pop, "pop", ex_tag,
- RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|COUNT|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_popup, "popup", ex_popup,
NEEDARG|EXTRA|BANG|TRLBAR|NOTRLCOM|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_ppop, "ppop", ex_ptag,
- RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|COUNT|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_preserve, "preserve", ex_preserve,
TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_previous, "previous", ex_previous,
- EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ EXTRA|RANGE|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_promptfind, "promptfind", gui_mch_find_dialog,
EXTRA|NOTRLCOM|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_promptrepl, "promptrepl", gui_mch_replace_dialog,
EXTRA|NOTRLCOM|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_profile, "profile", ex_profile,
BANG|EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_profdel, "profdel", ex_breakdel,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_psearch, "psearch", ex_psearch,
BANG|RANGE|WHOLEFOLD|DFLALL|EXTRA,
ADDR_LINES),
EX(CMD_ptag, "ptag", ex_ptag,
- RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|WORD1|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_ptNext, "ptNext", ex_ptag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_ptfirst, "ptfirst", ex_ptag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_ptjump, "ptjump", ex_ptag,
BANG|TRLBAR|WORD1,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_ptlast, "ptlast", ex_ptag,
BANG|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_ptnext, "ptnext", ex_ptag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_ptprevious, "ptprevious", ex_ptag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_ptrewind, "ptrewind", ex_ptag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_ptselect, "ptselect", ex_ptag,
BANG|TRLBAR|WORD1,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_put, "put", ex_put,
RANGE|WHOLEFOLD|BANG|REGSTR|TRLBAR|ZEROR|CMDWIN|MODIFY,
ADDR_LINES),
EX(CMD_pwd, "pwd", ex_pwd,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_python, "python", ex_python,
RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
ADDR_LINES),
@@ -1150,59 +1156,59 @@ EX(CMD_pyxfile, "pyxfile", ex_pyxfile,
RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT,
ADDR_LINES),
EX(CMD_quit, "quit", ex_quit,
- BANG|RANGE|COUNT|NOTADR|TRLBAR|CMDWIN,
+ BANG|RANGE|COUNT|TRLBAR|CMDWIN,
ADDR_WINDOWS),
EX(CMD_quitall, "quitall", ex_quit_all,
BANG|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_qall, "qall", ex_quit_all,
BANG|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_read, "read", ex_read,
BANG|RANGE|WHOLEFOLD|FILE1|ARGOPT|TRLBAR|ZEROR|CMDWIN|MODIFY,
ADDR_LINES),
EX(CMD_recover, "recover", ex_recover,
BANG|FILE1|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_redo, "redo", ex_redo,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_redir, "redir", ex_redir,
BANG|FILES|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_redraw, "redraw", ex_redraw,
BANG|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_redrawstatus, "redrawstatus", ex_redrawstatus,
BANG|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_redrawtabline, "redrawtabline", ex_redrawtabline,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_registers, "registers", ex_display,
EXTRA|NOTRLCOM|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_resize, "resize", ex_resize,
- RANGE|NOTADR|TRLBAR|WORD1|CMDWIN,
- ADDR_LINES),
+ RANGE|TRLBAR|WORD1|CMDWIN,
+ ADDR_OTHER),
EX(CMD_retab, "retab", ex_retab,
TRLBAR|RANGE|WHOLEFOLD|DFLALL|BANG|WORD1|CMDWIN|MODIFY,
ADDR_LINES),
EX(CMD_return, "return", ex_return,
EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_rewind, "rewind", ex_rewind,
EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_right, "right", ex_align,
TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY,
ADDR_LINES),
EX(CMD_rightbelow, "rightbelow", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_runtime, "runtime", ex_runtime,
BANG|NEEDARG|FILES|TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_ruby, "ruby", ex_ruby,
RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
ADDR_LINES),
@@ -1214,277 +1220,277 @@ EX(CMD_rubyfile, "rubyfile", ex_rubyfile,
ADDR_LINES),
EX(CMD_rundo, "rundo", ex_rundo,
NEEDARG|FILE1,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_rviminfo, "rviminfo", ex_viminfo,
BANG|FILE1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_substitute, "substitute", do_sub,
RANGE|WHOLEFOLD|EXTRA|CMDWIN,
ADDR_LINES),
EX(CMD_sNext, "sNext", ex_previous,
- EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ EXTRA|RANGE|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_sargument, "sargument", ex_argument,
- BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR,
+ BANG|RANGE|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR,
ADDR_ARGUMENTS),
EX(CMD_sall, "sall", ex_all,
- BANG|RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ BANG|RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_sandbox, "sandbox", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_saveas, "saveas", ex_write,
- BANG|DFLALL|FILE1|ARGOPT|CMDWIN|TRLBAR,
- ADDR_LINES),
+ BANG|FILE1|ARGOPT|CMDWIN|TRLBAR,
+ ADDR_NONE),
EX(CMD_sbuffer, "sbuffer", ex_buffer,
- BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|EDITCMD|TRLBAR,
+ BANG|RANGE|BUFNAME|BUFUNL|COUNT|EXTRA|EDITCMD|TRLBAR,
ADDR_BUFFERS),
EX(CMD_sbNext, "sbNext", ex_bprevious,
- RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|EDITCMD|TRLBAR,
+ ADDR_OTHER),
EX(CMD_sball, "sball", ex_buffer_all,
- RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|EDITCMD|TRLBAR,
+ ADDR_OTHER),
EX(CMD_sbfirst, "sbfirst", ex_brewind,
EDITCMD|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_sblast, "sblast", ex_blast,
EDITCMD|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_sbmodified, "sbmodified", ex_bmodified,
- RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|EDITCMD|TRLBAR,
+ ADDR_OTHER),
EX(CMD_sbnext, "sbnext", ex_bnext,
- RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|EDITCMD|TRLBAR,
+ ADDR_OTHER),
EX(CMD_sbprevious, "sbprevious", ex_bprevious,
- RANGE|NOTADR|COUNT|EDITCMD|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|EDITCMD|TRLBAR,
+ ADDR_OTHER),
EX(CMD_sbrewind, "sbrewind", ex_brewind,
EDITCMD|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_scriptnames, "scriptnames", ex_scriptnames,
- BANG|RANGE|NOTADR|COUNT|TRLBAR|CMDWIN,
+ BANG|RANGE|COUNT|TRLBAR|CMDWIN,
ADDR_OTHER),
EX(CMD_scriptencoding, "scriptencoding", ex_scriptencoding,
WORD1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_scriptversion, "scriptversion", ex_scriptversion,
WORD1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_scscope, "scscope", ex_scscope,
EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_set, "set", ex_set,
TRLBAR|EXTRA|CMDWIN|SBOXOK,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_setfiletype, "setfiletype", ex_setfiletype,
TRLBAR|EXTRA|NEEDARG|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_setglobal, "setglobal", ex_set,
TRLBAR|EXTRA|CMDWIN|SBOXOK,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_setlocal, "setlocal", ex_set,
TRLBAR|EXTRA|CMDWIN|SBOXOK,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_sfind, "sfind", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ BANG|FILE1|RANGE|EDITCMD|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_sfirst, "sfirst", ex_rewind,
EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_shell, "shell", ex_shell,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_simalt, "simalt", ex_simalt,
NEEDARG|WORD1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_sign, "sign", ex_sign,
- NEEDARG|RANGE|NOTADR|EXTRA|CMDWIN,
- ADDR_LINES),
+ NEEDARG|RANGE|EXTRA|CMDWIN,
+ ADDR_OTHER),
EX(CMD_silent, "silent", ex_wrongmodifier,
NEEDARG|EXTRA|BANG|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_sleep, "sleep", ex_sleep,
- RANGE|NOTADR|COUNT|EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ RANGE|COUNT|EXTRA|TRLBAR|CMDWIN,
+ ADDR_OTHER),
EX(CMD_slast, "slast", ex_last,
EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_smagic, "smagic", ex_submagic,
RANGE|WHOLEFOLD|EXTRA|CMDWIN,
ADDR_LINES),
EX(CMD_smap, "smap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_smapclear, "smapclear", ex_mapclear,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_smenu, "smenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_snext, "snext", ex_next,
- RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ RANGE|BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_snomagic, "snomagic", ex_submagic,
RANGE|WHOLEFOLD|EXTRA|CMDWIN,
ADDR_LINES),
EX(CMD_snoremap, "snoremap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_snoremenu, "snoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_source, "source", ex_source,
BANG|FILE1|TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_sort, "sort", ex_sort,
RANGE|DFLALL|WHOLEFOLD|BANG|EXTRA|NOTRLCOM|MODIFY,
ADDR_LINES),
EX(CMD_split, "split", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ BANG|FILE1|RANGE|EDITCMD|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_spellgood, "spellgood", ex_spell,
- BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR,
- ADDR_LINES),
+ BANG|RANGE|NEEDARG|EXTRA|TRLBAR,
+ ADDR_OTHER),
EX(CMD_spelldump, "spelldump", ex_spelldump,
BANG|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_spellinfo, "spellinfo", ex_spellinfo,
TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_spellrepall, "spellrepall", ex_spellrepall,
TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_spellundo, "spellundo", ex_spell,
- BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR,
- ADDR_LINES),
+ BANG|RANGE|NEEDARG|EXTRA|TRLBAR,
+ ADDR_OTHER),
EX(CMD_spellwrong, "spellwrong", ex_spell,
- BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR,
- ADDR_LINES),
+ BANG|RANGE|NEEDARG|EXTRA|TRLBAR,
+ ADDR_OTHER),
EX(CMD_sprevious, "sprevious", ex_previous,
- EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ EXTRA|RANGE|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_srewind, "srewind", ex_rewind,
EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_stop, "stop", ex_stop,
TRLBAR|BANG|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_stag, "stag", ex_stag,
- RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|WORD1|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_startinsert, "startinsert", ex_startinsert,
BANG|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_startgreplace, "startgreplace", ex_startinsert,
BANG|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_startreplace, "startreplace", ex_startinsert,
BANG|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_stopinsert, "stopinsert", ex_stopinsert,
BANG|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_stjump, "stjump", ex_stag,
BANG|TRLBAR|WORD1,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_stselect, "stselect", ex_stag,
BANG|TRLBAR|WORD1,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_sunhide, "sunhide", ex_buffer_all,
- RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_sunmap, "sunmap", ex_unmap,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_sunmenu, "sunmenu", ex_menu,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_suspend, "suspend", ex_stop,
TRLBAR|BANG|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_sview, "sview", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ BANG|FILE1|RANGE|EDITCMD|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_swapname, "swapname", ex_swapname,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_syntax, "syntax", ex_syntax,
EXTRA|NOTRLCOM|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_syntime, "syntime", ex_syntime,
NEEDARG|WORD1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_syncbind, "syncbind", ex_syncbind,
TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_smile, "smile", ex_smile,
TRLBAR|CMDWIN|SBOXOK,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_t, "t", ex_copymove,
RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY,
ADDR_LINES),
EX(CMD_tNext, "tNext", ex_tag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_tag, "tag", ex_tag,
- RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|WORD1|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_tags, "tags", do_tags,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_tab, "tab", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_TABS),
+ ADDR_NONE),
EX(CMD_tabclose, "tabclose", ex_tabclose,
- BANG|RANGE|NOTADR|ZEROR|EXTRA|NOSPC|TRLBAR|CMDWIN,
+ BANG|RANGE|ZEROR|EXTRA|NOSPC|TRLBAR|CMDWIN,
ADDR_TABS),
EX(CMD_tabdo, "tabdo", ex_listdo,
- NEEDARG|EXTRA|NOTRLCOM|RANGE|NOTADR|DFLALL,
+ NEEDARG|EXTRA|NOTRLCOM|RANGE|DFLALL,
ADDR_TABS),
EX(CMD_tabedit, "tabedit", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|TRLBAR,
+ BANG|FILE1|RANGE|ZEROR|EDITCMD|ARGOPT|TRLBAR,
ADDR_TABS),
EX(CMD_tabfind, "tabfind", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|NEEDARG|TRLBAR,
+ BANG|FILE1|RANGE|ZEROR|EDITCMD|ARGOPT|NEEDARG|TRLBAR,
ADDR_TABS),
EX(CMD_tabfirst, "tabfirst", ex_tabnext,
TRLBAR,
- ADDR_TABS),
+ ADDR_NONE),
EX(CMD_tabmove, "tabmove", ex_tabmove,
- RANGE|NOTADR|ZEROR|EXTRA|NOSPC|TRLBAR,
+ RANGE|ZEROR|EXTRA|NOSPC|TRLBAR,
ADDR_TABS),
EX(CMD_tablast, "tablast", ex_tabnext,
TRLBAR,
- ADDR_TABS),
+ ADDR_NONE),
EX(CMD_tabnext, "tabnext", ex_tabnext,
- RANGE|NOTADR|ZEROR|EXTRA|NOSPC|TRLBAR,
+ RANGE|ZEROR|EXTRA|NOSPC|TRLBAR,
ADDR_TABS),
EX(CMD_tabnew, "tabnew", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|TRLBAR,
+ BANG|FILE1|RANGE|ZEROR|EDITCMD|ARGOPT|TRLBAR,
ADDR_TABS),
EX(CMD_tabonly, "tabonly", ex_tabonly,
- BANG|RANGE|NOTADR|ZEROR|EXTRA|NOSPC|TRLBAR|CMDWIN,
+ BANG|RANGE|ZEROR|EXTRA|NOSPC|TRLBAR|CMDWIN,
ADDR_TABS),
EX(CMD_tabprevious, "tabprevious", ex_tabnext,
- RANGE|NOTADR|ZEROR|EXTRA|NOSPC|TRLBAR,
+ RANGE|ZEROR|EXTRA|NOSPC|TRLBAR,
ADDR_TABS_RELATIVE),
EX(CMD_tabNext, "tabNext", ex_tabnext,
- RANGE|NOTADR|ZEROR|EXTRA|NOSPC|TRLBAR,
+ RANGE|ZEROR|EXTRA|NOSPC|TRLBAR,
ADDR_TABS_RELATIVE),
EX(CMD_tabrewind, "tabrewind", ex_tabnext,
TRLBAR,
- ADDR_TABS),
+ ADDR_NONE),
EX(CMD_tabs, "tabs", ex_tabs,
TRLBAR|CMDWIN,
- ADDR_TABS),
+ ADDR_NONE),
EX(CMD_tcd, "tcd", ex_cd,
BANG|FILE1|TRLBAR|CMDWIN,
- ADDR_OTHER),
+ ADDR_NONE),
EX(CMD_tchdir, "tchdir", ex_cd,
BANG|FILE1|TRLBAR|CMDWIN,
- ADDR_OTHER),
+ ADDR_NONE),
EX(CMD_tcl, "tcl", ex_tcl,
RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT,
ADDR_LINES),
@@ -1496,97 +1502,97 @@ EX(CMD_tclfile, "tclfile", ex_tclfile,
ADDR_LINES),
EX(CMD_tearoff, "tearoff", ex_tearoff,
NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_terminal, "terminal", ex_terminal,
RANGE|BANG|FILES|CMDWIN,
ADDR_LINES),
EX(CMD_tfirst, "tfirst", ex_tag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_throw, "throw", ex_throw,
EXTRA|NEEDARG|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_tjump, "tjump", ex_tag,
BANG|TRLBAR|WORD1,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_tlast, "tlast", ex_tag,
BANG|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_tlmenu, "tlmenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_tlnoremenu, "tlnoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_tlunmenu, "tlunmenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_tmenu, "tmenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_tmap, "tmap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_tmapclear, "tmapclear", ex_mapclear,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_tnext, "tnext", ex_tag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_tnoremap, "tnoremap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_topleft, "topleft", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_tprevious, "tprevious", ex_tag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_trewind, "trewind", ex_tag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR,
- ADDR_LINES),
+ RANGE|BANG|TRLBAR|ZEROR,
+ ADDR_OTHER),
EX(CMD_try, "try", ex_try,
TRLBAR|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_tselect, "tselect", ex_tag,
BANG|TRLBAR|WORD1,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_tunmenu, "tunmenu", ex_menu,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_tunmap, "tunmap", ex_unmap,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_undo, "undo", ex_undo,
- RANGE|NOTADR|COUNT|ZEROR|TRLBAR|CMDWIN,
- ADDR_LINES),
+ RANGE|COUNT|ZEROR|TRLBAR|CMDWIN,
+ ADDR_OTHER),
EX(CMD_undojoin, "undojoin", ex_undojoin,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_undolist, "undolist", ex_undolist,
TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_unabbreviate, "unabbreviate", ex_abbreviate,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_unhide, "unhide", ex_buffer_all,
- RANGE|NOTADR|COUNT|TRLBAR,
- ADDR_LINES),
+ RANGE|COUNT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_unlet, "unlet", ex_unlet,
BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_unlockvar, "unlockvar", ex_lockvar,
BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_unmap, "unmap", ex_unmap,
BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_unmenu, "unmenu", ex_menu,
BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_unsilent, "unsilent", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_update, "update", ex_update,
RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR,
ADDR_LINES),
@@ -1595,124 +1601,124 @@ EX(CMD_vglobal, "vglobal", ex_global,
ADDR_LINES),
EX(CMD_version, "version", ex_version,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_verbose, "verbose", ex_wrongmodifier,
- NEEDARG|RANGE|NOTADR|EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ NEEDARG|RANGE|EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
+ ADDR_OTHER),
EX(CMD_vertical, "vertical", ex_wrongmodifier,
NEEDARG|EXTRA|NOTRLCOM,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_visual, "visual", ex_edit,
BANG|FILE1|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_view, "view", ex_edit,
BANG|FILE1|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_vimgrep, "vimgrep", ex_vimgrep,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
- ADDR_LINES),
+ RANGE|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+ ADDR_OTHER),
EX(CMD_vimgrepadd, "vimgrepadd", ex_vimgrep,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
- ADDR_LINES),
+ RANGE|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE,
+ ADDR_OTHER),
EX(CMD_viusage, "viusage", ex_viusage,
TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_vmap, "vmap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_vmapclear, "vmapclear", ex_mapclear,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_vmenu, "vmenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_vnoremap, "vnoremap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_vnew, "vnew", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ BANG|FILE1|RANGE|EDITCMD|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_vnoremenu, "vnoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_vsplit, "vsplit", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ BANG|FILE1|RANGE|EDITCMD|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_vunmap, "vunmap", ex_unmap,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_vunmenu, "vunmenu", ex_menu,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_write, "write", ex_write,
RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN,
ADDR_LINES),
EX(CMD_wNext, "wNext", ex_wnext,
- RANGE|WHOLEFOLD|NOTADR|BANG|FILE1|ARGOPT|TRLBAR,
- ADDR_LINES),
+ RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_wall, "wall", do_wqall,
BANG|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_while, "while", ex_while,
EXTRA|NOTRLCOM|SBOXOK|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_winsize, "winsize", ex_winsize,
EXTRA|NEEDARG|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_wincmd, "wincmd", ex_wincmd,
- NEEDARG|WORD1|RANGE|NOTADR|CMDWIN,
- ADDR_WINDOWS),
+ NEEDARG|WORD1|RANGE|CMDWIN,
+ ADDR_OTHER),
EX(CMD_windo, "windo", ex_listdo,
- NEEDARG|EXTRA|NOTRLCOM|RANGE|NOTADR|DFLALL,
+ NEEDARG|EXTRA|NOTRLCOM|RANGE|DFLALL,
ADDR_WINDOWS),
EX(CMD_winpos, "winpos", ex_winpos,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_wnext, "wnext", ex_wnext,
- RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR,
- ADDR_LINES),
+ RANGE|BANG|FILE1|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_wprevious, "wprevious", ex_wnext,
- RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR,
- ADDR_LINES),
+ RANGE|BANG|FILE1|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_wq, "wq", ex_exit,
RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR,
ADDR_LINES),
EX(CMD_wqall, "wqall", do_wqall,
- BANG|FILE1|ARGOPT|DFLALL|TRLBAR,
- ADDR_LINES),
+ BANG|FILE1|ARGOPT|TRLBAR,
+ ADDR_NONE),
EX(CMD_wundo, "wundo", ex_wundo,
BANG|NEEDARG|FILE1,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_wviminfo, "wviminfo", ex_viminfo,
BANG|FILE1|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_xit, "xit", ex_exit,
RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN,
ADDR_LINES),
EX(CMD_xall, "xall", do_wqall,
BANG|TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_xmap, "xmap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_xmapclear, "xmapclear", ex_mapclear,
EXTRA|TRLBAR|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_xmenu, "xmenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_xnoremap, "xnoremap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_xnoremenu, "xnoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
+ ADDR_OTHER),
EX(CMD_xunmap, "xunmap", ex_unmap,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_xunmenu, "xunmenu", ex_menu,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_yank, "yank", ex_operators,
RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN,
ADDR_LINES),
@@ -1746,14 +1752,14 @@ EX(CMD_at, "@", ex_at,
RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN,
ADDR_LINES),
EX(CMD_Next, "Next", ex_previous,
- EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR,
- ADDR_LINES),
+ EXTRA|RANGE|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR,
+ ADDR_OTHER),
EX(CMD_Print, "Print", ex_print,
RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN,
ADDR_LINES),
EX(CMD_X, "X", ex_X,
TRLBAR,
- ADDR_LINES),
+ ADDR_NONE),
EX(CMD_tilde, "~", do_sub,
RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY,
ADDR_LINES),
@@ -1784,7 +1790,7 @@ struct exarg
int addr_count; /* the number of addresses given */
linenr_T line1; /* the first line number */
linenr_T line2; /* the second line number or count */
- int addr_type; /* type of the count/range */
+ cmd_addr_T addr_type; /* type of the count/range */
int flags; /* extra flags after count: EXFLAG_ */
char_u *do_ecmd_cmd; /* +command arg to be used in edited file */
linenr_T do_ecmd_lnum; /* the line number in an edited file */
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index bf0d7f7bc..67d06fc8e 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -73,7 +73,7 @@ static int getargopt(exarg_T *eap);
# define ex_cexpr ex_ni
#endif
-static linenr_T get_address(exarg_T *, char_u **, int addr_type, int skip, int silent, int to_other_file, int address_count);
+static linenr_T get_address(exarg_T *, char_u **, cmd_addr_T addr_type, int skip, int silent, int to_other_file, int address_count);
static void get_flags(exarg_T *eap);
#if !defined(FEAT_PERL) \
|| !defined(FEAT_PYTHON) || !defined(FEAT_PYTHON3) \
@@ -1577,6 +1577,10 @@ compute_buffer_local_count(int addr_type, int lnum, int offset)
return buf->b_fnum;
}
+/*
+ * Return the window number of "win".
+ * When "win" is NULL return the number of windows.
+ */
static int
current_win_nr(win_T *win)
{
@@ -1951,7 +1955,7 @@ do_one_cmd(
ea.forceit = FALSE;
/*
- * 6. Parse arguments.
+ * 6. Parse arguments. Then check for errors.
*/
if (!IS_USER_CMDIDX(ea.cmdidx))
ea.argt = (long)cmdnames[(int)ea.cmdidx].cmd_argt;
@@ -2016,7 +2020,7 @@ do_one_cmd(
* Don't complain about the range if it is not used
* (could happen if line_count is accidentally set to 0).
*/
- if (!ea.skip && !ni)
+ if (!ea.skip && !ni && (ea.argt & RANGE))
{
/*
* If the range is backwards, ask for confirmation and, if given, swap
@@ -2044,7 +2048,8 @@ do_one_cmd(
goto doend;
}
- if ((ea.argt & NOTADR) && ea.addr_count == 0) /* default is 1, not cursor */
+ if ((ea.addr_type == ADDR_OTHER) && ea.addr_count == 0)
+ // default is 1, not cursor
ea.line2 = 1;
correct_range(&ea);
@@ -2191,6 +2196,7 @@ do_one_cmd(
switch (ea.addr_type)
{
case ADDR_LINES:
+ case ADDR_OTHER:
ea.line2 = curbuf->b_ml.ml_line_count;
break;
case ADDR_LOADED_BUFFERS:
@@ -2229,6 +2235,9 @@ do_one_cmd(
ea.line2 = 1;
break;
#endif
+ case ADDR_NONE:
+ iemsg(_("INTERNAL: Cannot use DFLALL with ADDR_NONE"));
+ break;
}
}
@@ -2278,7 +2287,7 @@ do_one_cmd(
errormsg = _(e_zerocount);
goto doend;
}
- if (ea.argt & NOTADR) /* e.g. :buffer 2, :sleep 3 */
+ if (ea.addr_type != ADDR_LINES) // e.g. :buffer 2, :sleep 3
{
ea.line2 = n;
if (ea.addr_count == 0)
@@ -2292,8 +2301,7 @@ do_one_cmd(
/*
* Be vi compatible: no error message for out of range.
*/
- if (ea.addr_type == ADDR_LINES
- && ea.line2 > curbuf->b_ml.ml_line_count)
+ if (ea.line2 > curbuf->b_ml.ml_line_count)
ea.line2 = curbuf->b_ml.ml_line_count;
}
}
@@ -2876,6 +2884,7 @@ parse_cmd_address(exarg_T *eap, char **errormsg, int silent)
switch (eap->addr_type)
{
case ADDR_LINES:
+ case ADDR_OTHER:
// default is current line number
eap->line2 = curwin->w_cursor.lnum;
break;
@@ -2902,6 +2911,9 @@ parse_cmd_address(exarg_T *eap, char **errormsg, int silent)
eap->line2 = qf_get_cur_valid_idx(eap);
break;
#endif
+ case ADDR_NONE:
+ // Will give an error later if a range is found.
+ break;
}
eap->cmd = skipwhite(eap->cmd);
lnum = get_address(eap, &eap->cmd, eap->addr_type, eap->skip, silent,
@@ -2916,6 +2928,7 @@ parse_cmd_address(exarg_T *eap, char **errormsg, int silent)
switch (eap->addr_type)
{
case ADDR_LINES:
+ case ADDR_OTHER:
eap->line1 = 1;
eap->line2 = curbuf->b_ml.ml_line_count;
break;
@@ -2955,7 +2968,6 @@ parse_cmd_address(exarg_T *eap, char **errormsg, int silent)
}
break;
case ADDR_TABS_RELATIVE:
- case ADDR_OTHER:
*errormsg = _(e_invrange);
return FAIL;
case ADDR_ARGUMENTS:
@@ -2975,6 +2987,9 @@ parse_cmd_address(exarg_T *eap, char **errormsg, int silent)
eap->line2 = 1;
break;
#endif
+ case ADDR_NONE:
+ // Will give an error later if a range is found.
+ break;
}
++eap->addr_count;
}
@@ -4207,12 +4222,13 @@ skip_range(
get_address(
exarg_T *eap UNUSED,
char_u **ptr,
- int addr_type, // flag: one of ADDR_LINES, ...
+ cmd_addr_T addr_type_arg,
int skip, // only skip the address, don't use it
int silent, // no errors or side effects
int to_other_file, // flag: may jump to other file
int address_count UNUSED) // 1 for first address, >1 after comma
{
+ cmd_addr_T addr_type = addr_type_arg;
int c;
int i;
long n;
@@ -4233,6 +4249,7 @@ get_address(
switch (addr_type)
{
case ADDR_LINES:
+ case ADDR_OTHER:
lnum = curwin->w_cursor.lnum;
break;
case ADDR_WINDOWS:
@@ -4249,6 +4266,7 @@ get_address(
lnum = CURRENT_TAB_NR;
break;
case ADDR_TABS_RELATIVE:
+ case ADDR_NONE:
emsg(_(e_invrange));
cmd = NULL;
goto error;
@@ -4266,6 +4284,7 @@ get_address(
switch (addr_type)
{
case ADDR_LINES:
+ case ADDR_OTHER:
lnum = curbuf->b_ml.ml_line_count;
break;
case ADDR_WINDOWS:
@@ -4291,6 +4310,7 @@ get_address(
lnum = LAST_TAB_NR;
break;
case ADDR_TABS_RELATIVE:
+ case ADDR_NONE:
emsg(_(e_invrange));
cmd = NULL;
goto error;
@@ -4460,7 +4480,8 @@ get_address(
switch (addr_type)
{
case ADDR_LINES:
- /* "+1" is same as ".+1" */
+ case ADDR_OTHER:
+ // "+1" is same as ".+1"
lnum = curwin->w_cursor.lnum;
break;
case ADDR_WINDOWS:
@@ -4484,6 +4505,8 @@ get_address(
lnum = qf_get_cur_valid_idx(eap);
break;
#endif
+ case ADDR_NONE:
+ break;
}
}
@@ -4586,11 +4609,10 @@ invalid_range(exarg_T *eap)
if (eap->argt & RANGE)
{
- switch(eap->addr_type)
+ switch (eap->addr_type)
{
case ADDR_LINES:
- if (!(eap->argt & NOTADR)
- && eap->line2 > curbuf->b_ml.ml_line_count
+ if (eap->line2 > curbuf->b_ml.ml_line_count
#ifdef FEAT_DIFF
+ (eap->cmdidx == CMD_diffget)
#endif
@@ -4636,7 +4658,8 @@ invalid_range(exarg_T *eap)
return _(e_invrange);
break;
case ADDR_TABS_RELATIVE:
- /* Do nothing */
+ case ADDR_OTHER:
+ // Any range is OK.
break;
#ifdef FEAT_QUICKFIX
case ADDR_QUICKFIX:
@@ -4644,6 +4667,9 @@ invalid_range(exarg_T *eap)
return _(e_invrange);
break;
#endif
+ case ADDR_NONE:
+ // Will give an error elsewhere.
+ break;
}
}
return NULL;
diff --git a/src/testdir/test_usercommands.vim b/src/testdir/test_usercommands.vim
index 2e2490eb2..a1d3995f6 100644
--- a/src/testdir/test_usercommands.vim
+++ b/src/testdir/test_usercommands.vim
@@ -392,9 +392,13 @@ func Test_addr_all()
call assert_equal(len(gettabinfo()), g:a2)
bwipe
- command! -addr=other DoSomething echo 'nothing'
+ command! -addr=other DoSomething let g:a1 = <line1> | let g:a2 = <line2>
DoSomething
- call assert_fails('%DoSomething')
+ call assert_equal(line('.'), g:a1)
+ call assert_equal(line('.'), g:a2)
+ %DoSomething
+ call assert_equal(1, g:a1)
+ call assert_equal(line('$'), g:a2)
delcommand DoSomething
endfunc
@@ -420,7 +424,7 @@ func Test_command_list()
\ execute('command DoCmd'))
command! -count=2 DoCmd :
call assert_equal("\n Name Args Address Complete Definition"
- \ .. "\n DoCmd 0 2c :",
+ \ .. "\n DoCmd 0 2c ? :",
\ execute('command DoCmd'))
" Test with various -addr= argument values.
diff --git a/src/usercmd.c b/src/usercmd.c
index db1a77b7f..37c519dfa 100644
--- a/src/usercmd.c
+++ b/src/usercmd.c
@@ -20,7 +20,7 @@ typedef struct ucmd
char_u *uc_rep; // The command's replacement string
long uc_def; // The default value for a range/count
int uc_compl; // completion type
- int uc_addr_type; // The command's address type
+ cmd_addr_T uc_addr_type; // The command's address type
# ifdef FEAT_EVAL
sctx_T uc_script_ctx; // SCTX where the command was defined
# ifdef FEAT_CMDL_COMPL
@@ -101,9 +101,9 @@ static struct
*/
static struct
{
- int expand;
- char *name;
- char *shortname;
+ cmd_addr_T expand;
+ char *name;
+ char *shortname;
} addr_type_complete[] =
{
{ADDR_ARGUMENTS, "arguments", "arg"},
@@ -114,7 +114,7 @@ static struct
{ADDR_WINDOWS, "windows", "win"},
{ADDR_QUICKFIX, "quickfix", "qf"},
{ADDR_OTHER, "other", "?"},
- {-1, NULL, NULL}
+ {ADDR_NONE, NULL, NULL}
};
#define UC_BUFFER 1 // -buffer: local to current buffer
@@ -495,7 +495,7 @@ uc_list(char_u *name, size_t name_len)
} while (len < 8 - over);
// Address Type
- for (j = 0; addr_type_complete[j].expand != -1; ++j)
+ for (j = 0; addr_type_complete[j].expand != ADDR_NONE; ++j)
if (addr_type_complete[j].expand != ADDR_LINES
&& addr_type_complete[j].expand == cmd->uc_addr_type)
{
@@ -566,12 +566,11 @@ uc_fun_cmd(void)
parse_addr_type_arg(
char_u *value,
int vallen,
- long *argt,
- int *addr_type_arg)
+ cmd_addr_T *addr_type_arg)
{
int i, a, b;
- for (i = 0; addr_type_complete[i].expand != -1; ++i)
+ for (i = 0; addr_type_complete[i].expand != ADDR_NONE; ++i)
{
a = (int)STRLEN(addr_type_complete[i].name) == vallen;
b = STRNCMP(value, addr_type_complete[i].name, vallen) == 0;
@@ -582,7 +581,7 @@ parse_addr_type_arg(
}
}
- if (addr_type_complete[i].expand == -1)
+ if (addr_type_complete[i].expand == ADDR_NONE)
{
char_u *err = value;
@@ -593,9 +592,6 @@ parse_addr_type_arg(
return FAIL;
}
- if (*addr_type_arg != ADDR_LINES)
- *argt |= NOTADR;
-
return OK;
}
@@ -694,7 +690,7 @@ uc_scan_attr(
int *flags,
int *complp,
char_u **compl_arg,
- int *addr_type_arg)
+ cmd_addr_T *addr_type_arg)
{
char_u *p;
@@ -773,7 +769,7 @@ two_count:
}
*def = getdigits(&p);
- *argt |= (ZEROR | NOTADR);
+ *argt |= ZEROR;
if (p != val + vallen || vallen == 0)
{
@@ -782,10 +778,16 @@ invalid_count:
return FAIL;
}
}
+ // default for -range is using buffer lines
+ if (*addr_type_arg == ADDR_NONE)
+ *addr_type_arg = ADDR_LINES;
}
else if (STRNICMP(attr, "count", attrlen) == 0)
{
- *argt |= (COUNT | ZEROR | RANGE | NOTADR);
+ *argt |= (COUNT | ZEROR | RANGE);
+ // default for -count is using any number
+ if (*addr_type_arg == ADDR_NONE)
+ *addr_type_arg = ADDR_OTHER;
if (val != NULL)
{
@@ -822,11 +824,10 @@ invalid_count:
emsg(_("E179: argument required for -addr"));
return FAIL;
}
- if (parse_addr_type_arg(val, (int)vallen, argt, addr_type_arg)
- == FAIL)
+ if (parse_addr_type_arg(val, (int)vallen, addr_type_arg) == FAIL)
return FAIL;
if (addr_type_arg != ADDR_LINES)
- *argt |= (ZEROR | NOTADR) ;
+ *argt |= (ZEROR) ;
}
else
{
@@ -854,7 +855,7 @@ uc_add_command(
int flags,
int compl,
char_u *compl_arg UNUSED,
- int addr_type,
+ cmd_addr_T addr_type,
int force)
{
ucmd_T *cmd = NULL;
@@ -974,17 +975,17 @@ fail:
void
ex_command(exarg_T *eap)
{
- char_u *name;
- char_u *end;
- char_u *p;
- long argt = 0;
- long def = -1;
- int flags = 0;
- int compl = EXPAND_NOTHING;
- char_u *compl_arg = NULL;
- int addr_type_arg = ADDR_LINES;
- int has_attr = (eap->arg[0] == '-');
- int name_len;
+ char_u *name;
+ char_u *end;
+ char_u *p;
+ long argt = 0;
+ long def = -1;
+ int flags = 0;
+ int compl = EXPAND_NOTHING;
+ char_u *compl_arg = NULL;
+ cmd_addr_T addr_type_arg = ADDR_NONE;
+ int has_attr = (eap->arg[0] == '-');
+ int name_len;
p = eap->arg;
diff --git a/src/version.c b/src/version.c
index 5c6e50648..bb52dbc4a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1241,
+/**/
1240,
/**/
1239,
diff --git a/src/window.c b/src/window.c
index 1914a3d87..6c278d9e5 100644
--- a/src/window.c
+++ b/src/window.c
@@ -601,7 +601,7 @@ wingotofile:
}
/*
- * Figure out the address type for ":wnncmd".
+ * Figure out the address type for ":wincmd".
*/
void
get_wincmd_addr_type(char_u *arg, exarg_T *eap)
@@ -656,13 +656,13 @@ get_wincmd_addr_type(char_u *arg, exarg_T *eap)
case 'd':
case Ctrl_D:
#endif
- /* window size or any count */
- eap->addr_type = ADDR_LINES;
+ // window size or any count
+ eap->addr_type = ADDR_OTHER;
break;
case Ctrl_HAT:
case '^':
- /* buffer number */
+ // buffer number
eap->addr_type = ADDR_BUFFERS;
break;
@@ -677,7 +677,7 @@ get_wincmd_addr_type(char_u *arg, exarg_T *eap)
case 'W':
case 'x':
case Ctrl_X:
- /* window number */
+ // window number
eap->addr_type = ADDR_WINDOWS;
break;
@@ -694,8 +694,8 @@ get_wincmd_addr_type(char_u *arg, exarg_T *eap)
case Ctrl_P:
case '=':
case CAR:
- /* no count */
- eap->addr_type = 0;
+ // no count
+ eap->addr_type = ADDR_NONE;
break;
}
}