diff src/Makefile @ 11236:62c96fee518e v8.0.0504

patch 8.0.0504: looking up an Ex command is a bit slow commit https://github.com/vim/vim/commit/e5e0fbcd4244d032a0635ad7defe2831f251c639 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 25 14:51:01 2017 +0100 patch 8.0.0504: looking up an Ex command is a bit slow Problem: Looking up an Ex command is a bit slow. Solution: Instead of just using the first letter, also use the second letter to skip ahead in the list of commands. Generate the table with a Perl script. (Dominique Pelle, closes #1589)
author Christian Brabandt <cb@256bit.org>
date Sat, 25 Mar 2017 15:00:05 +0100
parents d3415ec1cdaf
children 96d83cd2904a
line wrap: on
line diff
--- a/src/Makefile
+++ b/src/Makefile
@@ -1884,6 +1884,16 @@ autoconf:
 	-rm -rf autom4te.cache
 	-rm -f auto/config.status auto/config.cache
 
+# Run Perl to generate the Ex command lookup table.  This only needs to be run
+# when a command name has been added or changed.
+# NOTE: Only works when perl and vim executables are available
+cmdidxs: ex_cmds.h
+	if test X`perl -e "print 123"` = "X123"; then \
+	   vim ex_docmd.c -c '/Beginning.*create_cmdidxs/,/End.*create_cmdidxs/! perl create_cmdidxs.pl' -c wq; \
+	else \
+	   echo Cannot run Perl; \
+	fi
+
 # Re-execute this Makefile to include the new auto/config.mk produced by
 # configure Only used when typing "make" with a fresh auto/config.mk.
 myself: