0
0
mirror of https://github.com/vim/vim.git synced 2025-09-27 04:14:06 -04:00

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)
This commit is contained in:
Yegappan Lakshmanan
2022-01-29 13:06:40 +00:00
committed by Bram Moolenaar
parent 97c554d514
commit 4dc0dd8699
14 changed files with 400 additions and 65 deletions

View File

@@ -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