diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-05-04 15:05:28 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-05-04 15:05:28 +0200 |
commit | 25190db225d63e185e77e043e694ef455b3cf304 (patch) | |
tree | 83bd30d169a67c3196f256fe27326da26f4c9369 /src/ex_cmds.h | |
parent | e4f5f3aa3d597ec9188e01b004013a02bceb4026 (diff) |
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.h | 74 |
1 files changed, 38 insertions, 36 deletions
diff --git a/src/ex_cmds.h b/src/ex_cmds.h index 73914725a2..58aa8c313f 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), |