5555#define EX_LOCK_OK 0x1000000 // command can be executed when textlock is
5656 // set; when missing disallows editing another
5757 // buffer when curbuf_lock is set
58+ #define EX_NONWHITE_OK 0x2000000 // command can be followed by non-white
5859
5960#define EX_FILES (EX_XFILE | EX_EXTRA) // multiple extra files allowed
6061#define EX_FILE1 (EX_FILES | EX_NOSPC) // 1 file, defaults to current file
@@ -632,7 +633,7 @@ EXCMD(CMD_function, "function", ex_function,
632633 EX_EXTRA |EX_BANG |EX_SBOXOK |EX_CMDWIN |EX_LOCK_OK ,
633634 ADDR_NONE ),
634635EXCMD (CMD_global , "global" , ex_global ,
635- EX_RANGE |EX_WHOLEFOLD |EX_BANG |EX_EXTRA |EX_DFLALL |EX_SBOXOK |EX_CMDWIN |EX_LOCK_OK ,
636+ EX_RANGE |EX_WHOLEFOLD |EX_BANG |EX_EXTRA |EX_DFLALL |EX_SBOXOK |EX_CMDWIN |EX_LOCK_OK | EX_NONWHITE_OK ,
636637 ADDR_LINES ),
637638EXCMD (CMD_goto , "goto" , ex_goto ,
638639 EX_RANGE |EX_COUNT |EX_TRLBAR |EX_SBOXOK |EX_CMDWIN |EX_LOCK_OK ,
@@ -1283,7 +1284,7 @@ EXCMD(CMD_rviminfo, "rviminfo", ex_viminfo,
12831284 EX_BANG |EX_FILE1 |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK ,
12841285 ADDR_NONE ),
12851286EXCMD (CMD_substitute , "substitute" , ex_substitute ,
1286- EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_CMDWIN |EX_LOCK_OK ,
1287+ EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_CMDWIN |EX_LOCK_OK | EX_NONWHITE_OK ,
12871288 ADDR_LINES ),
12881289EXCMD (CMD_sNext , "sNext" , ex_previous ,
12891290 EX_EXTRA |EX_RANGE |EX_COUNT |EX_BANG |EX_CMDARG |EX_ARGOPT |EX_TRLBAR ,
@@ -1658,7 +1659,7 @@ EXCMD(CMD_update, "update", ex_update,
16581659 EX_RANGE |EX_WHOLEFOLD |EX_BANG |EX_FILE1 |EX_ARGOPT |EX_DFLALL |EX_TRLBAR ,
16591660 ADDR_LINES ),
16601661EXCMD (CMD_vglobal , "vglobal" , ex_global ,
1661- EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_DFLALL |EX_CMDWIN |EX_LOCK_OK ,
1662+ EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_DFLALL |EX_CMDWIN |EX_LOCK_OK | EX_NONWHITE_OK ,
16621663 ADDR_LINES ),
16631664EXCMD (CMD_var , "var" , ex_var ,
16641665 EX_EXTRA |EX_NOTRLCOM |EX_SBOXOK |EX_CMDWIN |EX_LOCK_OK ,
@@ -1798,16 +1799,16 @@ EXCMD(CMD_z, "z", ex_z,
17981799
17991800// commands that don't start with a letter
18001801EXCMD (CMD_bang , "!" , ex_bang ,
1801- EX_RANGE |EX_WHOLEFOLD |EX_BANG |EX_FILES |EX_CMDWIN |EX_LOCK_OK ,
1802+ EX_RANGE |EX_WHOLEFOLD |EX_BANG |EX_FILES |EX_CMDWIN |EX_LOCK_OK | EX_NONWHITE_OK ,
18021803 ADDR_LINES ),
18031804EXCMD (CMD_pound , "#" , ex_print ,
18041805 EX_RANGE |EX_WHOLEFOLD |EX_COUNT |EX_FLAGS |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK ,
18051806 ADDR_LINES ),
18061807EXCMD (CMD_and , "&" , ex_substitute ,
1807- EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_CMDWIN |EX_LOCK_OK |EX_MODIFY ,
1808+ EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_CMDWIN |EX_LOCK_OK |EX_MODIFY | EX_NONWHITE_OK ,
18081809 ADDR_LINES ),
18091810EXCMD (CMD_star , "*" , ex_at ,
1810- EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK ,
1811+ EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK | EX_NONWHITE_OK ,
18111812 ADDR_LINES ),
18121813EXCMD (CMD_lshift , "<" , ex_operators ,
18131814 EX_RANGE |EX_WHOLEFOLD |EX_COUNT |EX_FLAGS |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK |EX_MODIFY ,
@@ -1819,7 +1820,7 @@ EXCMD(CMD_rshift, ">", ex_operators,
18191820 EX_RANGE |EX_WHOLEFOLD |EX_COUNT |EX_FLAGS |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK |EX_MODIFY ,
18201821 ADDR_LINES ),
18211822EXCMD (CMD_at , "@" , ex_at ,
1822- EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK ,
1823+ EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK | EX_NONWHITE_OK ,
18231824 ADDR_LINES ),
18241825EXCMD (CMD_block , "{{{{{{{{" , ex_block , // not found normally
18251826 0 ,
@@ -1828,7 +1829,7 @@ EXCMD(CMD_endblock, "}", ex_endblock,
18281829 EX_TRLBAR |EX_CMDWIN |EX_LOCK_OK ,
18291830 ADDR_NONE ),
18301831EXCMD (CMD_tilde , "~" , ex_substitute ,
1831- EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_CMDWIN |EX_LOCK_OK |EX_MODIFY ,
1832+ EX_RANGE |EX_WHOLEFOLD |EX_EXTRA |EX_CMDWIN |EX_LOCK_OK |EX_MODIFY | EX_NONWHITE_OK ,
18321833 ADDR_LINES ),
18331834
18341835// commands that start with an uppercase letter
0 commit comments