# HG changeset patch # User Christian Brabandt # Date 1490558405 -7200 # Node ID 17ba19406c50dad27694051e2c6b5cf36439955a # Parent e89930ecb1ca105f4ae42040af52456f5abc5354 patch 8.0.0514: script for creating cmdidxs can be improved commit https://github.com/vim/vim/commit/980128c369451450743bdb90a67588fa72ec4b07 Author: Bram Moolenaar Date: Sun Mar 26 21:46:28 2017 +0200 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 --- 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 () { 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 @@ for my $c1 ('a' .. 'z') { } 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 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -566,7 +566,7 @@ static const unsigned char cmdidxs2[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 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 --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 514, +/**/ 513, /**/ 512,