From 4dc0dd869972ddafc7d9ee5ea765645b818a6dc9 Mon Sep 17 00:00:00 2001 From: Yegappan Lakshmanan Date: Sat, 29 Jan 2022 13:06:40 +0000 Subject: patch 8.2.4252: generating the normal command table at runtime is inefficient Problem: Generating the normal command table at runtime is inefficient. Solution: Generate the table with a Vim script and put it in a header file. (Yegappan Lakshmanan, closes #9648) --- src/Make_mvc.mak | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/Make_mvc.mak') diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak index 3100d38f60..7852150563 100644 --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -1446,6 +1446,16 @@ clean: testclean cmdidxs: ex_cmds.h vim --clean -X --not-a-term -u create_cmdidxs.vim +# Run vim script to generate the normal/visual mode command lookup table. +# This only needs to be run when a new normal/visual mode command has been +# added. If this fails because you don't have Vim yet: +# - change nv_cmds[] in normal.c to add the new normal/visual mode command. +# - build Vim +# - run "make nvcmdidxs" using the new Vim to generate nv_cmdidxs.h +# - rebuild Vim to use the newly generated nv_cmdidxs.h file. +nvcmdidxs: normal.c + .\$(VIM) --clean -X --not-a-term -u create_nvcmdidxs.vim + test: cd testdir $(MAKE) /NOLOGO -f Make_dos.mak @@ -1709,7 +1719,7 @@ $(OUTDIR)/netbeans.obj: $(OUTDIR) netbeans.c $(NBDEBUG_SRC) $(INCL) version.h $(OUTDIR)/channel.obj: $(OUTDIR) channel.c $(INCL) -$(OUTDIR)/normal.obj: $(OUTDIR) normal.c $(INCL) +$(OUTDIR)/normal.obj: $(OUTDIR) normal.c $(INCL) nv_cmdidxs.h $(OUTDIR)/option.obj: $(OUTDIR) option.c $(INCL) optiondefs.h -- cgit v1.2.3