0
0
mirror of https://github.com/vim/vim.git synced 2025-10-05 05:34:07 -04:00

patch 7.4.2069

Problem:    spell.c is too big.
Solution:   Split it in spell file handling and spell checking.
This commit is contained in:
Bram Moolenaar
2016-07-19 16:39:08 +02:00
parent b9644433d2
commit 9ccfebddc3
17 changed files with 7331 additions and 7213 deletions

View File

@@ -78,6 +78,8 @@ SRC_ALL = \
src/sha256.c \ src/sha256.c \
src/structs.h \ src/structs.h \
src/spell.c \ src/spell.c \
src/spell.h \
src/spellfile.c \
src/syntax.c \ src/syntax.c \
src/tag.c \ src/tag.c \
src/term.c \ src/term.c \
@@ -172,6 +174,7 @@ SRC_ALL = \
src/proto/search.pro \ src/proto/search.pro \
src/proto/sha256.pro \ src/proto/sha256.pro \
src/proto/spell.pro \ src/proto/spell.pro \
src/proto/spellfile.pro \
src/proto/syntax.pro \ src/proto/syntax.pro \
src/proto/tag.pro \ src/proto/tag.pro \
src/proto/term.pro \ src/proto/term.pro \

View File

@@ -582,6 +582,7 @@ vimobj = \
$(OBJDIR)\search.obj \ $(OBJDIR)\search.obj \
$(OBJDIR)\sha256.obj \ $(OBJDIR)\sha256.obj \
$(OBJDIR)\spell.obj \ $(OBJDIR)\spell.obj \
$(OBJDIR)\spellfile.obj \
$(OBJDIR)\syntax.obj \ $(OBJDIR)\syntax.obj \
$(OBJDIR)\tag.obj \ $(OBJDIR)\tag.obj \
$(OBJDIR)\term.obj \ $(OBJDIR)\term.obj \

View File

@@ -653,6 +653,7 @@ OBJ = \
$(OUTDIR)/search.o \ $(OUTDIR)/search.o \
$(OUTDIR)/sha256.o \ $(OUTDIR)/sha256.o \
$(OUTDIR)/spell.o \ $(OUTDIR)/spell.o \
$(OUTDIR)/spellfile.o \
$(OUTDIR)/syntax.o \ $(OUTDIR)/syntax.o \
$(OUTDIR)/tag.o \ $(OUTDIR)/tag.o \
$(OUTDIR)/term.o \ $(OUTDIR)/term.o \

View File

@@ -72,6 +72,7 @@ SRC = \
search.c \ search.c \
sha256.c \ sha256.c \
spell.c \ spell.c \
spellfile.c \
syntax.c \ syntax.c \
tag.c \ tag.c \
term.c \ term.c \
@@ -127,6 +128,7 @@ OBJ = o/arabic.o \
o/search.o \ o/search.o \
o/sha256.o \ o/sha256.o \
o/spell.o \ o/spell.o \
o/spellfile.o \
o/syntax.o \ o/syntax.o \
o/tag.o \ o/tag.o \
o/term.o \ o/term.o \
@@ -250,7 +252,9 @@ o/search.o: search.c $(SYMS) regexp.h
o/sha256.o: sha256.c $(SYMS) o/sha256.o: sha256.c $(SYMS)
o/spell.o: spell.c $(SYMS) o/spell.o: spell.c $(SYMS) spell.h
o/spellfile.o: spellfile.c $(SYMS) spell.h
o/syntax.o: syntax.c $(SYMS) o/syntax.o: syntax.c $(SYMS)

View File

@@ -258,6 +258,7 @@ LINK32_OBJS= \
"$(INTDIR)/search.obj" \ "$(INTDIR)/search.obj" \
"$(INTDIR)/sha256.obj" \ "$(INTDIR)/sha256.obj" \
"$(INTDIR)/spell.obj" \ "$(INTDIR)/spell.obj" \
"$(INTDIR)/spellfile.obj" \
"$(INTDIR)/syntax.obj" \ "$(INTDIR)/syntax.obj" \
"$(INTDIR)/tag.obj" \ "$(INTDIR)/tag.obj" \
"$(INTDIR)/term.obj" \ "$(INTDIR)/term.obj" \
@@ -678,6 +679,10 @@ SOURCE=.\spell.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\spellfile.c
# End Source File
# Begin Source File
SOURCE=.\syntax.c SOURCE=.\syntax.c
# End Source File # End Source File
# Begin Source File # Begin Source File

View File

@@ -82,6 +82,7 @@ SRC = arabic.c \
search.c \ search.c \
sha256.c \ sha256.c \
spell.c \ spell.c \
spellfile.c \
syntax.c \ syntax.c \
tag.c \ tag.c \
term.c \ term.c \
@@ -139,6 +140,7 @@ OBJ = obj/arabic.o \
obj/search.o \ obj/search.o \
obj/sha256.o \ obj/sha256.o \
obj/spell.o \ obj/spell.o \
obj/spellfile.o \
obj/syntax.o \ obj/syntax.o \
obj/tag.o \ obj/tag.o \
obj/term.o \ obj/term.o \
@@ -194,6 +196,7 @@ PRO = proto/arabic.pro \
proto/search.pro \ proto/search.pro \
proto/sha256.pro \ proto/sha256.pro \
proto/spell.pro \ proto/spell.pro \
proto/spellfile.pro \
proto/syntax.pro \ proto/syntax.pro \
proto/tag.pro \ proto/tag.pro \
proto/term.pro \ proto/term.pro \
@@ -389,6 +392,9 @@ obj/sha256.o: sha256.c
obj/spell.o: spell.c obj/spell.o: spell.c
$(CCSYM) $@ spell.c $(CCSYM) $@ spell.c
obj/spellfile.o: spellfile.c
$(CCSYM) $@ spellfile.c
obj/syntax.o: syntax.c obj/syntax.o: syntax.c
$(CCSYM) $@ syntax.c $(CCSYM) $@ syntax.c

