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";
-