summaryrefslogtreecommitdiff
path: root/src/ex_cmds.h
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-05-04 15:05:28 +0200
committerBram Moolenaar <Bram@vim.org>2019-05-04 15:05:28 +0200
commit25190db225d63e185e77e043e694ef455b3cf304 (patch)
tree83bd30d169a67c3196f256fe27326da26f4c9369 /src/ex_cmds.h
parente4f5f3aa3d597ec9188e01b004013a02bceb4026 (diff)
downloadvim-git-25190db225d63e185e77e043e694ef455b3cf304.tar.gz
patch 8.1.1261: no error for quickfix commands with negative rangev8.1.1261
Problem: No error for quickfix commands with negative range. Solution: Add ADDR_UNSIGNED and use it for quickfix commands. Make assert_fails() show the command if the error doesn't match.
Diffstat (limited to 'src/ex_cmds.h')
-rw-r--r--src/ex_cmds.h74
1 files changed, 38 insertions, 36 deletions
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 73914725a..58aa8c313 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -73,8 +73,10 @@ typedef enum {
ADDR_BUFFERS, // buffer number
ADDR_TABS, // tab page number
ADDR_TABS_RELATIVE, // Tab page that only relative
+ ADDR_QUICKFIX_VALID, // quickfix list valid entry number
ADDR_QUICKFIX, // quickfix list entry number
- ADDR_OTHER, // something else
+ ADDR_UNSIGNED, // positive count or zero, defaults to 1
+ ADDR_OTHER, // something else, use line number for '$', '%', etc.
ADDR_NONE // no range used
} cmd_addr_T;
#endif
@@ -92,7 +94,7 @@ typedef struct exarg exarg_T;
* Not supported commands are included to avoid ambiguities.
*/
#ifdef EX
-# undef EX /* just in case */
+# undef EX // just in case
#endif
#ifdef DO_DECLARE_EXCMD
# define EX(a, b, c, d, e) {(char_u *)b, c, (long_u)(d), e}
@@ -242,10 +244,10 @@ EX(CMD_change, "change", ex_change,
ADDR_LINES),
EX(CMD_cNext, "cNext", ex_cnext,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_cNfile, "cNfile", ex_cnext,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_cabbrev, "cabbrev", ex_abbreviate,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
ADDR_NONE),
@@ -253,8 +255,8 @@ EX(CMD_cabclear, "cabclear", ex_abclear,
EXTRA|TRLBAR|CMDWIN,
ADDR_NONE),
EX(CMD_cabove, "cabove", ex_cbelow,
- RANGE|TRLBAR,
- ADDR_OTHER),
+ RANGE|COUNT|TRLBAR,
+ ADDR_UNSIGNED),
EX(CMD_caddbuffer, "caddbuffer", ex_cbuffer,
RANGE|WORD1|TRLBAR,
ADDR_OTHER),
@@ -274,14 +276,14 @@ EX(CMD_cbuffer, "cbuffer", ex_cbuffer,
BANG|RANGE|WORD1|TRLBAR,
ADDR_OTHER),
EX(CMD_cbelow, "cbelow", ex_cbelow,
- RANGE|TRLBAR,
- ADDR_OTHER),
+ RANGE|COUNT|TRLBAR,
+ ADDR_UNSIGNED),
EX(CMD_cbottom, "cbottom", ex_cbottom,
TRLBAR,
ADDR_NONE),
EX(CMD_cc, "cc", ex_cc,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_QUICKFIX),
EX(CMD_cclose, "cclose", ex_cclose,
TRLBAR,
ADDR_NONE),
@@ -290,7 +292,7 @@ EX(CMD_cd, "cd", ex_cd,
ADDR_NONE),
EX(CMD_cdo, "cdo", ex_listdo,
BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|DFLALL,
- ADDR_QUICKFIX),
+ ADDR_QUICKFIX_VALID),
EX(CMD_center, "center", ex_align,
TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY,
ADDR_LINES),
@@ -302,10 +304,10 @@ EX(CMD_cfile, "cfile", ex_cfile,
ADDR_NONE),
EX(CMD_cfdo, "cfdo", ex_listdo,
BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|DFLALL,
- ADDR_QUICKFIX),
+ ADDR_QUICKFIX_VALID),
EX(CMD_cfirst, "cfirst", ex_cc,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_cgetfile, "cgetfile", ex_cfile,
TRLBAR|FILE1,
ADDR_NONE),
@@ -335,7 +337,7 @@ EX(CMD_clist, "clist", qf_list,
ADDR_NONE),
EX(CMD_clast, "clast", ex_cc,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_close, "close", ex_close,
BANG|RANGE|COUNT|TRLBAR|CMDWIN,
ADDR_WINDOWS),
@@ -353,13 +355,13 @@ EX(CMD_cmenu, "cmenu", ex_menu,
ADDR_OTHER),
EX(CMD_cnext, "cnext", ex_cnext,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_cnewer, "cnewer", qf_age,
RANGE|COUNT|TRLBAR,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_cnfile, "cnfile", ex_cnext,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_cnoremap, "cnoremap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN,
ADDR_NONE),
@@ -374,7 +376,7 @@ EX(CMD_copy, "copy", ex_copymove,
ADDR_LINES),
EX(CMD_colder, "colder", qf_age,
RANGE|COUNT|TRLBAR,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_colorscheme, "colorscheme", ex_colorscheme,
WORD1|TRLBAR|CMDWIN,
ADDR_NONE),
@@ -398,7 +400,7 @@ EX(CMD_copen, "copen", ex_copen,
ADDR_OTHER),
EX(CMD_cprevious, "cprevious", ex_cnext,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_cpfile, "cpfile", ex_cnext,
RANGE|COUNT|TRLBAR|BANG,
ADDR_OTHER),
@@ -407,7 +409,7 @@ EX(CMD_cquit, "cquit", ex_cquit,
ADDR_NONE),
EX(CMD_crewind, "crewind", ex_cc,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_cscope, "cscope", ex_cscope,
EXTRA|NOTRLCOM|XFILE,
ADDR_NONE),
@@ -725,16 +727,16 @@ EX(CMD_list, "list", ex_print,
ADDR_LINES),
EX(CMD_lNext, "lNext", ex_cnext,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_lNfile, "lNfile", ex_cnext,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_last, "last", ex_last,
EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR,
ADDR_NONE),
EX(CMD_labove, "labove", ex_cbelow,
- RANGE|TRLBAR,
- ADDR_OTHER),
+ RANGE|COUNT|TRLBAR,
+ ADDR_UNSIGNED),
EX(CMD_language, "language", ex_language,
EXTRA|TRLBAR|CMDWIN,
ADDR_NONE),
@@ -754,8 +756,8 @@ EX(CMD_lbuffer, "lbuffer", ex_cbuffer,
BANG|RANGE|WORD1|TRLBAR,
ADDR_OTHER),
EX(CMD_lbelow, "lbelow", ex_cbelow,
- RANGE|TRLBAR,
- ADDR_OTHER),
+ RANGE|COUNT|TRLBAR,
+ ADDR_UNSIGNED),
EX(CMD_lbottom, "lbottom", ex_cbottom,
TRLBAR,
ADDR_NONE),
@@ -773,7 +775,7 @@ EX(CMD_lcscope, "lcscope", ex_cscope,
ADDR_NONE),
EX(CMD_ldo, "ldo", ex_listdo,
BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|DFLALL,
- ADDR_QUICKFIX),
+ ADDR_QUICKFIX_VALID),
EX(CMD_left, "left", ex_align,
TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY,
ADDR_LINES),
@@ -791,10 +793,10 @@ EX(CMD_lfile, "lfile", ex_cfile,
ADDR_NONE),
EX(CMD_lfdo, "lfdo", ex_listdo,
BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|DFLALL,
- ADDR_QUICKFIX),
+ ADDR_QUICKFIX_VALID),
EX(CMD_lfirst, "lfirst", ex_cc,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_lgetfile, "lgetfile", ex_cfile,
TRLBAR|FILE1,
ADDR_NONE),
@@ -818,10 +820,10 @@ EX(CMD_lhistory, "lhistory", qf_history,
ADDR_NONE),
EX(CMD_ll, "ll", ex_cc,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_QUICKFIX),
EX(CMD_llast, "llast", ex_cc,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_llist, "llist", qf_list,
BANG|EXTRA|TRLBAR|CMDWIN,
ADDR_NONE),
@@ -839,13 +841,13 @@ EX(CMD_lnoremap, "lnoremap", ex_map,
ADDR_NONE),
EX(CMD_lnext, "lnext", ex_cnext,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_lnewer, "lnewer", qf_age,
RANGE|COUNT|TRLBAR,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_lnfile, "lnfile", ex_cnext,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_loadview, "loadview", ex_loadview,
FILE1|TRLBAR,
ADDR_NONE),
@@ -860,19 +862,19 @@ EX(CMD_lockvar, "lockvar", ex_lockvar,
ADDR_NONE),
EX(CMD_lolder, "lolder", qf_age,
RANGE|COUNT|TRLBAR,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_lopen, "lopen", ex_copen,
RANGE|COUNT|TRLBAR,
ADDR_OTHER),
EX(CMD_lprevious, "lprevious", ex_cnext,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_lpfile, "lpfile", ex_cnext,
RANGE|COUNT|TRLBAR|BANG,
ADDR_OTHER),
EX(CMD_lrewind, "lrewind", ex_cc,
RANGE|COUNT|TRLBAR|BANG,
- ADDR_OTHER),
+ ADDR_UNSIGNED),
EX(CMD_ltag, "ltag", ex_tag,
TRLBAR|BANG|WORD1,
ADDR_NONE),