View File

@@ -70,6 +70,7 @@ SRC = arabic.c \
search.c \ search.c \
sha256.c \ sha256.c \
spell.c \ spell.c \
spellfile.c \
syntax.c \ syntax.c \
tag.c \ tag.c \
term.c \ term.c \

View File

@@ -597,6 +597,7 @@ OBJ = \
$(OUTDIR)\search.obj \ $(OUTDIR)\search.obj \
$(OUTDIR)\sha256.obj \ $(OUTDIR)\sha256.obj \
$(OUTDIR)\spell.obj \ $(OUTDIR)\spell.obj \
$(OUTDIR)\spellfile.obj \
$(OUTDIR)\syntax.obj \ $(OUTDIR)\syntax.obj \
$(OUTDIR)\tag.obj \ $(OUTDIR)\tag.obj \
$(OUTDIR)\term.obj \ $(OUTDIR)\term.obj \
@@ -1306,6 +1307,8 @@ $(OUTDIR)/sha256.obj: $(OUTDIR) sha256.c $(INCL)
$(OUTDIR)/spell.obj: $(OUTDIR) spell.c $(INCL) $(OUTDIR)/spell.obj: $(OUTDIR) spell.c $(INCL)
$(OUTDIR)/spellfile.obj: $(OUTDIR) spellfile.c $(INCL)
$(OUTDIR)/syntax.obj: $(OUTDIR) syntax.c $(INCL) $(OUTDIR)/syntax.obj: $(OUTDIR) syntax.c $(INCL)
$(OUTDIR)/tag.obj: $(OUTDIR) tag.c $(INCL) $(OUTDIR)/tag.obj: $(OUTDIR) tag.c $(INCL)
@@ -1411,6 +1414,7 @@ proto.h: \
proto/search.pro \ proto/search.pro \
proto/sha256.pro \ proto/sha256.pro \
proto/spell.pro \ proto/spell.pro \
proto/spellfile.pro \
proto/syntax.pro \ proto/syntax.pro \
proto/tag.pro \ proto/tag.pro \
proto/term.pro \ proto/term.pro \

View File

@@ -135,6 +135,7 @@ SRC = \
search.c \ search.c \
sha256.c \ sha256.c \
spell.c \ spell.c \
spellfile.c \
syntax.c \ syntax.c \
tag.c \ tag.c \
term.c \ term.c \
@@ -191,6 +192,7 @@ OBJ = \
search.o \ search.o \
sha256.o \ sha256.o \
spell.o \ spell.o \
spellfile.o \
syntax.o \ syntax.o \
tag.o \ tag.o \
term.o \ term.o \
@@ -247,6 +249,7 @@ PRO = \
proto/search.pro \ proto/search.pro \
proto/sha256.pro \ proto/sha256.pro \
proto/spell.pro \ proto/spell.pro \
proto/spellfile.pro \
proto/syntax.pro \ proto/syntax.pro \
proto/tag.pro \ proto/tag.pro \
proto/term.pro \ proto/term.pro \
@@ -403,6 +406,8 @@ sha256.o: sha256.c
proto/sha256.pro: sha256.c proto/sha256.pro: sha256.c
spell.o: spell.c spell.o: spell.c
proto/spell.pro: spell.c proto/spell.pro: spell.c
spellfile.o: spellfile.c
proto/spellfile.pro: spellfile.c
syntax.o: syntax.c syntax.o: syntax.c
proto/syntax.pro: syntax.c proto/syntax.pro: syntax.c
tag.o: tag.c tag.o: tag.c

View File

