diff src/ex_cmds.h @ 27970:212c5894b8b1 v8.2.4510

patch 8.2.4510: Vim9: shortening commands leads to confusing script Commit: https://github.com/vim/vim/commit/204852ae2adfdde10c656ca7f14e5b4207a69172 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 5 12:56:44 2022 +0000 patch 8.2.4510: Vim9: shortening commands leads to confusing script Problem: Vim9: shortening commands leads to confusing script. Solution: In Vim9 script require at least ":cont" for ":continue", "const" instead of "cons", "break" instead of "brea", "catch" instead of "cat", "else" instead of "el" "elseif" instead of "elsei" "endfor" instead of "endfo" "endif" instead of "en" "endtry" instead of "endt", "finally" instead of "fina", "throw" instead of "th", "while" instead of "wh".
author Bram Moolenaar <Bram@vim.org>
date Sat, 05 Mar 2022 14:00:03 +0100
parents 2bdcce61a4e4
children 442ca2007bec
line wrap: on
line diff
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -58,6 +58,7 @@
 #define EX_NONWHITE_OK 0x2000000  // command can be followed by non-white
 #define EX_KEEPSCRIPT  0x4000000  // keep sctx of where command was invoked
 #define EX_EXPR_ARG    0x8000000  // argument is an expression
+#define EX_WHOLE      0x10000000  // command name cannot be shortened in Vim9
 
 #define EX_FILES (EX_XFILE | EX_EXTRA)	// multiple extra files allowed
 #define EX_FILE1 (EX_FILES | EX_NOSPC)	// 1 file, defaults to current file
