mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-11 15:37:29 +02:00
Merge remote-tracking branch 'vim/master'
This commit is contained in:
@@ -78,6 +78,8 @@ SRC_ALL = \
|
||||
src/sha256.c \
|
||||
src/structs.h \
|
||||
src/spell.c \
|
||||
src/spell.h \
|
||||
src/spellfile.c \
|
||||
src/syntax.c \
|
||||
src/tag.c \
|
||||
src/term.c \
|
||||
@@ -172,6 +174,7 @@ SRC_ALL = \
|
||||
src/proto/search.pro \
|
||||
src/proto/sha256.pro \
|
||||
src/proto/spell.pro \
|
||||
src/proto/spellfile.pro \
|
||||
src/proto/syntax.pro \
|
||||
src/proto/tag.pro \
|
||||
src/proto/term.pro \
|
||||
|
||||
+15
-1
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 7.4. Last change: 2016 Jun 09
|
||||
*autocmd.txt* For Vim version 7.4. Last change: 2016 Jul 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -293,6 +293,9 @@ Name triggered by ~
|
||||
|CursorMoved| the cursor was moved in Normal mode
|
||||
|CursorMovedI| the cursor was moved in Insert mode
|
||||
|
||||
|WinNew| after creating a new window
|
||||
|TabNew| after creating a new tab page
|
||||
|TabClosed| after closing a tab page
|
||||
|WinEnter| after entering another window
|
||||
|WinLeave| before leaving a window
|
||||
|TabEnter| after entering another tab page
|
||||
@@ -874,6 +877,8 @@ Syntax When the 'syntax' option has been set. The
|
||||
where this option was set, and <amatch> for
|
||||
the new value of 'syntax'.
|
||||
See |:syn-on|.
|
||||
*TabClosed*
|
||||
TabClosed After closing a tab page.
|
||||
*TabEnter*
|
||||
TabEnter Just after entering a tab page. |tab-page|
|
||||
After triggering the WinEnter and before
|
||||
@@ -882,6 +887,10 @@ TabEnter Just after entering a tab page. |tab-page|
|
||||
TabLeave Just before leaving a tab page. |tab-page|
|
||||
A WinLeave event will have been triggered
|
||||
first.
|
||||
*TabNew*
|
||||
TabNew When a tab page was created. |tab-page|
|
||||
A WinEnter event will have been triggered
|
||||
first, TabEnter follows.
|
||||
*TermChanged*
|
||||
TermChanged After the value of 'term' has changed. Useful
|
||||
for re-loading the syntax file to update the
|
||||
@@ -967,6 +976,11 @@ WinLeave Before leaving a window. If the window to be
|
||||
WinLeave autocommands (but not for ":new").
|
||||
Not used for ":qa" or ":q" when exiting Vim.
|
||||
|
||||
*WinNew*
|
||||
WinNew When a new window was created. Not done for
|
||||
the fist window, when Vim has just started.
|
||||
Before a WinEnter event.
|
||||
|
||||
==============================================================================
|
||||
6. Patterns *autocmd-patterns* *{pat}*
|
||||
|
||||
|
||||
@@ -1827,6 +1827,27 @@ v:swapcommand Normal mode command to be executed after a file has been
|
||||
example, when jumping to a tag the value is ":tag tagname\r".
|
||||
For ":edit +cmd file" the value is ":cmd\r".
|
||||
|
||||
*v:t_TYPE* *v:t_bool* *t_bool-varialble*
|
||||
v:t_bool Value of Boolean type. Read-only. See: |type()|
|
||||
*v:t_channel* *t_channel-varialble*
|
||||
v:t_channel Value of Channel type. Read-only. See: |type()|
|
||||
*v:t_dict* *t_dict-varialble*
|
||||
v:t_dict Value of Dictionary type. Read-only. See: |type()|
|
||||
*v:t_float* *t_float-varialble*
|
||||
v:t_float Value of Float type. Read-only. See: |type()|
|
||||
*v:t_func* *t_func-varialble*
|
||||
v:t_func Value of Funcref type. Read-only. See: |type()|
|
||||
*v:t_job* *t_job-varialble*
|
||||
v:t_job Value of Job type. Read-only. See: |type()|
|
||||
*v:t_list* *t_list-varialble*
|
||||
v:t_list Value of List type. Read-only. See: |type()|
|
||||
*v:t_none* *t_none-varialble*
|
||||
v:t_none Value of None type. Read-only. See: |type()|
|
||||
*v:t_number* *t_number-varialble*
|
||||
v:t_number Value of Number type. Read-only. See: |type()|
|
||||
*v:t_string* *t_string-varialble*
|
||||
v:t_string Value of String type. Read-only. See: |type()|
|
||||
|
||||
*v:termresponse* *termresponse-variable*
|
||||
v:termresponse The escape sequence returned by the terminal for the |t_RV|
|
||||
termcap entry. It is set when Vim receives an escape sequence
|
||||
|
||||
+30
-1
@@ -1,4 +1,3 @@
|
||||
! $XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp $
|
||||
255 250 250 snow
|
||||
248 248 255 ghost white
|
||||
248 248 255 GhostWhite
|
||||
@@ -58,6 +57,14 @@
|
||||
119 136 153 LightSlateGrey
|
||||
190 190 190 gray
|
||||
190 190 190 grey
|
||||
190 190 190 x11 gray
|
||||
190 190 190 X11Gray
|
||||
190 190 190 x11 grey
|
||||
190 190 190 X11Grey
|
||||
128 128 128 web gray
|
||||
128 128 128 WebGray
|
||||
128 128 128 web grey
|
||||
128 128 128 WebGrey
|
||||
211 211 211 light grey
|
||||
211 211 211 LightGrey
|
||||
211 211 211 light gray
|
||||
@@ -106,6 +113,7 @@
|
||||
72 209 204 MediumTurquoise
|
||||
64 224 208 turquoise
|
||||
0 255 255 cyan
|
||||
0 255 255 aqua
|
||||
224 255 255 light cyan
|
||||
224 255 255 LightCyan
|
||||
95 158 160 cadet blue
|
||||
@@ -132,6 +140,11 @@
|
||||
124 252 0 lawn green
|
||||
124 252 0 LawnGreen
|
||||
0 255 0 green
|
||||
0 255 0 lime
|
||||
0 255 0 x11 green
|
||||
0 255 0 X11Green
|
||||
0 128 0 web green
|
||||
0 128 0 WebGreen
|
||||
127 255 0 chartreuse
|
||||
0 250 154 medium spring green
|
||||
0 250 154 MediumSpringGreen
|
||||
@@ -203,11 +216,16 @@
|
||||
219 112 147 pale violet red
|
||||
219 112 147 PaleVioletRed
|
||||
176 48 96 maroon
|
||||
176 48 96 x11 maroon
|
||||
176 48 96 X11Maroon
|
||||
128 0 0 web maroon
|
||||
128 0 0 WebMaroon
|
||||
199 21 133 medium violet red
|
||||
199 21 133 MediumVioletRed
|
||||
208 32 144 violet red
|
||||
208 32 144 VioletRed
|
||||
255 0 255 magenta
|
||||
255 0 255 fuchsia
|
||||
238 130 238 violet
|
||||
221 160 221 plum
|
||||
218 112 214 orchid
|
||||
@@ -220,6 +238,10 @@
|
||||
138 43 226 blue violet
|
||||
138 43 226 BlueViolet
|
||||
160 32 240 purple
|
||||
160 32 240 x11 purple
|
||||
160 32 240 X11Purple
|
||||
128 0 128 web purple
|
||||
128 0 128 WebPurple
|
||||
147 112 219 medium purple
|
||||
147 112 219 MediumPurple
|
||||
216 191 216 thistle
|
||||
@@ -751,3 +773,10 @@
|
||||
139 0 0 DarkRed
|
||||
144 238 144 light green
|
||||
144 238 144 LightGreen
|
||||
220 20 60 crimson
|
||||
75 0 130 indigo
|
||||
128 128 0 olive
|
||||
102 51 153 rebecca purple
|
||||
102 51 153 RebeccaPurple
|
||||
192 192 192 silver
|
||||
0 128 128 teal
|
||||
|
||||
@@ -582,6 +582,7 @@ vimobj = \
|
||||
$(OBJDIR)\search.obj \
|
||||
$(OBJDIR)\sha256.obj \
|
||||
$(OBJDIR)\spell.obj \
|
||||
$(OBJDIR)\spellfile.obj \
|
||||
$(OBJDIR)\syntax.obj \
|
||||
$(OBJDIR)\tag.obj \
|
||||
$(OBJDIR)\term.obj \
|
||||
|
||||
@@ -653,6 +653,7 @@ OBJ = \
|
||||
$(OUTDIR)/search.o \
|
||||
$(OUTDIR)/sha256.o \
|
||||
$(OUTDIR)/spell.o \
|
||||
$(OUTDIR)/spellfile.o \
|
||||
$(OUTDIR)/syntax.o \
|
||||
$(OUTDIR)/tag.o \
|
||||
$(OUTDIR)/term.o \
|
||||
|
||||
+5
-1
@@ -72,6 +72,7 @@ SRC = \
|
||||
search.c \
|
||||
sha256.c \
|
||||
spell.c \
|
||||
spellfile.c \
|
||||
syntax.c \
|
||||
tag.c \
|
||||
term.c \
|
||||
@@ -127,6 +128,7 @@ OBJ = o/arabic.o \
|
||||
o/search.o \
|
||||
o/sha256.o \
|
||||
o/spell.o \
|
||||
o/spellfile.o \
|
||||
o/syntax.o \
|
||||
o/tag.o \
|
||||
o/term.o \
|
||||
@@ -250,7 +252,9 @@ o/search.o: search.c $(SYMS) regexp.h
|
||||
|
||||
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)
|
||||
|
||||
|
||||
@@ -258,6 +258,7 @@ LINK32_OBJS= \
|
||||
"$(INTDIR)/search.obj" \
|
||||
"$(INTDIR)/sha256.obj" \
|
||||
"$(INTDIR)/spell.obj" \
|
||||
"$(INTDIR)/spellfile.obj" \
|
||||
"$(INTDIR)/syntax.obj" \
|
||||
"$(INTDIR)/tag.obj" \
|
||||
"$(INTDIR)/term.obj" \
|
||||
@@ -678,6 +679,10 @@ SOURCE=.\spell.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\spellfile.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\syntax.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
@@ -82,6 +82,7 @@ SRC = arabic.c \
|
||||
search.c \
|
||||
sha256.c \
|
||||
spell.c \
|
||||
spellfile.c \
|
||||
syntax.c \
|
||||
tag.c \
|
||||
term.c \
|
||||
@@ -139,6 +140,7 @@ OBJ = obj/arabic.o \
|
||||
obj/search.o \
|
||||
obj/sha256.o \
|
||||
obj/spell.o \
|
||||
obj/spellfile.o \
|
||||
obj/syntax.o \
|
||||
obj/tag.o \
|
||||
obj/term.o \
|
||||
@@ -194,6 +196,7 @@ PRO = proto/arabic.pro \
|
||||
proto/search.pro \
|
||||
proto/sha256.pro \
|
||||
proto/spell.pro \
|
||||
proto/spellfile.pro \
|
||||
proto/syntax.pro \
|
||||
proto/tag.pro \
|
||||
proto/term.pro \
|
||||
@@ -389,6 +392,9 @@ obj/sha256.o: sha256.c
|
||||
obj/spell.o: spell.c
|
||||
$(CCSYM) $@ spell.c
|
||||
|
||||
obj/spellfile.o: spellfile.c
|
||||
$(CCSYM) $@ spellfile.c
|
||||
|
||||
obj/syntax.o: syntax.c
|
||||
$(CCSYM) $@ syntax.c
|
||||
|
||||
|
||||
@@ -70,6 +70,7 @@ SRC = arabic.c \
|
||||
search.c \
|
||||
sha256.c \
|
||||
spell.c \
|
||||
spellfile.c \
|
||||
syntax.c \
|
||||
tag.c \
|
||||
term.c \
|
||||
|
||||
@@ -597,6 +597,7 @@ OBJ = \
|
||||
$(OUTDIR)\search.obj \
|
||||
$(OUTDIR)\sha256.obj \
|
||||
$(OUTDIR)\spell.obj \
|
||||
$(OUTDIR)\spellfile.obj \
|
||||
$(OUTDIR)\syntax.obj \
|
||||
$(OUTDIR)\tag.obj \
|
||||
$(OUTDIR)\term.obj \
|
||||
@@ -1306,6 +1307,8 @@ $(OUTDIR)/sha256.obj: $(OUTDIR) sha256.c $(INCL)
|
||||
|
||||
$(OUTDIR)/spell.obj: $(OUTDIR) spell.c $(INCL)
|
||||
|
||||
$(OUTDIR)/spellfile.obj: $(OUTDIR) spellfile.c $(INCL)
|
||||
|
||||
$(OUTDIR)/syntax.obj: $(OUTDIR) syntax.c $(INCL)
|
||||
|
||||
$(OUTDIR)/tag.obj: $(OUTDIR) tag.c $(INCL)
|
||||
@@ -1411,6 +1414,7 @@ proto.h: \
|
||||
proto/search.pro \
|
||||
proto/sha256.pro \
|
||||
proto/spell.pro \
|
||||
proto/spellfile.pro \
|
||||
proto/syntax.pro \
|
||||
proto/tag.pro \
|
||||
proto/term.pro \
|
||||
|
||||
@@ -135,6 +135,7 @@ SRC = \
|
||||
search.c \
|
||||
sha256.c \
|
||||
spell.c \
|
||||
spellfile.c \
|
||||
syntax.c \
|
||||
tag.c \
|
||||
term.c \
|
||||
@@ -191,6 +192,7 @@ OBJ = \
|
||||
search.o \
|
||||
sha256.o \
|
||||
spell.o \
|
||||
spellfile.o \
|
||||
syntax.o \
|
||||
tag.o \
|
||||
term.o \
|
||||
@@ -247,6 +249,7 @@ PRO = \
|
||||
proto/search.pro \
|
||||
proto/sha256.pro \
|
||||
proto/spell.pro \
|
||||
proto/spellfile.pro \
|
||||
proto/syntax.pro \
|
||||
proto/tag.pro \
|
||||
proto/term.pro \
|
||||
@@ -403,6 +406,8 @@ sha256.o: sha256.c
|
||||
proto/sha256.pro: sha256.c
|
||||
spell.o: spell.c
|
||||
proto/spell.pro: spell.c
|
||||
spellfile.o: spellfile.c
|
||||
proto/spellfile.pro: spellfile.c
|
||||
syntax.o: syntax.c
|
||||
proto/syntax.pro: syntax.c
|
||||
tag.o: tag.c
|
||||
|
||||
+194
-176
@@ -602,6 +602,10 @@ AUTOCONF = autoconf
|
||||
# PURIFY - remove the # to use the "purify" program (hoi Nia++!)
|
||||
#PURIFY = purify
|
||||
|
||||
# VALGRIND - remove the # to use valgrind for memory leaks and access errors.
|
||||
# Used for the unittest targets.
|
||||
# VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=25 --log-file=valgrind.$@
|
||||
|
||||
# NBDEBUG - debugging the netbeans interface.
|
||||
#EXTRA_DEFS = -DNBDEBUG
|
||||
|
||||
@@ -1544,6 +1548,7 @@ BASIC_SRC = \
|
||||
search.c \
|
||||
sha256.c \
|
||||
spell.c \
|
||||
spellfile.c \
|
||||
syntax.c \
|
||||
tag.c \
|
||||
term.c \
|
||||
@@ -1584,6 +1589,7 @@ MESSAGE_TEST_TARGET = message_test$(EXEEXT)
|
||||
|
||||
UNITTEST_SRC = $(JSON_TEST_SRC) $(MEMFILE_TEST_SRC) $(MESSAGE_TEST_SRC)
|
||||
UNITTEST_TARGETS = $(JSON_TEST_TARGET) $(MEMFILE_TEST_TARGET) $(MESSAGE_TEST_TARGET)
|
||||
RUN_UNITTESTS = run_json_test run_memfile_test run_message_test
|
||||
|
||||
# All sources, also the ones that are not configured
|
||||
ALL_SRC = $(BASIC_SRC) $(ALL_GUI_SRC) $(UNITTEST_SRC) $(EXTRA_SRC)
|
||||
@@ -1646,6 +1652,7 @@ OBJ_COMMON = \
|
||||
objects/search.o \
|
||||
objects/sha256.o \
|
||||
objects/spell.o \
|
||||
objects/spellfile.o \
|
||||
objects/syntax.o \
|
||||
objects/tag.o \
|
||||
objects/term.o \
|
||||
@@ -1747,6 +1754,7 @@ PRO_AUTO = \
|
||||
search.pro \
|
||||
sha256.pro \
|
||||
spell.pro \
|
||||
spellfile.pro \
|
||||
syntax.pro \
|
||||
tag.pro \
|
||||
term.pro \
|
||||
@@ -2004,19 +2012,16 @@ unittesttargets:
|
||||
$(MAKE) -f Makefile $(UNITTEST_TARGETS)
|
||||
|
||||
# Execute the unittests one by one.
|
||||
unittest unittests: $(UNITTEST_TARGETS)
|
||||
@for t in $(UNITTEST_TARGETS); do \
|
||||
./$$t || exit 1; echo $$t passed; \
|
||||
done
|
||||
unittest unittests: $(RUN_UNITTESTS)
|
||||
|
||||
run_json_test: $(JSON_TEST_TARGET)
|
||||
./$(JSON_TEST_TARGET)
|
||||
$(VALGRIND) ./$(JSON_TEST_TARGET) || exit 1; echo $* passed;
|
||||
|
||||
run_memfile_test: $(MEMFILE_TEST_TARGET)
|
||||
./$(MEMFILE_TEST_TARGET)
|
||||
$(VALGRIND) ./$(MEMFILE_TEST_TARGET) || exit 1; echo $* passed;
|
||||
|
||||
run_message_test: $(MESSAGE_TEST_TARGET)
|
||||
./$(MESSAGE_TEST_TARGET)
|
||||
$(VALGRIND) ./$(MESSAGE_TEST_TARGET) || exit 1; echo $* passed;
|
||||
|
||||
# Run individual OLD style test, assuming that Vim was already compiled.
|
||||
test1 \
|
||||
@@ -3086,6 +3091,9 @@ objects/sha256.o: sha256.c
|
||||
objects/spell.o: spell.c
|
||||
$(CCC) -o $@ spell.c
|
||||
|
||||
objects/spellfile.o: spellfile.c
|
||||
$(CCC) -o $@ spellfile.c
|
||||
|
||||
objects/syntax.o: syntax.c
|
||||
$(CCC) -o $@ syntax.c
|
||||
|
||||
@@ -3243,244 +3251,252 @@ macvimclean:
|
||||
### Dependencies:
|
||||
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 \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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/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 \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h version.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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/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 \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h version.h
|
||||
objects/evalfunc.o: evalfunc.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 proto.h globals.h \
|
||||
farsi.h arabic.h version.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 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 version.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 \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h version.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
globals.h farsi.h arabic.h version.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 version.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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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/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 \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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/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 \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.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 \
|
||||
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
|
||||
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 version.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 \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h if_cscope.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 if_cscope.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 \
|
||||
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
|
||||
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 version.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 \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h version.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h os_unixx.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
globals.h farsi.h arabic.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/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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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/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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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/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 \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h regexp_nfa.c
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
objects/userfunc.o: userfunc.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 proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 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/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 \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h version.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
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 \
|
||||
farsi.h arabic.h gui_gtk_f.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
globals.h farsi.h arabic.h gui_gtk_f.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 gui_gtk_f.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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_xmebw.h ../pixmaps/alert.xpm \
|
||||
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 gui_xmebw.h ../pixmaps/alert.xpm \
|
||||
../pixmaps/error.xpm ../pixmaps/generic.xpm ../pixmaps/info.xpm \
|
||||
../pixmaps/quest.xpm gui_x11_pm.h ../pixmaps/tb_new.xpm \
|
||||
../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm ../pixmaps/tb_save.xpm \
|
||||
@@ -3500,16 +3516,16 @@ objects/gui_motif.o: gui_motif.c vim.h auto/config.h feature.h os_unix.h \
|
||||
../pixmaps/tb_minwidth.xpm
|
||||
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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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/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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_xmebwp.h gui_xmebw.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 gui_xmebwp.h gui_xmebw.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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_at_sb.h gui_x11_pm.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 gui_at_sb.h gui_x11_pm.h \
|
||||
../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_copy.xpm ../pixmaps/tb_paste.xpm ../pixmaps/tb_find.xpm \
|
||||
@@ -3527,92 +3543,94 @@ objects/gui_athena.o: gui_athena.c vim.h auto/config.h feature.h os_unix.h \
|
||||
../pixmaps/tb_minwidth.xpm
|
||||
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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h auto/gui_gtk_gresources.h gui_gtk_f.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 auto/gui_gtk_gresources.h gui_gtk_f.h \
|
||||
../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 \
|
||||
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 \
|
||||
farsi.h arabic.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
|
||||
../runtime/vim48x48.xpm
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h ../runtime/vim32x32.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 \
|
||||
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 \
|
||||
globals.h farsi.h arabic.h gui_at_sb.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 gui_at_sb.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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_at_sb.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 gui_at_sb.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 \
|
||||
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 \
|
||||
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 \
|
||||
globals.h farsi.h arabic.h json.c
|
||||
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 json.c
|
||||
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 \
|
||||
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 \
|
||||
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 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 \
|
||||
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 \
|
||||
globals.h farsi.h arabic.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/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 \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h if_mzsch.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 if_mzsch.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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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/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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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/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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h if_py_both.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 if_py_both.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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h if_py_both.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 if_py_both.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 \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
farsi.h arabic.h version.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.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 \
|
||||
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 \
|
||||
globals.h farsi.h arabic.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/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 \
|
||||
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/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 \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h integration.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 integration.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 \
|
||||
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
|
||||
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 version.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 \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
|
||||
farsi.h arabic.h
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c
|
||||
|
||||
+27
-4
@@ -177,6 +177,16 @@ static struct vimvar
|
||||
{VV_NAME("none", VAR_SPECIAL), VV_RO},
|
||||
{VV_NAME("vim_did_enter", VAR_NUMBER), VV_RO},
|
||||
{VV_NAME("testing", VAR_NUMBER), 0},
|
||||
{VV_NAME("t_number", VAR_NUMBER), VV_RO},
|
||||
{VV_NAME("t_string", VAR_NUMBER), VV_RO},
|
||||
{VV_NAME("t_func", VAR_NUMBER), VV_RO},
|
||||
{VV_NAME("t_list", VAR_NUMBER), VV_RO},
|
||||
{VV_NAME("t_dict", VAR_NUMBER), VV_RO},
|
||||
{VV_NAME("t_float", VAR_NUMBER), VV_RO},
|
||||
{VV_NAME("t_bool", VAR_NUMBER), VV_RO},
|
||||
{VV_NAME("t_none", VAR_NUMBER), VV_RO},
|
||||
{VV_NAME("t_job", VAR_NUMBER), VV_RO},
|
||||
{VV_NAME("t_channel", VAR_NUMBER), VV_RO},
|
||||
};
|
||||
|
||||
/* shorthand */
|
||||
@@ -292,6 +302,17 @@ eval_init(void)
|
||||
set_vim_var_nr(VV_NONE, VVAL_NONE);
|
||||
set_vim_var_nr(VV_NULL, VVAL_NULL);
|
||||
|
||||
set_vim_var_nr(VV_TYPE_NUMBER, VAR_TYPE_NUMBER);
|
||||
set_vim_var_nr(VV_TYPE_STRING, VAR_TYPE_STRING);
|
||||
set_vim_var_nr(VV_TYPE_FUNC, VAR_TYPE_FUNC);
|
||||
set_vim_var_nr(VV_TYPE_LIST, VAR_TYPE_LIST);
|
||||
set_vim_var_nr(VV_TYPE_DICT, VAR_TYPE_DICT);
|
||||
set_vim_var_nr(VV_TYPE_FLOAT, VAR_TYPE_FLOAT);
|
||||
set_vim_var_nr(VV_TYPE_BOOL, VAR_TYPE_BOOL);
|
||||
set_vim_var_nr(VV_TYPE_NONE, VAR_TYPE_NONE);
|
||||
set_vim_var_nr(VV_TYPE_JOB, VAR_TYPE_JOB);
|
||||
set_vim_var_nr(VV_TYPE_CHANNEL, VAR_TYPE_CHANNEL);
|
||||
|
||||
set_reg_var(0); /* default for v:register is not 0 but '"' */
|
||||
|
||||
#ifdef EBCDIC
|
||||
@@ -9748,7 +9769,7 @@ repeat:
|
||||
if (sub != NULL && str != NULL)
|
||||
{
|
||||
*usedlen = (int)(p + 1 - src);
|
||||
s = do_string_sub(str, pat, sub, flags);
|
||||
s = do_string_sub(str, pat, sub, NULL, flags);
|
||||
if (s != NULL)
|
||||
{
|
||||
*fnamep = s;
|
||||
@@ -9792,6 +9813,7 @@ repeat:
|
||||
|
||||
/*
|
||||
* Perform a substitution on "str" with pattern "pat" and substitute "sub".
|
||||
* When "sub" is NULL "expr" is used, must be a VAR_FUNC or VAR_PARTIAL.
|
||||
* "flags" can be "g" to do a global substitute.
|
||||
* Returns an allocated string, NULL for error.
|
||||
*/
|
||||
@@ -9800,6 +9822,7 @@ do_string_sub(
|
||||
char_u *str,
|
||||
char_u *pat,
|
||||
char_u *sub,
|
||||
typval_T *expr,
|
||||
char_u *flags)
|
||||
{
|
||||
int sublen;
|
||||
@@ -9852,7 +9875,7 @@ do_string_sub(
|
||||
* - The substituted text.
|
||||
* - The text after the match.
|
||||
*/
|
||||
sublen = vim_regsub(®match, sub, tail, FALSE, TRUE, FALSE);
|
||||
sublen = vim_regsub(®match, sub, expr, tail, FALSE, TRUE, FALSE);
|
||||
if (ga_grow(&ga, (int)((end - tail) + sublen -
|
||||
(regmatch.endp[0] - regmatch.startp[0]))) == FAIL)
|
||||
{
|
||||
@@ -9864,7 +9887,7 @@ do_string_sub(
|
||||
i = (int)(regmatch.startp[0] - tail);
|
||||
mch_memmove((char_u *)ga.ga_data + ga.ga_len, tail, (size_t)i);
|
||||
/* add the substituted text */
|
||||
(void)vim_regsub(®match, sub, (char_u *)ga.ga_data
|
||||
(void)vim_regsub(®match, sub, expr, (char_u *)ga.ga_data
|
||||
+ ga.ga_len + i, TRUE, TRUE, FALSE);
|
||||
ga.ga_len += i + sublen - 1;
|
||||
tail = regmatch.endp[0];
|
||||
@@ -9885,7 +9908,7 @@ do_string_sub(
|
||||
if (p_cpo == empty_option)
|
||||
p_cpo = save_cpo;
|
||||
else
|
||||
/* Darn, evaluating {sub} expression changed the value. */
|
||||
/* Darn, evaluating {sub} expression or {expr} changed the value. */
|
||||
free_string_option(save_cpo);
|
||||
|
||||
return ret;
|
||||
|
||||
+20
-13
@@ -11088,14 +11088,21 @@ f_substitute(typval_T *argvars, typval_T *rettv)
|
||||
|
||||
char_u *str = get_tv_string_chk(&argvars[0]);
|
||||
char_u *pat = get_tv_string_buf_chk(&argvars[1], patbuf);
|
||||
char_u *sub = get_tv_string_buf_chk(&argvars[2], subbuf);
|
||||
char_u *sub = NULL;
|
||||
typval_T *expr = NULL;
|
||||
char_u *flg = get_tv_string_buf_chk(&argvars[3], flagsbuf);
|
||||
|
||||
if (argvars[2].v_type == VAR_FUNC || argvars[2].v_type == VAR_PARTIAL)
|
||||
expr = &argvars[2];
|
||||
else
|
||||
sub = get_tv_string_buf_chk(&argvars[2], subbuf);
|
||||
|
||||
rettv->v_type = VAR_STRING;
|
||||
if (str == NULL || pat == NULL || sub == NULL || flg == NULL)
|
||||
if (str == NULL || pat == NULL || (sub == NULL && expr == NULL)
|
||||
|| flg == NULL)
|
||||
rettv->vval.v_string = NULL;
|
||||
else
|
||||
rettv->vval.v_string = do_string_sub(str, pat, sub, flg);
|
||||
rettv->vval.v_string = do_string_sub(str, pat, sub, expr, flg);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -12163,22 +12170,22 @@ f_type(typval_T *argvars, typval_T *rettv)
|
||||
|
||||
switch (argvars[0].v_type)
|
||||
{
|
||||
case VAR_NUMBER: n = 0; break;
|
||||
case VAR_STRING: n = 1; break;
|
||||
case VAR_NUMBER: n = VAR_TYPE_NUMBER; break;
|
||||
case VAR_STRING: n = VAR_TYPE_STRING; break;
|
||||
case VAR_PARTIAL:
|
||||
case VAR_FUNC: n = 2; break;
|
||||
case VAR_LIST: n = 3; break;
|
||||
case VAR_DICT: n = 4; break;
|
||||
case VAR_FLOAT: n = 5; break;
|
||||
case VAR_FUNC: n = VAR_TYPE_FUNC; break;
|
||||
case VAR_LIST: n = VAR_TYPE_LIST; break;
|
||||
case VAR_DICT: n = VAR_TYPE_DICT; break;
|
||||
case VAR_FLOAT: n = VAR_TYPE_FLOAT; break;
|
||||
case VAR_SPECIAL:
|
||||
if (argvars[0].vval.v_number == VVAL_FALSE
|
||||
|| argvars[0].vval.v_number == VVAL_TRUE)
|
||||
n = 6;
|
||||
n = VAR_TYPE_BOOL;
|
||||
else
|
||||
n = 7;
|
||||
n = VAR_TYPE_NONE;
|
||||
break;
|
||||
case VAR_JOB: n = 8; break;
|
||||
case VAR_CHANNEL: n = 9; break;
|
||||
case VAR_JOB: n = VAR_TYPE_JOB; break;
|
||||
case VAR_CHANNEL: n = VAR_TYPE_CHANNEL; break;
|
||||
case VAR_UNKNOWN:
|
||||
EMSG2(_(e_intern2), "f_type(UNKNOWN)");
|
||||
n = -1;
|
||||
|
||||
@@ -7744,6 +7744,8 @@ static struct event_name
|
||||
{"StdinReadPre", EVENT_STDINREADPRE},
|
||||
{"SwapExists", EVENT_SWAPEXISTS},
|
||||
{"Syntax", EVENT_SYNTAX},
|
||||
{"TabNew", EVENT_TABNEW},
|
||||
{"TabClosed", EVENT_TABCLOSED},
|
||||
{"TabEnter", EVENT_TABENTER},
|
||||
{"TabLeave", EVENT_TABLEAVE},
|
||||
{"TermChanged", EVENT_TERMCHANGED},
|
||||
@@ -7754,6 +7756,7 @@ static struct event_name
|
||||
{"VimEnter", EVENT_VIMENTER},
|
||||
{"VimLeave", EVENT_VIMLEAVE},
|
||||
{"VimLeavePre", EVENT_VIMLEAVEPRE},
|
||||
{"WinNew", EVENT_WINNEW},
|
||||
{"WinEnter", EVENT_WINENTER},
|
||||
{"WinLeave", EVENT_WINLEAVE},
|
||||
{"VimResized", EVENT_VIMRESIZED},
|
||||
|
||||
+17
-2
@@ -298,9 +298,9 @@ trunc_string(
|
||||
{
|
||||
do
|
||||
half = half - (*mb_head_off)(s, s + half - 1) - 1;
|
||||
while (utf_iscomposing(utf_ptr2char(s + half)) && half > 0);
|
||||
while (half > 0 && utf_iscomposing(utf_ptr2char(s + half)));
|
||||
n = ptr2cells(s + half);
|
||||
if (len + n > room)
|
||||
if (len + n > room || half == 0)
|
||||
break;
|
||||
len += n;
|
||||
i = half;
|
||||
@@ -521,6 +521,21 @@ emsg_not_now(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#if !defined(HAVE_STRERROR) || defined(PROTO)
|
||||
/*
|
||||
* Replacement for perror() that behaves more or less like emsg() was called.
|
||||
* v:errmsg will be set and called_emsg will be set.
|
||||
*/
|
||||
void
|
||||
do_perror(char *msg)
|
||||
{
|
||||
perror(msg);
|
||||
++emsg_silent;
|
||||
emsg((char_u *)msg);
|
||||
--emsg_silent;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* emsg() - display an error message
|
||||
*
|
||||
|
||||
+37
-5
@@ -28,37 +28,69 @@
|
||||
static void
|
||||
test_trunc_string(void)
|
||||
{
|
||||
char_u buf[40];
|
||||
char_u *buf; /*allocated every time to find uninit errors */
|
||||
char_u *s;
|
||||
|
||||
/* in place */
|
||||
buf = alloc(40);
|
||||
STRCPY(buf, "text");
|
||||
trunc_string(buf, buf, 20, 40);
|
||||
assert(STRCMP(buf, "text") == 0);
|
||||
vim_free(buf);
|
||||
|
||||
buf = alloc(40);
|
||||
STRCPY(buf, "a short text");
|
||||
trunc_string(buf, buf, 20, 40);
|
||||
assert(STRCMP(buf, "a short text") == 0);
|
||||
vim_free(buf);
|
||||
|
||||
buf = alloc(40);
|
||||
STRCPY(buf, "a text tha just fits");
|
||||
trunc_string(buf, buf, 20, 40);
|
||||
assert(STRCMP(buf, "a text tha just fits") == 0);
|
||||
vim_free(buf);
|
||||
|
||||
buf = alloc(40);
|
||||
STRCPY(buf, "a text that nott fits");
|
||||
trunc_string(buf, buf, 20, 40);
|
||||
assert(STRCMP(buf, "a text t...nott fits") == 0);
|
||||
vim_free(buf);
|
||||
|
||||
/* copy from string to buf */
|
||||
trunc_string((char_u *)"text", buf, 20, 40);
|
||||
buf = alloc(40);
|
||||
s = vim_strsave((char_u *)"text");
|
||||
trunc_string(s, buf, 20, 40);
|
||||
assert(STRCMP(buf, "text") == 0);
|
||||
vim_free(buf);
|
||||
vim_free(s);
|
||||
|
||||
trunc_string((char_u *)"a short text", buf, 20, 40);
|
||||
buf = alloc(40);
|
||||
s = vim_strsave((char_u *)"a text that fits");
|
||||
trunc_string(s, buf, 34, 40);
|
||||
assert(STRCMP(buf, "a text that fits") == 0);
|
||||
vim_free(buf);
|
||||
vim_free(s);
|
||||
|
||||
buf = alloc(40);
|
||||
s = vim_strsave((char_u *)"a short text");
|
||||
trunc_string(s, buf, 20, 40);
|
||||
assert(STRCMP(buf, "a short text") == 0);
|
||||
vim_free(buf);
|
||||
vim_free(s);
|
||||
|
||||
trunc_string((char_u *)"a text tha just fits", buf, 20, 40);
|
||||
buf = alloc(40);
|
||||
s = vim_strsave((char_u *)"a text tha just fits");
|
||||
trunc_string(s, buf, 20, 40);
|
||||
assert(STRCMP(buf, "a text tha just fits") == 0);
|
||||
vim_free(buf);
|
||||
vim_free(s);
|
||||
|
||||
trunc_string((char_u *)"a text that nott fits", buf, 20, 40);
|
||||
buf = alloc(40);
|
||||
s = vim_strsave((char_u *)"a text that nott fits");
|
||||
trunc_string(s, buf, 20, 40);
|
||||
assert(STRCMP(buf, "a text t...nott fits") == 0);
|
||||
vim_free(buf);
|
||||
vim_free(s);
|
||||
}
|
||||
|
||||
int
|
||||
|
||||
@@ -158,6 +158,7 @@ void qsort(void *base, size_t elm_count, size_t elm_size, int (*cmp)(const void
|
||||
# endif
|
||||
# include "search.pro"
|
||||
# include "spell.pro"
|
||||
# include "spellfile.pro"
|
||||
# include "syntax.pro"
|
||||
# include "tag.pro"
|
||||
# include "term.pro"
|
||||
|
||||
+1
-1
@@ -126,6 +126,6 @@ void assert_exception(typval_T *argvars);
|
||||
void assert_fails(typval_T *argvars);
|
||||
void fill_assert_error(garray_T *gap, typval_T *opt_msg_tv, char_u *exp_str, typval_T *exp_tv, typval_T *got_tv, assert_type_T atype);
|
||||
int modify_fname(char_u *src, int *usedlen, char_u **fnamep, char_u **bufp, int *fnamelen);
|
||||
char_u *do_string_sub(char_u *str, char_u *pat, char_u *sub, char_u *flags);
|
||||
char_u *do_string_sub(char_u *str, char_u *pat, char_u *sub, typval_T *expr, char_u *flags);
|
||||
void filter_map(typval_T *argvars, typval_T *rettv, int map);
|
||||
/* vim: set ft=c : */
|
||||
|
||||
@@ -8,6 +8,7 @@ void trunc_string(char_u *s, char_u *buf, int room, int buflen);
|
||||
void reset_last_sourcing(void);
|
||||
void msg_source(int attr);
|
||||
int emsg_not_now(void);
|
||||
void do_perror(char *msg);
|
||||
int emsg(char_u *s);
|
||||
int emsg2(char_u *s, char_u *a1);
|
||||
void emsg_invreg(int name);
|
||||
|
||||
@@ -7,7 +7,7 @@ void free_regexp_stuff(void);
|
||||
reg_extmatch_T *ref_extmatch(reg_extmatch_T *em);
|
||||
void unref_extmatch(reg_extmatch_T *em);
|
||||
char_u *regtilde(char_u *source, int magic);
|
||||
int vim_regsub(regmatch_T *rmp, char_u *source, char_u *dest, int copy, int magic, int backslash);
|
||||
int vim_regsub(regmatch_T *rmp, char_u *source, typval_T *expr, char_u *dest, int copy, int magic, int backslash);
|
||||
int vim_regsub_multi(regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int copy, int magic, int backslash);
|
||||
char_u *reg_submatch(int no);
|
||||
list_T *reg_submatch_list(int no);
|
||||
|
||||
+16
-4
@@ -2,20 +2,32 @@
|
||||
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);
|
||||
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);
|
||||
int captype(char_u *word, char_u *end);
|
||||
void spell_delete_wordlist(void);
|
||||
void spell_free_all(void);
|
||||
void spell_reload(void);
|
||||
int spell_check_msm(void);
|
||||
void ex_mkspell(exarg_T *eap);
|
||||
void ex_spell(exarg_T *eap);
|
||||
void spell_add_word(char_u *word, int len, int bad, int idx, int undo);
|
||||
buf_T *open_spellbuf(void);
|
||||
void close_spellbuf(buf_T *buf);
|
||||
void clear_spell_chartab(spelltab_T *sp);
|
||||
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);
|
||||
void spell_suggest(int count);
|
||||
void ex_spellrepall(exarg_T *eap);
|
||||
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);
|
||||
void spell_soundfold(slang_T *slang, char_u *inword, int folded, char_u *res);
|
||||
void ex_spellinfo(exarg_T *eap);
|
||||
void ex_spelldump(exarg_T *eap);
|
||||
void spell_dump_compl(char_u *pat, int ic, int *dir, int dumpflags_arg);
|
||||
|
||||
@@ -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 : */
|
||||
+44
-8
@@ -7169,7 +7169,7 @@ static fptr_T do_Upper(int *, int);
|
||||
static fptr_T do_lower(int *, int);
|
||||
static fptr_T do_Lower(int *, int);
|
||||
|
||||
static int vim_regsub_both(char_u *source, char_u *dest, int copy, int magic, int backslash);
|
||||
static int vim_regsub_both(char_u *source, typval_T *expr, char_u *dest, int copy, int magic, int backslash);
|
||||
|
||||
static fptr_T
|
||||
do_upper(int *d, int c)
|
||||
@@ -7312,6 +7312,7 @@ static int submatch_line_lbr;
|
||||
vim_regsub(
|
||||
regmatch_T *rmp,
|
||||
char_u *source,
|
||||
typval_T *expr,
|
||||
char_u *dest,
|
||||
int copy,
|
||||
int magic,
|
||||
@@ -7322,7 +7323,7 @@ vim_regsub(
|
||||
reg_maxline = 0;
|
||||
reg_buf = curbuf;
|
||||
reg_line_lbr = TRUE;
|
||||
return vim_regsub_both(source, dest, copy, magic, backslash);
|
||||
return vim_regsub_both(source, expr, dest, copy, magic, backslash);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -7342,12 +7343,13 @@ vim_regsub_multi(
|
||||
reg_firstlnum = lnum;
|
||||
reg_maxline = curbuf->b_ml.ml_line_count - lnum;
|
||||
reg_line_lbr = FALSE;
|
||||
return vim_regsub_both(source, dest, copy, magic, backslash);
|
||||
return vim_regsub_both(source, NULL, dest, copy, magic, backslash);
|
||||
}
|
||||
|
||||
static int
|
||||
vim_regsub_both(
|
||||
char_u *source,
|
||||
typval_T *expr,
|
||||
char_u *dest,
|
||||
int copy,
|
||||
int magic,
|
||||
@@ -7364,11 +7366,11 @@ vim_regsub_both(
|
||||
linenr_T clnum = 0; /* init for GCC */
|
||||
int len = 0; /* init for GCC */
|
||||
#ifdef FEAT_EVAL
|
||||
static char_u *eval_result = NULL;
|
||||
static char_u *eval_result = NULL;
|
||||
#endif
|
||||
|
||||
/* Be paranoid... */
|
||||
if (source == NULL || dest == NULL)
|
||||
if ((source == NULL && expr == NULL) || dest == NULL)
|
||||
{
|
||||
EMSG(_(e_null));
|
||||
return 0;
|
||||
@@ -7381,11 +7383,11 @@ vim_regsub_both(
|
||||
/*
|
||||
* When the substitute part starts with "\=" evaluate it as an expression.
|
||||
*/
|
||||
if (source[0] == '\\' && source[1] == '='
|
||||
if (expr != NULL || (source[0] == '\\' && source[1] == '='
|
||||
#ifdef FEAT_EVAL
|
||||
&& !can_f_submatch /* can't do this recursively */
|
||||
#endif
|
||||
)
|
||||
))
|
||||
{
|
||||
#ifdef FEAT_EVAL
|
||||
/* To make sure that the length doesn't change between checking the
|
||||
@@ -7406,6 +7408,7 @@ vim_regsub_both(
|
||||
{
|
||||
win_T *save_reg_win;
|
||||
int save_ireg_ic;
|
||||
int prev_can_f_submatch = can_f_submatch;
|
||||
|
||||
vim_free(eval_result);
|
||||
|
||||
@@ -7422,7 +7425,40 @@ vim_regsub_both(
|
||||
save_ireg_ic = ireg_ic;
|
||||
can_f_submatch = TRUE;
|
||||
|
||||
eval_result = eval_to_string(source + 2, NULL, TRUE);
|
||||
if (expr != NULL)
|
||||
{
|
||||
typval_T argv[1];
|
||||
int dummy;
|
||||
char_u buf[NUMBUFLEN];
|
||||
typval_T rettv;
|
||||
|
||||
rettv.v_type = VAR_STRING;
|
||||
rettv.vval.v_string = NULL;
|
||||
if (prev_can_f_submatch)
|
||||
{
|
||||
/* can't do this recursively */
|
||||
}
|
||||
else if (expr->v_type == VAR_FUNC)
|
||||
{
|
||||
s = expr->vval.v_string;
|
||||
call_func(s, (int)STRLEN(s), &rettv, 0, argv,
|
||||
0L, 0L, &dummy, TRUE, NULL, NULL);
|
||||
}
|
||||
else if (expr->v_type == VAR_PARTIAL)
|
||||
{
|
||||
partial_T *partial = expr->vval.v_partial;
|
||||
|
||||
s = partial->pt_name;
|
||||
call_func(s, (int)STRLEN(s), &rettv, 0, argv,
|
||||
0L, 0L, &dummy, TRUE, partial, NULL);
|
||||
}
|
||||
eval_result = get_tv_string_buf_chk(&rettv, buf);
|
||||
if (eval_result != NULL)
|
||||
eval_result = vim_strsave(eval_result);
|
||||
}
|
||||
else
|
||||
eval_result = eval_to_string(source + 2, NULL, TRUE);
|
||||
|
||||
if (eval_result != NULL)
|
||||
{
|
||||
int had_backslash = FALSE;
|
||||
|
||||
+19
-7039
File diff suppressed because it is too large
Load Diff
+319
@@ -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
File diff suppressed because it is too large
Load Diff
+67
-53
@@ -6092,6 +6092,8 @@ gui_get_color_cmn(char_u *name)
|
||||
guicolor_T color;
|
||||
};
|
||||
|
||||
/* Only non X11 colors (not present in rgb.txt) and colors in
|
||||
* color_names[], useful when $VIMRUNTIME is not found,. */
|
||||
static struct rgbcolor_table_S rgb_table[] = {
|
||||
{(char_u *)"black", RGB(0x00, 0x00, 0x00)},
|
||||
{(char_u *)"blue", RGB(0x00, 0x00, 0xFF)},
|
||||
@@ -6106,25 +6108,8 @@ gui_get_color_cmn(char_u *name)
|
||||
{(char_u *)"darkred", RGB(0x8B, 0x00, 0x00)},
|
||||
{(char_u *)"darkyellow", RGB(0x8B, 0x8B, 0x00)}, /* No X11 */
|
||||
{(char_u *)"gray", RGB(0xBE, 0xBE, 0xBE)},
|
||||
{(char_u *)"gray10", RGB(0x1A, 0x1A, 0x1A)},
|
||||
{(char_u *)"gray20", RGB(0x33, 0x33, 0x33)},
|
||||
{(char_u *)"gray30", RGB(0x4D, 0x4D, 0x4D)},
|
||||
{(char_u *)"gray40", RGB(0x66, 0x66, 0x66)},
|
||||
{(char_u *)"gray50", RGB(0x7F, 0x7F, 0x7F)},
|
||||
{(char_u *)"gray60", RGB(0x99, 0x99, 0x99)},
|
||||
{(char_u *)"gray70", RGB(0xB3, 0xB3, 0xB3)},
|
||||
{(char_u *)"gray80", RGB(0xCC, 0xCC, 0xCC)},
|
||||
{(char_u *)"gray90", RGB(0xE5, 0xE5, 0xE5)},
|
||||
{(char_u *)"green", RGB(0x00, 0xFF, 0x00)},
|
||||
{(char_u *)"grey", RGB(0xBE, 0xBE, 0xBE)},
|
||||
{(char_u *)"grey10", RGB(0x1A, 0x1A, 0x1A)},
|
||||
{(char_u *)"grey20", RGB(0x33, 0x33, 0x33)},
|
||||
{(char_u *)"grey30", RGB(0x4D, 0x4D, 0x4D)},
|
||||
{(char_u *)"grey40", RGB(0x66, 0x66, 0x66)},
|
||||
{(char_u *)"grey50", RGB(0x7F, 0x7F, 0x7F)},
|
||||
{(char_u *)"grey60", RGB(0x99, 0x99, 0x99)},
|
||||
{(char_u *)"grey70", RGB(0xB3, 0xB3, 0xB3)},
|
||||
{(char_u *)"grey80", RGB(0xCC, 0xCC, 0xCC)},
|
||||
{(char_u *)"grey90", RGB(0xE5, 0xE5, 0xE5)},
|
||||
{(char_u *)"lightblue", RGB(0xAD, 0xD8, 0xE6)},
|
||||
{(char_u *)"lightcyan", RGB(0xE0, 0xFF, 0xFF)},
|
||||
@@ -6135,16 +6120,14 @@ gui_get_color_cmn(char_u *name)
|
||||
{(char_u *)"lightred", RGB(0xFF, 0x8B, 0x8B)}, /* No X11 */
|
||||
{(char_u *)"lightyellow", RGB(0xFF, 0xFF, 0xE0)},
|
||||
{(char_u *)"magenta", RGB(0xFF, 0x00, 0xFF)},
|
||||
{(char_u *)"orange", RGB(0xFF, 0xA5, 0x00)},
|
||||
{(char_u *)"purple", RGB(0xA0, 0x20, 0xF0)},
|
||||
{(char_u *)"red", RGB(0xFF, 0x00, 0x00)},
|
||||
{(char_u *)"seagreen", RGB(0x2E, 0x8B, 0x57)},
|
||||
{(char_u *)"slateblue", RGB(0x6A, 0x5A, 0xCD)},
|
||||
{(char_u *)"violet", RGB(0xEE, 0x82, 0xEE)},
|
||||
{(char_u *)"white", RGB(0xFF, 0xFF, 0xFF)},
|
||||
{(char_u *)"yellow", RGB(0xFF, 0xFF, 0x00)},
|
||||
};
|
||||
|
||||
static struct rgbcolor_table_S *colornames_table;
|
||||
static int size = 0;
|
||||
|
||||
if (name[0] == '#' && STRLEN(name) == 7)
|
||||
{
|
||||
@@ -6165,44 +6148,75 @@ gui_get_color_cmn(char_u *name)
|
||||
/*
|
||||
* Last attempt. Look in the file "$VIM/rgb.txt".
|
||||
*/
|
||||
|
||||
fname = expand_env_save((char_u *)"$VIMRUNTIME/rgb.txt");
|
||||
if (fname == NULL)
|
||||
return INVALCOLOR;
|
||||
|
||||
fd = fopen((char *)fname, "rt");
|
||||
vim_free(fname);
|
||||
if (fd == NULL)
|
||||
if (size == 0)
|
||||
{
|
||||
if (p_verbose > 1)
|
||||
verb_msg((char_u *)_("Cannot open $VIMRUNTIME/rgb.txt"));
|
||||
return INVALCOLOR;
|
||||
}
|
||||
int counting;
|
||||
|
||||
while (!feof(fd))
|
||||
{
|
||||
size_t len;
|
||||
int pos;
|
||||
/* colornames_table not yet initialized */
|
||||
fname = expand_env_save((char_u *)"$VIMRUNTIME/rgb.txt");
|
||||
if (fname == NULL)
|
||||
return INVALCOLOR;
|
||||
|
||||
ignoredp = fgets(line, LINE_LEN, fd);
|
||||
len = strlen(line);
|
||||
|
||||
if (len <= 1 || line[len - 1] != '\n')
|
||||
continue;
|
||||
|
||||
line[len - 1] = '\0';
|
||||
|
||||
i = sscanf(line, "%d %d %d %n", &r, &g, &b, &pos);
|
||||
if (i != 3)
|
||||
continue;
|
||||
|
||||
if (STRICMP(line + pos, name) == 0)
|
||||
fd = fopen((char *)fname, "rt");
|
||||
vim_free(fname);
|
||||
if (fd == NULL)
|
||||
{
|
||||
fclose(fd);
|
||||
return (guicolor_T)RGB(r, g, b);
|
||||
if (p_verbose > 1)
|
||||
verb_msg((char_u *)_("Cannot open $VIMRUNTIME/rgb.txt"));
|
||||
return INVALCOLOR;
|
||||
}
|
||||
|
||||
for (counting = 1; counting >= 0; --counting)
|
||||
{
|
||||
if (!counting)
|
||||
{
|
||||
colornames_table = (struct rgbcolor_table_S *)alloc(
|
||||
(unsigned)(sizeof(struct rgbcolor_table_S) * size));
|
||||
if (colornames_table == NULL)
|
||||
{
|
||||
fclose(fd);
|
||||
return INVALCOLOR;
|
||||
}
|
||||
rewind(fd);
|
||||
}
|
||||
size = 0;
|
||||
|
||||
while (!feof(fd))
|
||||
{
|
||||
size_t len;
|
||||
int pos;
|
||||
|
||||
ignoredp = fgets(line, LINE_LEN, fd);
|
||||
len = strlen(line);
|
||||
|
||||
if (len <= 1 || line[len - 1] != '\n')
|
||||
continue;
|
||||
|
||||
line[len - 1] = '\0';
|
||||
|
||||
i = sscanf(line, "%d %d %d %n", &r, &g, &b, &pos);
|
||||
if (i != 3)
|
||||
continue;
|
||||
|
||||
if (!counting)
|
||||
{
|
||||
char_u *s = vim_strsave((char_u *)line + pos);
|
||||
|
||||
if (s == NULL)
|
||||
return INVALCOLOR;
|
||||
colornames_table[size].color_name = s;
|
||||
colornames_table[size].color = (guicolor_T)RGB(r, g, b);
|
||||
}
|
||||
size++;
|
||||
}
|
||||
}
|
||||
fclose(fd);
|
||||
}
|
||||
fclose(fd);
|
||||
|
||||
for (i = 0; i < size; i++)
|
||||
if (STRICMP(name, colornames_table[i].color_name) == 0)
|
||||
return colornames_table[i].color;
|
||||
|
||||
return INVALCOLOR;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -78,3 +78,45 @@ function Test_autocmd_bufunload_with_tabnext()
|
||||
tablast
|
||||
quit
|
||||
endfunc
|
||||
|
||||
func Test_win_tab_autocmd()
|
||||
let g:record = []
|
||||
|
||||
augroup testing
|
||||
au WinNew * call add(g:record, 'WinNew')
|
||||
au WinEnter * call add(g:record, 'WinEnter')
|
||||
au WinLeave * call add(g:record, 'WinLeave')
|
||||
au TabNew * call add(g:record, 'TabNew')
|
||||
au TabClosed * call add(g:record, 'TabClosed')
|
||||
au TabEnter * call add(g:record, 'TabEnter')
|
||||
au TabLeave * call add(g:record, 'TabLeave')
|
||||
augroup END
|
||||
|
||||
split
|
||||
tabnew
|
||||
close
|
||||
close
|
||||
|
||||
call assert_equal([
|
||||
\ 'WinLeave', 'WinNew', 'WinEnter',
|
||||
\ 'WinLeave', 'TabLeave', 'WinNew', 'WinEnter', 'TabNew', 'TabEnter',
|
||||
\ 'WinLeave', 'TabLeave', 'TabClosed', 'WinEnter', 'TabEnter',
|
||||
\ 'WinLeave', 'WinEnter'
|
||||
\ ], g:record)
|
||||
|
||||
let g:record = []
|
||||
tabnew somefile
|
||||
tabnext
|
||||
bwipe somefile
|
||||
|
||||
call assert_equal([
|
||||
\ 'WinLeave', 'TabLeave', 'WinNew', 'WinEnter', 'TabNew', 'TabEnter',
|
||||
\ 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter',
|
||||
\ 'TabClosed'
|
||||
\ ], g:record)
|
||||
|
||||
augroup testing
|
||||
au!
|
||||
augroup END
|
||||
unlet g:record
|
||||
endfunc
|
||||
|
||||
@@ -188,6 +188,7 @@ endfunc
|
||||
" Test that we can open two channels.
|
||||
func Ch_two_channels(port)
|
||||
let handle = ch_open('localhost:' . a:port, s:chopt)
|
||||
call assert_equal(v:t_channel, type(handle))
|
||||
if ch_status(handle) == "fail"
|
||||
call assert_false(1, "Can't open channel")
|
||||
return
|
||||
@@ -420,6 +421,7 @@ func Test_raw_pipe()
|
||||
endif
|
||||
call ch_log('Test_raw_pipe()')
|
||||
let job = job_start(s:python . " test_channel_pipe.py", {'mode': 'raw'})
|
||||
call assert_equal(v:t_job, type(job))
|
||||
call assert_equal("run", job_status(job))
|
||||
try
|
||||
" For a change use the job where a channel is expected.
|
||||
|
||||
@@ -135,3 +135,21 @@ function Test_printf_64bit()
|
||||
call assert_equal("123456789012345", printf('%d', 123456789012345))
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func Test_substitute_expr()
|
||||
let g:val = 'XXX'
|
||||
call assert_equal('XXX', substitute('yyy', 'y*', '\=g:val', ''))
|
||||
call assert_equal('XXX', substitute('yyy', 'y*', {-> g:val}, ''))
|
||||
call assert_equal("-\u1b \uf2-", substitute("-%1b %f2-", '%\(\x\x\)',
|
||||
\ '\=nr2char("0x" . submatch(1))', 'g'))
|
||||
call assert_equal("-\u1b \uf2-", substitute("-%1b %f2-", '%\(\x\x\)',
|
||||
\ {-> nr2char("0x" . submatch(1))}, 'g'))
|
||||
|
||||
call assert_equal('231', substitute('123', '\(.\)\(.\)\(.\)',
|
||||
\ {-> submatch(2) . submatch(3) . submatch(1)}, ''))
|
||||
|
||||
func Recurse()
|
||||
return substitute('yyy', 'y*', {-> g:val}, '')
|
||||
endfunc
|
||||
call assert_equal('--', substitute('xxx', 'x*', {-> '-' . Recurse() . '-'}, ''))
|
||||
endfunc
|
||||
|
||||
@@ -46,3 +46,8 @@ function Test_lambda_fails()
|
||||
call assert_fails('echo {a, a -> a + a}(1, 2)', 'E15:')
|
||||
call assert_fails('echo {a, b -> a + b)}(1, 2)', 'E15:')
|
||||
endfunc
|
||||
|
||||
func Test_not_lamda()
|
||||
let x = {'>' : 'foo'}
|
||||
call assert_equal('foo', x['>'])
|
||||
endfunc
|
||||
|
||||
@@ -53,8 +53,10 @@ endfunc
|
||||
func Nb_file_auth(port)
|
||||
call assert_fails('nbstart =notexist', 'E660:')
|
||||
call writefile(['host=localhost', 'port=' . a:port, 'auth=bunny'], 'Xnbauth')
|
||||
call setfperm('Xnbauth', "rw-r--r--")
|
||||
call assert_fails('nbstart =Xnbauth', 'E668:')
|
||||
if has('unix')
|
||||
call setfperm('Xnbauth', "rw-r--r--")
|
||||
call assert_fails('nbstart =Xnbauth', 'E668:')
|
||||
endif
|
||||
call setfperm('Xnbauth', "rw-------")
|
||||
exe 'nbstart :localhost:' . a:port . ':bunny'
|
||||
call assert_true(has("netbeans_enabled"))
|
||||
|
||||
@@ -33,3 +33,786 @@ func Test_missing_attr()
|
||||
call assert_equal(fontname, synIDattr(hlID("Mine"), "font", 'gui'))
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func Test_color_names()
|
||||
let colors = [
|
||||
\ 'AliceBlue',
|
||||
\ 'AntiqueWhite',
|
||||
\ 'AntiqueWhite1',
|
||||
\ 'AntiqueWhite2',
|
||||
\ 'AntiqueWhite3',
|
||||
\ 'AntiqueWhite4',
|
||||
\ 'BlanchedAlmond',
|
||||
\ 'BlueViolet',
|
||||
\ 'CadetBlue',
|
||||
\ 'CadetBlue1',
|
||||
\ 'CadetBlue2',
|
||||
\ 'CadetBlue3',
|
||||
\ 'CadetBlue4',
|
||||
\ 'CornflowerBlue',
|
||||
\ 'DarkBlue',
|
||||
\ 'DarkCyan',
|
||||
\ 'DarkGoldenrod',
|
||||
\ 'DarkGoldenrod1',
|
||||
\ 'DarkGoldenrod2',
|
||||
\ 'DarkGoldenrod3',
|
||||
\ 'DarkGoldenrod4',
|
||||
\ 'DarkGray',
|
||||
\ 'DarkGreen',
|
||||
\ 'DarkGrey',
|
||||
\ 'DarkKhaki',
|
||||
\ 'DarkMagenta',
|
||||
\ 'DarkOliveGreen',
|
||||
\ 'DarkOliveGreen1',
|
||||
\ 'DarkOliveGreen2',
|
||||
\ 'DarkOliveGreen3',
|
||||
\ 'DarkOliveGreen4',
|
||||
\ 'DarkOrange',
|
||||
\ 'DarkOrange1',
|
||||
\ 'DarkOrange2',
|
||||
\ 'DarkOrange3',
|
||||
\ 'DarkOrange4',
|
||||
\ 'DarkOrchid',
|
||||
\ 'DarkOrchid1',
|
||||
\ 'DarkOrchid2',
|
||||
\ 'DarkOrchid3',
|
||||
\ 'DarkOrchid4',
|
||||
\ 'DarkRed',
|
||||
\ 'DarkSalmon',
|
||||
\ 'DarkSeaGreen',
|
||||
\ 'DarkSeaGreen1',
|
||||
\ 'DarkSeaGreen2',
|
||||
\ 'DarkSeaGreen3',
|
||||
\ 'DarkSeaGreen4',
|
||||
\ 'DarkSlateBlue',
|
||||
\ 'DarkSlateGray',
|
||||
\ 'DarkSlateGray1',
|
||||
\ 'DarkSlateGray2',
|
||||
\ 'DarkSlateGray3',
|
||||
\ 'DarkSlateGray4',
|
||||
\ 'DarkSlateGrey',
|
||||
\ 'DarkTurquoise',
|
||||
\ 'DarkViolet',
|
||||
\ 'DeepPink',
|
||||
\ 'DeepPink1',
|
||||
\ 'DeepPink2',
|
||||
\ 'DeepPink3',
|
||||
\ 'DeepPink4',
|
||||
\ 'DeepSkyBlue',
|
||||
\ 'DeepSkyBlue1',
|
||||
\ 'DeepSkyBlue2',
|
||||
\ 'DeepSkyBlue3',
|
||||
\ 'DeepSkyBlue4',
|
||||
\ 'DimGray',
|
||||
\ 'DimGrey',
|
||||
\ 'DodgerBlue',
|
||||
\ 'DodgerBlue1',
|
||||
\ 'DodgerBlue2',
|
||||
\ 'DodgerBlue3',
|
||||
\ 'DodgerBlue4',
|
||||
\ 'FloralWhite',
|
||||
\ 'ForestGreen',
|
||||
\ 'GhostWhite',
|
||||
\ 'GreenYellow',
|
||||
\ 'HotPink',
|
||||
\ 'HotPink1',
|
||||
\ 'HotPink2',
|
||||
\ 'HotPink3',
|
||||
\ 'HotPink4',
|
||||
\ 'IndianRed',
|
||||
\ 'IndianRed1',
|
||||
\ 'IndianRed2',
|
||||
\ 'IndianRed3',
|
||||
\ 'IndianRed4',
|
||||
\ 'LavenderBlush',
|
||||
\ 'LavenderBlush1',
|
||||
\ 'LavenderBlush2',
|
||||
\ 'LavenderBlush3',
|
||||
\ 'LavenderBlush4',
|
||||
\ 'LawnGreen',
|
||||
\ 'LemonChiffon',
|
||||
\ 'LemonChiffon1',
|
||||
\ 'LemonChiffon2',
|
||||
\ 'LemonChiffon3',
|
||||
\ 'LemonChiffon4',
|
||||
\ 'LightBlue',
|
||||
\ 'LightBlue1',
|
||||
\ 'LightBlue2',
|
||||
\ 'LightBlue3',
|
||||
\ 'LightBlue4',
|
||||
\ 'LightCoral',
|
||||
\ 'LightCyan',
|
||||
\ 'LightCyan1',
|
||||
\ 'LightCyan2',
|
||||
\ 'LightCyan3',
|
||||
\ 'LightCyan4',
|
||||
\ 'LightGoldenrod',
|
||||
\ 'LightGoldenrod1',
|
||||
\ 'LightGoldenrod2',
|
||||
\ 'LightGoldenrod3',
|
||||
\ 'LightGoldenrod4',
|
||||
\ 'LightGoldenrodYellow',
|
||||
\ 'LightGray',
|
||||
\ 'LightGreen',
|
||||
\ 'LightGrey',
|
||||
\ 'LightPink',
|
||||
\ 'LightPink1',
|
||||
\ 'LightPink2',
|
||||
\ 'LightPink3',
|
||||
\ 'LightPink4',
|
||||
\ 'LightSalmon',
|
||||
\ 'LightSalmon1',
|
||||
\ 'LightSalmon2',
|
||||
\ 'LightSalmon3',
|
||||
\ 'LightSalmon4',
|
||||
\ 'LightSeaGreen',
|
||||
\ 'LightSkyBlue',
|
||||
\ 'LightSkyBlue1',
|
||||
\ 'LightSkyBlue2',
|
||||
\ 'LightSkyBlue3',
|
||||
\ 'LightSkyBlue4',
|
||||
\ 'LightSlateBlue',
|
||||
\ 'LightSlateGray',
|
||||
\ 'LightSlateGrey',
|
||||
\ 'LightSteelBlue',
|
||||
\ 'LightSteelBlue1',
|
||||
\ 'LightSteelBlue2',
|
||||
\ 'LightSteelBlue3',
|
||||
\ 'LightSteelBlue4',
|
||||
\ 'LightYellow',
|
||||
\ 'LightYellow1',
|
||||
\ 'LightYellow2',
|
||||
\ 'LightYellow3',
|
||||
\ 'LightYellow4',
|
||||
\ 'LimeGreen',
|
||||
\ 'MediumAquamarine',
|
||||
\ 'MediumBlue',
|
||||
\ 'MediumOrchid',
|
||||
\ 'MediumOrchid1',
|
||||
\ 'MediumOrchid2',
|
||||
\ 'MediumOrchid3',
|
||||
\ 'MediumOrchid4',
|
||||
\ 'MediumPurple',
|
||||
\ 'MediumPurple1',
|
||||
\ 'MediumPurple2',
|
||||
\ 'MediumPurple3',
|
||||
\ 'MediumPurple4',
|
||||
\ 'MediumSeaGreen',
|
||||
\ 'MediumSlateBlue',
|
||||
\ 'MediumSpringGreen',
|
||||
\ 'MediumTurquoise',
|
||||
\ 'MediumVioletRed',
|
||||
\ 'MidnightBlue',
|
||||
\ 'MintCream',
|
||||
\ 'MistyRose',
|
||||
\ 'MistyRose1',
|
||||
\ 'MistyRose2',
|
||||
\ 'MistyRose3',
|
||||
\ 'MistyRose4',
|
||||
\ 'NavajoWhite',
|
||||
\ 'NavajoWhite1',
|
||||
\ 'NavajoWhite2',
|
||||
\ 'NavajoWhite3',
|
||||
\ 'NavajoWhite4',
|
||||
\ 'NavyBlue',
|
||||
\ 'OldLace',
|
||||
\ 'OliveDrab',
|
||||
\ 'OliveDrab1',
|
||||
\ 'OliveDrab2',
|
||||
\ 'OliveDrab3',
|
||||
\ 'OliveDrab4',
|
||||
\ 'OrangeRed',
|
||||
\ 'OrangeRed1',
|
||||
\ 'OrangeRed2',
|
||||
\ 'OrangeRed3',
|
||||
\ 'OrangeRed4',
|
||||
\ 'PaleGoldenrod',
|
||||
\ 'PaleGreen',
|
||||
\ 'PaleGreen1',
|
||||
\ 'PaleGreen2',
|
||||
\ 'PaleGreen3',
|
||||
\ 'PaleGreen4',
|
||||
\ 'PaleTurquoise',
|
||||
\ 'PaleTurquoise1',
|
||||
\ 'PaleTurquoise2',
|
||||
\ 'PaleTurquoise3',
|
||||
\ 'PaleTurquoise4',
|
||||
\ 'PaleVioletRed',
|
||||
\ 'PaleVioletRed1',
|
||||
\ 'PaleVioletRed2',
|
||||
\ 'PaleVioletRed3',
|
||||
\ 'PaleVioletRed4',
|
||||
\ 'PapayaWhip',
|
||||
\ 'PeachPuff',
|
||||
\ 'PeachPuff1',
|
||||
\ 'PeachPuff2',
|
||||
\ 'PeachPuff3',
|
||||
\ 'PeachPuff4',
|
||||
\ 'PowderBlue',
|
||||
\ 'RosyBrown',
|
||||
\ 'RosyBrown1',
|
||||
\ 'RosyBrown2',
|
||||
\ 'RosyBrown3',
|
||||
\ 'RosyBrown4',
|
||||
\ 'RoyalBlue',
|
||||
\ 'RoyalBlue1',
|
||||
\ 'RoyalBlue2',
|
||||
\ 'RoyalBlue3',
|
||||
\ 'RoyalBlue4',
|
||||
\ 'SaddleBrown',
|
||||
\ 'SandyBrown',
|
||||
\ 'SeaGreen',
|
||||
\ 'SeaGreen1',
|
||||
\ 'SeaGreen2',
|
||||
\ 'SeaGreen3',
|
||||
\ 'SeaGreen4',
|
||||
\ 'SkyBlue',
|
||||
\ 'SkyBlue1',
|
||||
\ 'SkyBlue2',
|
||||
\ 'SkyBlue3',
|
||||
\ 'SkyBlue4',
|
||||
\ 'SlateBlue',
|
||||
\ 'SlateBlue1',
|
||||
\ 'SlateBlue2',
|
||||
\ 'SlateBlue3',
|
||||
\ 'SlateBlue4',
|
||||
\ 'SlateGray',
|
||||
\ 'SlateGray1',
|
||||
\ 'SlateGray2',
|
||||
\ 'SlateGray3',
|
||||
\ 'SlateGray4',
|
||||
\ 'SlateGrey',
|
||||
\ 'SpringGreen',
|
||||
\ 'SpringGreen1',
|
||||
\ 'SpringGreen2',
|
||||
\ 'SpringGreen3',
|
||||
\ 'SpringGreen4',
|
||||
\ 'SteelBlue',
|
||||
\ 'SteelBlue1',
|
||||
\ 'SteelBlue2',
|
||||
\ 'SteelBlue3',
|
||||
\ 'SteelBlue4',
|
||||
\ 'VioletRed',
|
||||
\ 'VioletRed1',
|
||||
\ 'VioletRed2',
|
||||
\ 'VioletRed3',
|
||||
\ 'VioletRed4',
|
||||
\ 'WhiteSmoke',
|
||||
\ 'YellowGreen',
|
||||
\ 'alice blue',
|
||||
\ 'antique white',
|
||||
\ 'aquamarine',
|
||||
\ 'aquamarine1',
|
||||
\ 'aquamarine2',
|
||||
\ 'aquamarine3',
|
||||
\ 'aquamarine4',
|
||||
\ 'azure',
|
||||
\ 'azure1',
|
||||
\ 'azure2',
|
||||
\ 'azure3',
|
||||
\ 'azure4',
|
||||
\ 'beige',
|
||||
\ 'bisque',
|
||||
\ 'bisque1',
|
||||
\ 'bisque2',
|
||||
\ 'bisque3',
|
||||
\ 'bisque4',
|
||||
\ 'black',
|
||||
\ 'blanched almond',
|
||||
\ 'blue violet',
|
||||
\ 'blue',
|
||||
\ 'blue1',
|
||||
\ 'blue2',
|
||||
\ 'blue3',
|
||||
\ 'blue4',
|
||||
\ 'brown',
|
||||
\ 'brown1',
|
||||
\ 'brown2',
|
||||
\ 'brown3',
|
||||
\ 'brown4',
|
||||
\ 'burlywood',
|
||||
\ 'burlywood1',
|
||||
\ 'burlywood2',
|
||||
\ 'burlywood3',
|
||||
\ 'burlywood4',
|
||||
\ 'cadet blue',
|
||||
\ 'chartreuse',
|
||||
\ 'chartreuse1',
|
||||
\ 'chartreuse2',
|
||||
\ 'chartreuse3',
|
||||
\ 'chartreuse4',
|
||||
\ 'chocolate',
|
||||
\ 'chocolate1',
|
||||
\ 'chocolate2',
|
||||
\ 'chocolate3',
|
||||
\ 'chocolate4',
|
||||
\ 'coral',
|
||||
\ 'coral1',
|
||||
\ 'coral2',
|
||||
\ 'coral3',
|
||||
\ 'coral4',
|
||||
\ 'cornflower blue',
|
||||
\ 'cornsilk',
|
||||
\ 'cornsilk1',
|
||||
\ 'cornsilk2',
|
||||
\ 'cornsilk3',
|
||||
\ 'cornsilk4',
|
||||
\ 'cyan',
|
||||
\ 'cyan1',
|
||||
\ 'cyan2',
|
||||
\ 'cyan3',
|
||||
\ 'cyan4',
|
||||
\ 'dark blue',
|
||||
\ 'dark cyan',
|
||||
\ 'dark goldenrod',
|
||||
\ 'dark gray',
|
||||
\ 'dark green',
|
||||
\ 'dark grey',
|
||||
\ 'dark khaki',
|
||||
\ 'dark magenta',
|
||||
\ 'dark olive green',
|
||||
\ 'dark orange',
|
||||
\ 'dark orchid',
|
||||
\ 'dark red',
|
||||
\ 'dark salmon',
|
||||
\ 'dark sea green',
|
||||
\ 'dark slate blue',
|
||||
\ 'dark slate gray',
|
||||
\ 'dark slate grey',
|
||||
\ 'dark turquoise',
|
||||
\ 'dark violet',
|
||||
\ 'darkblue',
|
||||
\ 'darkcyan',
|
||||
\ 'darkgray',
|
||||
\ 'darkgreen',
|
||||
\ 'darkgrey',
|
||||
\ 'darkmagenta',
|
||||
\ 'darkred',
|
||||
\ 'darkyellow',
|
||||
\ 'deep pink',
|
||||
\ 'deep sky blue',
|
||||
\ 'dim gray',
|
||||
\ 'dim grey',
|
||||
\ 'dodger blue',
|
||||
\ 'firebrick',
|
||||
\ 'firebrick1',
|
||||
\ 'firebrick2',
|
||||
\ 'firebrick3',
|
||||
\ 'firebrick4',
|
||||
\ 'floral white',
|
||||
\ 'forest green',
|
||||
\ 'gainsboro',
|
||||
\ 'ghost white',
|
||||
\ 'gold',
|
||||
\ 'gold1',
|
||||
\ 'gold2',
|
||||
\ 'gold3',
|
||||
\ 'gold4',
|
||||
\ 'goldenrod',
|
||||
\ 'goldenrod1',
|
||||
\ 'goldenrod2',
|
||||
\ 'goldenrod3',
|
||||
\ 'goldenrod4',
|
||||
\ 'gray',
|
||||
\ 'gray0',
|
||||
\ 'gray1',
|
||||
\ 'gray10',
|
||||
\ 'gray100',
|
||||
\ 'gray11',
|
||||
\ 'gray12',
|
||||
\ 'gray13',
|
||||
\ 'gray14',
|
||||
\ 'gray15',
|
||||
\ 'gray16',
|
||||
\ 'gray17',
|
||||
\ 'gray18',
|
||||
\ 'gray19',
|
||||
\ 'gray2',
|
||||
\ 'gray20',
|
||||
\ 'gray21',
|
||||
\ 'gray22',
|
||||
\ 'gray23',
|
||||
\ 'gray24',
|
||||
\ 'gray25',
|
||||
\ 'gray26',
|
||||
\ 'gray27',
|
||||
\ 'gray28',
|
||||
\ 'gray29',
|
||||
\ 'gray3',
|
||||
\ 'gray30',
|
||||
\ 'gray31',
|
||||
\ 'gray32',
|
||||
\ 'gray33',
|
||||
\ 'gray34',
|
||||
\ 'gray35',
|
||||
\ 'gray36',
|
||||
\ 'gray37',
|
||||
\ 'gray38',
|
||||
\ 'gray39',
|
||||
\ 'gray4',
|
||||
\ 'gray40',
|
||||
\ 'gray41',
|
||||
\ 'gray42',
|
||||
\ 'gray43',
|
||||
\ 'gray44',
|
||||
\ 'gray45',
|
||||
\ 'gray46',
|
||||
\ 'gray47',
|
||||
\ 'gray48',
|
||||
\ 'gray49',
|
||||
\ 'gray5',
|
||||
\ 'gray50',
|
||||
\ 'gray51',
|
||||
\ 'gray52',
|
||||
\ 'gray53',
|
||||
\ 'gray54',
|
||||
\ 'gray55',
|
||||
\ 'gray56',
|
||||
\ 'gray57',
|
||||
\ 'gray58',
|
||||
\ 'gray59',
|
||||
\ 'gray6',
|
||||
\ 'gray60',
|
||||
\ 'gray61',
|
||||
\ 'gray62',
|
||||
\ 'gray63',
|
||||
\ 'gray64',
|
||||
\ 'gray65',
|
||||
\ 'gray66',
|
||||
\ 'gray67',
|
||||
\ 'gray68',
|
||||
\ 'gray69',
|
||||
\ 'gray7',
|
||||
\ 'gray70',
|
||||
\ 'gray71',
|
||||
\ 'gray72',
|
||||
\ 'gray73',
|
||||
\ 'gray74',
|
||||
\ 'gray75',
|
||||
\ 'gray76',
|
||||
\ 'gray77',
|
||||
\ 'gray78',
|
||||
\ 'gray79',
|
||||
\ 'gray8',
|
||||
\ 'gray80',
|
||||
\ 'gray81',
|
||||
\ 'gray82',
|
||||
\ 'gray83',
|
||||
\ 'gray84',
|
||||
\ 'gray85',
|
||||
\ 'gray86',
|
||||
\ 'gray87',
|
||||
\ 'gray88',
|
||||
\ 'gray89',
|
||||
\ 'gray9',
|
||||
\ 'gray90',
|
||||
\ 'gray91',
|
||||
\ 'gray92',
|
||||
\ 'gray93',
|
||||
\ 'gray94',
|
||||
\ 'gray95',
|
||||
\ 'gray96',
|
||||
\ 'gray97',
|
||||
\ 'gray98',
|
||||
\ 'gray99',
|
||||
\ 'green yellow',
|
||||
\ 'green',
|
||||
\ 'green1',
|
||||
\ 'green2',
|
||||
\ 'green3',
|
||||
\ 'green4',
|
||||
\ 'grey',
|
||||
\ 'grey0',
|
||||
\ 'grey1',
|
||||
\ 'grey10',
|
||||
\ 'grey100',
|
||||
\ 'grey11',
|
||||
\ 'grey12',
|
||||
\ 'grey13',
|
||||
\ 'grey14',
|
||||
\ 'grey15',
|
||||
\ 'grey16',
|
||||
\ 'grey17',
|
||||
\ 'grey18',
|
||||
\ 'grey19',
|
||||
\ 'grey2',
|
||||
\ 'grey20',
|
||||
\ 'grey21',
|
||||
\ 'grey22',
|
||||
\ 'grey23',
|
||||
\ 'grey24',
|
||||
\ 'grey25',
|
||||
\ 'grey26',
|
||||
\ 'grey27',
|
||||
\ 'grey28',
|
||||
\ 'grey29',
|
||||
\ 'grey3',
|
||||
\ 'grey30',
|
||||
\ 'grey31',
|
||||
\ 'grey32',
|
||||
\ 'grey33',
|
||||
\ 'grey34',
|
||||
\ 'grey35',
|
||||
\ 'grey36',
|
||||
\ 'grey37',
|
||||
\ 'grey38',
|
||||
\ 'grey39',
|
||||
\ 'grey4',
|
||||
\ 'grey40',
|
||||
\ 'grey41',
|
||||
\ 'grey42',
|
||||
\ 'grey43',
|
||||
\ 'grey44',
|
||||
\ 'grey45',
|
||||
\ 'grey46',
|
||||
\ 'grey47',
|
||||
\ 'grey48',
|
||||
\ 'grey49',
|
||||
\ 'grey5',
|
||||
\ 'grey50',
|
||||
\ 'grey51',
|
||||
\ 'grey52',
|
||||
\ 'grey53',
|
||||
\ 'grey54',
|
||||
\ 'grey55',
|
||||
\ 'grey56',
|
||||
\ 'grey57',
|
||||
\ 'grey58',
|
||||
\ 'grey59',
|
||||
\ 'grey6',
|
||||
\ 'grey60',
|
||||
\ 'grey61',
|
||||
\ 'grey62',
|
||||
\ 'grey63',
|
||||
\ 'grey64',
|
||||
\ 'grey65',
|
||||
\ 'grey66',
|
||||
\ 'grey67',
|
||||
\ 'grey68',
|
||||
\ 'grey69',
|
||||
\ 'grey7',
|
||||
\ 'grey70',
|
||||
\ 'grey71',
|
||||
\ 'grey72',
|
||||
\ 'grey73',
|
||||
\ 'grey74',
|
||||
\ 'grey75',
|
||||
\ 'grey76',
|
||||
\ 'grey77',
|
||||
\ 'grey78',
|
||||
\ 'grey79',
|
||||
\ 'grey8',
|
||||
\ 'grey80',
|
||||
\ 'grey81',
|
||||
\ 'grey82',
|
||||
\ 'grey83',
|
||||
\ 'grey84',
|
||||
\ 'grey85',
|
||||
\ 'grey86',
|
||||
\ 'grey87',
|
||||
\ 'grey88',
|
||||
\ 'grey89',
|
||||
\ 'grey9',
|
||||
\ 'grey90',
|
||||
\ 'grey91',
|
||||
\ 'grey92',
|
||||
\ 'grey93',
|
||||
\ 'grey94',
|
||||
\ 'grey95',
|
||||
\ 'grey96',
|
||||
\ 'grey97',
|
||||
\ 'grey98',
|
||||
\ 'grey99',
|
||||
\ 'honeydew',
|
||||
\ 'honeydew1',
|
||||
\ 'honeydew2',
|
||||
\ 'honeydew3',
|
||||
\ 'honeydew4',
|
||||
\ 'hot pink',
|
||||
\ 'indian red',
|
||||
\ 'ivory',
|
||||
\ 'ivory1',
|
||||
\ 'ivory2',
|
||||
\ 'ivory3',
|
||||
\ 'ivory4',
|
||||
\ 'khaki',
|
||||
\ 'khaki1',
|
||||
\ 'khaki2',
|
||||
\ 'khaki3',
|
||||
\ 'khaki4',
|
||||
\ 'lavender blush',
|
||||
\ 'lavender',
|
||||
\ 'lawn green',
|
||||
\ 'lemon chiffon',
|
||||
\ 'light blue',
|
||||
\ 'light coral',
|
||||
\ 'light cyan',
|
||||
\ 'light goldenrod yellow',
|
||||
\ 'light goldenrod',
|
||||
\ 'light gray',
|
||||
\ 'light green',
|
||||
\ 'light grey',
|
||||
\ 'light pink',
|
||||
\ 'light salmon',
|
||||
\ 'light sea green',
|
||||
\ 'light sky blue',
|
||||
\ 'light slate blue',
|
||||
\ 'light slate gray',
|
||||
\ 'light slate grey',
|
||||
\ 'light steel blue',
|
||||
\ 'light yellow',
|
||||
\ 'lightblue',
|
||||
\ 'lightcyan',
|
||||
\ 'lightgray',
|
||||
\ 'lightgreen',
|
||||
\ 'lightgrey',
|
||||
\ 'lightmagenta',
|
||||
\ 'lightred',
|
||||
\ 'lightyellow',
|
||||
\ 'lime green',
|
||||
\ 'linen',
|
||||
\ 'magenta',
|
||||
\ 'magenta1',
|
||||
\ 'magenta2',
|
||||
\ 'magenta3',
|
||||
\ 'magenta4',
|
||||
\ 'maroon',
|
||||
\ 'maroon1',
|
||||
\ 'maroon2',
|
||||
\ 'maroon3',
|
||||
\ 'maroon4',
|
||||
\ 'medium aquamarine',
|
||||
\ 'medium blue',
|
||||
\ 'medium orchid',
|
||||
\ 'medium purple',
|
||||
\ 'medium sea green',
|
||||
\ 'medium slate blue',
|
||||
\ 'medium spring green',
|
||||
\ 'medium turquoise',
|
||||
\ 'medium violet red',
|
||||
\ 'midnight blue',
|
||||
\ 'mint cream',
|
||||
\ 'misty rose',
|
||||
\ 'moccasin',
|
||||
\ 'navajo white',
|
||||
\ 'navy blue',
|
||||
\ 'navy',
|
||||
\ 'old lace',
|
||||
\ 'olive drab',
|
||||
\ 'orange red',
|
||||
\ 'orange',
|
||||
\ 'orange1',
|
||||
\ 'orange2',
|
||||
\ 'orange3',
|
||||
\ 'orange4',
|
||||
\ 'orchid',
|
||||
\ 'orchid1',
|
||||
\ 'orchid2',
|
||||
\ 'orchid3',
|
||||
\ 'orchid4',
|
||||
\ 'pale goldenrod',
|
||||
\ 'pale green',
|
||||
\ 'pale turquoise',
|
||||
\ 'pale violet red',
|
||||
\ 'papaya whip',
|
||||
\ 'peach puff',
|
||||
\ 'peru',
|
||||
\ 'pink',
|
||||
\ 'pink1',
|
||||
\ 'pink2',
|
||||
\ 'pink3',
|
||||
\ 'pink4',
|
||||
\ 'plum',
|
||||
\ 'plum1',
|
||||
\ 'plum2',
|
||||
\ 'plum3',
|
||||
\ 'plum4',
|
||||
\ 'powder blue',
|
||||
\ 'purple',
|
||||
\ 'purple1',
|
||||
\ 'purple2',
|
||||
\ 'purple3',
|
||||
\ 'purple4',
|
||||
\ 'red',
|
||||
\ 'red1',
|
||||
\ 'red2',
|
||||
\ 'red3',
|
||||
\ 'red4',
|
||||
\ 'rosy brown',
|
||||
\ 'royal blue',
|
||||
\ 'saddle brown',
|
||||
\ 'salmon',
|
||||
\ 'salmon1',
|
||||
\ 'salmon2',
|
||||
\ 'salmon3',
|
||||
\ 'salmon4',
|
||||
\ 'sandy brown',
|
||||
\ 'sea green',
|
||||
\ 'seagreen',
|
||||
\ 'seashell',
|
||||
\ 'seashell1',
|
||||
\ 'seashell2',
|
||||
\ 'seashell3',
|
||||
\ 'seashell4',
|
||||
\ 'sienna',
|
||||
\ 'sienna1',
|
||||
\ 'sienna2',
|
||||
\ 'sienna3',
|
||||
\ 'sienna4',
|
||||
\ 'sky blue',
|
||||
\ 'slate blue',
|
||||
\ 'slate gray',
|
||||
\ 'slate grey',
|
||||
\ 'slateblue',
|
||||
\ 'snow',
|
||||
\ 'snow1',
|
||||
\ 'snow2',
|
||||
\ 'snow3',
|
||||
\ 'snow4',
|
||||
\ 'spring green',
|
||||
\ 'steel blue',
|
||||
\ 'tan',
|
||||
\ 'tan1',
|
||||
\ 'tan2',
|
||||
\ 'tan3',
|
||||
\ 'tan4',
|
||||
\ 'thistle',
|
||||
\ 'thistle1',
|
||||
\ 'thistle2',
|
||||
\ 'thistle3',
|
||||
\ 'thistle4',
|
||||
\ 'tomato',
|
||||
\ 'tomato1',
|
||||
\ 'tomato2',
|
||||
\ 'tomato3',
|
||||
\ 'tomato4',
|
||||
\ 'turquoise',
|
||||
\ 'turquoise1',
|
||||
\ 'turquoise2',
|
||||
\ 'turquoise3',
|
||||
\ 'turquoise4',
|
||||
\ 'violet red',
|
||||
\ 'violet',
|
||||
\ 'wheat',
|
||||
\ 'wheat1',
|
||||
\ 'wheat2',
|
||||
\ 'wheat3',
|
||||
\ 'wheat4',
|
||||
\ 'white smoke',
|
||||
\ 'white',
|
||||
\ 'yellow green',
|
||||
\ 'yellow',
|
||||
\ 'yellow1',
|
||||
\ 'yellow2',
|
||||
\ 'yellow3',
|
||||
\ 'yellow4',
|
||||
\ ]
|
||||
for color in colors
|
||||
" just test that the color name can be found.
|
||||
exe "hi Mine guifg='" . color . "'"
|
||||
endfor
|
||||
|
||||
" case is ignored
|
||||
hi Mine guifg=blanchedalmond
|
||||
hi Mine guifg=BLANCHEDALMOND
|
||||
endfunc
|
||||
|
||||
@@ -950,6 +950,20 @@ func Test_type()
|
||||
call assert_equal(6, type(v:true))
|
||||
call assert_equal(7, type(v:none))
|
||||
call assert_equal(7, type(v:null))
|
||||
call assert_equal(8, v:t_job)
|
||||
call assert_equal(9, v:t_channel)
|
||||
call assert_equal(v:t_number, type(0))
|
||||
call assert_equal(v:t_string, type(""))
|
||||
call assert_equal(v:t_func, type(function("tr")))
|
||||
call assert_equal(v:t_func, type(function("tr", [8])))
|
||||
call assert_equal(v:t_list, type([]))
|
||||
call assert_equal(v:t_dict, type({}))
|
||||
call assert_equal(v:t_float, type(0.0))
|
||||
call assert_equal(v:t_bool, type(v:false))
|
||||
call assert_equal(v:t_bool, type(v:true))
|
||||
call assert_equal(v:t_none, type(v:none))
|
||||
call assert_equal(v:t_none, type(v:null))
|
||||
|
||||
|
||||
call assert_equal(0, 0 + v:false)
|
||||
call assert_equal(1, 0 + v:true)
|
||||
|
||||
+7
-4
@@ -58,9 +58,8 @@ struct ufunc
|
||||
#define FC_DICT 4 /* Dict function, uses "self" */
|
||||
|
||||
/* From user function to hashitem and back. */
|
||||
static ufunc_T dumuf;
|
||||
#define UF2HIKEY(fp) ((fp)->uf_name)
|
||||
#define HIKEY2UF(p) ((ufunc_T *)(p - (dumuf.uf_name - (char_u *)&dumuf)))
|
||||
#define HIKEY2UF(p) ((ufunc_T *)(p - offsetof(ufunc_T, uf_name)))
|
||||
#define HI2UF(hi) HIKEY2UF((hi)->hi_key)
|
||||
|
||||
#define FUNCARG(fp, j) ((char_u **)(fp->uf_args.ga_data))[j]
|
||||
@@ -151,7 +150,9 @@ func_init()
|
||||
hash_init(&func_hashtab);
|
||||
}
|
||||
|
||||
/* Get function arguments. */
|
||||
/*
|
||||
* Get function arguments.
|
||||
*/
|
||||
static int
|
||||
get_function_args(
|
||||
char_u **argp,
|
||||
@@ -233,7 +234,9 @@ get_function_args(
|
||||
break;
|
||||
}
|
||||
}
|
||||
++p; /* skip the ')' */
|
||||
if (*p != endchar)
|
||||
goto err_ret;
|
||||
++p; /* skip "endchar" */
|
||||
|
||||
*argp = p;
|
||||
return OK;
|
||||
|
||||
@@ -773,6 +773,32 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2080,
|
||||
/**/
|
||||
2079,
|
||||
/**/
|
||||
2078,
|
||||
/**/
|
||||
2077,
|
||||
/**/
|
||||
2076,
|
||||
/**/
|
||||
2075,
|
||||
/**/
|
||||
2074,
|
||||
/**/
|
||||
2073,
|
||||
/**/
|
||||
2072,
|
||||
/**/
|
||||
2071,
|
||||
/**/
|
||||
2070,
|
||||
/**/
|
||||
2069,
|
||||
/**/
|
||||
2068,
|
||||
/**/
|
||||
2067,
|
||||
/**/
|
||||
|
||||
@@ -1318,6 +1318,7 @@ enum auto_event
|
||||
EVENT_VIMRESIZED, /* after Vim window was resized */
|
||||
EVENT_WINENTER, /* after entering a window */
|
||||
EVENT_WINLEAVE, /* before leaving a window */
|
||||
EVENT_WINNEW, /* when entering a new window */
|
||||
EVENT_ENCODINGCHANGED, /* after changing the 'encoding' option */
|
||||
EVENT_INSERTCHARPRE, /* before inserting a char */
|
||||
EVENT_CURSORHOLD, /* cursor in same position for a while */
|
||||
@@ -1330,8 +1331,10 @@ enum auto_event
|
||||
EVENT_SPELLFILEMISSING, /* spell file missing */
|
||||
EVENT_CURSORMOVED, /* cursor was moved */
|
||||
EVENT_CURSORMOVEDI, /* cursor was moved in Insert mode */
|
||||
EVENT_TABLEAVE, /* before leaving a tab page */
|
||||
EVENT_TABENTER, /* after entering a tab page */
|
||||
EVENT_TABLEAVE, /* before leaving a tab page */
|
||||
EVENT_TABNEW, /* when entering a new tab page */
|
||||
EVENT_TABCLOSED, /* after closing a tab page */
|
||||
EVENT_SHELLCMDPOST, /* after ":!cmd" */
|
||||
EVENT_SHELLFILTERPOST, /* after ":1,2!cmd", ":w !cmd", ":r !cmd". */
|
||||
EVENT_TEXTCHANGED, /* text was modified */
|
||||
@@ -1652,7 +1655,7 @@ typedef UINT32_TYPEDEF UINT32_T;
|
||||
#ifdef HAVE_STRERROR
|
||||
# define PERROR(msg) (void)emsg3((char_u *)"%s: %s", (char_u *)msg, (char_u *)strerror(errno))
|
||||
#else
|
||||
# define PERROR(msg) perror(msg)
|
||||
# define PERROR(msg) do_perror(msg)
|
||||
#endif
|
||||
|
||||
typedef long linenr_T; /* line number type */
|
||||
@@ -1971,7 +1974,17 @@ typedef int sock_T;
|
||||
#define VV_NONE 68
|
||||
#define VV_VIM_DID_ENTER 69
|
||||
#define VV_TESTING 70
|
||||
#define VV_LEN 71 /* number of v: vars */
|
||||
#define VV_TYPE_NUMBER 71
|
||||
#define VV_TYPE_STRING 72
|
||||
#define VV_TYPE_FUNC 73
|
||||
#define VV_TYPE_LIST 74
|
||||
#define VV_TYPE_DICT 75
|
||||
#define VV_TYPE_FLOAT 76
|
||||
#define VV_TYPE_BOOL 77
|
||||
#define VV_TYPE_NONE 78
|
||||
#define VV_TYPE_JOB 79
|
||||
#define VV_TYPE_CHANNEL 80
|
||||
#define VV_LEN 81 /* number of v: vars */
|
||||
|
||||
/* used for v_number in VAR_SPECIAL */
|
||||
#define VVAL_FALSE 0L
|
||||
@@ -1979,6 +1992,18 @@ typedef int sock_T;
|
||||
#define VVAL_NONE 2L
|
||||
#define VVAL_NULL 3L
|
||||
|
||||
/* Type values for type(). */
|
||||
#define VAR_TYPE_NUMBER 0
|
||||
#define VAR_TYPE_STRING 1
|
||||
#define VAR_TYPE_FUNC 2
|
||||
#define VAR_TYPE_LIST 3
|
||||
#define VAR_TYPE_DICT 4
|
||||
#define VAR_TYPE_FLOAT 5
|
||||
#define VAR_TYPE_BOOL 6
|
||||
#define VAR_TYPE_NONE 7
|
||||
#define VAR_TYPE_JOB 8
|
||||
#define VAR_TYPE_CHANNEL 9
|
||||
|
||||
#ifdef FEAT_CLIPBOARD
|
||||
|
||||
/* VIM_ATOM_NAME is the older Vim-specific selection type for X11. Still
|
||||
@@ -2064,6 +2089,8 @@ typedef enum
|
||||
} assert_type_T;
|
||||
|
||||
#include "ex_cmds.h" /* Ex command defines */
|
||||
#include "spell.h" /* spell checking stuff */
|
||||
|
||||
#include "proto.h" /* function prototypes */
|
||||
|
||||
/* This has to go after the include of proto.h, as proto/gui.pro declares
|
||||
|
||||
+19
-5
@@ -45,7 +45,7 @@ static int leave_tabpage(buf_T *new_curbuf, int trigger_leave_autocmds);
|
||||
static void enter_tabpage(tabpage_T *tp, buf_T *old_curbuf, int trigger_enter_autocmds, int trigger_leave_autocmds);
|
||||
static void frame_fix_height(win_T *wp);
|
||||
static int frame_minheight(frame_T *topfrp, win_T *next_curwin);
|
||||
static void win_enter_ext(win_T *wp, int undo_sync, int no_curwin, int trigger_enter_autocmds, int trigger_leave_autocmds);
|
||||
static void win_enter_ext(win_T *wp, int undo_sync, int no_curwin, int trigger_new_autocmds, int trigger_enter_autocmds, int trigger_leave_autocmds);
|
||||
static void win_free(win_T *wp, tabpage_T *tp);
|
||||
static void frame_append(frame_T *after, frame_T *frp);
|
||||
static void frame_insert(frame_T *before, frame_T *frp);
|
||||
@@ -1264,7 +1264,7 @@ win_split_ins(
|
||||
/*
|
||||
* make the new window the current window
|
||||
*/
|
||||
win_enter(wp, FALSE);
|
||||
win_enter_ext(wp, FALSE, FALSE, TRUE, TRUE, TRUE);
|
||||
if (flags & WSP_VERT)
|
||||
p_wiw = i;
|
||||
else
|
||||
@@ -2100,6 +2100,9 @@ close_windows(
|
||||
win_T *wp;
|
||||
tabpage_T *tp, *nexttp;
|
||||
int h = tabline_height();
|
||||
#ifdef FEAT_AUTOCMD
|
||||
int count = tabpage_index(NULL);
|
||||
#endif
|
||||
|
||||
++RedrawingDisabled;
|
||||
|
||||
@@ -2143,6 +2146,11 @@ close_windows(
|
||||
|
||||
--RedrawingDisabled;
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
if (count != tabpage_index(NULL))
|
||||
apply_autocmds(EVENT_TABCLOSED, NULL, NULL, FALSE, curbuf);
|
||||
#endif
|
||||
|
||||
redraw_tabline = TRUE;
|
||||
if (h != tabline_height())
|
||||
shell_new_rows();
|
||||
@@ -2225,6 +2233,7 @@ close_last_window_tabpage(
|
||||
/* Since goto_tabpage_tp above did not trigger *Enter autocommands, do
|
||||
* that now. */
|
||||
#ifdef FEAT_AUTOCMD
|
||||
apply_autocmds(EVENT_TABCLOSED, NULL, NULL, FALSE, curbuf);
|
||||
apply_autocmds(EVENT_WINENTER, NULL, NULL, FALSE, curbuf);
|
||||
apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
|
||||
if (old_curbuf != curbuf)
|
||||
@@ -2421,7 +2430,7 @@ win_close(win_T *win, int free_buf)
|
||||
win_comp_pos();
|
||||
if (close_curwin)
|
||||
{
|
||||
win_enter_ext(wp, FALSE, TRUE, TRUE, TRUE);
|
||||
win_enter_ext(wp, FALSE, TRUE, FALSE, TRUE, TRUE);
|
||||
#ifdef FEAT_AUTOCMD
|
||||
if (other_buffer)
|
||||
/* careful: after this wp and win may be invalid! */
|
||||
@@ -3634,7 +3643,9 @@ win_new_tabpage(int after)
|
||||
|
||||
redraw_all_later(CLEAR);
|
||||
#ifdef FEAT_AUTOCMD
|
||||
apply_autocmds(EVENT_WINNEW, NULL, NULL, FALSE, curbuf);
|
||||
apply_autocmds(EVENT_WINENTER, NULL, NULL, FALSE, curbuf);
|
||||
apply_autocmds(EVENT_TABNEW, NULL, NULL, FALSE, curbuf);
|
||||
apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
|
||||
#endif
|
||||
return OK;
|
||||
@@ -3813,7 +3824,7 @@ enter_tabpage(
|
||||
/* We would like doing the TabEnter event first, but we don't have a
|
||||
* valid current window yet, which may break some commands.
|
||||
* This triggers autocommands, thus may make "tp" invalid. */
|
||||
win_enter_ext(tp->tp_curwin, FALSE, TRUE,
|
||||
win_enter_ext(tp->tp_curwin, FALSE, TRUE, FALSE,
|
||||
trigger_enter_autocmds, trigger_leave_autocmds);
|
||||
prevwin = next_prevwin;
|
||||
|
||||
@@ -4247,7 +4258,7 @@ end:
|
||||
void
|
||||
win_enter(win_T *wp, int undo_sync)
|
||||
{
|
||||
win_enter_ext(wp, undo_sync, FALSE, TRUE, TRUE);
|
||||
win_enter_ext(wp, undo_sync, FALSE, FALSE, TRUE, TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -4260,6 +4271,7 @@ win_enter_ext(
|
||||
win_T *wp,
|
||||
int undo_sync,
|
||||
int curwin_invalid,
|
||||
int trigger_new_autocmds UNUSED,
|
||||
int trigger_enter_autocmds UNUSED,
|
||||
int trigger_leave_autocmds UNUSED)
|
||||
{
|
||||
@@ -4345,6 +4357,8 @@ win_enter_ext(
|
||||
}
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
if (trigger_new_autocmds)
|
||||
apply_autocmds(EVENT_WINNEW, NULL, NULL, FALSE, curbuf);
|
||||
if (trigger_enter_autocmds)
|
||||
{
|
||||
apply_autocmds(EVENT_WINENTER, NULL, NULL, FALSE, curbuf);
|
||||
|
||||
Reference in New Issue
Block a user