@@ -1531,6 +1531,7 @@ BASIC_SRC = \
search.c \ search.c \
sha256.c \ sha256.c \
spell.c \ spell.c \
spellfile.c \
syntax.c \ syntax.c \
tag.c \ tag.c \
term.c \ term.c \
@@ -1634,6 +1635,7 @@ OBJ_COMMON = \
objects/search.o \ objects/search.o \
objects/sha256.o \ objects/sha256.o \
objects/spell.o \ objects/spell.o \
objects/spellfile.o \
objects/syntax.o \ objects/syntax.o \
objects/tag.o \ objects/tag.o \
objects/term.o \ objects/term.o \
@@ -1735,6 +1737,7 @@ PRO_AUTO = \
search.pro \ search.pro \
sha256.pro \ sha256.pro \
spell.pro \ spell.pro \
spellfile.pro \
syntax.pro \ syntax.pro \
tag.pro \ tag.pro \
term.pro \ term.pro \
@@ -3062,6 +3065,9 @@ objects/sha256.o: sha256.c
objects/spell.o: spell.c objects/spell.o: spell.c
$(CCC) -o $@ spell.c $(CCC) -o $@ spell.c
objects/spellfile.o: spellfile.c
$(CCC) -o $@ spellfile.c
objects/syntax.o: syntax.c objects/syntax.o: syntax.c
$(CCC) -o $@ syntax.c $(CCC) -o $@ syntax.c
@@ -3186,244 +3192,252 @@ $(APPDIR)/Contents:
### Dependencies: ### Dependencies:
objects/arabic.o: arabic.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/arabic.o: arabic.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/blowfish.o: blowfish.c vim.h auto/config.h feature.h os_unix.h \ objects/blowfish.o: blowfish.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h proto.h globals.h farsi.h arabic.h
objects/buffer.o: buffer.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/buffer.o: buffer.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h version.h globals.h farsi.h arabic.h version.h
objects/charset.o: charset.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/charset.o: charset.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/crypt.o: crypt.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/crypt.o: crypt.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/crypt_zip.o: crypt_zip.c vim.h auto/config.h feature.h os_unix.h \ objects/crypt_zip.o: crypt_zip.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h proto.h globals.h farsi.h arabic.h
objects/dict.o: dict.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/dict.o: dict.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/diff.o: diff.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/diff.o: diff.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/digraph.o: digraph.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/digraph.o: digraph.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/edit.o: edit.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/edit.o: edit.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/eval.o: eval.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/eval.o: eval.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h version.h globals.h farsi.h arabic.h version.h
objects/evalfunc.o: evalfunc.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/evalfunc.o: evalfunc.c vim.h auto/config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
farsi.h arabic.h version.h proto.h globals.h farsi.h arabic.h version.h
objects/ex_cmds.o: ex_cmds.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/ex_cmds.o: ex_cmds.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h version.h globals.h farsi.h arabic.h version.h
objects/ex_cmds2.o: ex_cmds2.c vim.h auto/config.h feature.h os_unix.h \ objects/ex_cmds2.o: ex_cmds2.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h version.h proto.h globals.h farsi.h arabic.h version.h
objects/ex_docmd.o: ex_docmd.c vim.h auto/config.h feature.h os_unix.h \ objects/ex_docmd.o: ex_docmd.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h proto.h globals.h farsi.h arabic.h
objects/ex_eval.o: ex_eval.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/ex_eval.o: ex_eval.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/ex_getln.o: ex_getln.c vim.h auto/config.h feature.h os_unix.h \ objects/ex_getln.o: ex_getln.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h proto.h globals.h farsi.h arabic.h
objects/farsi.o: farsi.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/farsi.o: farsi.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/fileio.o: fileio.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/fileio.o: fileio.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/fold.o: fold.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/fold.o: fold.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/getchar.o: getchar.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/getchar.o: getchar.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/hardcopy.o: hardcopy.c vim.h auto/config.h feature.h os_unix.h \ objects/hardcopy.o: hardcopy.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h version.h proto.h globals.h farsi.h arabic.h version.h
objects/hashtab.o: hashtab.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/hashtab.o: hashtab.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/if_cscope.o: if_cscope.c vim.h auto/config.h feature.h os_unix.h \ objects/if_cscope.o: if_cscope.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h if_cscope.h proto.h globals.h farsi.h arabic.h if_cscope.h
objects/if_xcmdsrv.o: if_xcmdsrv.c vim.h auto/config.h feature.h os_unix.h \ objects/if_xcmdsrv.o: if_xcmdsrv.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h version.h proto.h globals.h farsi.h arabic.h version.h
objects/json.o: json.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/json.o: json.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/list.o: list.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/list.o: list.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/main.o: main.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/main.o: main.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/mark.o: mark.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/mark.o: mark.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/memfile.o: memfile.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/memfile.o: memfile.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/memline.o: memline.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/memline.o: memline.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/menu.o: menu.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/menu.o: menu.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/message.o: message.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/message.o: message.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/misc1.o: misc1.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/misc1.o: misc1.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h version.h globals.h farsi.h arabic.h version.h
objects/misc2.o: misc2.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/misc2.o: misc2.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/move.o: move.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/move.o: move.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/mbyte.o: mbyte.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/mbyte.o: mbyte.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/normal.o: normal.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/normal.o: normal.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/ops.o: ops.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \ objects/ops.o: ops.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \ keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h farsi.h arabic.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
arabic.h
objects/option.o: option.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/option.o: option.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/os_unix.o: os_unix.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/os_unix.o: os_unix.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h os_unixx.h globals.h farsi.h arabic.h os_unixx.h
objects/pathdef.o: auto/pathdef.c vim.h auto/config.h feature.h os_unix.h \ objects/pathdef.o: auto/pathdef.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h proto.h globals.h farsi.h arabic.h
objects/popupmnu.o: popupmnu.c vim.h auto/config.h feature.h os_unix.h \ objects/popupmnu.o: popupmnu.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h proto.h globals.h farsi.h arabic.h
objects/quickfix.o: quickfix.c vim.h auto/config.h feature.h os_unix.h \ objects/quickfix.o: quickfix.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h proto.h globals.h farsi.h arabic.h
objects/regexp.o: regexp.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/regexp.o: regexp.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h regexp_nfa.c globals.h farsi.h arabic.h regexp_nfa.c
objects/screen.o: screen.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/screen.o: screen.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/search.o: search.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/search.o: search.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/sha256.o: sha256.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/sha256.o: sha256.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/spell.o: spell.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/spell.o: spell.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/spellfile.o: spellfile.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/syntax.o: syntax.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/syntax.o: syntax.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/tag.o: tag.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \ objects/tag.o: tag.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \ keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h farsi.h arabic.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
arabic.h
objects/term.o: term.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/term.o: term.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/ui.o: ui.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \ objects/ui.o: ui.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \ keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h farsi.h arabic.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
arabic.h
objects/undo.o: undo.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/undo.o: undo.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/userfunc.o: userfunc.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/userfunc.o: userfunc.c vim.h auto/config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
farsi.h arabic.h proto.h globals.h farsi.h arabic.h
objects/version.o: version.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/version.o: version.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h version.h globals.h farsi.h arabic.h version.h
objects/window.o: window.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/window.o: window.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/gui.o: gui.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \ objects/gui.o: gui.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \ keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h farsi.h arabic.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
arabic.h
objects/gui_gtk.o: gui_gtk.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/gui_gtk.o: gui_gtk.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h gui_gtk_f.h globals.h farsi.h arabic.h gui_gtk_f.h
objects/gui_gtk_f.o: gui_gtk_f.c vim.h auto/config.h feature.h os_unix.h \ objects/gui_gtk_f.o: gui_gtk_f.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h gui_gtk_f.h proto.h globals.h farsi.h arabic.h gui_gtk_f.h
objects/gui_motif.o: gui_motif.c vim.h auto/config.h feature.h os_unix.h \ objects/gui_motif.o: gui_motif.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h gui_xmebw.h ../pixmaps/alert.xpm \ proto.h globals.h farsi.h arabic.h gui_xmebw.h ../pixmaps/alert.xpm \
../pixmaps/error.xpm ../pixmaps/generic.xpm ../pixmaps/info.xpm \ ../pixmaps/error.xpm ../pixmaps/generic.xpm ../pixmaps/info.xpm \
../pixmaps/quest.xpm gui_x11_pm.h ../pixmaps/tb_new.xpm \ ../pixmaps/quest.xpm gui_x11_pm.h ../pixmaps/tb_new.xpm \
../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm ../pixmaps/tb_save.xpm \ ../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm ../pixmaps/tb_save.xpm \
@@ -3443,16 +3457,16 @@ objects/gui_motif.o: gui_motif.c vim.h auto/config.h feature.h os_unix.h \
../pixmaps/tb_minwidth.xpm ../pixmaps/tb_minwidth.xpm
objects/gui_xmdlg.o: gui_xmdlg.c vim.h auto/config.h feature.h os_unix.h \ objects/gui_xmdlg.o: gui_xmdlg.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h proto.h globals.h farsi.h arabic.h
objects/gui_xmebw.o: gui_xmebw.c vim.h auto/config.h feature.h os_unix.h \ objects/gui_xmebw.o: gui_xmebw.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h gui_xmebwp.h gui_xmebw.h proto.h globals.h farsi.h arabic.h gui_xmebwp.h gui_xmebw.h
objects/gui_athena.o: gui_athena.c vim.h auto/config.h feature.h os_unix.h \ objects/gui_athena.o: gui_athena.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h gui_at_sb.h gui_x11_pm.h \ proto.h globals.h farsi.h arabic.h gui_at_sb.h gui_x11_pm.h \
../pixmaps/tb_new.xpm ../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm \ ../pixmaps/tb_new.xpm ../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm \
../pixmaps/tb_save.xpm ../pixmaps/tb_print.xpm ../pixmaps/tb_cut.xpm \ ../pixmaps/tb_save.xpm ../pixmaps/tb_print.xpm ../pixmaps/tb_cut.xpm \
../pixmaps/tb_copy.xpm ../pixmaps/tb_paste.xpm ../pixmaps/tb_find.xpm \ ../pixmaps/tb_copy.xpm ../pixmaps/tb_paste.xpm ../pixmaps/tb_find.xpm \
@@ -3470,92 +3484,94 @@ objects/gui_athena.o: gui_athena.c vim.h auto/config.h feature.h os_unix.h \
../pixmaps/tb_minwidth.xpm ../pixmaps/tb_minwidth.xpm
objects/gui_gtk_x11.o: gui_gtk_x11.c vim.h auto/config.h feature.h os_unix.h \ objects/gui_gtk_x11.o: gui_gtk_x11.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h auto/gui_gtk_gresources.h gui_gtk_f.h \ proto.h globals.h farsi.h arabic.h auto/gui_gtk_gresources.h gui_gtk_f.h \
../runtime/vim32x32.xpm ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
objects/gui_x11.o: gui_x11.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/gui_x11.o: gui_x11.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \ globals.h farsi.h arabic.h ../runtime/vim32x32.xpm \
../runtime/vim48x48.xpm ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
objects/gui_at_sb.o: gui_at_sb.c vim.h auto/config.h feature.h os_unix.h \ objects/gui_at_sb.o: gui_at_sb.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h gui_at_sb.h proto.h globals.h farsi.h arabic.h gui_at_sb.h
objects/gui_at_fs.o: gui_at_fs.c vim.h auto/config.h feature.h os_unix.h \ objects/gui_at_fs.o: gui_at_fs.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h gui_at_sb.h proto.h globals.h farsi.h arabic.h gui_at_sb.h
objects/pty.o: pty.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \ objects/pty.o: pty.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \ keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h farsi.h arabic.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
arabic.h
objects/json_test.o: json_test.c main.c vim.h auto/config.h feature.h os_unix.h \ objects/json_test.o: json_test.c main.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h json.c proto.h globals.h farsi.h arabic.h json.c
objects/memfile_test.o: memfile_test.c main.c vim.h auto/config.h feature.h \ objects/memfile_test.o: memfile_test.c main.c vim.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \ structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \
ex_cmds.h proto.h globals.h farsi.h arabic.h memfile.c ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h memfile.c
objects/message_test.o: message_test.c main.c vim.h auto/config.h feature.h \ objects/message_test.o: message_test.c main.c vim.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \ structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \
ex_cmds.h proto.h globals.h farsi.h arabic.h message.c ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h message.c
objects/hangulin.o: hangulin.c vim.h auto/config.h feature.h os_unix.h \ objects/hangulin.o: hangulin.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h proto.h globals.h farsi.h arabic.h
objects/if_lua.o: if_lua.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/if_lua.o: if_lua.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/if_mzsch.o: if_mzsch.c vim.h auto/config.h feature.h os_unix.h \ objects/if_mzsch.o: if_mzsch.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h if_mzsch.h proto.h globals.h farsi.h arabic.h if_mzsch.h
objects/if_perl.o: auto/if_perl.c vim.h auto/config.h feature.h os_unix.h \ objects/if_perl.o: auto/if_perl.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h proto.h globals.h farsi.h arabic.h
objects/if_perlsfio.o: if_perlsfio.c vim.h auto/config.h feature.h os_unix.h \ objects/if_perlsfio.o: if_perlsfio.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h proto.h globals.h farsi.h arabic.h
objects/if_python.o: if_python.c vim.h auto/config.h feature.h os_unix.h \ objects/if_python.o: if_python.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h if_py_both.h proto.h globals.h farsi.h arabic.h if_py_both.h
objects/if_python3.o: if_python3.c vim.h auto/config.h feature.h os_unix.h \ objects/if_python3.o: if_python3.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h if_py_both.h proto.h globals.h farsi.h arabic.h if_py_both.h
objects/if_tcl.o: if_tcl.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/if_tcl.o: if_tcl.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/if_ruby.o: if_ruby.c auto/config.h vim.h feature.h os_unix.h auto/osdef.h \ objects/if_ruby.o: if_ruby.c auto/config.h vim.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h version.h globals.h farsi.h arabic.h version.h
objects/gui_beval.o: gui_beval.c vim.h auto/config.h feature.h os_unix.h \ objects/gui_beval.o: gui_beval.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h proto.h globals.h farsi.h arabic.h
objects/workshop.o: workshop.c auto/config.h integration.h vim.h feature.h \ objects/workshop.o: workshop.c auto/config.h integration.h vim.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \ structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \
ex_cmds.h proto.h globals.h farsi.h arabic.h version.h workshop.h ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h \
workshop.h
objects/wsdebug.o: wsdebug.c objects/wsdebug.o: wsdebug.c
objects/integration.o: integration.c vim.h auto/config.h feature.h os_unix.h \ objects/integration.o: integration.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h integration.h proto.h globals.h farsi.h arabic.h integration.h
objects/netbeans.o: netbeans.c vim.h auto/config.h feature.h os_unix.h \ objects/netbeans.o: netbeans.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \ auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \ regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
globals.h farsi.h arabic.h version.h proto.h globals.h farsi.h arabic.h version.h
objects/channel.o: channel.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \ objects/channel.o: channel.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \ ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \ gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
farsi.h arabic.h globals.h farsi.h arabic.h
objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c

