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:
+41
-36
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.4. Last change: 2016 Aug 16
|
||||
*eval.txt* For Vim version 7.4. Last change: 2016 Aug 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -43,7 +43,7 @@ There are nine types of variables:
|
||||
Number A 32 or 64 bit signed number. |expr-number| *Number*
|
||||
64-bit Numbers are available only when compiled with the
|
||||
|+num64| feature.
|
||||
Examples: -123 0x10 0177
|
||||
Examples: -123 0x10 0177 0b1011
|
||||
|
||||
Float A floating point number. |floating-point-format| *Float*
|
||||
{only when compiled with the |+float| feature}
|
||||
@@ -1038,9 +1038,10 @@ When expr8 is a |Funcref| type variable, invoke the function it refers to.
|
||||
number
|
||||
------
|
||||
number number constant *expr-number*
|
||||
*hex-number* *octal-number*
|
||||
*hex-number* *octal-number* *binary-number*
|
||||
|
||||
Decimal, Hexadecimal (starting with 0x or 0X), or Octal (starting with 0).
|
||||
Decimal, Hexadecimal (starting with 0x or 0X), Binary (starting with 0b or 0B)
|
||||
and Octal (starting with 0).
|
||||
|
||||
*floating-point-format*
|
||||
Floating point numbers can be written in two forms:
|
||||
@@ -1446,8 +1447,8 @@ v:beval_winnr The number of the window, over which the mouse pointer is. Only
|
||||
window gets a number).
|
||||
|
||||
*v:beval_winid* *beval_winid-variable*
|
||||
v:beval_winid The window ID of the window, over which the mouse pointer is.
|
||||
Otherwise like v:beval_winnr.
|
||||
v:beval_winid The |window-ID| of the window, over which the mouse pointer
|
||||
is. Otherwise like v:beval_winnr.
|
||||
|
||||
*v:char* *char-variable*
|
||||
v:char Argument for evaluating 'formatexpr' and used for the typed
|
||||
@@ -1945,7 +1946,8 @@ v:windowid When any X11 based GUI is running or when running in a
|
||||
When an MS-Windows GUI is running this will be set to the
|
||||
window handle.
|
||||
Otherwise the value is zero.
|
||||
Note: for windows inside Vim use |winnr()| or |win_getid()|.
|
||||
Note: for windows inside Vim use |winnr()| or |win_getid()|,
|
||||
see |window-ID|.
|
||||
|
||||
==============================================================================
|
||||
4. Builtin Functions *functions*
|
||||
@@ -2462,7 +2464,7 @@ arglistid([{winnr} [, {tabnr}]])
|
||||
With {winnr} only use this window in the current tab page.
|
||||
With {winnr} and {tabnr} use the window in the specified tab
|
||||
page.
|
||||
{winnr} can be the window number or the window ID.
|
||||
{winnr} can be the window number or the |window-ID|.
|
||||
|
||||
*argv()*
|
||||
argv([{nr}]) The result is the {nr}th file in the argument list of the
|
||||
@@ -2708,7 +2710,7 @@ bufnr({expr} [, {create}])
|
||||
Obsolete name for bufnr("$"): last_buffer_nr().
|
||||
|
||||
bufwinid({expr}) *bufwinid()*
|
||||
The result is a Number, which is the window ID of the first
|
||||
The result is a Number, which is the |window-ID| of the first
|
||||
window associated with buffer {expr}. For the use of {expr},
|
||||
see |bufname()| above. If buffer {expr} doesn't exist or
|
||||
there is no such window, -1 is returned. Example: >
|
||||
@@ -3116,7 +3118,7 @@ ch_setoptions({handle}, {options}) *ch_setoptions()*
|
||||
lost.
|
||||
|
||||
These options cannot be changed:
|
||||
"waittime" only applies to "ch_open()|
|
||||
"waittime" only applies to |ch_open()|
|
||||
|
||||
ch_status({handle}) *ch_status()*
|
||||
Return the status of {handle}:
|
||||
@@ -4004,6 +4006,7 @@ getbufinfo([{dict}])
|
||||
|
||||
Each returned List item is a dictionary with the following
|
||||
entries:
|
||||
bufnr buffer number.
|
||||
changed TRUE if the buffer is modified.
|
||||
changedtick number of changes made to the buffer.
|
||||
hidden TRUE if the buffer is hidden.
|
||||
@@ -4011,7 +4014,6 @@ getbufinfo([{dict}])
|
||||
lnum current line number in buffer.
|
||||
loaded TRUE if the buffer is loaded.
|
||||
name full path to the file in the buffer.
|
||||
nr buffer number.
|
||||
options dictionary of buffer local options.
|
||||
signs list of signs placed in the buffer.
|
||||
Each list item is a dictionary with
|
||||
@@ -4020,7 +4022,7 @@ getbufinfo([{dict}])
|
||||
lnum line number
|
||||
name sign name
|
||||
variables dictionary of buffer local variables.
|
||||
windows list of window IDs with this buffer
|
||||
windows list of |window-ID|s with this buffer
|
||||
|
||||
Examples: >
|
||||
for buf in getbufinfo()
|
||||
@@ -4283,7 +4285,7 @@ getcwd([{winnr} [, {tabnr}]])
|
||||
in the current tab page.
|
||||
With {winnr} and {tabnr} return the local current directory of
|
||||
the window in the specified tab page.
|
||||
{winnr} can be the window number or the window ID.
|
||||
{winnr} can be the window number or the |window-ID|.
|
||||
Return an empty string if the arguments are invalid.
|
||||
|
||||
getfsize({fname}) *getfsize()*
|
||||
@@ -4380,7 +4382,7 @@ getline({lnum} [, {end}])
|
||||
|
||||
getloclist({nr}[, {what}]) *getloclist()*
|
||||
Returns a list with all the entries in the location list for
|
||||
window {nr}. {nr} can be the window number or the window ID.
|
||||
window {nr}. {nr} can be the window number or the |window-ID|.
|
||||
When {nr} is zero the current window is used.
|
||||
|
||||
For a location list window, the displayed location list is
|
||||
@@ -4456,7 +4458,7 @@ getqflist([{what}]) *getqflist()*
|
||||
type type of the error, 'E', '1', etc.
|
||||
valid |TRUE|: recognized error message
|
||||
|
||||
When there is no error list or it's empty an empty list is
|
||||
When there is no error list or it's empty, an empty list is
|
||||
returned. Quickfix list entries with non-existing buffer
|
||||
number are returned with "bufnr" set to zero.
|
||||
|
||||
@@ -4471,8 +4473,8 @@ getqflist([{what}]) *getqflist()*
|
||||
returns only the items listed in {what} as a dictionary. The
|
||||
following string items are supported in {what}:
|
||||
nr get information for this quickfix list
|
||||
title get list title
|
||||
winid get window id (if opened)
|
||||
title get the list title
|
||||
winid get the |window-ID| (if opened)
|
||||
all all of the above quickfix properties
|
||||
Non-string items in {what} are ignored.
|
||||
If "nr" is not present then the current quickfix list is used.
|
||||
@@ -4482,7 +4484,7 @@ getqflist([{what}]) *getqflist()*
|
||||
The returned dictionary contains the following entries:
|
||||
nr quickfix list number
|
||||
title quickfix list title text
|
||||
winid quickfix window id (if opened)
|
||||
winid quickfix |window-ID| (if opened)
|
||||
|
||||
Examples: >
|
||||
:echo getqflist({'all': 1})
|
||||
@@ -4529,9 +4531,9 @@ gettabinfo([{arg}]) *gettabinfo()*
|
||||
empty List is returned.
|
||||
|
||||
Each List item is a Dictionary with the following entries:
|
||||
nr tab page number.
|
||||
tabnr tab page number.
|
||||
variables dictionary of tabpage local variables.
|
||||
windows List of window IDs in the tag page.
|
||||
windows List of |window-ID|s in the tag page.
|
||||
|
||||
gettabvar({tabnr}, {varname} [, {def}]) *gettabvar()*
|
||||
Get the value of a tab-local variable {varname} in tab page
|
||||
@@ -4553,7 +4555,7 @@ gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()*
|
||||
Note that {varname} must be the name without "w:".
|
||||
Tabs are numbered starting with one. For the current tabpage
|
||||
use |getwinvar()|.
|
||||
{winnr} can be the window number or the window ID.
|
||||
{winnr} can be the window number or the |window-ID|.
|
||||
When {winnr} is zero the current window is used.
|
||||
This also works for a global option, buffer-local option and
|
||||
window-local option, but it doesn't work for a global variable
|
||||
@@ -4581,22 +4583,22 @@ getwininfo([{winid}]) *getwininfo()*
|
||||
is returned. If the window does not exist the result is an
|
||||
empty list.
|
||||
|
||||
Without an information about all the windows in all the tab
|
||||
pages is returned.
|
||||
Without {winid} information about all the windows in all the
|
||||
tab pages is returned.
|
||||
|
||||
Each List item is a Dictionary with the following entries:
|
||||
bufnum number of buffer in the window
|
||||
bufnr number of buffer in the window
|
||||
height window height
|
||||
loclist 1 if showing a location list
|
||||
{only with the +quickfix feature}
|
||||
nr window number
|
||||
options dictionary of window local options
|
||||
quickfix 1 if quickfix or location list window
|
||||
{only with the +quickfix feature}
|
||||
tpnr tab page number
|
||||
tabnr tab page number
|
||||
variables dictionary of window local variables
|
||||
width window width
|
||||
winid window ID
|
||||
winid |window-ID|
|
||||
winnr window number
|
||||
|
||||
getwinvar({winnr}, {varname} [, {def}]) *getwinvar()*
|
||||
Like |gettabwinvar()| for the current tabpage.
|
||||
@@ -4704,7 +4706,7 @@ haslocaldir([{winnr} [, {tabnr}]]) *haslocaldir()*
|
||||
With {winnr} use this window in the current tab page.
|
||||
With {winnr} and {tabnr} use the window in the specified tab
|
||||
page.
|
||||
{winnr} can be the window number or the window ID.
|
||||
{winnr} can be the window number or the |window-ID|.
|
||||
Return 0 if the arguments are invalid.
|
||||
|
||||
hasmapto({what} [, {mode} [, {abbr}]]) *hasmapto()*
|
||||
@@ -5994,6 +5996,9 @@ printf({fmt}, {expr1} ...) *printf()*
|
||||
s The text of the String argument is used. If a
|
||||
precision is specified, no more bytes than the number
|
||||
specified are used.
|
||||
If the argument is not a String type, it is
|
||||
automatically converted to text with the same format
|
||||
as ":echo".
|
||||
*printf-S*
|
||||
S The text of the String argument is used. If a
|
||||
precision is specified, no more display cells than the
|
||||
@@ -6671,7 +6676,7 @@ setline({lnum}, {text}) *setline()*
|
||||
|
||||
setloclist({nr}, {list}[, {action}[, {what}]]) *setloclist()*
|
||||
Create or replace or add to the location list for window {nr}.
|
||||
{nr} can be the window number or the window ID.
|
||||
{nr} can be the window number or the |window-ID|.
|
||||
When {nr} is zero the current window is used.
|
||||
|
||||
For a location list window, the displayed location list is
|
||||
@@ -6859,7 +6864,7 @@ settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
|
||||
{val}.
|
||||
Tabs are numbered starting with one. For the current tabpage
|
||||
use |setwinvar()|.
|
||||
{winnr} can be the window number or the window ID.
|
||||
{winnr} can be the window number or the |window-ID|.
|
||||
When {winnr} is zero the current window is used.
|
||||
This also works for a global or local buffer option, but it
|
||||
doesn't work for a global or local buffer variable.
|
||||
@@ -7967,11 +7972,11 @@ wildmenumode() *wildmenumode()*
|
||||
|
||||
|
||||
win_findbuf({bufnr}) *win_findbuf()*
|
||||
Returns a list with window IDs for windows that contain buffer
|
||||
{bufnr}. When there is none the list is empty.
|
||||
Returns a list with |window-ID|s for windows that contain
|
||||
buffer {bufnr}. When there is none the list is empty.
|
||||
|
||||
win_getid([{win} [, {tab}]]) *win_getid()*
|
||||
Get the window ID for the specified window.
|
||||
Get the |window-ID| for the specified window.
|
||||
When {win} is missing use the current window.
|
||||
With {win} this is the window number. The top window has
|
||||
number 1.
|
||||
@@ -7996,7 +8001,7 @@ win_id2win({expr}) *win_id2win()*
|
||||
*winbufnr()*
|
||||
winbufnr({nr}) The result is a Number, which is the number of the buffer
|
||||
associated with window {nr}. {nr} can be the window number or
|
||||
the window ID.
|
||||
the |window-ID|.
|
||||
When {nr} is zero, the number of the buffer in the current
|
||||
window is returned.
|
||||
When window {nr} doesn't exist, -1 is returned.
|
||||
@@ -8010,7 +8015,7 @@ wincol() The result is a Number, which is the virtual column of the
|
||||
|
||||
winheight({nr}) *winheight()*
|
||||
The result is a Number, which is the height of window {nr}.
|
||||
{nr} can be the window number or the window ID.
|
||||
{nr} can be the window number or the |window-ID|.
|
||||
When {nr} is zero, the height of the current window is
|
||||
returned. When window {nr} doesn't exist, -1 is returned.
|
||||
An existing window always has a height of zero or more.
|
||||
@@ -8090,7 +8095,7 @@ winsaveview() Returns a |Dictionary| that contains information to restore
|
||||
|
||||
winwidth({nr}) *winwidth()*
|
||||
The result is a Number, which is the width of window {nr}.
|
||||
{nr} can be the window number or the window ID.
|
||||
{nr} can be the window number or the |window-ID|.
|
||||
When {nr} is zero, the width of the current window is
|
||||
returned. When window {nr} doesn't exist, -1 is returned.
|
||||
An existing window always has a width of zero or more.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*sign.txt* For Vim version 7.4. Last change: 2016 Aug 12
|
||||
*sign.txt* For Vim version 7.4. Last change: 2016 Aug 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@@ -197,7 +197,9 @@ JUMPING TO A SIGN *:sign-jump* *E157*
|
||||
If the file isn't displayed in window and the current file can
|
||||
not be |abandon|ed this fails.
|
||||
|
||||
:sign jump {id} buffer={nr}
|
||||
Same, but use buffer {nr}.
|
||||
:sign jump {id} buffer={nr} *E934*
|
||||
Same, but use buffer {nr}. This fails if buffer {nr} does not
|
||||
have a name.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -4523,6 +4523,7 @@ E930 eval.txt /*E930*
|
||||
E931 message.txt /*E931*
|
||||
E932 eval.txt /*E932*
|
||||
E933 eval.txt /*E933*
|
||||
E934 sign.txt /*E934*
|
||||
E94 windows.txt /*E94*
|
||||
E95 message.txt /*E95*
|
||||
E96 diff.txt /*E96*
|
||||
@@ -5121,6 +5122,7 @@ beval_lnum-variable eval.txt /*beval_lnum-variable*
|
||||
beval_text-variable eval.txt /*beval_text-variable*
|
||||
beval_winid-variable eval.txt /*beval_winid-variable*
|
||||
beval_winnr-variable eval.txt /*beval_winnr-variable*
|
||||
binary-number eval.txt /*binary-number*
|
||||
bitwise-function usr_41.txt /*bitwise-function*
|
||||
blockwise-examples visual.txt /*blockwise-examples*
|
||||
blockwise-operators visual.txt /*blockwise-operators*
|
||||
@@ -7887,10 +7889,12 @@ print-options print.txt /*print-options*
|
||||
print.txt print.txt /*print.txt*
|
||||
printf() eval.txt /*printf()*
|
||||
printf-% eval.txt /*printf-%*
|
||||
printf-B eval.txt /*printf-B*
|
||||
printf-E eval.txt /*printf-E*
|
||||
printf-G eval.txt /*printf-G*
|
||||
printf-S eval.txt /*printf-S*
|
||||
printf-X eval.txt /*printf-X*
|
||||
printf-b eval.txt /*printf-b*
|
||||
printf-c eval.txt /*printf-c*
|
||||
printf-d eval.txt /*printf-d*
|
||||
printf-e eval.txt /*printf-e*
|
||||
@@ -9297,6 +9301,7 @@ win_id2win() eval.txt /*win_id2win()*
|
||||
winbufnr() eval.txt /*winbufnr()*
|
||||
wincol() eval.txt /*wincol()*
|
||||
window windows.txt /*window*
|
||||
window-ID windows.txt /*window-ID*
|
||||
window-contents intro.txt /*window-contents*
|
||||
window-exit editing.txt /*window-exit*
|
||||
window-functions usr_41.txt /*window-functions*
|
||||
|
||||
+12
-12
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.4. Last change: 2016 Aug 16
|
||||
*todo.txt* For Vim version 7.4. Last change: 2016 Aug 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -34,7 +34,11 @@ not be repeated below, unless there is extra information.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Rename 'langnoremap' to 'langremap' and invert the value?
|
||||
|
||||
+channel:
|
||||
- Check that raw mode does NL-NUL conversion.
|
||||
- Implement |job-term| ?
|
||||
- Channel test fails with Motif. Sometimes kills the X11 server.
|
||||
- When a message in the queue but there is no callback, drop it after a while?
|
||||
Add timestamp to queued messages and callbacks with ID, remove after a
|
||||
@@ -99,12 +103,17 @@ Regexp problems:
|
||||
- Search for /\%d0\+ causes error E363 in a file with consecutive NUL
|
||||
characters. (Christian Brabandt, 2016 Jun 7)
|
||||
|
||||
getbufinfo() may return a lot of data. Select what to return?
|
||||
remove variables, does that help?
|
||||
|
||||
json_encode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
|
||||
What if there is an invalid character?
|
||||
|
||||
Should json_encode()/json_decode() restrict recursiveness?
|
||||
Or avoid recursiveness.
|
||||
|
||||
Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)
|
||||
|
||||
Once .exe with updated installer is available: Add remark to download page
|
||||
about /S and /D options (Ken Takata, 2016 Apr 13)
|
||||
Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases
|
||||
@@ -133,6 +142,8 @@ Problem with whitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807)
|
||||
|
||||
Undo problem: "g-" doesn't go back, gets stuck. (Björn Linse, 2016 Jul 18)
|
||||
|
||||
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
|
||||
|
||||
Syntax highlighting for messages with RFC3339 timestamp (#946)
|
||||
Did maintainer reply?
|
||||
|
||||
@@ -146,27 +157,16 @@ Jul 25, #948)
|
||||
|
||||
'hlsearch' interferes with a Conceal match. (Rom Grk, 2016 Aug 9)
|
||||
|
||||
's$^$\=capture("s/^//gn")' locks Vim in sandbox mode (#950)
|
||||
Patch by Christian Brabandt, 2016 Jul 27.
|
||||
|
||||
MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
|
||||
Otherwise task flickers in taskbar.
|
||||
|
||||
Should make ":@r" handle line continuation. (Cesar Romani, 2016 Jun 26)
|
||||
Also for ":@.".
|
||||
|
||||
Patch to make printf() convert to string for %s items. (Ken Takata, 2016 Aug
|
||||
1)
|
||||
|
||||
Patch to add %b to printf(). (Ozaki Kiichi, 2016 Aug 5)
|
||||
|
||||
Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925)
|
||||
|
||||
Patch on issue #728 by Christian Brabandt, 2016 Apr 7. Update with test: Apr 8.
|
||||
Explanation Apr 12.
|
||||
Might be related to:
|
||||
Test 44 fails when [[=A=]] is changed to [[=À=]]. Caused by getcmdline() not
|
||||
handling the 0x80 as a second byte correctly? (Dominique Pelle, 2015 Jun 10)
|
||||
|
||||
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
|
||||
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
|
||||
|
||||
+4
-603
@@ -1,4 +1,4 @@
|
||||
*version8.txt* For Vim version 8.0. Last change: 2016 Aug 16
|
||||
*version8.txt* For Vim version 8.0. Last change: 2016 Aug 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -318,7 +318,6 @@ New and extended functions: ~
|
||||
|
||||
New Vim variables: ~
|
||||
|
||||
|v:vim_did_enter| Set when VimEnter autocommands are triggered
|
||||
|v:beval_winid| Window ID of the window where the mouse pointer is
|
||||
|v:completed_item| complete items for the most recently completed word
|
||||
|v:errors| errors found by assert functions
|
||||
@@ -343,7 +342,7 @@ New Vim variables: ~
|
||||
|v:t_string| value of String type
|
||||
|v:testing| must be set before using `test_garbagecollect_now()`
|
||||
|v:true| a Number with value one
|
||||
|v:vim_did_enter| zero until most of startup is done
|
||||
|v:vim_did_enter| set just before VimEnter autocommands are triggered
|
||||
|
||||
|
||||
New autocommand events: ~
|
||||
@@ -12668,605 +12667,7 @@ Solution: Use vim_strcat() instead of strcat().
|
||||
Files: src/quickfix.c
|
||||
|
||||
Patch 7.4.2065
|
||||
Problem: Compiler warns for uninitialzed variable. (John Marriott)
|
||||
Solution: Set lnum to the right value.
|
||||
Files: src/evalfunc.c
|
||||
|
||||
Patch 7.4.2066
|
||||
Problem: getcompletion() not well tested.
|
||||
Solution: Add more testing.
|
||||
Files: src/testdir/test_cmdline.vim
|
||||
|
||||
Patch 7.4.2067
|
||||
Problem: Compiler warning for char/char_u conversion. (Tony Mechelynck)
|
||||
Inefficient code.
|
||||
Solution: Use more lines to fill with spaces. (Nikolai Pavlov) Add type cast.
|
||||
Files: src/quickfix.c
|
||||
|
||||
Patch 7.4.2068
|
||||
Problem: Not all arguments of trunc_string() are tested. Memory access
|
||||
error when running the message tests.
|
||||
Solution: Add another test case. (Yegappan Lakshmanan) Make it easy to run
|
||||
unittests with valgrind. Fix the access error.
|
||||
Files: src/message.c, src/message_test.c, src/Makefile
|
||||
|
||||
Patch 7.4.2069
|
||||
Problem: spell.c is too big.
|
||||
Solution: Split it in spell file handling and spell checking.
|
||||
Files: src/spell.c, src/spellfile.c, src/spell.h, src/Makefile,
|
||||
src/proto/spell.pro, src/proto/spellfile.pro, src/proto.h
|
||||
Filelist, src/Make_bc5.mak, src/Make_cyg_ming.mak,
|
||||
src/Make_dice.mak, src/Make_ivc.mak, src/Make_manx.mak,
|
||||
src/Make_morph.mak, src/Make_mvc.mak, src/Make_sas.mak
|
||||
|
||||
Patch 7.4.2070 (after 7.4.2069)
|
||||
Problem: Missing change to include file.
|
||||
Solution: Include the spell header file.
|
||||
Files: src/vim.h
|
||||
|
||||
Patch 7.4.2071
|
||||
Problem: The return value of type() is difficult to use.
|
||||
Solution: Define v:t_ constants. (Ken Takata)
|
||||
Files: runtime/doc/eval.txt, src/eval.c, src/evalfunc.c,
|
||||
src/testdir/test_channel.vim, src/testdir/test_viml.vim, src/vim.h
|
||||
|
||||
Patch 7.4.2072
|
||||
Problem: substitute() does not support a Funcref argument.
|
||||
Solution: Support a Funcref like it supports a string starting with "\=".
|
||||
Files: src/evalfunc.c, src/regexp.c, src/eval.c, src/proto/eval.pro,
|
||||
src/proto/regexp.pro, src/testdir/test_expr.vim
|
||||
|
||||
Patch 7.4.2073
|
||||
Problem: rgb.txt is read for every color name.
|
||||
Solution: Load rgb.txt once. (Christian Brabandt) Add a test.
|
||||
Files: runtime/rgb.txt, src/term.c, src/testdir/test_syn_attr.vim
|
||||
|
||||
Patch 7.4.2074
|
||||
Problem: One more place using a dummy variable.
|
||||
Solution: Use offsetof(). (Ken Takata)
|
||||
Files: src/userfunc.c
|
||||
|
||||
Patch 7.4.2075
|
||||
Problem: No autocommand event to initialize a window or tab page.
|
||||
Solution: Add WinNew and TabNew events. (partly by Felipe Morales)
|
||||
Files: src/fileio.c, src/window.c, src/vim.h,
|
||||
src/testdir/test_autocmd.vim, runtime/doc/autocmd.txt
|
||||
|
||||
Patch 7.4.2076
|
||||
Problem: Syntax error when dict has '>' key.
|
||||
Solution: Check for endchar. (Ken Takata)
|
||||
Files: src/userfunc.c, src/testdir/test_lambda.vim
|
||||
|
||||
Patch 7.4.2077
|
||||
Problem: Cannot update 'tabline' when a tab was closed.
|
||||
Solution: Add the TabClosed autocmd event. (partly by Felipe Morales)
|
||||
Files: src/fileio.c, src/window.c, src/vim.h,
|
||||
src/testdir/test_autocmd.vim, runtime/doc/autocmd.txt
|
||||
|
||||
Patch 7.4.2078
|
||||
Problem: Running checks in po directory fails.
|
||||
Solution: Add colors used in syntax.c to the builtin color table.
|
||||
Files: src/term.c
|
||||
|
||||
Patch 7.4.2079
|
||||
Problem: Netbeans test fails on non-Unix systems.
|
||||
Solution: Only do the permission check on Unix systems.
|
||||
Files: src/testdir/test_netbeans.vim
|
||||
|
||||
Patch 7.4.2080
|
||||
Problem: When using PERROR() on some systems assert_fails() does not see
|
||||
the error.
|
||||
Solution: Make PERROR() always report the error.
|
||||
Files: src/vim.h, src/message.c, src/proto/message.pro
|
||||
|
||||
Patch 7.4.2081
|
||||
Problem: Line numbers in the error list are not always adjusted.
|
||||
Solution: Set b_has_qf_entry properly. (Yegappan Lakshmanan)
|
||||
Files: src/quickfix.c, src/structs.h, src/testdir/test_quickfix.vim
|
||||
|
||||
Patch 7.4.2082
|
||||
Problem: Not much test coverage for digraphs.
|
||||
Solution: Add a new style digraph test. (Christian Brabandt)
|
||||
Files: src/Makefile, src/testdir/test_alot.vim,
|
||||
src/testdir/test_digraph.vim
|
||||
|
||||
Patch 7.4.2083
|
||||
Problem: Coverity complains about not restoring a value.
|
||||
Solution: Restore the value, although it's not really needed. Change return
|
||||
to jump to cleanup, might leak memory.
|
||||
Files: src/userfunc.c
|
||||
|
||||
Patch 7.4.2084
|
||||
Problem: New digraph test makes testing hang.
|
||||
Solution: Don't set "nocp".
|
||||
Files: src/testdir/test_digraph.vim
|
||||
|
||||
Patch 7.4.2085
|
||||
Problem: Digraph tests fails on some systems.
|
||||
Solution: Run it separately and set 'encoding' early.
|
||||
Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim,
|
||||
src/testdir/test_digraph.vim
|
||||
|
||||
Patch 7.4.2086
|
||||
Problem: Using the system default encoding makes tests unpredictable.
|
||||
Solution: Always use utf-8 or latin1 in the new style tests. Remove setting
|
||||
encoding and scriptencoding where it is not needed.
|
||||
Files: src/testdir/runtest.vim, src/testdir/test_channel.vim,
|
||||
src/testdir/test_digraph.vim, src/testdir/test_expand_dllpath.vim,
|
||||
src/testdir/test_expr_utf8.vim, src/testdir/test_json.vim,
|
||||
src/testdir/test_matchadd_conceal_utf8.vim,
|
||||
src/testdir/test_regexp_utf8.vim, src/testdir/test_visual.vim,
|
||||
src/testdir/test_alot_utf8.vim,
|
||||
|
||||
Patch 7.4.2087
|
||||
Problem: Digraph code test coverage is still low.
|
||||
Solution: Add more tests. (Christian Brabandt)
|
||||
Files: src/testdir/test_digraph.vim
|
||||
|
||||
Patch 7.4.2088 (after 7.4.2087)
|
||||
Problem: Keymap test fails with normal features.
|
||||
Solution: Bail out if the keymap feature is not supported.
|
||||
Files: src/testdir/test_digraph.vim
|
||||
|
||||
Patch 7.4.2089
|
||||
Problem: Color handling of X11 GUIs is too complicated.
|
||||
Solution: Simplify the code. Use RGBA where appropriate. (Kazunobu
|
||||
Kuriyama)
|
||||
Files: src/gui.h, src/gui_beval.c, src/gui_gtk_x11.c, src/netbeans.c
|
||||
|
||||
Patch 7.4.2090
|
||||
Problem: Using submatch() in a lambda passed to substitute() is verbose.
|
||||
Solution: Use a static list and pass it as an optional argument to the
|
||||
function. Fix memory leak.
|
||||
Files: src/structs.h, src/list.c, src/userfunc.c, src/channel.c,
|
||||
src/eval.c, src/evalfunc.c, src/ex_cmds2.c, src/regexp.c,
|
||||
src/proto/list.pro, src/proto/userfunc.pro,
|
||||
src/testdir/test_expr.vim, runtime/doc/eval.txt
|
||||
|
||||
Patch 7.4.2091
|
||||
Problem: Coverity reports a resource leak when out of memory.
|
||||
Solution: Close the file before returning.
|
||||
Files: src/term.c
|
||||
|
||||
Patch 7.4.2092
|
||||
Problem: GTK 3 build fails with older GTK version.
|
||||
Solution: Check the pango version. (Kazunobu Kuriyama)
|
||||
Files: src/gui_beval.c
|
||||
|
||||
Patch 7.4.2093
|
||||
Problem: Netbeans test fails once in a while. Leaving log file behind.
|
||||
Solution: Add it to the list of flaky tests. Disable logfile.
|
||||
Files: src/testdir/runtest.vim, src/testdir/test_channel.vim
|
||||
|
||||
Patch 7.4.2094
|
||||
Problem: The color allocation in X11 is overly complicated.
|
||||
Solution: Remove find_closest_color(), XAllocColor() already does this.
|
||||
(Kazunobu Kuriyama)
|
||||
Files: src/gui_x11.c
|
||||
|
||||
Patch 7.4.2095
|
||||
Problem: Man test fails when run with the GUI.
|
||||
Solution: Adjust for different behavior of GUI. Add assert_inrange().
|
||||
Files: src/eval.c, src/evalfunc.c, src/proto/eval.pro,
|
||||
src/testdir/test_assert.vim, src/testdir/test_man.vim,
|
||||
runtime/doc/eval.txt
|
||||
|
||||
Patch 7.4.2096
|
||||
Problem: Lambda functions show up with completion.
|
||||
Solution: Don't show lambda functions. (Ken Takata)
|
||||
Files: src/userfunc.c, src/testdir/test_cmdline.vim
|
||||
|
||||
Patch 7.4.2097
|
||||
Problem: Warning from 64 bit compiler.
|
||||
Solution: use size_t instead of int. (Mike Williams)
|
||||
Files: src/message.c
|
||||
|
||||
Patch 7.4.2098
|
||||
Problem: Text object tests are old style.
|
||||
Solution: Turn them into new style tests. (James McCoy, closes #941)
|
||||
Files: src/testdir/Make_all.mak, src/testdir/test_textobjects.in,
|
||||
src/testdir/test_textobjects.ok, src/testdir/test_textobjects.vim,
|
||||
src/Makefile
|
||||
|
||||
Patch 7.4.2099
|
||||
Problem: When a keymap is active only "(lang)" is displayed. (Ilya
|
||||
Dogolazky)
|
||||
Solution: Show the keymap name. (Dmitri Vereshchagin, closes #933)
|
||||
Files: src/buffer.c, src/proto/screen.pro, src/screen.c
|
||||
|
||||
Patch 7.4.2100
|
||||
Problem: "cgn" and "dgn" do not work correctly with a single character
|
||||
match and the replacement includes the searched pattern. (John
|
||||
Beckett)
|
||||
Solution: If the match is found in the wrong column try in the next column.
|
||||
Turn the test into new style. (Christian Brabandt)
|
||||
Files: src/search.c, src/testdir/Make_all.mak, src/Makefile,
|
||||
src/testdir/test53.in, src/testdir/test53.ok,
|
||||
src/testdir/test_gn.vim
|
||||
|
||||
Patch 7.4.2101
|
||||
Problem: Looping over windows, buffers and tab pages is inconsistent.
|
||||
Solution: Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)
|
||||
Files: src/buffer.c, src/diff.c, src/edit.c, src/eval.c, src/evalfunc.c,
|
||||
src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/fileio.c,
|
||||
src/globals.h, src/gui.c, src/gui_mac.c, src/if_lua.c,
|
||||
src/if_mzsch.c, src/if_perl.xs, src/if_ruby.c, src/if_tcl.c,
|
||||
src/main.c, src/mark.c, src/memfile.c, src/memline.c, src/misc1.c,
|
||||
src/move.c, src/netbeans.c, src/normal.c, src/option.c,
|
||||
src/quickfix.c, src/screen.c, src/spell.c, src/term.c,
|
||||
src/window.c, src/workshop.c
|
||||
|
||||
Patch 7.4.2102 (after 7.4.2101)
|
||||
Problem: Tiny build with GUI fails.
|
||||
Solution: Revert one FOR_ALL_ change.
|
||||
Files: src/gui.c
|
||||
|
||||
Patch 7.4.2103
|
||||
Problem: Can't have "augroup END" right after ":au!".
|
||||
Solution: Check for the bar character before the command argument.
|
||||
Files: src/fileio.c, src/testdir/test_autocmd.vim,
|
||||
runtime/doc/autocmd.txt
|
||||
|
||||
Patch 7.4.2104
|
||||
Problem: Code duplication when unreferencing a function.
|
||||
Solution: De-duplicate.
|
||||
Files: src/userfunc.c
|
||||
|
||||
Patch 7.4.2105
|
||||
Problem: Configure reports default features to be "normal" while it is
|
||||
"huge".
|
||||
Solution: Change the default text. Build with newer autoconf.
|
||||
Files: src/configure.in, src/auto/configure
|
||||
|
||||
Patch 7.4.2106
|
||||
Problem: Clang warns about missing field in initializer.
|
||||
Solution: Define COMMA and use it. (Kazunobu Kuriyama)
|
||||
Files: src/ex_cmds.c, src/globals.h, src/vim.h
|
||||
|
||||
Patch 7.4.2107 (after 7.4.2106)
|
||||
Problem: Misplaced equal sign.
|
||||
Solution: Remove it.
|
||||
Files: src/globals.h
|
||||
|
||||
Patch 7.4.2108
|
||||
Problem: Netbeans test is flaky.
|
||||
Solution: Wait for the cursor to be positioned.
|
||||
Files: src/testdir/test_netbeans.vim
|
||||
|
||||
Patch 7.4.2109
|
||||
Problem: Setting 'display' to "lastline" is a drastic change, while
|
||||
omitting it results in lots of "@" lines.
|
||||
Solution: Add "truncate" to show "@@@" for a truncated line.
|
||||
Files: src/option.h, src/screen.c, runtime/doc/options.txt
|
||||
|
||||
Patch 7.4.2110
|
||||
Problem: When there is an CmdUndefined autocmd then the error for a missing
|
||||
command is E464 instead of E492. (Manuel Ortega)
|
||||
Solution: Don't let the pointer be NULL.
|
||||
Files: src/ex_docmd.c, src/testdir/test_usercommands.vim
|
||||
|
||||
Patch 7.4.2111
|
||||
Problem: Defaults are very conservative.
|
||||
Solution: Move settings from vimrc_example.vim to defaults.vim. Load
|
||||
defaults.vim if no .vimrc was found.
|
||||
Files: src/main.c, src/version.c, src/os_amiga.h, src/os_dos.h,
|
||||
src/os_mac.h, src/os_unix.h, src/feature.h, src/Makefile,
|
||||
runtime/vimrc_example.vim, runtime/defaults.vim,
|
||||
runtime/evim.vim, Filelist, runtime/doc/starting.txt
|
||||
|
||||
Patch 7.4.2112
|
||||
Problem: getcompletion(.., 'dir') returns a match with trailing "*" when
|
||||
there are no matches. (Chdiza)
|
||||
Solution: Return an empty list when there are no matches. Add a trailing
|
||||
slash to directories. (Yegappan Lakshmanan) Add tests for no
|
||||
matches. (closes #947)
|
||||
Files: src/evalfunc.c, src/testdir/test_cmdline.vim
|
||||
|
||||
Patch 7.4.2113
|
||||
Problem: Test for undo is flaky.
|
||||
Solution: Turn it into a new style test. Use test_settime() to avoid
|
||||
flakyness.
|
||||
Files: src/Makefile, src/undo.c, src/testdir/test61.in,
|
||||
src/testdir/test61.ok, src/testdir/test_undo.vim,
|
||||
src/testdir/test_undolevels.vim, src/testdir/Make_all.mak,
|
||||
src/testdir/test_alot.vim
|
||||
|
||||
Patch 7.4.2114
|
||||
Problem: Tiny build fails.
|
||||
Solution: Always include vim_time().
|
||||
Files: src/ex_cmds.c
|
||||
|
||||
Patch 7.4.2115
|
||||
Problem: Loading defaults.vim with -C argument.
|
||||
Solution: Don't load the defaults script with -C argument. Test sourcing
|
||||
the defaults script. Set 'display' to "truncate".
|
||||
Files: src/main.c, src/Makefile, runtime/defaults.vim,
|
||||
src/testdir/test_startup.vim, src/testdir/Make_all.mak
|
||||
|
||||
Patch 7.4.2116
|
||||
Problem: The default vimrc for Windows is very conservative.
|
||||
Solution: Use the defaults.vim in the Windows installer.
|
||||
Files: src/dosinst.c
|
||||
|
||||
Patch 7.4.2117
|
||||
Problem: Deleting an augroup that still has autocmds does not give a
|
||||
warning. The next defined augroup takes its place.
|
||||
Solution: Give a warning and prevent the index being used for another group
|
||||
name.
|
||||
Files: src/fileio.c, src/testdir/test_autocmd.vim
|
||||
|
||||
Patch 7.4.2118
|
||||
Problem: Mac: can't build with tiny features.
|
||||
Solution: Don't define FEAT_CLIPBOARD unconditionally. (Kazunobu Kuriyama)
|
||||
Files: src/vim.h
|
||||
|
||||
Patch 7.4.2119
|
||||
Problem: Closures are not supported.
|
||||
Solution: Capture variables in lambdas from the outer scope. (Yasuhiro
|
||||
Matsumoto, Ken Takata)
|
||||
Files: runtime/doc/eval.txt, src/eval.c, src/ex_cmds2.c, src/globals.h,
|
||||
src/proto/eval.pro, src/proto/userfunc.pro,
|
||||
src/testdir/test_lambda.vim, src/userfunc.c
|
||||
|
||||
Patch 7.4.2120
|
||||
Problem: User defined functions can't be a closure.
|
||||
Solution: Add the "closure" argument. Allow using :unlet on a bound
|
||||
variable. (Yasuhiro Matsumoto, Ken Takata)
|
||||
Files: runtime/doc/eval.txt, src/testdir/test_lambda.vim, src/userfunc.c,
|
||||
src/eval.c src/proto/userfunc.pro
|
||||
|
||||
Patch 7.4.2121
|
||||
Problem: No easy way to check if lambda and closure are supported.
|
||||
Solution: Add the +lambda feature.
|
||||
Files: src/evalfunc.c, src/version.c, src/testdir/test_lambda.vim
|
||||
|
||||
Patch 7.4.2122 (after 7.4.2118)
|
||||
Problem: Mac: don't get +clipboard in huge build.
|
||||
Solution: Move #define down below including feature.h
|
||||
Files: src/vim.h
|
||||
|
||||
Patch 7.4.2123
|
||||
Problem: No new style test for diff mode.
|
||||
Solution: Add a test. Check that folds are in sync.
|
||||
Files: src/Makefile, src/testdir/test_diffmode.vim,
|
||||
src/testdir/Make_all.mak, src/testdir/test47.in,
|
||||
src/testdir/test47.ok
|
||||
|
||||
Patch 7.4.2124
|
||||
Problem: diffmode test leaves files behind, breaking another test.
|
||||
Solution: Delete the files.
|
||||
Files: src/testdir/test_diffmode.vim
|
||||
|
||||
Patch 7.4.2125
|
||||
Problem: Compiler warning for loss of data.
|
||||
Solution: Add a type cast. (Christian Brabandt)
|
||||
Files: src/message.c
|
||||
|
||||
Patch 7.4.2126
|
||||
Problem: No tests for :diffget and :diffput
|
||||
Solution: Add tests.
|
||||
Files: src/testdir/test_diffmode.vim
|
||||
|
||||
Patch 7.4.2127
|
||||
Problem: The short form of ":noswapfile" is ":noswap" instead of ":nos".
|
||||
(Kent Sibilev)
|
||||
Solution: Only require three characters. Add a test for the short forms.
|
||||
Files: src/ex_docmd.c, src/testdir/test_usercommands.vim
|
||||
|
||||
Patch 7.4.2128
|
||||
Problem: Memory leak when saving for undo fails.
|
||||
Solution: Free allocated memory. (Hirohito Higashi)
|
||||
Files: src/ex_cmds.c
|
||||
|
||||
Patch 7.4.2129
|
||||
Problem: Memory leak when using timer_start(). (Dominique Pelle)
|
||||
Solution: Don't copy the callback when using a partial.
|
||||
Files: src/evalfunc.c
|
||||
|
||||
Patch 7.4.2130
|
||||
Problem: Pending timers cause false memory leak reports.
|
||||
Solution: Free all timers on exit.
|
||||
Files: src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/misc2.c
|
||||
|
||||
Patch 7.4.2131
|
||||
Problem: More memory leaks when using partial, e.g. for "exit-cb".
|
||||
Solution: Don't copy the callback when using a partial.
|
||||
Files: src/channel.c
|
||||
|
||||
Patch 7.4.2132
|
||||
Problem: test_partial has memory leaks reported.
|
||||
Solution: Add a note about why this happens.
|
||||
Files: src/testdir/test_partial.vim
|
||||
|
||||
Patch 7.4.2133 (after 7.4.2128)
|
||||
Problem: Can't build with tiny features.
|
||||
Solution: Add #ifdef.
|
||||
Files: src/ex_cmds.c
|
||||
|
||||
Patch 7.4.2134
|
||||
Problem: No error for using function() badly.
|
||||
Solution: Check for passing wrong function name. (Ken Takata)
|
||||
Files: src/eval.c, src/evalfunc.c, src/proto/userfunc.pro,
|
||||
src/testdir/test_expr.vim, src/userfunc.c, src/vim.h
|
||||
|
||||
Patch 7.4.2135
|
||||
Problem: Various tiny issues.
|
||||
Solution: Update comments, white space, etc.
|
||||
Files: src/diff.c, src/digraph.c, src/testdir/test80.in,
|
||||
src/testdir/test_channel.vim, src/testdir/Makefile,
|
||||
runtime/menu.vim, src/INSTALLpc.txt, src/xpm/README.txt
|
||||
|
||||
Patch 7.4.2136
|
||||
Problem: Closure function fails.
|
||||
Solution: Don't reset uf_scoped when it points to another funccal.
|
||||
Files: src/userfunc.c, src/testdir/test_lambda.vim
|
||||
|
||||
Patch 7.4.2137
|
||||
Problem: Using function() with a name will find another function when it is
|
||||
redefined.
|
||||
Solution: Add funcref(). Refer to lambda using a partial. Fix several
|
||||
reference counting issues.
|
||||
Files: src/vim.h, src/structs.h, src/userfunc.c, src/eval.c,
|
||||
src/evalfunc.c, src/channel.c, src/proto/eval.pro,
|
||||
src/proto/userfunc.pro, src/if_mzsch.c, src/regexp.c, src/misc2.c,
|
||||
src/if_py_both.h, src/testdir/test_expr.vim, runtime/doc/eval.txt
|
||||
|
||||
Patch 7.4.2138
|
||||
Problem: Test 86 and 87 fail.
|
||||
Solution: Call func_ref() also for regular functions.
|
||||
Files: src/if_py_both.h
|
||||
|
||||
Patch 7.4.2139
|
||||
Problem: :delfunction causes illegal memory access.
|
||||
Solution: Correct logic when deciding to free a function.
|
||||
Files: src/userfunc.c, src/testdir/test_lambda.vim
|
||||
|
||||
Patch 7.4.2140
|
||||
Problem: Tiny build fails.
|
||||
Solution: Add dummy typedefs.
|
||||
Files: src/structs.h
|
||||
|
||||
Patch 7.4.2141
|
||||
Problem: Coverity reports bogus NULL check.
|
||||
Solution: When checking for a variable in the funccal scope don't pass the
|
||||
varname.
|
||||
Files: src/userfunc.c, src/proto/userfunc.pro, src/eval.c
|
||||
|
||||
Patch 7.4.2142
|
||||
Problem: Leaking memory when redefining a function.
|
||||
Solution: Don't increment the function reference count when it's found by
|
||||
name. Don't remove the wrong function from the hashtab. More
|
||||
reference counting fixes.
|
||||
Files: src/structs.h, src/userfunc.c
|
||||
|
||||
Patch 7.4.2143
|
||||
Problem: A funccal is garbage collected while it can still be used.
|
||||
Solution: Set copyID in all referenced functions. Do not list lambda
|
||||
functions with ":function".
|
||||
Files: src/userfunc.c, src/proto/userfunc.pro, src/eval.c,
|
||||
src/testdir/test_lambda.vim
|
||||
|
||||
Patch 7.4.2144
|
||||
Problem: On MS-Windows quickfix does not handle a line with 1023 bytes
|
||||
ending in CR-LF properly.
|
||||
Solution: Don't consider CR a line break. (Ken Takata)
|
||||
Files: src/quickfix.c
|
||||
|
||||
Patch 7.4.2145
|
||||
Problem: Win32: Using CreateThread/ExitThread is not safe.
|
||||
Solution: Use _beginthreadex and return from the thread. (Ken Takata)
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 7.4.2146
|
||||
Problem: Not enough testing for popup menu. CTRL-E does not always work
|
||||
properly.
|
||||
Solution: Add more tests. When using CTRL-E check if the popup menu is
|
||||
visible. (Christian Brabandt)
|
||||
Files: src/edit.c, src/testdir/test_popup.vim
|
||||
|
||||
Patch 7.4.2147 (after 7.4.2146)
|
||||
Problem: test_alot fails.
|
||||
Solution: Close window.
|
||||
Files: src/testdir/test_popup.vim
|
||||
|
||||
Patch 7.4.2148
|
||||
Problem: Not much testing for cscope.
|
||||
Solution: Add a test that uses the cscope program. (Christian Brabandt)
|
||||
Files: src/testdir/test_cscope.vim
|
||||
|
||||
Patch 7.4.2149
|
||||
Problem: If a test leaves a window open a following test may fail.
|
||||
Solution: Always close extra windows after running a test.
|
||||
Files: src/testdir/runtest.vim, src/testdir/test_popup.vim
|
||||
|
||||
Patch 7.4.2150
|
||||
Problem: Warning with MinGW 64. (John Marriott)
|
||||
Solution: Change return type. (Ken Takata)
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 7.4.2151
|
||||
Problem: Quickfix test fails on MS-Windows.
|
||||
Solution: Close the help window. (Christian Brabandt)
|
||||
Files: src/testdir/test_quickfix.vim
|
||||
|
||||
Patch 7.4.2152
|
||||
Problem: No proper translation of messages with a count.
|
||||
Solution: Use ngettext(). (Sergey Alyoshin)
|
||||
Files: src/evalfunc.c, src/fold.c, src/os_win32.c, src/screen.c, src/vim.h
|
||||
|
||||
Patch 7.4.2153
|
||||
Problem: GUI test isn't testing much.
|
||||
Solution: Turn into a new style test. Execute a shell command.
|
||||
Files: src/testdir/test_gui.vim, src/testdir/test16.in,
|
||||
src/testdir/test16.ok, src/testdir/Make_all.mak, src/Makefile,
|
||||
src/testdir/Make_vms.mms
|
||||
|
||||
Patch 7.4.2154
|
||||
Problem: Test_communicate() fails sometimes.
|
||||
Solution: Add it to the flaky tests.
|
||||
Files: src/testdir/runtest.vim
|
||||
|
||||
Patch 7.4.2155
|
||||
Problem: Quotes make GUI test fail on MS-Windows.
|
||||
Solution: Remove quotes, strip white space.
|
||||
Files: src/testdir/test_gui.vim
|
||||
|
||||
Patch 7.4.2156
|
||||
Problem: Compiler warning.
|
||||
Solution: Add type cast. (Ken Takata, Mike Williams)
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 7.4.2157
|
||||
Problem: Test_job_start_fails() is expected to report memory leaks, making
|
||||
it hard to see other leaks in test_partial.
|
||||
Solution: Move Test_job_start_fails() to a separate test file.
|
||||
Files: src/testdir/test_partial.vim, src/testdir/test_job_fails.vim,
|
||||
src/Makefile, src/testdir/Make_all.mak
|
||||
|
||||
Patch 7.4.2158
|
||||
Problem: Result of getcompletion('', 'cscope') depends on previous
|
||||
completion. (Christian Brabandt)
|
||||
Solution: Call set_context_in_cscope_cmd().
|
||||
Files: src/evalfunc.c, src/testdir/test_cmdline.vim
|
||||
|
||||
Patch 7.4.2159
|
||||
Problem: Insufficient testing for cscope.
|
||||
Solution: Add more tests. (Dominique Pelle)
|
||||
Files: src/testdir/test_cscope.vim
|
||||
|
||||
Patch 7.4.2160
|
||||
Problem: setmatches() mixes up values. (Nikolai Pavlov)
|
||||
Solution: Save the string instead of reusing a shared buffer.
|
||||
Files: src/dict.c, src/evalfunc.c, src/testdir/test_expr.vim,
|
||||
|
||||
Patch 7.4.2161 (after 7.4.2160)
|
||||
Problem: Expression test fails without conceal feature.
|
||||
Solution: Only check "conceal" with the conceal feature.
|
||||
Files: src/testdir/test_expr.vim
|
||||
|
||||
Patch 7.4.2162
|
||||
Problem: Result of getcompletion('', 'sign') depends on previous
|
||||
completion.
|
||||
Solution: Call set_context_in_sign_cmd(). (Dominique Pelle)
|
||||
Files: src/evalfunc.c, src/testdir/test_cmdline.vim
|
||||
|
||||
Patch 7.4.2063
|
||||
Problem: eval.c is still too big.
|
||||
Solution: Split off internal functions to evalfunc.c.
|
||||
Files: src/eval.c, src/evalfunc.c, src/list.c, src/proto.h,
|
||||
src/globals.h, src/vim.h, src/proto/eval.pro,
|
||||
src/proto/evalfunc.pro, src/proto/list.pro, src/Makefile, Filelist,
|
||||
src/Make_bc5.mak, src/Make_cyg_ming.mak, src/Make_dice.mak,
|
||||
src/Make_ivc.mak, src/Make_manx.mak, src/Make_morph.mak,
|
||||
src/Make_mvc.mak, src/Make_sas.mak
|
||||
|
||||
Patch 7.4.2064
|
||||
Problem: Coverity warns for possible buffer overflow.
|
||||
Solution: Use vim_strcat() instead of strcat().
|
||||
Files: src/quickfix.c
|
||||
|
||||
Patch 7.4.2065
|
||||
Problem: Compiler warns for uninitialzed variable. (John Marriott)
|
||||
Problem: Compiler warns for uninitialized variable. (John Marriott)
|
||||
Solution: Set lnum to the right value.
|
||||
Files: src/evalfunc.c
|
||||
|
||||
@@ -14155,7 +13556,7 @@ Files: src/gui_gtk_x11.c
|
||||
Patch 7.4.2215
|
||||
Problem: It's not easy to find out if a window is a quickfix or location
|
||||
list window.
|
||||
Solution: Add "loclist" and "quickfix" entries to the dict returnec by
|
||||
Solution: Add "loclist" and "quickfix" entries to the dict returned by
|
||||
getwininfo(). (Yegappan Lakshmanan)
|
||||
Files: runtime/doc/eval.txt, src/evalfunc.c,
|
||||
src/testdir/test_bufwintabinfo.vim
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 7.4. Last change: 2016 Jul 30
|
||||
*windows.txt* For Vim version 7.4. Last change: 2016 Aug 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -75,7 +75,7 @@ places where a Normal mode command can't be used or is inconvenient.
|
||||
|
||||
The main Vim window can hold several split windows. There are also tab pages
|
||||
|tab-page|, each of which can hold multiple windows.
|
||||
|
||||
*window-ID*
|
||||
Each window has a unique identifier called the window ID. This identifier
|
||||
will not change within a Vim session. The |win_getid()| and |win_id2tabwin()|
|
||||
functions can be used to convert between the window/tab number and the
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2016 Jul 21
|
||||
" Last Change: 2016 Aug 18
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -779,8 +779,7 @@ au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
|
||||
au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
|
||||
|
||||
" Git
|
||||
au BufNewFile,BufRead COMMIT_EDITMSG setf gitcommit
|
||||
au BufNewFile,BufRead MERGE_MSG setf gitcommit
|
||||
au BufNewFile,BufRead COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
|
||||
au BufNewFile,BufRead *.git/modules/*/config setf gitconfig
|
||||
au BufNewFile,BufRead */.config/git/config setf gitconfig
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" Vim indent file
|
||||
" Language: Tera Term Language (TTL)
|
||||
" Based on Tera Term Version 4.86
|
||||
" Based on Tera Term Version 4.92
|
||||
" Maintainer: Ken Takata
|
||||
" URL: https://github.com/k-takata/vim-teraterm
|
||||
" Last Change: 2015 Jun 4
|
||||
" Last Change: 2016 Aug 17
|
||||
" Filenames: *.ttl
|
||||
" License: VIM License
|
||||
|
||||
@@ -25,9 +25,7 @@ endif
|
||||
" The shiftwidth() function is relatively new.
|
||||
" Don't require it to exist.
|
||||
if exists('*shiftwidth')
|
||||
function s:sw() abort
|
||||
return shiftwidth()
|
||||
endfunction
|
||||
let s:sw = function('shiftwidth')
|
||||
else
|
||||
function s:sw() abort
|
||||
return &shiftwidth
|
||||
@@ -48,7 +46,7 @@ function! GetTeraTermIndent(lnum)
|
||||
|
||||
let l:ind = l:previ
|
||||
|
||||
if l:prevl =~ '^\s*if\>.*\<then\s*$'
|
||||
if l:prevl =~ '^\s*if\>.*\<then\>'
|
||||
" previous line opened a block
|
||||
let l:ind += s:sw()
|
||||
endif
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
" Vim Keymap file for russian characters, layout 'jcuken', Mac variant
|
||||
|
||||
" Derived from russian-jcuken.vim by Artem Chuprina <ran@ran.pp.ru>
|
||||
" Maintainer: Anton Fonarev <avfonarev@gmail.com>
|
||||
" Last Changed: 2016 August 17
|
||||
|
||||
" All characters are given literally, conversion to another encoding (e.g.,
|
||||
" UTF-8) should work.
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
let b:keymap_name = "ru"
|
||||
|
||||
loadkeymap
|
||||
|
||||
\| Ё CYRILLIC CAPITAL LETTER IO
|
||||
\\ ё CYRILLIC SMALL LETTER IO
|
||||
|
||||
F А CYRILLIC CAPITAL LETTER A
|
||||
< Б CYRILLIC CAPITAL LETTER BE
|
||||
D В CYRILLIC CAPITAL LETTER VE
|
||||
U Г CYRILLIC CAPITAL LETTER GHE
|
||||
L Д CYRILLIC CAPITAL LETTER DE
|
||||
T Е CYRILLIC CAPITAL LETTER IE
|
||||
: Ж CYRILLIC CAPITAL LETTER ZHE
|
||||
P З CYRILLIC CAPITAL LETTER ZE
|
||||
B И CYRILLIC CAPITAL LETTER I
|
||||
Q Й CYRILLIC CAPITAL LETTER SHORT I
|
||||
R К CYRILLIC CAPITAL LETTER KA
|
||||
K Л CYRILLIC CAPITAL LETTER EL
|
||||
V М CYRILLIC CAPITAL LETTER EM
|
||||
Y Н CYRILLIC CAPITAL LETTER EN
|
||||
J О CYRILLIC CAPITAL LETTER O
|
||||
G П CYRILLIC CAPITAL LETTER PE
|
||||
H Р CYRILLIC CAPITAL LETTER ER
|
||||
C С CYRILLIC CAPITAL LETTER ES
|
||||
N Т CYRILLIC CAPITAL LETTER TE
|
||||
E У CYRILLIC CAPITAL LETTER U
|
||||
A Ф CYRILLIC CAPITAL LETTER EF
|
||||
{ Х CYRILLIC CAPITAL LETTER HA
|
||||
W Ц CYRILLIC CAPITAL LETTER TSE
|
||||
X Ч CYRILLIC CAPITAL LETTER CHE
|
||||
I Ш CYRILLIC CAPITAL LETTER SHA
|
||||
O Щ CYRILLIC CAPITAL LETTER SHCHA
|
||||
} Ъ CYRILLIC CAPITAL LETTER HARD SIGN
|
||||
S Ы CYRILLIC CAPITAL LETTER YERU
|
||||
M Ь CYRILLIC CAPITAL LETTER SOFT SIGN
|
||||
\" Э CYRILLIC CAPITAL LETTER E
|
||||
> Ю CYRILLIC CAPITAL LETTER YU
|
||||
Z Я CYRILLIC CAPITAL LETTER YA
|
||||
f а CYRILLIC SMALL LETTER A
|
||||
, б CYRILLIC SMALL LETTER BE
|
||||
d в CYRILLIC SMALL LETTER VE
|
||||
u г CYRILLIC SMALL LETTER GHE
|
||||
l д CYRILLIC SMALL LETTER DE
|
||||
t е CYRILLIC SMALL LETTER IE
|
||||
; ж CYRILLIC SMALL LETTER ZHE
|
||||
p з CYRILLIC SMALL LETTER ZE
|
||||
b и CYRILLIC SMALL LETTER I
|
||||
q й CYRILLIC SMALL LETTER SHORT I
|
||||
r к CYRILLIC SMALL LETTER KA
|
||||
k л CYRILLIC SMALL LETTER EL
|
||||
v м CYRILLIC SMALL LETTER EM
|
||||
y н CYRILLIC SMALL LETTER EN
|
||||
j о CYRILLIC SMALL LETTER O
|
||||
g п CYRILLIC SMALL LETTER PE
|
||||
h р CYRILLIC SMALL LETTER ER
|
||||
c с CYRILLIC SMALL LETTER ES
|
||||
n т CYRILLIC SMALL LETTER TE
|
||||
e у CYRILLIC SMALL LETTER U
|
||||
a ф CYRILLIC SMALL LETTER EF
|
||||
[ х CYRILLIC SMALL LETTER HA
|
||||
w ц CYRILLIC SMALL LETTER TSE
|
||||
x ч CYRILLIC SMALL LETTER CHE
|
||||
i ш CYRILLIC SMALL LETTER SHA
|
||||
o щ CYRILLIC SMALL LETTER SHCHA
|
||||
] ъ CYRILLIC SMALL LETTER HARD SIGN
|
||||
s ы CYRILLIC SMALL LETTER YERU
|
||||
m ь CYRILLIC SMALL LETTER SOFT SIGN
|
||||
' э CYRILLIC SMALL LETTER E
|
||||
. ю CYRILLIC SMALL LETTER YU
|
||||
z я CYRILLIC SMALL LETTER YA
|
||||
|
||||
§ >
|
||||
± <
|
||||
@ "
|
||||
# №
|
||||
$ %
|
||||
% :
|
||||
^ ,
|
||||
& .
|
||||
* ;
|
||||
` ]
|
||||
~ [
|
||||
@@ -2,7 +2,8 @@
|
||||
" Language: reStructuredText documentation format
|
||||
" Maintainer: Marshall Ward <marshall.ward@gmail.com>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2016-06-17
|
||||
" Website: https://github.com/marshallward/vim-restructuredtext
|
||||
" Latest Revision: 2016-08-18
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -89,7 +90,7 @@ function! s:DefineOneInlineMarkup(name, start, middle, end, char_left, char_righ
|
||||
\ ' start=+' . a:char_left . '\zs' . a:start .
|
||||
\ '\ze[^[:space:]' . a:char_right . a:start[strlen(a:start) - 1] . ']+' .
|
||||
\ a:middle .
|
||||
\ ' end=+\S' . a:end . '\ze\%($\|\s\|[''")\]}>/:.,;!?\\-]\)+'
|
||||
\ ' end=+\S' . a:end . '\ze\%($\|\s\|[''"’)\]}>/:.,;!?\\-]\)+'
|
||||
endfunction
|
||||
|
||||
function! s:DefineInlineMarkup(name, start, middle, end)
|
||||
@@ -103,6 +104,8 @@ function! s:DefineInlineMarkup(name, start, middle, end)
|
||||
call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '\[', '\]')
|
||||
call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '{', '}')
|
||||
call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '<', '>')
|
||||
call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '’', '’')
|
||||
" TODO: Additional Unicode Pd, Po, Pi, Pf, Ps characters
|
||||
|
||||
call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, '\%(^\|\s\|[/:]\)', '')
|
||||
|
||||
@@ -186,11 +189,8 @@ hi def link rstHyperlinkTarget String
|
||||
hi def link rstExDirective String
|
||||
hi def link rstSubstitutionDefinition rstDirective
|
||||
hi def link rstDelimiter Delimiter
|
||||
hi def link rstEmphasis Underlined
|
||||
hi def link rstStrongEmphasis Special
|
||||
" TODO Append these atttributes somehow
|
||||
"hi def rstEmphasis term=italic cterm=italic gui=italic
|
||||
"hi def rstStrongEmphasis term=bold cterm=bold gui=bold
|
||||
hi def rstEmphasis ctermfg=13 term=italic cterm=italic gui=italic
|
||||
hi def rstStrongEmphasis ctermfg=1 term=bold cterm=bold gui=bold
|
||||
hi def link rstInterpretedTextOrHyperlinkReference Identifier
|
||||
hi def link rstInlineLiteral String
|
||||
hi def link rstSubstitutionReference PreProc
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: Tera Term Language (TTL)
|
||||
" Based on Tera Term Version 4.86
|
||||
" Based on Tera Term Version 4.92
|
||||
" Maintainer: Ken Takata
|
||||
" URL: https://github.com/k-takata/vim-teraterm
|
||||
" Last Change: 2015 Jun 24
|
||||
" Last Change: 2016 Aug 17
|
||||
" Filenames: *.ttl
|
||||
" License: VIM License
|
||||
|
||||
@@ -33,7 +33,7 @@ syn keyword ttlOperator and or xor not
|
||||
|
||||
syn match ttlVar "\<groupmatchstr\d\>"
|
||||
syn match ttlVar "\<param\d\>"
|
||||
syn keyword ttlVar inputstr matchstr paramcnt result timeout mtimeout
|
||||
syn keyword ttlVar inputstr matchstr paramcnt params result timeout mtimeout
|
||||
|
||||
|
||||
syn match ttlLine nextgroup=ttlStatement "^"
|
||||
|
||||
+2
-1
@@ -2058,7 +2058,7 @@ test1 \
|
||||
test30 test31 test32 test33 test34 test36 test37 test38 test39 \
|
||||
test40 test41 test42 test43 test44 test45 test46 test48 test49 \
|
||||
test50 test51 test52 test53 test54 test55 test56 test57 test58 test59 \
|
||||
test60 test62 test64 test65 test66 test67 test68 test69 \
|
||||
test60 test64 test65 test66 test67 test68 test69 \
|
||||
test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \
|
||||
test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
|
||||
test90 test91 test92 test93 test94 test95 test97 test98 test99 \
|
||||
@@ -2139,6 +2139,7 @@ test_arglist \
|
||||
test_syn_attr \
|
||||
test_syntax \
|
||||
test_tabline \
|
||||
test_tabpage \
|
||||
test_tagjump \
|
||||
test_textobjects \
|
||||
test_timers \
|
||||
|
||||
+5
-5
@@ -3931,7 +3931,7 @@ get_buffer_info(buf_T *buf)
|
||||
if (dict == NULL)
|
||||
return NULL;
|
||||
|
||||
dict_add_nr_str(dict, "nr", buf->b_fnum, NULL);
|
||||
dict_add_nr_str(dict, "bufnr", buf->b_fnum, NULL);
|
||||
dict_add_nr_str(dict, "name", 0L,
|
||||
buf->b_ffname != NULL ? buf->b_ffname : (char_u *)"");
|
||||
dict_add_nr_str(dict, "lnum", buflist_findlnum(buf), NULL);
|
||||
@@ -5008,7 +5008,7 @@ get_tabpage_info(tabpage_T *tp, int tp_idx)
|
||||
if (dict == NULL)
|
||||
return NULL;
|
||||
|
||||
dict_add_nr_str(dict, "nr", tp_idx, NULL);
|
||||
dict_add_nr_str(dict, "tabnr", tp_idx, NULL);
|
||||
|
||||
l = list_alloc();
|
||||
if (l != NULL)
|
||||
@@ -5132,12 +5132,12 @@ get_win_info(win_T *wp, short tpnr, short winnr)
|
||||
if (dict == NULL)
|
||||
return NULL;
|
||||
|
||||
dict_add_nr_str(dict, "tpnr", tpnr, NULL);
|
||||
dict_add_nr_str(dict, "nr", winnr, NULL);
|
||||
dict_add_nr_str(dict, "tabnr", tpnr, NULL);
|
||||
dict_add_nr_str(dict, "winnr", winnr, NULL);
|
||||
dict_add_nr_str(dict, "winid", wp->w_id, NULL);
|
||||
dict_add_nr_str(dict, "height", wp->w_height, NULL);
|
||||
dict_add_nr_str(dict, "width", wp->w_width, NULL);
|
||||
dict_add_nr_str(dict, "bufnum", wp->w_buffer->b_fnum, NULL);
|
||||
dict_add_nr_str(dict, "bufnr", wp->w_buffer->b_fnum, NULL);
|
||||
|
||||
#ifdef FEAT_QUICKFIX
|
||||
dict_add_nr_str(dict, "quickfix", bt_quickfix(wp->w_buffer), NULL);
|
||||
|
||||
@@ -50,7 +50,6 @@ SCRIPTS_ALL = \
|
||||
test56.out \
|
||||
test57.out \
|
||||
test60.out \
|
||||
test62.out \
|
||||
test64.out \
|
||||
test65.out \
|
||||
test66.out \
|
||||
|
||||
@@ -3,11 +3,12 @@ This directory contains tests for various Vim features.
|
||||
If it makes sense, add a new test method to an already existing file. You may
|
||||
want to separate it from other tests with comment lines.
|
||||
|
||||
The numbered tests are older, we have switched to named tests.
|
||||
The numbered tests are older, we have switched to named tests. Don't add any
|
||||
more numbered tests.
|
||||
|
||||
And then you can choose between a new style test, which is a Vim script, or an
|
||||
old style test, which uses Normal mode commands. Use a new style test if you
|
||||
can.
|
||||
can. Use an old style test when it needs to run without the +eval feature.
|
||||
|
||||
|
||||
TO ADD A NEW STYLE TEST:
|
||||
|
||||
@@ -1,205 +0,0 @@
|
||||
Tests for tab pages
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:lang C
|
||||
:" Simple test for opening and closing a tab page
|
||||
:tabnew
|
||||
:let nr = tabpagenr()
|
||||
:q
|
||||
:call append(line('$'), 'tab page ' . nr)
|
||||
:unlet nr
|
||||
:"
|
||||
:" Open three tab pages and use ":tabdo"
|
||||
:0tabnew
|
||||
:1tabnew
|
||||
:$tabnew
|
||||
:tabdo call append(line('$'), 'this is tab page ' . tabpagenr())
|
||||
:tabclose! 2
|
||||
:tabrewind
|
||||
:let line1 = getline('$')
|
||||
:undo
|
||||
:q
|
||||
:tablast
|
||||
:let line2 = getline('$')
|
||||
:q!
|
||||
:call append(line('$'), line1)
|
||||
:call append(line('$'), line2)
|
||||
:unlet line1 line2
|
||||
:"
|
||||
:" Test for settabvar() and gettabvar() functions. Open a new tab page and
|
||||
:" set 3 variables to a number, string and a list. Verify that the variables
|
||||
:" are correctly set.
|
||||
:tabnew
|
||||
:tabfirst
|
||||
:call settabvar(2, 'val_num', 100)
|
||||
:call settabvar(2, 'val_str', 'SetTabVar test')
|
||||
:call settabvar(2, 'val_list', ['red', 'blue', 'green'])
|
||||
:"
|
||||
:let test_status = 'gettabvar: fail'
|
||||
:if gettabvar(2, 'val_num') == 100 && gettabvar(2, 'val_str') == 'SetTabVar test' && gettabvar(2, 'val_list') == ['red', 'blue', 'green']
|
||||
: let test_status = 'gettabvar: pass'
|
||||
:endif
|
||||
:call append(line('$'), test_status)
|
||||
:"
|
||||
:tabnext 2
|
||||
:let test_status = 'settabvar: fail'
|
||||
:if t:val_num == 100 && t:val_str == 'SetTabVar test' && t:val_list == ['red', 'blue', 'green']
|
||||
: let test_status = 'settabvar: pass'
|
||||
:endif
|
||||
:tabclose
|
||||
:call append(line('$'), test_status)
|
||||
:"
|
||||
:if has('gui') || has('clientserver')
|
||||
:" Test for ":tab drop exist-file" to keep current window.
|
||||
:sp test1
|
||||
:tab drop test1
|
||||
:let test_status = 'tab drop 1: fail'
|
||||
:if tabpagenr('$') == 1 && winnr('$') == 2 && winnr() == 1
|
||||
: let test_status = 'tab drop 1: pass'
|
||||
:endif
|
||||
:close
|
||||
:call append(line('$'), test_status)
|
||||
:"
|
||||
:"
|
||||
:" Test for ":tab drop new-file" to keep current window of tabpage 1.
|
||||
:split
|
||||
:tab drop newfile
|
||||
:let test_status = 'tab drop 2: fail'
|
||||
:if tabpagenr('$') == 2 && tabpagewinnr(1, '$') == 2 && tabpagewinnr(1) == 1
|
||||
: let test_status = 'tab drop 2: pass'
|
||||
:endif
|
||||
:tabclose
|
||||
:q
|
||||
:call append(line('$'), test_status)
|
||||
:"
|
||||
:"
|
||||
:" Test for ":tab drop multi-opend-file" to keep current tabpage and window.
|
||||
:new test1
|
||||
:tabnew
|
||||
:new test1
|
||||
:tab drop test1
|
||||
:let test_status = 'tab drop 3: fail'
|
||||
:if tabpagenr() == 2 && tabpagewinnr(2, '$') == 2 && tabpagewinnr(2) == 1
|
||||
: let test_status = 'tab drop 3: pass'
|
||||
:endif
|
||||
:tabclose
|
||||
:q
|
||||
:call append(line('$'), test_status)
|
||||
:else
|
||||
:" :drop not supported
|
||||
:call append(line('$'), 'tab drop 1: pass')
|
||||
:call append(line('$'), 'tab drop 2: pass')
|
||||
:call append(line('$'), 'tab drop 3: pass')
|
||||
:endif
|
||||
:"
|
||||
:"
|
||||
:for i in range(9) | tabnew | endfor
|
||||
1gt
|
||||
:$put =tabpagenr()
|
||||
:tabmove 5
|
||||
:$put =tabpagenr()
|
||||
:.tabmove
|
||||
:$put =tabpagenr()
|
||||
:tabmove -
|
||||
:$put =tabpagenr()
|
||||
:tabmove +
|
||||
:$put =tabpagenr()
|
||||
:tabmove -2
|
||||
:$put =tabpagenr()
|
||||
:tabmove +4
|
||||
:$put =tabpagenr()
|
||||
:tabmove
|
||||
:$put =tabpagenr()
|
||||
:tabmove -20
|
||||
:$put =tabpagenr()
|
||||
:tabmove +20
|
||||
:$put =tabpagenr()
|
||||
:0tabmove
|
||||
:$put =tabpagenr()
|
||||
:$tabmove
|
||||
:$put =tabpagenr()
|
||||
:tabmove 0
|
||||
:$put =tabpagenr()
|
||||
:tabmove $
|
||||
:$put =tabpagenr()
|
||||
:3tabmove
|
||||
:$put =tabpagenr()
|
||||
:7tabmove 5
|
||||
:$put =tabpagenr()
|
||||
:let a='No error caught.'
|
||||
:try
|
||||
:tabmove foo
|
||||
:catch E474
|
||||
:let a='E474 caught.'
|
||||
:endtry
|
||||
:$put =a
|
||||
:"
|
||||
:" Test autocommands
|
||||
:tabonly!
|
||||
:let g:r=[]
|
||||
:command -nargs=1 -bar C :call add(g:r, '=== ' . <q-args> . ' ===')|<args>
|
||||
:function Test()
|
||||
let hasau=has('autocmd')
|
||||
if hasau
|
||||
autocmd TabEnter * :call add(g:r, 'TabEnter')
|
||||
autocmd WinEnter * :call add(g:r, 'WinEnter')
|
||||
autocmd BufEnter * :call add(g:r, 'BufEnter')
|
||||
autocmd TabLeave * :call add(g:r, 'TabLeave')
|
||||
autocmd WinLeave * :call add(g:r, 'WinLeave')
|
||||
autocmd BufLeave * :call add(g:r, 'BufLeave')
|
||||
endif
|
||||
let t:a='a'
|
||||
C tab split
|
||||
if !hasau
|
||||
let g:r+=['WinLeave', 'TabLeave', 'WinEnter', 'TabEnter']
|
||||
endif
|
||||
let t:a='b'
|
||||
C tabnew
|
||||
if !hasau
|
||||
let g:r+=['WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', 'BufLeave', 'BufEnter']
|
||||
endif
|
||||
let t:a='c'
|
||||
call add(g:r, join(map(range(1, tabpagenr('$')), 'gettabvar(v:val, "a")')))
|
||||
C call map(range(1, tabpagenr('$')), 'settabvar(v:val, ''a'', v:val*2)')
|
||||
call add(g:r, join(map(range(1, tabpagenr('$')), 'gettabvar(v:val, "a")')))
|
||||
let w:a='a'
|
||||
C vsplit
|
||||
if !hasau
|
||||
let g:r+=['WinLeave', 'WinEnter']
|
||||
endif
|
||||
let w:a='a'
|
||||
let tabn=tabpagenr()
|
||||
let winr=range(1, winnr('$'))
|
||||
C tabnext 1
|
||||
if !hasau
|
||||
let g:r+=['BufLeave', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', 'BufEnter']
|
||||
endif
|
||||
call add(g:r, join(map(copy(winr), 'gettabwinvar('.tabn.', v:val, "a")')))
|
||||
C call map(copy(winr), 'settabwinvar('.tabn.', v:val, ''a'', v:val*2)')
|
||||
call add(g:r, join(map(copy(winr), 'gettabwinvar('.tabn.', v:val, "a")')))
|
||||
if hasau
|
||||
augroup TabDestructive
|
||||
autocmd TabEnter * :C tabnext 2 | C tabclose 3
|
||||
augroup END
|
||||
C tabnext 3
|
||||
let g:r+=[tabpagenr().'/'.tabpagenr('$')]
|
||||
autocmd! TabDestructive TabEnter
|
||||
C tabnew
|
||||
C tabnext 1
|
||||
autocmd TabDestructive TabEnter * nested :C tabnext 2 | C tabclose 3
|
||||
C tabnext 3
|
||||
let g:r+=[tabpagenr().'/'.tabpagenr('$')]
|
||||
else
|
||||
let g:r+=["=== tabnext 3 ===","BufLeave","WinLeave","TabLeave","WinEnter","TabEnter","=== tabnext 2 ===","=== tabclose 3 ===","2/2","=== tabnew ===","WinLeave","TabLeave","WinEnter","TabEnter","BufLeave","BufEnter","=== tabnext 1 ===","BufLeave","WinLeave","TabLeave","WinEnter","TabEnter","BufEnter","=== tabnext 3 ===","BufLeave","WinLeave","TabLeave","WinEnter","TabEnter","=== tabnext 2 ===","BufLeave","WinLeave","TabLeave","WinEnter","TabEnter","=== tabnext 2 ===","=== tabclose 3 ===","BufEnter","=== tabclose 3 ===","2/2",]
|
||||
endif
|
||||
endfunction
|
||||
:call Test()
|
||||
:$ put =g:r
|
||||
:"
|
||||
:"
|
||||
:/^Results/,$w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
Results:
|
||||
@@ -1,95 +0,0 @@
|
||||
Results:
|
||||
tab page 2
|
||||
this is tab page 3
|
||||
this is tab page 1
|
||||
this is tab page 4
|
||||
gettabvar: pass
|
||||
settabvar: pass
|
||||
tab drop 1: pass
|
||||
tab drop 2: pass
|
||||
tab drop 3: pass
|
||||
1
|
||||
5
|
||||
5
|
||||
4
|
||||
5
|
||||
3
|
||||
7
|
||||
10
|
||||
1
|
||||
10
|
||||
1
|
||||
10
|
||||
1
|
||||
10
|
||||
4
|
||||
5
|
||||
E474 caught.
|
||||
=== tab split ===
|
||||
WinLeave
|
||||
TabLeave
|
||||
WinEnter
|
||||
TabEnter
|
||||
=== tabnew ===
|
||||
WinLeave
|
||||
TabLeave
|
||||
WinEnter
|
||||
TabEnter
|
||||
BufLeave
|
||||
BufEnter
|
||||
a b c
|
||||
=== call map(range(1, tabpagenr('$')), 'settabvar(v:val, ''a'', v:val*2)') ===
|
||||
2 4 6
|
||||
=== vsplit ===
|
||||
WinLeave
|
||||
WinEnter
|
||||
=== tabnext 1 ===
|
||||
BufLeave
|
||||
WinLeave
|
||||
TabLeave
|
||||
WinEnter
|
||||
TabEnter
|
||||
BufEnter
|
||||
a a
|
||||
=== call map(copy(winr), 'settabwinvar('.tabn.', v:val, ''a'', v:val*2)') ===
|
||||
2 4
|
||||
=== tabnext 3 ===
|
||||
BufLeave
|
||||
WinLeave
|
||||
TabLeave
|
||||
WinEnter
|
||||
TabEnter
|
||||
=== tabnext 2 ===
|
||||
=== tabclose 3 ===
|
||||
2/2
|
||||
=== tabnew ===
|
||||
WinLeave
|
||||
TabLeave
|
||||
WinEnter
|
||||
TabEnter
|
||||
BufLeave
|
||||
BufEnter
|
||||
=== tabnext 1 ===
|
||||
BufLeave
|
||||
WinLeave
|
||||
TabLeave
|
||||
WinEnter
|
||||
TabEnter
|
||||
BufEnter
|
||||
=== tabnext 3 ===
|
||||
BufLeave
|
||||
WinLeave
|
||||
TabLeave
|
||||
WinEnter
|
||||
TabEnter
|
||||
=== tabnext 2 ===
|
||||
BufLeave
|
||||
WinLeave
|
||||
TabLeave
|
||||
WinEnter
|
||||
TabEnter
|
||||
=== tabnext 2 ===
|
||||
=== tabclose 3 ===
|
||||
BufEnter
|
||||
=== tabclose 3 ===
|
||||
2/2
|
||||
@@ -34,6 +34,7 @@ source test_sort.vim
|
||||
source test_statusline.vim
|
||||
source test_syn_attr.vim
|
||||
source test_tabline.vim
|
||||
source test_tabpage.vim
|
||||
source test_tagjump.vim
|
||||
source test_timers.vim
|
||||
source test_true_false.vim
|
||||
|
||||
@@ -56,4 +56,4 @@ func Test_backspace_option()
|
||||
set nocompatible viminfo+=nviminfo
|
||||
endfunc
|
||||
|
||||
" vim: tabstop=2 shiftwidth=0 expandtab
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
@@ -17,7 +17,7 @@ function Test_getbufwintabinfo()
|
||||
set tabstop&vim
|
||||
let b:editor = 'vim'
|
||||
let l = getbufinfo('%')
|
||||
call assert_equal(bufnr('%'), l[0].nr)
|
||||
call assert_equal(bufnr('%'), l[0].bufnr)
|
||||
call assert_equal(8, l[0].options.tabstop)
|
||||
call assert_equal('vim', l[0].variables.editor)
|
||||
call assert_notequal(-1, index(l[0].windows, bufwinid('%')))
|
||||
@@ -46,25 +46,25 @@ function Test_getbufwintabinfo()
|
||||
tabfirst
|
||||
let winlist = getwininfo()
|
||||
call assert_equal(5, len(winlist))
|
||||
call assert_equal(winbufnr(2), winlist[1].bufnum)
|
||||
call assert_equal(winbufnr(2), winlist[1].bufnr)
|
||||
call assert_equal(winheight(2), winlist[1].height)
|
||||
call assert_equal(1, winlist[2].nr)
|
||||
call assert_equal(1, winlist[2].winnr)
|
||||
if has('signs')
|
||||
call assert_equal('auto', winlist[0].options.signcolumn)
|
||||
endif
|
||||
call assert_equal(2, winlist[3].tpnr)
|
||||
call assert_equal(2, winlist[3].tabnr)
|
||||
call assert_equal('green', winlist[2].variables.signal)
|
||||
call assert_equal(winwidth(1), winlist[0].width)
|
||||
call assert_equal(w4_id, winlist[3].winid)
|
||||
let winfo = getwininfo(w5_id)[0]
|
||||
call assert_equal(2, winfo.tpnr)
|
||||
call assert_equal(2, winfo.tabnr)
|
||||
call assert_equal([], getwininfo(3))
|
||||
|
||||
call settabvar(1, 'space', 'build')
|
||||
let tablist = gettabinfo()
|
||||
call assert_equal(2, len(tablist))
|
||||
call assert_equal(3, len(tablist[1].windows))
|
||||
call assert_equal(2, tablist[1].nr)
|
||||
call assert_equal(2, tablist[1].tabnr)
|
||||
call assert_equal('build', tablist[0].variables.space)
|
||||
call assert_equal(w2_id, tablist[0].windows[0])
|
||||
call assert_equal([], gettabinfo(3))
|
||||
|
||||
@@ -458,4 +458,4 @@ func! Test_digraph_cmndline()
|
||||
call assert_equal("€", s)
|
||||
endfunc
|
||||
|
||||
" vim: tabstop=2 shiftwidth=0 sts=-1 expandtab
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
@@ -90,4 +90,4 @@ func Test_gn_command()
|
||||
sil! %d _
|
||||
endfu
|
||||
|
||||
" vim: tabstop=2 shiftwidth=0 expandtab
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
@@ -150,4 +150,4 @@ func Test_help_complete()
|
||||
endtry
|
||||
endfunc
|
||||
|
||||
" vim: et sw=2:
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
@@ -757,4 +757,4 @@ func Test_normal_increment_03()
|
||||
endfunc
|
||||
|
||||
|
||||
" vim: tabstop=2 shiftwidth=2 expandtab
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
@@ -27,4 +27,4 @@ func Test_increment_dbcs_1()
|
||||
call assert_equal([0, 1, 10, 0], getpos('.'))
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 expandtab
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
@@ -186,4 +186,4 @@ func Test_matchaddpos()
|
||||
set hlsearch&
|
||||
endfunc
|
||||
|
||||
" vim: et ts=2 sw=2
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
@@ -38,4 +38,3 @@ func Test_recursive_substitute()
|
||||
call setwinvar(1, 'myvar', 1)
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
" Tests for tabpage
|
||||
|
||||
function Test_tabpage()
|
||||
bw!
|
||||
" Simple test for opening and closing a tab page
|
||||
tabnew
|
||||
call assert_equal(2, tabpagenr())
|
||||
quit
|
||||
|
||||
" Open three tab pages and use ":tabdo"
|
||||
0tabnew
|
||||
1tabnew
|
||||
$tabnew
|
||||
tabdo call append(line('$'), tabpagenr())
|
||||
tabclose! 2
|
||||
tabrewind
|
||||
let line1 = getline('$')
|
||||
undo
|
||||
q
|
||||
tablast
|
||||
let line2 = getline('$')
|
||||
q!
|
||||
call append(line('$'), line1)
|
||||
call append(line('$'), line2)
|
||||
unlet line1 line2
|
||||
call assert_equal(['', '3', '1', '4'], getline(1, '$'))
|
||||
"
|
||||
" Test for settabvar() and gettabvar() functions. Open a new tab page and
|
||||
" set 3 variables to a number, string and a list. Verify that the variables
|
||||
" are correctly set.
|
||||
tabnew
|
||||
tabfirst
|
||||
call settabvar(2, 'val_num', 100)
|
||||
call settabvar(2, 'val_str', 'SetTabVar test')
|
||||
call settabvar(2, 'val_list', ['red', 'blue', 'green'])
|
||||
"
|
||||
call assert_true(gettabvar(2, 'val_num') == 100 && gettabvar(2, 'val_str') == 'SetTabVar test' && gettabvar(2, 'val_list') == ['red', 'blue', 'green'])
|
||||
|
||||
tabnext 2
|
||||
call assert_true(t:val_num == 100 && t:val_str == 'SetTabVar test' && t:val_list == ['red', 'blue', 'green'])
|
||||
tabclose
|
||||
|
||||
if has('gui') || has('clientserver')
|
||||
" Test for ":tab drop exist-file" to keep current window.
|
||||
sp test1
|
||||
tab drop test1
|
||||
call assert_true(tabpagenr('$') == 1 && winnr('$') == 2 && winnr() == 1)
|
||||
close
|
||||
"
|
||||
"
|
||||
" Test for ":tab drop new-file" to keep current window of tabpage 1.
|
||||
split
|
||||
tab drop newfile
|
||||
call assert_true(tabpagenr('$') == 2 && tabpagewinnr(1, '$') == 2 && tabpagewinnr(1) == 1)
|
||||
tabclose
|
||||
q
|
||||
"
|
||||
"
|
||||
" Test for ":tab drop multi-opend-file" to keep current tabpage and window.
|
||||
new test1
|
||||
tabnew
|
||||
new test1
|
||||
tab drop test1
|
||||
call assert_true(tabpagenr() == 2 && tabpagewinnr(2, '$') == 2 && tabpagewinnr(2) == 1)
|
||||
tabclose
|
||||
q
|
||||
endif
|
||||
"
|
||||
"
|
||||
for i in range(9) | tabnew | endfor
|
||||
normal! 1gt
|
||||
call assert_equal(1, tabpagenr())
|
||||
tabmove 5
|
||||
call assert_equal(5, tabpagenr())
|
||||
.tabmove
|
||||
call assert_equal(5, tabpagenr())
|
||||
tabmove -
|
||||
call assert_equal(4, tabpagenr())
|
||||
tabmove +
|
||||
call assert_equal(5, tabpagenr())
|
||||
tabmove -2
|
||||
call assert_equal(3, tabpagenr())
|
||||
tabmove +4
|
||||
call assert_equal(7, tabpagenr())
|
||||
tabmove
|
||||
call assert_equal(10, tabpagenr())
|
||||
tabmove -20
|
||||
call assert_equal(1, tabpagenr())
|
||||
tabmove +20
|
||||
call assert_equal(10, tabpagenr())
|
||||
0tabmove
|
||||
call assert_equal(1, tabpagenr())
|
||||
$tabmove
|
||||
call assert_equal(10, tabpagenr())
|
||||
tabmove 0
|
||||
call assert_equal(1, tabpagenr())
|
||||
tabmove $
|
||||
call assert_equal(10, tabpagenr())
|
||||
3tabmove
|
||||
call assert_equal(4, tabpagenr())
|
||||
7tabmove 5
|
||||
call assert_equal(5, tabpagenr())
|
||||
call assert_fails("tabmove foo", 'E474:')
|
||||
endfunc
|
||||
|
||||
" Test autocommands
|
||||
function Test_tabpage_with_autocmd()
|
||||
if !has('autocmd')
|
||||
return
|
||||
endif
|
||||
tabonly!
|
||||
command -nargs=1 -bar C :call add(s:li, '=== ' . <q-args> . ' ===')|<args>
|
||||
augroup TestTabpageGroup
|
||||
au!
|
||||
autocmd TabEnter * call add(s:li, 'TabEnter')
|
||||
autocmd WinEnter * call add(s:li, 'WinEnter')
|
||||
autocmd BufEnter * call add(s:li, 'BufEnter')
|
||||
autocmd TabLeave * call add(s:li, 'TabLeave')
|
||||
autocmd WinLeave * call add(s:li, 'WinLeave')
|
||||
autocmd BufLeave * call add(s:li, 'BufLeave')
|
||||
augroup END
|
||||
|
||||
let s:li = []
|
||||
let t:a='a'
|
||||
C tab split
|
||||
call assert_equal(['=== tab split ===', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter'], s:li)
|
||||
let s:li = []
|
||||
let t:a='b'
|
||||
C tabnew
|
||||
call assert_equal(['=== tabnew ===', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', 'BufLeave', 'BufEnter'], s:li)
|
||||
let t:a='c'
|
||||
let s:li = split(join(map(range(1, tabpagenr('$')), 'gettabvar(v:val, "a")')) , '\s\+')
|
||||
call assert_equal(['a', 'b', 'c'], s:li)
|
||||
|
||||
let s:li = []
|
||||
C call map(range(1, tabpagenr('$')), 'settabvar(v:val, ''a'', v:val*2)')
|
||||
call assert_equal(["=== call map(range(1, tabpagenr('$')), 'settabvar(v:val, ''a'', v:val*2)') ==="], s:li)
|
||||
let s:li = split(join(map(range(1, tabpagenr('$')), 'gettabvar(v:val, "a")')) , '\s\+')
|
||||
call assert_equal(['2', '4', '6'], s:li)
|
||||
|
||||
let s:li = []
|
||||
let w:a='a'
|
||||
C vsplit
|
||||
call assert_equal(['=== vsplit ===', 'WinLeave', 'WinEnter'], s:li)
|
||||
let s:li = []
|
||||
let w:a='a'
|
||||
let tabn=tabpagenr()
|
||||
let winr=range(1, winnr('$'))
|
||||
C tabnext 1
|
||||
call assert_equal(['=== tabnext 1 ===', 'BufLeave', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', 'BufEnter'], s:li)
|
||||
let s:li = split(join(map(copy(winr), 'gettabwinvar('.tabn.', v:val, "a")')), '\s\+')
|
||||
call assert_equal(['a', 'a'], s:li)
|
||||
let s:li = []
|
||||
C call map(copy(winr), 'settabwinvar('.tabn.', v:val, ''a'', v:val*2)')
|
||||
let s:li = split(join(map(copy(winr), 'gettabwinvar('.tabn.', v:val, "a")')), '\s\+')
|
||||
call assert_equal(['2', '4'], s:li)
|
||||
|
||||
augroup TabDestructive
|
||||
autocmd TabEnter * :C tabnext 2 | C tabclose 3
|
||||
augroup END
|
||||
let s:li = []
|
||||
C tabnext 3
|
||||
call assert_equal(['=== tabnext 3 ===', 'BufLeave', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', '=== tabnext 2 ===', '=== tabclose 3 ==='], s:li)
|
||||
call assert_equal(['2/2'], [tabpagenr().'/'.tabpagenr('$')])
|
||||
|
||||
autocmd! TabDestructive TabEnter
|
||||
let s:li = []
|
||||
C tabnew
|
||||
call assert_equal(['=== tabnew ===', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', 'BufLeave', 'BufEnter'], s:li)
|
||||
let s:li = []
|
||||
C tabnext 1
|
||||
call assert_equal(['=== tabnext 1 ===', 'BufLeave', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', 'BufEnter'], s:li)
|
||||
|
||||
autocmd TabDestructive TabEnter * nested :C tabnext 2 | C tabclose 3
|
||||
let s:li = []
|
||||
C tabnext 3
|
||||
call assert_equal(['=== tabnext 3 ===', 'BufLeave', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', '=== tabnext 2 ===', 'BufLeave', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', '=== tabnext 2 ===', '=== tabclose 3 ===', 'BufEnter', '=== tabclose 3 ==='], s:li)
|
||||
call assert_equal(['2/2'], [tabpagenr().'/'.tabpagenr('$')])
|
||||
|
||||
delcommand C
|
||||
autocmd! TabDestructive
|
||||
augroup! TabDestructive
|
||||
autocmd! TestTabpageGroup
|
||||
augroup! TestTabpageGroup
|
||||
tabonly!
|
||||
bw!
|
||||
endfunction
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
@@ -7,4 +7,4 @@ func Test_ptag_with_notagstack()
|
||||
set tagstack&vim
|
||||
endfunc
|
||||
|
||||
" vim: sw=2 et
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
@@ -112,4 +112,4 @@ func Test_paused()
|
||||
call assert_inrange(0, 10, slept)
|
||||
endfunc
|
||||
|
||||
" vim: ts=2 sw=0 et
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
@@ -67,4 +67,4 @@ function Test_window_cmd_wincmd_gf()
|
||||
augroup! test_window_cmd_wincmd_gf
|
||||
endfunc
|
||||
|
||||
" vim: sw=2 et
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
@@ -778,6 +778,12 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2228,
|
||||
/**/
|
||||
2227,
|
||||
/**/
|
||||
2226,
|
||||
/**/
|
||||
2225,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user