@@ -221,7 +222,7 @@ EXCMD(CMD_brewind,	"brewind",	ex_brewind
 	EX_BANG|EX_RANGE|EX_CMDARG|EX_TRLBAR,
 	ADDR_OTHER),
 EXCMD(CMD_break,	"break",	ex_break,
-	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
+	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK|EX_WHOLE,
 	ADDR_NONE),
 EXCMD(CMD_breakadd,	"breakadd",	ex_breakadd,
 	EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
@@ -281,7 +282,7 @@ EXCMD(CMD_call,		"call",		ex_call,
 	EX_RANGE|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_EXPR_ARG|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
 	ADDR_LINES),
 EXCMD(CMD_catch,	"catch",	ex_catch,
-	EX_EXTRA|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
+	EX_EXTRA|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK|EX_WHOLE,
 	ADDR_NONE),
 EXCMD(CMD_cbuffer,	"cbuffer",	ex_cbuffer,
 	EX_BANG|EX_RANGE|EX_WORD1|EX_TRLBAR,
@@ -413,7 +414,7 @@ EXCMD(CMD_confirm,	"confirm",	ex_wrongmo
 	EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_CMDWIN|EX_LOCK_OK,
 	ADDR_NONE),
 EXCMD(CMD_const,	"const",	ex_let,
-	EX_EXTRA|EX_BANG|EX_NOTRLCOM|EX_EXPR_ARG|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
+	EX_EXTRA|EX_BANG|EX_NOTRLCOM|EX_EXPR_ARG|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK|EX_WHOLE,
 	ADDR_NONE),
 EXCMD(CMD_copen,	"copen",	ex_copen,
 	EX_RANGE|EX_COUNT|EX_TRLBAR,
@@ -548,16 +549,16 @@ EXCMD(CMD_echon,	"echon",	ex_echo,
 	EX_EXTRA|EX_NOTRLCOM|EX_EXPR_ARG|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
 	ADDR_NONE),
 EXCMD(CMD_else,		"else",		ex_else,
-	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
+	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK|EX_WHOLE,
 	ADDR_NONE),
 EXCMD(CMD_elseif,	"elseif",	ex_else,
-	EX_EXTRA|EX_NOTRLCOM|EX_EXPR_ARG|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
+	EX_EXTRA|EX_NOTRLCOM|EX_EXPR_ARG|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK|EX_WHOLE,
 	ADDR_NONE),
 EXCMD(CMD_emenu,	"emenu",	ex_emenu,
 	EX_NEEDARG|EX_EXTRA|EX_TRLBAR|EX_NOTRLCOM|EX_RANGE|EX_CMDWIN|EX_LOCK_OK,
 	ADDR_OTHER),
 EXCMD(CMD_endif,	"endif",	ex_endif,
-	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
+	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK|EX_WHOLE,
 	ADDR_NONE),
 EXCMD(CMD_endinterface,	"endinterface",	ex_ni,
 	EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
@@ -575,13 +576,13 @@ EXCMD(CMD_endfunction,	"endfunction",	ex
 	EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
 	ADDR_NONE),
 EXCMD(CMD_endfor,	"endfor",	ex_endwhile,
-	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
+	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK|EX_WHOLE,
 	ADDR_NONE),
 EXCMD(CMD_endtry,	"endtry",	ex_endtry,
-	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
+	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK|EX_WHOLE,
 	ADDR_NONE),
 EXCMD(CMD_endwhile,	"endwhile",	ex_endwhile,
-	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
+	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK|EX_WHOLE,
 	ADDR_NONE),
 EXCMD(CMD_enew,		"enew",		ex_edit,
 	EX_BANG|EX_TRLBAR,
@@ -623,10 +624,10 @@ EXCMD(CMD_find,		"find",		ex_find,
 	EX_RANGE|EX_BANG|EX_FILE1|EX_CMDARG|EX_ARGOPT|EX_TRLBAR|EX_NEEDARG,
 	ADDR_OTHER),
 EXCMD(CMD_final,	"final",	ex_let,
-	EX_EXTRA|EX_NOTRLCOM|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
+	EX_EXTRA|EX_NOTRLCOM|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK|EX_WHOLE,
 	ADDR_NONE),
 EXCMD(CMD_finally,	"finally",	ex_finally,
-	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
+	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK|EX_WHOLE,
 	ADDR_NONE),
 EXCMD(CMD_finish,	"finish",	ex_finish,
 	EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
@@ -1601,7 +1602,7 @@ EXCMD(CMD_tfirst,	"tfirst",	ex_tag,
 	EX_RANGE|EX_BANG|EX_TRLBAR|EX_ZEROR,
 	ADDR_OTHER),
 EXCMD(CMD_throw,	"throw",	ex_throw,
-	EX_EXTRA|EX_NEEDARG|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
+	EX_EXTRA|EX_NEEDARG|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK|EX_WHOLE,
 	ADDR_NONE),
 EXCMD(CMD_tjump,	"tjump",	ex_tag,
 	EX_BANG|EX_TRLBAR|EX_WORD1,
@@ -1694,7 +1695,7 @@ EXCMD(CMD_vglobal,	"vglobal",	ex_global,
 	EX_RANGE|EX_WHOLEFOLD|EX_EXTRA|EX_DFLALL|EX_CMDWIN|EX_LOCK_OK|EX_NONWHITE_OK,
 	ADDR_LINES),
 EXCMD(CMD_var,		"var",		ex_var,
-	EX_EXTRA|EX_NOTRLCOM|EX_EXPR_ARG|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
+	EX_EXTRA|EX_NOTRLCOM|EX_EXPR_ARG|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK|EX_WHOLE,
 	ADDR_NONE),
 EXCMD(CMD_version,	"version",	ex_version,
 	EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
@@ -1763,7 +1764,7 @@ EXCMD(CMD_wall,		"wall",		do_wqall,
 	EX_BANG|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
 	ADDR_NONE),
 EXCMD(CMD_while,	"while",	ex_while,
-	EX_EXTRA|EX_NOTRLCOM|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
+	EX_EXTRA|EX_NOTRLCOM|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK|EX_WHOLE,
 	ADDR_NONE),
 EXCMD(CMD_winsize,	"winsize",	ex_winsize,
 	EX_EXTRA|EX_NEEDARG|EX_TRLBAR,