summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-06-12 14:53:05 +0200
committerBram Moolenaar <Bram@vim.org>2021-06-12 14:53:05 +0200
commit742357718000927d652b1a98d313a3950571c8ec (patch)
tree2c949be108cedce8153f585a013ca4b13ba67b3e /src
parent6654ca702ca64c99965efcad3243ea5f95473252 (diff)
patch 8.2.2982: Vim9: future commands are not reserved yetv8.2.2982
Problem: Vim9: future commands are not reserved yet. Solution: Add commands to be implemented later. Make "this" a reserved name.
Diffstat (limited to 'src')
-rw-r--r--src/ex_cmdidxs.h60
-rw-r--r--src/ex_cmds.h12
-rw-r--r--src/testdir/test_vim9_assign.vim2
-rw-r--r--src/version.c2
-rw-r--r--src/vim9script.c1
5 files changed, 47 insertions, 30 deletions
diff --git a/src/ex_cmdidxs.h b/src/ex_cmdidxs.h
index 76b6dff052..3ad1cd8ecf 100644
--- a/src/ex_cmdidxs.h
+++ b/src/ex_cmdidxs.h
@@ -6,31 +6,31 @@
static const unsigned short cmdidxs1[26] =
{
/* a */ 0,
- /* b */ 19,
- /* c */ 43,
- /* d */ 110,
- /* e */ 135,
- /* f */ 162,
- /* g */ 179,
- /* h */ 185,
- /* i */ 194,
- /* j */ 213,
- /* k */ 215,
- /* l */ 220,
- /* m */ 283,
- /* n */ 301,
- /* o */ 321,
- /* p */ 333,
- /* q */ 372,
- /* r */ 375,
- /* s */ 395,
- /* t */ 464,
- /* u */ 510,
- /* v */ 521,
- /* w */ 542,
- /* x */ 556,
- /* y */ 566,
- /* z */ 567
+ /* b */ 20,
+ /* c */ 44,
+ /* d */ 111,
+ /* e */ 136,
+ /* f */ 164,
+ /* g */ 181,
+ /* h */ 187,
+ /* i */ 196,
+ /* j */ 216,
+ /* k */ 218,
+ /* l */ 223,
+ /* m */ 286,
+ /* n */ 304,
+ /* o */ 324,
+ /* p */ 336,
+ /* q */ 375,
+ /* r */ 378,
+ /* s */ 398,
+ /* t */ 468,
+ /* u */ 514,
+ /* v */ 525,
+ /* w */ 546,
+ /* x */ 560,
+ /* y */ 570,
+ /* z */ 571
};
/*
@@ -41,15 +41,15 @@ static const unsigned short cmdidxs1[26] =
*/
static const unsigned char cmdidxs2[26][26] =
{ /* a b c d e f g h i j k l m n o p q r s t u v w x y z */
- /* a */ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 0, 0, 0, 7, 15, 0, 16, 0, 0, 0, 0, 0 },
+ /* a */ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 8, 16, 0, 17, 0, 0, 0, 0, 0 },
/* b */ { 2, 0, 0, 5, 6, 8, 0, 0, 0, 0, 0, 9, 10, 11, 12, 13, 0, 14, 0, 0, 0, 0, 23, 0, 0, 0 },
/* c */ { 3, 12, 16, 18, 20, 22, 25, 0, 0, 0, 0, 33, 38, 41, 47, 57, 59, 60, 61, 0, 63, 0, 66, 0, 0, 0 },
/* d */ { 0, 0, 0, 0, 0, 0, 0, 0, 8, 18, 0, 19, 0, 0, 20, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0 },
- /* e */ { 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 8, 10, 11, 0, 0, 0, 0, 0, 0, 0, 21, 0, 22, 0, 0 },
+ /* e */ { 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 8, 10, 11, 0, 0, 0, 0, 0, 0, 0, 22, 0, 23, 0, 0 },
/* f */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0 },
/* g */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 4, 5, 0, 0, 0, 0 },
/* h */ { 5, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
- /* i */ { 1, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 5, 6, 0, 0, 0, 0, 0, 14, 0, 16, 0, 0, 0, 0, 0 },
+ /* i */ { 1, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 5, 6, 0, 0, 0, 0, 0, 15, 0, 17, 0, 0, 0, 0, 0 },
/* j */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
/* k */ { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* l */ { 3, 11, 15, 19, 20, 25, 28, 33, 0, 0, 0, 35, 38, 41, 45, 51, 0, 53, 62, 54, 55, 59, 61, 0, 0, 0 },
@@ -59,7 +59,7 @@ static const unsigned char cmdidxs2[26][26] =
/* p */ { 1, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 0, 0, 16, 17, 26, 0, 27, 0, 28, 0 },
/* q */ { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* r */ { 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 19, 0, 0, 0, 0 },
- /* s */ { 2, 6, 15, 0, 19, 23, 0, 25, 26, 0, 0, 29, 31, 35, 39, 41, 0, 50, 0, 51, 0, 63, 64, 0, 65, 0 },
+ /* s */ { 2, 6, 15, 0, 19, 23, 0, 25, 26, 0, 0, 29, 31, 35, 39, 41, 0, 50, 0, 51, 0, 64, 65, 0, 66, 0 },
/* t */ { 2, 0, 19, 0, 24, 26, 0, 27, 0, 28, 0, 29, 33, 36, 38, 39, 0, 40, 42, 0, 43, 0, 0, 0, 45, 0 },
/* u */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* v */ { 1, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 12, 15, 0, 0, 0, 0, 18, 0, 19, 0, 0, 0, 0, 0 },
@@ -69,4 +69,4 @@ static const unsigned char cmdidxs2[26][26] =
/* z */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
};
-static const int command_count = 584;
+static const int command_count = 588;
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 8a1ed5ed68..8ddac37b55 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -122,6 +122,9 @@ EXCMD(CMD_abclear, "abclear", ex_abclear,
EXCMD(CMD_aboveleft, "aboveleft", ex_wrongmodifier,
EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM,
ADDR_NONE),
+EXCMD(CMD_abstract, "abstract", ex_ni,
+ EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
+ ADDR_NONE),
EXCMD(CMD_all, "all", ex_all,
EX_BANG|EX_RANGE|EX_COUNT|EX_TRLBAR,
ADDR_OTHER),
@@ -551,6 +554,9 @@ EXCMD(CMD_emenu, "emenu", ex_emenu,
EXCMD(CMD_endif, "endif", ex_endif,
EX_TRLBAR|EX_SBOXOK|EX_CMDWIN|EX_LOCK_OK,
ADDR_NONE),
+EXCMD(CMD_endinterface, "endinterface", ex_ni,
+ EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
+ ADDR_NONE),
EXCMD(CMD_endclass, "endclass", ex_ni,
EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
ADDR_NONE),
@@ -734,6 +740,9 @@ EXCMD(CMD_inoremenu, "inoremenu", ex_menu,
EXCMD(CMD_intro, "intro", ex_intro,
EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
ADDR_NONE),
+EXCMD(CMD_interface, "interface", ex_ni,
+ EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
+ ADDR_NONE),
EXCMD(CMD_isearch, "isearch", ex_findpat,
EX_BANG|EX_RANGE|EX_DFLALL|EX_WHOLEFOLD|EX_EXTRA|EX_CMDWIN|EX_LOCK_OK,
ADDR_LINES),
@@ -1463,6 +1472,9 @@ EXCMD(CMD_startgreplace, "startgreplace", ex_startinsert,
EXCMD(CMD_startreplace, "startreplace", ex_startinsert,
EX_BANG|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
ADDR_NONE),
+EXCMD(CMD_static, "static", ex_ni,
+ EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
+ ADDR_NONE),
EXCMD(CMD_stopinsert, "stopinsert", ex_stopinsert,
EX_BANG|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
ADDR_NONE),
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index b8c6433638..7b7b62305b 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -982,6 +982,8 @@ def Test_assignment_failure()
CheckDefFailure(['var true = 1'], 'E1034:')
CheckDefFailure(['var false = 1'], 'E1034:')
+ CheckDefFailure(['var null = 1'], 'E1034:')
+ CheckDefFailure(['var this = 1'], 'E1034:')
CheckDefFailure(['[a; b; c] = g:list'], 'E452:')
CheckDefExecFailure(['var a: number',
diff --git a/src/version.c b/src/version.c
index 15ee76aed6..17ae9a4de2 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2982,
+/**/
2981,
/**/
2980,
diff --git a/src/vim9script.c b/src/vim9script.c
index fbb815c28e..7078cbe9cc 100644
--- a/src/vim9script.c
+++ b/src/vim9script.c
@@ -979,6 +979,7 @@ static char *reserved[] = {
"true",
"false",
"null",
+ "this",
NULL
};