diff src/Make_mvc.mak @ 27447:4050f0554902 v8.2.4252

patch 8.2.4252: generating the normal command table at runtime is inefficient Commit: https://github.com/vim/vim/commit/4dc0dd869972ddafc7d9ee5ea765645b818a6dc9 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Sat Jan 29 13:06:40 2022 +0000 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)
author Bram Moolenaar <Bram@vim.org>
date Sat, 29 Jan 2022 14:15:04 +0100
parents b63028cbe307
children ee1019e59bef
line wrap: on
line diff
--- 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 @@ lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).l
 
 $(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