@@ -73,8 +73,10 @@ typedef enum {
7373 ADDR_BUFFERS , // buffer number
7474 ADDR_TABS , // tab page number
7575 ADDR_TABS_RELATIVE , // Tab page that only relative
76+ ADDR_QUICKFIX_VALID , // quickfix list valid entry number
7677 ADDR_QUICKFIX , // quickfix list entry number
77- ADDR_OTHER , // something else
78+ ADDR_UNSIGNED , // positive count or zero, defaults to 1
79+ ADDR_OTHER , // something else, use line number for '$', '%', etc.
7880 ADDR_NONE // no range used
7981} cmd_addr_T ;
8082#endif
@@ -92,7 +94,7 @@ typedef struct exarg exarg_T;
9294 * Not supported commands are included to avoid ambiguities.
9395 */
9496#ifdef EX
95- # undef EX /* just in case */
97+ # undef EX // just in case
9698#endif
9799#ifdef DO_DECLARE_EXCMD
98100# define EX (a , b , c , d , e ) {(char_u *)b, c, (long_u)(d), e}
@@ -242,19 +244,19 @@ EX(CMD_change, "change", ex_change,
242244 ADDR_LINES ),
243245EX (CMD_cNext , "cNext" , ex_cnext ,
244246 RANGE |COUNT |TRLBAR |BANG ,
245- ADDR_OTHER ),
247+ ADDR_UNSIGNED ),
246248EX (CMD_cNfile , "cNfile" , ex_cnext ,
247249 RANGE |COUNT |TRLBAR |BANG ,
248- ADDR_OTHER ),
250+ ADDR_UNSIGNED ),
249251EX (CMD_cabbrev , "cabbrev" , ex_abbreviate ,
250252 EXTRA |TRLBAR |NOTRLCOM |USECTRLV |CMDWIN ,
251253 ADDR_NONE ),
252254EX (CMD_cabclear , "cabclear" , ex_abclear ,
253255 EXTRA |TRLBAR |CMDWIN ,
254256 ADDR_NONE ),
255257EX (CMD_cabove , "cabove" , ex_cbelow ,
256- RANGE |TRLBAR ,
257- ADDR_OTHER ),
258+ RANGE |COUNT | TRLBAR ,
259+ ADDR_UNSIGNED ),
258260EX (CMD_caddbuffer , "caddbuffer" , ex_cbuffer ,
259261 RANGE |WORD1 |TRLBAR ,
260262 ADDR_OTHER ),
@@ -274,14 +276,14 @@ EX(CMD_cbuffer, "cbuffer", ex_cbuffer,
274276 BANG |RANGE |WORD1 |TRLBAR ,
275277 ADDR_OTHER ),
276278EX (CMD_cbelow , "cbelow" , ex_cbelow ,
277- RANGE |TRLBAR ,
278- ADDR_OTHER ),
279+ RANGE |COUNT | TRLBAR ,
280+ ADDR_UNSIGNED ),
279281EX (CMD_cbottom , "cbottom" , ex_cbottom ,
280282 TRLBAR ,
281283 ADDR_NONE ),
282284EX (CMD_cc , "cc" , ex_cc ,
283285 RANGE |COUNT |TRLBAR |BANG ,
284- ADDR_OTHER ),
286+ ADDR_QUICKFIX ),
285287EX (CMD_cclose , "cclose" , ex_cclose ,
286288 TRLBAR ,
287289 ADDR_NONE ),
@@ -290,7 +292,7 @@ EX(CMD_cd, "cd", ex_cd,
290292 ADDR_NONE ),
291293EX (CMD_cdo , "cdo" , ex_listdo ,
292294 BANG |NEEDARG |EXTRA |NOTRLCOM |RANGE |DFLALL ,
293- ADDR_QUICKFIX ),
295+ ADDR_QUICKFIX_VALID ),
294296EX (CMD_center , "center" , ex_align ,
295297 TRLBAR |RANGE |WHOLEFOLD |EXTRA |CMDWIN |MODIFY ,
296298 ADDR_LINES ),
@@ -302,10 +304,10 @@ EX(CMD_cfile, "cfile", ex_cfile,
302304 ADDR_NONE ),
303305EX (CMD_cfdo , "cfdo" , ex_listdo ,
304306 BANG |NEEDARG |EXTRA |NOTRLCOM |RANGE |DFLALL ,
305- ADDR_QUICKFIX ),
307+ ADDR_QUICKFIX_VALID ),
306308EX (CMD_cfirst , "cfirst" , ex_cc ,
307309 RANGE |COUNT |TRLBAR |BANG ,
308- ADDR_OTHER ),
310+ ADDR_UNSIGNED ),
309311EX (CMD_cgetfile , "cgetfile" , ex_cfile ,
310312 TRLBAR |FILE1 ,
311313 ADDR_NONE ),
@@ -335,7 +337,7 @@ EX(CMD_clist, "clist", qf_list,
335337 ADDR_NONE ),
336338EX (CMD_clast , "clast" , ex_cc ,
337339 RANGE |COUNT |TRLBAR |BANG ,
338- ADDR_OTHER ),
340+ ADDR_UNSIGNED ),
339341EX (CMD_close , "close" , ex_close ,
340342 BANG |RANGE |COUNT |TRLBAR |CMDWIN ,
341343 ADDR_WINDOWS ),
@@ -353,13 +355,13 @@ EX(CMD_cmenu, "cmenu", ex_menu,
353355 ADDR_OTHER ),
354356EX (CMD_cnext , "cnext" , ex_cnext ,
355357 RANGE |COUNT |TRLBAR |BANG ,
356- ADDR_OTHER ),
358+ ADDR_UNSIGNED ),
357359EX (CMD_cnewer , "cnewer" , qf_age ,
358360 RANGE |COUNT |TRLBAR ,
359- ADDR_OTHER ),
361+ ADDR_UNSIGNED ),
360362EX (CMD_cnfile , "cnfile" , ex_cnext ,
361363 RANGE |COUNT |TRLBAR |BANG ,
362- ADDR_OTHER ),
364+ ADDR_UNSIGNED ),
363365EX (CMD_cnoremap , "cnoremap" , ex_map ,
364366 EXTRA |TRLBAR |NOTRLCOM |USECTRLV |CMDWIN ,
365367 ADDR_NONE ),
@@ -374,7 +376,7 @@ EX(CMD_copy, "copy", ex_copymove,
374376 ADDR_LINES ),
375377EX (CMD_colder , "colder" , qf_age ,
376378 RANGE |COUNT |TRLBAR ,
377- ADDR_OTHER ),
379+ ADDR_UNSIGNED ),
378380EX (CMD_colorscheme , "colorscheme" , ex_colorscheme ,
379381 WORD1 |TRLBAR |CMDWIN ,
380382 ADDR_NONE ),
@@ -398,7 +400,7 @@ EX(CMD_copen, "copen", ex_copen,
398400 ADDR_OTHER ),
399401EX (CMD_cprevious , "cprevious" , ex_cnext ,
400402 RANGE |COUNT |TRLBAR |BANG ,
401- ADDR_OTHER ),
403+ ADDR_UNSIGNED ),
402404EX (CMD_cpfile , "cpfile" , ex_cnext ,
403405 RANGE |COUNT |TRLBAR |BANG ,
404406 ADDR_OTHER ),
@@ -407,7 +409,7 @@ EX(CMD_cquit, "cquit", ex_cquit,
407409 ADDR_NONE ),
408410EX (CMD_crewind , "crewind" , ex_cc ,
409411 RANGE |COUNT |TRLBAR |BANG ,
410- ADDR_OTHER ),
412+ ADDR_UNSIGNED ),
411413EX (CMD_cscope , "cscope" , ex_cscope ,
412414 EXTRA |NOTRLCOM |XFILE ,
413415 ADDR_NONE ),
@@ -725,16 +727,16 @@ EX(CMD_list, "list", ex_print,
725727 ADDR_LINES ),
726728EX (CMD_lNext , "lNext" , ex_cnext ,
727729 RANGE |COUNT |TRLBAR |BANG ,
728- ADDR_OTHER ),
730+ ADDR_UNSIGNED ),
729731EX (CMD_lNfile , "lNfile" , ex_cnext ,
730732 RANGE |COUNT |TRLBAR |BANG ,
731- ADDR_OTHER ),
733+ ADDR_UNSIGNED ),
732734EX (CMD_last , "last" , ex_last ,
733735 EXTRA |BANG |EDITCMD |ARGOPT |TRLBAR ,
734736 ADDR_NONE ),
735737EX (CMD_labove , "labove" , ex_cbelow ,
736- RANGE |TRLBAR ,
737- ADDR_OTHER ),
738+ RANGE |COUNT | TRLBAR ,
739+ ADDR_UNSIGNED ),
738740EX (CMD_language , "language" , ex_language ,
739741 EXTRA |TRLBAR |CMDWIN ,
740742 ADDR_NONE ),
@@ -754,8 +756,8 @@ EX(CMD_lbuffer, "lbuffer", ex_cbuffer,
754756 BANG |RANGE |WORD1 |TRLBAR ,
755757 ADDR_OTHER ),
756758EX (CMD_lbelow , "lbelow" , ex_cbelow ,
757- RANGE |TRLBAR ,
758- ADDR_OTHER ),
759+ RANGE |COUNT | TRLBAR ,
760+ ADDR_UNSIGNED ),
759761EX (CMD_lbottom , "lbottom" , ex_cbottom ,
760762 TRLBAR ,
761763 ADDR_NONE ),
@@ -773,7 +775,7 @@ EX(CMD_lcscope, "lcscope", ex_cscope,
773775 ADDR_NONE ),
774776EX (CMD_ldo , "ldo" , ex_listdo ,
775777 BANG |NEEDARG |EXTRA |NOTRLCOM |RANGE |DFLALL ,
776- ADDR_QUICKFIX ),
778+ ADDR_QUICKFIX_VALID ),
777779EX (CMD_left , "left" , ex_align ,
778780 TRLBAR |RANGE |WHOLEFOLD |EXTRA |CMDWIN |MODIFY ,
779781 ADDR_LINES ),
@@ -791,10 +793,10 @@ EX(CMD_lfile, "lfile", ex_cfile,
791793 ADDR_NONE ),
792794EX (CMD_lfdo , "lfdo" , ex_listdo ,
793795 BANG |NEEDARG |EXTRA |NOTRLCOM |RANGE |DFLALL ,
794- ADDR_QUICKFIX ),
796+ ADDR_QUICKFIX_VALID ),
795797EX (CMD_lfirst , "lfirst" , ex_cc ,
796798 RANGE |COUNT |TRLBAR |BANG ,
797- ADDR_OTHER ),
799+ ADDR_UNSIGNED ),
798800EX (CMD_lgetfile , "lgetfile" , ex_cfile ,
799801 TRLBAR |FILE1 ,
800802 ADDR_NONE ),
@@ -818,10 +820,10 @@ EX(CMD_lhistory, "lhistory", qf_history,
818820 ADDR_NONE ),
819821EX (CMD_ll , "ll" , ex_cc ,
820822 RANGE |COUNT |TRLBAR |BANG ,
821- ADDR_OTHER ),
823+ ADDR_QUICKFIX ),
822824EX (CMD_llast , "llast" , ex_cc ,
823825 RANGE |COUNT |TRLBAR |BANG ,
824- ADDR_OTHER ),
826+ ADDR_UNSIGNED ),
825827EX (CMD_llist , "llist" , qf_list ,
826828 BANG |EXTRA |TRLBAR |CMDWIN ,
827829 ADDR_NONE ),
@@ -839,13 +841,13 @@ EX(CMD_lnoremap, "lnoremap", ex_map,
839841 ADDR_NONE ),
840842EX (CMD_lnext , "lnext" , ex_cnext ,
841843 RANGE |COUNT |TRLBAR |BANG ,
842- ADDR_OTHER ),
844+ ADDR_UNSIGNED ),
843845EX (CMD_lnewer , "lnewer" , qf_age ,
844846 RANGE |COUNT |TRLBAR ,
845- ADDR_OTHER ),
847+ ADDR_UNSIGNED ),
846848EX (CMD_lnfile , "lnfile" , ex_cnext ,
847849 RANGE |COUNT |TRLBAR |BANG ,
848- ADDR_OTHER ),
850+ ADDR_UNSIGNED ),
849851EX (CMD_loadview , "loadview" , ex_loadview ,
850852 FILE1 |TRLBAR ,
851853 ADDR_NONE ),
@@ -860,19 +862,19 @@ EX(CMD_lockvar, "lockvar", ex_lockvar,
860862 ADDR_NONE ),
861863EX (CMD_lolder , "lolder" , qf_age ,
862864 RANGE |COUNT |TRLBAR ,
863- ADDR_OTHER ),
865+ ADDR_UNSIGNED ),
864866EX (CMD_lopen , "lopen" , ex_copen ,
865867 RANGE |COUNT |TRLBAR ,
866868 ADDR_OTHER ),
867869EX (CMD_lprevious , "lprevious" , ex_cnext ,
868870 RANGE |COUNT |TRLBAR |BANG ,
869- ADDR_OTHER ),
871+ ADDR_UNSIGNED ),
870872EX (CMD_lpfile , "lpfile" , ex_cnext ,
871873 RANGE |COUNT |TRLBAR |BANG ,
872874 ADDR_OTHER ),
873875EX (CMD_lrewind , "lrewind" , ex_cc ,
874876 RANGE |COUNT |TRLBAR |BANG ,
875- ADDR_OTHER ),
877+ ADDR_UNSIGNED ),
876878EX (CMD_ltag , "ltag" , ex_tag ,
877879 TRLBAR |BANG |WORD1 ,
878880 ADDR_NONE ),
0 commit comments