View File

@@ -158,6 +158,7 @@ void qsort(void *base, size_t elm_count, size_t elm_size, int (*cmp)(const void
# endif # endif
# include "search.pro" # include "search.pro"
# include "spell.pro" # include "spell.pro"
# include "spellfile.pro"
# include "syntax.pro" # include "syntax.pro"
# include "tag.pro" # include "tag.pro"
# include "term.pro" # include "term.pro"

View File

@@ -2,20 +2,32 @@
int spell_check(win_T *wp, char_u *ptr, hlf_T *attrp, int *capcol, int docount); int spell_check(win_T *wp, char_u *ptr, hlf_T *attrp, int *capcol, int docount);
int spell_move_to(win_T *wp, int dir, int allwords, int curline, hlf_T *attrp); int spell_move_to(win_T *wp, int dir, int allwords, int curline, hlf_T *attrp);
void spell_cat_line(char_u *buf, char_u *line, int maxlen); void spell_cat_line(char_u *buf, char_u *line, int maxlen);
char_u *spell_enc(void);
slang_T *slang_alloc(char_u *lang);
void slang_free(slang_T *lp);
void slang_clear(slang_T *lp);
void slang_clear_sug(slang_T *lp);
void count_common_word(slang_T *lp, char_u *word, int len, int count);
int byte_in_str(char_u *str, int n);
int init_syl_tab(slang_T *slang);
char_u *did_set_spelllang(win_T *wp); char_u *did_set_spelllang(win_T *wp);
int captype(char_u *word, char_u *end);
void spell_delete_wordlist(void); void spell_delete_wordlist(void);
void spell_free_all(void); void spell_free_all(void);
void spell_reload(void); void spell_reload(void);
int spell_check_msm(void); buf_T *open_spellbuf(void);
void ex_mkspell(exarg_T *eap); void close_spellbuf(buf_T *buf);
void ex_spell(exarg_T *eap); void clear_spell_chartab(spelltab_T *sp);
void spell_add_word(char_u *word, int len, int bad, int idx, int undo);
void init_spell_chartab(void); void init_spell_chartab(void);
int spell_iswordp_nmw(char_u *p, win_T *wp);
int spell_casefold(char_u *str, int len, char_u *buf, int buflen);
int spell_check_sps(void); int spell_check_sps(void);
void spell_suggest(int count); void spell_suggest(int count);
void ex_spellrepall(exarg_T *eap); void ex_spellrepall(exarg_T *eap);
void spell_suggest_list(garray_T *gap, char_u *word, int maxcount, int need_cap, int interactive); void spell_suggest_list(garray_T *gap, char_u *word, int maxcount, int need_cap, int interactive);
void onecap_copy(char_u *word, char_u *wcopy, int upper);
char_u *eval_soundfold(char_u *word); char_u *eval_soundfold(char_u *word);
void spell_soundfold(slang_T *slang, char_u *inword, int folded, char_u *res);
void ex_spellinfo(exarg_T *eap); void ex_spellinfo(exarg_T *eap);
void ex_spelldump(exarg_T *eap); void ex_spelldump(exarg_T *eap);
void spell_dump_compl(char_u *pat, int ic, int *dir, int dumpflags_arg); void spell_dump_compl(char_u *pat, int ic, int *dir, int dumpflags_arg);

9
src/proto/spellfile.pro Normal file
View File

@@ -0,0 +1,9 @@
/* spellfile.c */
slang_T *spell_load_file(char_u *fname, char_u *lang, slang_T *old_lp, int silent);
void suggest_load_files(void);
int spell_check_msm(void);
void ex_mkspell(exarg_T *eap);
void mkspell(int fcount, char_u **fnames, int ascii, int over_write, int added_word);
void ex_spell(exarg_T *eap);
void spell_add_word(char_u *word, int len, int bad, int idx, int undo);
/* vim: set ft=c : */

File diff suppressed because it is too large Load Diff

319
src/spell.h Normal file
View File

@@ -0,0 +1,319 @@
/* vi:set ts=8 sts=4 sw=4:
*
* VIM - Vi IMproved by Bram Moolenaar
*
* Do ":help uganda" in Vim to read copying and usage conditions.
* Do ":help credits" in Vim to see a list of people who contributed.
* See README.txt for an overview of the Vim source code.
*/
/*
* spell.h: common code for spell checking, used by spell.c and spellfile.c.
*/
/* Use SPELL_PRINTTREE for debugging: dump the word tree after adding a word.
* Only use it for small word lists! */
#if 0
# define SPELL_PRINTTREE
#endif
/* Use SPELL_COMPRESS_ALLWAYS for debugging: compress the word tree after
* adding a word. Only use it for small word lists! */
#if 0
# define SPELL_COMPRESS_ALLWAYS
#endif
/* Use DEBUG_TRIEWALK to print the changes made in suggest_trie_walk() for a
* specific word. */
#if 0
# define DEBUG_TRIEWALK
#endif
#define MAXWLEN 254 /* Assume max. word len is this many bytes.
Some places assume a word length fits in a
byte, thus it can't be above 255.
Must be >= PFD_NOTSPECIAL. */
/* Type used for indexes in the word tree need to be at least 4 bytes. If int
* is 8 bytes we could use something smaller, but what? */
#if VIM_SIZEOF_INT > 3
typedef int idx_T;
#else
typedef long idx_T;
#endif
#ifdef FEAT_MBYTE
typedef int salfirst_T;
#else
typedef short salfirst_T;
#endif
/*
* Structure used to store words and other info for one language, loaded from
* a .spl file.
* The main access is through the tree in "sl_fbyts/sl_fidxs", storing the
* case-folded words. "sl_kbyts/sl_kidxs" is for keep-case words.
*
* The "byts" array stores the possible bytes in each tree node, preceded by
* the number of possible bytes, sorted on byte value:
* <len> <byte1> <byte2> ...
* The "idxs" array stores the index of the child node corresponding to the
* byte in "byts".
* Exception: when the byte is zero, the word may end here and "idxs" holds
* the flags, region mask and affixID for the word. There may be several
* zeros in sequence for alternative flag/region/affixID combinations.
*/
typedef struct slang_S slang_T;
struct slang_S
{
slang_T *sl_next; /* next language */
char_u *sl_name; /* language name "en", "en.rare", "nl", etc. */
char_u *sl_fname; /* name of .spl file */
int sl_add; /* TRUE if it's a .add file. */
char_u *sl_fbyts; /* case-folded word bytes */
idx_T *sl_fidxs; /* case-folded word indexes */
char_u *sl_kbyts; /* keep-case word bytes */
idx_T *sl_kidxs; /* keep-case word indexes */
char_u *sl_pbyts; /* prefix tree word bytes */
idx_T *sl_pidxs; /* prefix tree word indexes */
char_u *sl_info; /* infotext string or NULL */
char_u sl_regions[17]; /* table with up to 8 region names plus NUL */
char_u *sl_midword; /* MIDWORD string or NULL */
hashtab_T sl_wordcount; /* hashtable with word count, wordcount_T */
int sl_compmax; /* COMPOUNDWORDMAX (default: MAXWLEN) */
int sl_compminlen; /* COMPOUNDMIN (default: 0) */
int sl_compsylmax; /* COMPOUNDSYLMAX (default: MAXWLEN) */
int sl_compoptions; /* COMP_* flags */
garray_T sl_comppat; /* CHECKCOMPOUNDPATTERN items */
regprog_T *sl_compprog; /* COMPOUNDRULE turned into a regexp progrm
* (NULL when no compounding) */
char_u *sl_comprules; /* all COMPOUNDRULE concatenated (or NULL) */
char_u *sl_compstartflags; /* flags for first compound word */
char_u *sl_compallflags; /* all flags for compound words */
char_u sl_nobreak; /* When TRUE: no spaces between words */
char_u *sl_syllable; /* SYLLABLE repeatable chars or NULL */
garray_T sl_syl_items; /* syllable items */
int sl_prefixcnt; /* number of items in "sl_prefprog" */
regprog_T **sl_prefprog; /* table with regprogs for prefixes */
garray_T sl_rep; /* list of fromto_T entries from REP lines */
short sl_rep_first[256]; /* indexes where byte first appears, -1 if
there is none */
garray_T sl_sal; /* list of salitem_T entries from SAL lines */
salfirst_T sl_sal_first[256]; /* indexes where byte first appears, -1 if
there is none */
int sl_followup; /* SAL followup */
int sl_collapse; /* SAL collapse_result */
int sl_rem_accents; /* SAL remove_accents */
int sl_sofo; /* SOFOFROM and SOFOTO instead of SAL items:
* "sl_sal_first" maps chars, when has_mbyte
* "sl_sal" is a list of wide char lists. */
garray_T sl_repsal; /* list of fromto_T entries from REPSAL lines */
short sl_repsal_first[256]; /* sl_rep_first for REPSAL lines */
int sl_nosplitsugs; /* don't suggest splitting a word */
int sl_nocompoundsugs; /* don't suggest compounding */
/* Info from the .sug file. Loaded on demand. */
time_t sl_sugtime; /* timestamp for .sug file */
char_u *sl_sbyts; /* soundfolded word bytes */
idx_T *sl_sidxs; /* soundfolded word indexes */
buf_T *sl_sugbuf; /* buffer with word number table */
int sl_sugloaded; /* TRUE when .sug file was loaded or failed to
load */
int sl_has_map; /* TRUE if there is a MAP line */
#ifdef FEAT_MBYTE
hashtab_T sl_map_hash; /* MAP for multi-byte chars */
int sl_map_array[256]; /* MAP for first 256 chars */
#else
char_u sl_map_array[256]; /* MAP for first 256 chars */
#endif
hashtab_T sl_sounddone; /* table with soundfolded words that have
handled, see add_sound_suggest() */
};
#ifdef VMS
# define SPL_FNAME_TMPL "%s_%s.spl"
# define SPL_FNAME_ADD "_add."
# define SPL_FNAME_ASCII "_ascii."
#else
# define SPL_FNAME_TMPL "%s.%s.spl"
# define SPL_FNAME_ADD ".add."
# define SPL_FNAME_ASCII ".ascii."
#endif
/* Flags used for a word. Only the lowest byte can be used, the region byte
* comes above it. */
#define WF_REGION 0x01 /* region byte follows */
#define WF_ONECAP 0x02 /* word with one capital (or all capitals) */
#define WF_ALLCAP 0x04 /* word must be all capitals */
#define WF_RARE 0x08 /* rare word */
#define WF_BANNED 0x10 /* bad word */
#define WF_AFX 0x20 /* affix ID follows */
#define WF_FIXCAP 0x40 /* keep-case word, allcap not allowed */
#define WF_KEEPCAP 0x80 /* keep-case word */
/* for <flags2>, shifted up one byte to be used in wn_flags */
#define WF_HAS_AFF 0x0100 /* word includes affix */
#define WF_NEEDCOMP 0x0200 /* word only valid in compound */
#define WF_NOSUGGEST 0x0400 /* word not to be suggested */
#define WF_COMPROOT 0x0800 /* already compounded word, COMPOUNDROOT */
#define WF_NOCOMPBEF 0x1000 /* no compounding before this word */
#define WF_NOCOMPAFT 0x2000 /* no compounding after this word */
/* flags for <pflags> */
#define WFP_RARE 0x01 /* rare prefix */
#define WFP_NC 0x02 /* prefix is not combining */
#define WFP_UP 0x04 /* to-upper prefix */
#define WFP_COMPPERMIT 0x08 /* prefix with COMPOUNDPERMITFLAG */
#define WFP_COMPFORBID 0x10 /* prefix with COMPOUNDFORBIDFLAG */
/* Flags for postponed prefixes in "sl_pidxs". Must be above affixID (one
* byte) and prefcondnr (two bytes). */
#define WF_RAREPFX (WFP_RARE << 24) /* rare postponed prefix */
#define WF_PFX_NC (WFP_NC << 24) /* non-combining postponed prefix */
#define WF_PFX_UP (WFP_UP << 24) /* to-upper postponed prefix */
#define WF_PFX_COMPPERMIT (WFP_COMPPERMIT << 24) /* postponed prefix with
* COMPOUNDPERMITFLAG */
#define WF_PFX_COMPFORBID (WFP_COMPFORBID << 24) /* postponed prefix with
* COMPOUNDFORBIDFLAG */
/* flags for <compoptions> */
#define COMP_CHECKDUP 1 /* CHECKCOMPOUNDDUP */
#define COMP_CHECKREP 2 /* CHECKCOMPOUNDREP */
#define COMP_CHECKCASE 4 /* CHECKCOMPOUNDCASE */
#define COMP_CHECKTRIPLE 8 /* CHECKCOMPOUNDTRIPLE */
/* Info from "REP", "REPSAL" and "SAL" entries in ".aff" file used in si_rep,
* si_repsal, sl_rep, and si_sal. Not for sl_sal!
* One replacement: from "ft_from" to "ft_to". */
typedef struct fromto_S
{
char_u *ft_from;
char_u *ft_to;
} fromto_T;
/* Info from "SAL" entries in ".aff" file used in sl_sal.
* The info is split for quick processing by spell_soundfold().
* Note that "sm_oneof" and "sm_rules" point into sm_lead. */
typedef struct salitem_S
{
char_u *sm_lead; /* leading letters */
int sm_leadlen; /* length of "sm_lead" */
char_u *sm_oneof; /* letters from () or NULL */
char_u *sm_rules; /* rules like ^, $, priority */
char_u *sm_to; /* replacement. */
#ifdef FEAT_MBYTE
int *sm_lead_w; /* wide character copy of "sm_lead" */
int *sm_oneof_w; /* wide character copy of "sm_oneof" */
int *sm_to_w; /* wide character copy of "sm_to" */
#endif
} salitem_T;
/* Values for SP_*ERROR are negative, positive values are used by
* read_cnt_string(). */
#define SP_TRUNCERROR -1 /* spell file truncated error */
#define SP_FORMERROR -2 /* format error in spell file */
#define SP_OTHERERROR -3 /* other error while reading spell file */
/*
* Structure used in "b_langp", filled from 'spelllang'.
*/
typedef struct langp_S
{
slang_T *lp_slang; /* info for this language */
slang_T *lp_sallang; /* language used for sound folding or NULL */
slang_T *lp_replang; /* language used for REP items or NULL */
int lp_region; /* bitmask for region or REGION_ALL */
} langp_T;
#define LANGP_ENTRY(ga, i) (((langp_T *)(ga).ga_data) + (i))
#define VIMSUGMAGIC "VIMsug" /* string at start of Vim .sug file */
#define VIMSUGMAGICL 6
#define VIMSUGVERSION 1
/*
* The tables used for recognizing word characters according to spelling.
* These are only used for the first 256 characters of 'encoding'.
*/
typedef struct spelltab_S
{
char_u st_isw[256]; /* flags: is word char */
char_u st_isu[256]; /* flags: is uppercase char */
char_u st_fold[256]; /* chars: folded case */
char_u st_upper[256]; /* chars: upper case */
} spelltab_T;
/*
* Use our own character-case definitions, because the current locale may
* differ from what the .spl file uses.
* These must not be called with negative number!
*/
#ifndef FEAT_MBYTE
/* Non-multi-byte implementation. */
# define SPELL_TOFOLD(c) ((c) < 256 ? (int)spelltab.st_fold[c] : (c))
# define SPELL_TOUPPER(c) ((c) < 256 ? (int)spelltab.st_upper[c] : (c))
# define SPELL_ISUPPER(c) ((c) < 256 ? spelltab.st_isu[c] : FALSE)
#else
# if defined(HAVE_WCHAR_H)
# include <wchar.h> /* for towupper() and towlower() */
# endif
/* Multi-byte implementation. For Unicode we can call utf_*(), but don't do
* that for ASCII, because we don't want to use 'casemap' here. Otherwise use
* the "w" library function for characters above 255 if available. */
# ifdef HAVE_TOWLOWER
# define SPELL_TOFOLD(c) (enc_utf8 && (c) >= 128 ? utf_fold(c) \
: (c) < 256 ? (int)spelltab.st_fold[c] : (int)towlower(c))
# else
# define SPELL_TOFOLD(c) (enc_utf8 && (c) >= 128 ? utf_fold(c) \
: (c) < 256 ? (int)spelltab.st_fold[c] : (c))
# endif
# ifdef HAVE_TOWUPPER
# define SPELL_TOUPPER(c) (enc_utf8 && (c) >= 128 ? utf_toupper(c) \
: (c) < 256 ? (int)spelltab.st_upper[c] : (int)towupper(c))
# else
# define SPELL_TOUPPER(c) (enc_utf8 && (c) >= 128 ? utf_toupper(c) \
: (c) < 256 ? (int)spelltab.st_upper[c] : (c))
# endif
# ifdef HAVE_ISWUPPER
# define SPELL_ISUPPER(c) (enc_utf8 && (c) >= 128 ? utf_isupper(c) \
: (c) < 256 ? spelltab.st_isu[c] : iswupper(c))
# else
# define SPELL_ISUPPER(c) (enc_utf8 && (c) >= 128 ? utf_isupper(c) \
: (c) < 256 ? spelltab.st_isu[c] : (FALSE))
# endif
#endif
#ifdef FEAT_SPELL
/* First language that is loaded, start of the linked list of loaded
* languages. */
# ifdef IN_SPELL_C
# define SPELL_EXTERN
# define SPELL_INIT(x) x
# else
# define SPELL_EXTERN extern
# define SPELL_INIT(x)
# endif
SPELL_EXTERN slang_T *first_lang SPELL_INIT(= NULL);
/* file used for "zG" and "zW" */
SPELL_EXTERN char_u *int_wordlist SPELL_INIT(= NULL);
SPELL_EXTERN char e_format[] SPELL_INIT(= N_("E759: Format error in spell file"));
SPELL_EXTERN spelltab_T spelltab;
SPELL_EXTERN int did_set_spelltab;
#endif

6749
src/spellfile.c Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -758,6 +758,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
2069,
/**/ /**/
2068, 2068,
/**/ /**/