patch 8.0.0514: script for creating cmdidxs can be improved
Problem: Script for creating cmdidxs can be improved.
Solution: Count skipped lines instead of collecting the lines. Add "const".
(Dominique Pelle, closes #1594)
diff --git a/src/create_cmdidxs.pl b/src/create_cmdidxs.pl
index ff8dcc3..d39ac16 100644
--- a/src/create_cmdidxs.pl
+++ b/src/create_cmdidxs.pl
@@ -9,15 +9,17 @@
# Script should be run every time new Ex commands are added in Vim,
# from the src/vim directory, since it reads commands from "ex_cmds.h".
+use strict;
+
# Find the list of Vim commands from cmdnames[] table in ex_cmds.h
my @cmds;
-my @skipped;
+my $skipped_cmds;
open(IN, "< ex_cmds.h") or die "can't open ex_cmds.h: $!\n";
while (<IN>) {
if (/^EX\(CMD_\S*,\s*"([a-z][^"]*)"/) {
- push (@cmds, $1);
+ push @cmds, $1;
} elsif (/^EX\(CMD_/) {
- push (@skipped, $1);
+ ++$skipped_cmds;
}
}
@@ -68,7 +70,6 @@
}
print "};\n",
"\n",
- "static int command_count = ", $#cmds + $#skipped + 2 , ";\n",
+ "static const int command_count = ", scalar(@cmds) + $skipped_cmds, ";\n",
"\n",
"/* End of automatically generated code by create_cmdidxs.pl */\n";
-
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 9782557..8755f05 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -566,7 +566,7 @@
/* 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 int command_count = 539;
+static const int command_count = 539;
/* End of automatically generated code by create_cmdidxs.pl */
diff --git a/src/version.c b/src/version.c
index 28f3c59..79c97f9 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 514,
+/**/
513,
/**/
512,