Merge pull request #14223 from janlazo/vim-8.2.2659
vim-patch:8.2.{1666,2045,2659,2662}
This commit is contained in:
commit
75a9db5b7d
|
@ -379,8 +379,8 @@ void set_init_1(bool clean_arg)
|
|||
# else
|
||||
static char *(names[3]) = {"TMPDIR", "TEMP", "TMP"};
|
||||
# endif
|
||||
int len;
|
||||
garray_T ga;
|
||||
opt_idx = findoption("backupskip");
|
||||
|
||||
ga_init(&ga, 1, 100);
|
||||
for (size_t n = 0; n < ARRAY_SIZE(names); n++) {
|
||||
|
@ -401,15 +401,23 @@ void set_init_1(bool clean_arg)
|
|||
}
|
||||
if (p != NULL && *p != NUL) {
|
||||
// First time count the NUL, otherwise count the ','.
|
||||
len = (int)strlen(p) + 3;
|
||||
ga_grow(&ga, len);
|
||||
if (!GA_EMPTY(&ga)) {
|
||||
STRCAT(ga.ga_data, ",");
|
||||
const size_t len = strlen(p) + 3;
|
||||
char *item = xmalloc(len);
|
||||
xstrlcpy(item, p, len);
|
||||
add_pathsep(item);
|
||||
xstrlcat(item, "*", len);
|
||||
if (find_dup_item(ga.ga_data, (char_u *)item, options[opt_idx].flags)
|
||||
== NULL) {
|
||||
ga_grow(&ga, (int)len);
|
||||
if (!GA_EMPTY(&ga)) {
|
||||
STRCAT(ga.ga_data, ",");
|
||||
}
|
||||
STRCAT(ga.ga_data, p);
|
||||
add_pathsep(ga.ga_data);
|
||||
STRCAT(ga.ga_data, "*");
|
||||
ga.ga_len += (int)len;
|
||||
}
|
||||
STRCAT(ga.ga_data, p);
|
||||
add_pathsep(ga.ga_data);
|
||||
STRCAT(ga.ga_data, "*");
|
||||
ga.ga_len += len;
|
||||
xfree(item);
|
||||
}
|
||||
if(mustfree) {
|
||||
xfree(p);
|
||||
|
@ -713,6 +721,38 @@ static void set_string_default(const char *name, char *val, bool allocated)
|
|||
}
|
||||
}
|
||||
|
||||
// For an option value that contains comma separated items, find "newval" in
|
||||
// "origval". Return NULL if not found.
|
||||
static char_u *find_dup_item(char_u *origval, const char_u *newval,
|
||||
uint32_t flags)
|
||||
FUNC_ATTR_NONNULL_ARG(2)
|
||||
{
|
||||
int bs = 0;
|
||||
|
||||
if (origval == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const size_t newlen = STRLEN(newval);
|
||||
for (char_u *s = origval; *s != NUL; s++) {
|
||||
if ((!(flags & P_COMMA) || s == origval || (s[-1] == ',' && !(bs & 1)))
|
||||
&& STRNCMP(s, newval, newlen) == 0
|
||||
&& (!(flags & P_COMMA) || s[newlen] == ',' || s[newlen] == NUL)) {
|
||||
return s;
|
||||
}
|
||||
// Count backslashes. Only a comma with an even number of backslashes
|
||||
// or a single backslash preceded by a comma before it is recognized as
|
||||
// a separator.
|
||||
if ((s > origval + 1 && s[-1] == '\\' && s[-2] != ',')
|
||||
|| (s == origval + 1 && s[-1] == '\\')) {
|
||||
bs++;
|
||||
} else {
|
||||
bs = 0;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/// Set the Vi-default value of a number option.
|
||||
/// Used for 'lines' and 'columns'.
|
||||
void set_number_default(char *name, long val)
|
||||
|
@ -1285,9 +1325,7 @@ int do_set(
|
|||
char *saved_newval = NULL;
|
||||
unsigned newlen;
|
||||
int comma;
|
||||
int bs;
|
||||
int new_value_alloced; /* new string option
|
||||
was allocated */
|
||||
bool new_value_alloced = false; // new string option was allocated
|
||||
|
||||
/* When using ":set opt=val" for a global option
|
||||
* with a local value the local value will be
|
||||
|
@ -1486,34 +1524,20 @@ int do_set(
|
|||
i = 0; // init for GCC
|
||||
if (removing || (flags & P_NODUP)) {
|
||||
i = (int)STRLEN(newval);
|
||||
bs = 0;
|
||||
for (s = origval; *s; s++) {
|
||||
if ((!(flags & P_COMMA)
|
||||
|| s == origval
|
||||
|| (s[-1] == ',' && !(bs & 1)))
|
||||
&& STRNCMP(s, newval, i) == 0
|
||||
&& (!(flags & P_COMMA)
|
||||
|| s[i] == ','
|
||||
|| s[i] == NUL)) {
|
||||
break;
|
||||
}
|
||||
// Count backslashes. Only a comma with an even number of
|
||||
// backslashes or a single backslash preceded by a comma
|
||||
// before it is recognized as a separator
|
||||
if ((s > origval + 1 && s[-1] == '\\' && s[-2] != ',')
|
||||
|| (s == origval + 1 && s[-1] == '\\')) {
|
||||
bs++;
|
||||
} else {
|
||||
bs = 0;
|
||||
}
|
||||
}
|
||||
s = find_dup_item(origval, newval, flags);
|
||||
|
||||
// do not add if already there
|
||||
if ((adding || prepending) && *s) {
|
||||
if ((adding || prepending) && s != NULL) {
|
||||
prepending = false;
|
||||
adding = false;
|
||||
STRCPY(newval, origval);
|
||||
}
|
||||
|
||||
// if no duplicate, move pointer to end of
|
||||
// original value
|
||||
if (s == NULL) {
|
||||
s = origval + (int)STRLEN(origval);
|
||||
}
|
||||
}
|
||||
|
||||
/* concatenate the two strings; add a ',' if
|
||||
|
@ -2310,7 +2334,7 @@ static char_u *
|
|||
did_set_string_option(
|
||||
int opt_idx, // index in options[] table
|
||||
char_u **varp, // pointer to the option variable
|
||||
int new_value_alloced, // new value was allocated
|
||||
bool new_value_alloced, // new value was allocated
|
||||
char_u *oldval, // previous value of the option
|
||||
char_u *errbuf, // buffer for errors, or NULL
|
||||
size_t errbuflen, // length of errors buffer
|
||||
|
|
|
@ -2322,7 +2322,7 @@ static int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow,
|
|||
getvcol(curwin, &pos, (colnr_T *)&tocol, NULL, NULL);
|
||||
}
|
||||
// do at least one character; happens when past end of line
|
||||
if (fromcol == tocol) {
|
||||
if (fromcol == tocol && search_match_endcol) {
|
||||
tocol = fromcol + 1;
|
||||
}
|
||||
area_highlighting = true;
|
||||
|
|
|
@ -36,15 +36,9 @@ NEW_TESTS_IN_ALOT := $(shell sed -n '/^source/ s/^source //; s/\.vim$$//p' $(add
|
|||
NEW_TESTS_IN_ALOT_LATIN := $(shell sed -n '/^source/ s/^source //; s/\.vim$$//p' test_alot_latin.vim)
|
||||
# Ignored tests.
|
||||
# test_alot_latin: Nvim does not allow setting encoding.
|
||||
# test_autochdir: ported to Lua, but kept for easier merging.
|
||||
# test_eval_func: used as include in old-style test (test_eval.in).
|
||||
# test_listlbr: Nvim does not allow setting encoding.
|
||||
# test_largefile: uses too much resources to run on CI.
|
||||
NEW_TESTS_IGNORE := \
|
||||
test_alot_latin $(NEW_TESTS_IN_ALOT_LATIN) \
|
||||
test_autochdir \
|
||||
test_eval_func \
|
||||
test_listlbr \
|
||||
test_largefile \
|
||||
|
||||
NEW_TESTS := $(sort $(basename $(notdir $(wildcard test_*.vim))))
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
" Test 'autochdir' behavior
|
||||
|
||||
if !exists("+autochdir")
|
||||
throw 'Skipped: autochdir feature missing'
|
||||
endif
|
||||
source check.vim
|
||||
CheckOption autochdir
|
||||
|
||||
func Test_set_filename()
|
||||
CheckFunction test_autochdir
|
||||
let cwd = getcwd()
|
||||
call test_autochdir()
|
||||
set acd
|
||||
|
@ -17,3 +17,5 @@ func Test_set_filename()
|
|||
exe 'cd ' . cwd
|
||||
call delete('samples/Xtest')
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
|
|
@ -76,7 +76,7 @@ if has('timers')
|
|||
endfunc
|
||||
|
||||
func Test_OptionSet_modeline()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
call test_override('starting', 1)
|
||||
au! OptionSet
|
||||
augroup set_tabstop
|
||||
|
@ -507,7 +507,7 @@ func s:AutoCommandOptionSet(match)
|
|||
endfunc
|
||||
|
||||
func Test_OptionSet()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
if !has("eval") || !exists("+autochdir")
|
||||
return
|
||||
endif
|
||||
|
@ -648,7 +648,7 @@ func Test_OptionSet()
|
|||
endfunc
|
||||
|
||||
func Test_OptionSet_diffmode()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
call test_override('starting', 1)
|
||||
" 18: Changing an option when entering diff mode
|
||||
new
|
||||
|
@ -682,7 +682,7 @@ func Test_OptionSet_diffmode()
|
|||
endfunc
|
||||
|
||||
func Test_OptionSet_diffmode_close()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
call test_override('starting', 1)
|
||||
" 19: Try to close the current window when entering diff mode
|
||||
" should not segfault
|
||||
|
@ -1285,9 +1285,9 @@ func Test_autocommand_all_events()
|
|||
endfunc
|
||||
|
||||
" Test TextChangedI and TextChangedP
|
||||
" See test/functional/viml/completion_spec.lua'
|
||||
func Test_ChangedP()
|
||||
" Nvim does not support test_override().
|
||||
throw 'skipped: see test/functional/viml/completion_spec.lua'
|
||||
CheckFunction test_override
|
||||
new
|
||||
call setline(1, ['foo', 'bar', 'foobar'])
|
||||
call test_override("char_avail", 1)
|
||||
|
@ -1350,7 +1350,7 @@ func SetLineOne()
|
|||
endfunc
|
||||
|
||||
func Test_TextChangedI_with_setline()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
new
|
||||
call test_override('char_avail', 1)
|
||||
autocmd TextChangedI <buffer> call SetLineOne()
|
||||
|
|
|
@ -24,7 +24,7 @@ endfunc
|
|||
|
||||
func Test_for_invalid()
|
||||
call assert_fails("for x in 99", 'E714:')
|
||||
call assert_fails("for x in 'asdf'", 'E714:')
|
||||
call assert_fails("for x in function('winnr')", 'E714:')
|
||||
call assert_fails("for x in {'a': 9}", 'E714:')
|
||||
|
||||
if 0
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
" Test for linebreak and list option (non-utf8)
|
||||
|
||||
" Nvim does not allow setting 'encoding', so skip this test.
|
||||
finish
|
||||
|
||||
set encoding=latin1
|
||||
scriptencoding latin1
|
||||
|
||||
if !exists("+linebreak") || !has("conceal")
|
||||
|
@ -46,6 +42,7 @@ func Test_set_linebreak()
|
|||
endfunc
|
||||
|
||||
func Test_linebreak_with_list()
|
||||
throw 'skipped: Nvim does not support enc=latin1'
|
||||
call s:test_windows('setl ts=4 sbr=+ list listchars=')
|
||||
call setline(1, "\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP ")
|
||||
let lines = s:screen_lines([1, 4], winwidth(0))
|
||||
|
@ -217,6 +214,7 @@ func Test_norm_after_block_visual()
|
|||
endfunc
|
||||
|
||||
func Test_block_replace_after_wrapping()
|
||||
throw 'skipped: Nvim does not support enc=latin1'
|
||||
call s:test_windows()
|
||||
call setline(1, repeat("a", 150))
|
||||
exe "norm! 0yypk147|\<C-V>jr0"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
" Tests for :messages, :echomsg, :echoerr
|
||||
|
||||
source check.vim
|
||||
source shared.vim
|
||||
|
||||
func Test_messages()
|
||||
|
@ -77,7 +78,7 @@ func Test_echomsg()
|
|||
endfunc
|
||||
|
||||
func Test_echoerr()
|
||||
throw 'skipped: Nvim does not support test_ignore_error()'
|
||||
CheckFunction test_ignore_error
|
||||
call test_ignore_error('IgNoRe')
|
||||
call assert_equal("\nIgNoRe hello", execute(':echoerr "IgNoRe hello"'))
|
||||
call assert_equal("\n12345 IgNoRe", execute(':echoerr 12345 "IgNoRe"'))
|
||||
|
|
|
@ -448,6 +448,36 @@ func Test_backupskip()
|
|||
endif
|
||||
endfor
|
||||
|
||||
" Duplicates from environment variables should be filtered out (option has
|
||||
" P_NODUP). Run this in a separate instance and write v:errors in a file,
|
||||
" so that we see what happens on startup.
|
||||
let after =<< trim [CODE]
|
||||
let bsklist = split(&backupskip, ',')
|
||||
call assert_equal(uniq(copy(bsklist)), bsklist)
|
||||
call writefile(['errors:'] + v:errors, 'Xtestout')
|
||||
qall
|
||||
[CODE]
|
||||
call writefile(after, 'Xafter')
|
||||
" let cmd = GetVimProg() . ' --not-a-term -S Xafter --cmd "set enc=utf8"'
|
||||
let cmd = GetVimProg() . ' -S Xafter --cmd "set enc=utf8"'
|
||||
|
||||
let saveenv = {}
|
||||
for var in ['TMPDIR', 'TMP', 'TEMP']
|
||||
let saveenv[var] = getenv(var)
|
||||
call setenv(var, '/duplicate/path')
|
||||
endfor
|
||||
|
||||
exe 'silent !' . cmd
|
||||
call assert_equal(['errors:'], readfile('Xtestout'))
|
||||
|
||||
" restore environment variables
|
||||
for var in ['TMPDIR', 'TMP', 'TEMP']
|
||||
call setenv(var, saveenv[var])
|
||||
endfor
|
||||
|
||||
call delete('Xtestout')
|
||||
call delete('Xafter')
|
||||
|
||||
" Duplicates should be filtered out (option has P_NODUP)
|
||||
let backupskip = &backupskip
|
||||
set backupskip=
|
||||
|
|
|
@ -871,7 +871,7 @@ func Test_popup_complete_backwards_ctrl_p()
|
|||
endfunc
|
||||
|
||||
fun! Test_complete_o_tab()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
let s:o_char_pressed = 0
|
||||
|
||||
fun! s:act_on_text_changed()
|
||||
|
|
|
@ -2660,7 +2660,7 @@ endfunc
|
|||
" Test for incsearch highlighting of the :vimgrep pattern
|
||||
" This test used to cause "E315: ml_get: invalid lnum" errors.
|
||||
func Test_vimgrep_incsearch()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
enew
|
||||
set incsearch
|
||||
call test_override("char_avail", 1)
|
||||
|
|
|
@ -2,10 +2,11 @@
|
|||
|
||||
source shared.vim
|
||||
source screendump.vim
|
||||
source check.vim
|
||||
|
||||
" See test/functional/legacy/search_spec.lua
|
||||
func Test_search_cmdline()
|
||||
" See test/functional/legacy/search_spec.lua
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
|
@ -202,9 +203,9 @@ func Test_search_cmdline()
|
|||
bw!
|
||||
endfunc
|
||||
|
||||
" See test/functional/legacy/search_spec.lua
|
||||
func Test_search_cmdline2()
|
||||
" See test/functional/legacy/search_spec.lua
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
|
@ -351,7 +352,7 @@ func Test_searchc()
|
|||
endfunc
|
||||
|
||||
func Cmdline3_prep()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
" need to disable char_avail,
|
||||
" so that expansion of commandline works
|
||||
call test_override("char_avail", 1)
|
||||
|
@ -361,14 +362,13 @@ func Cmdline3_prep()
|
|||
endfunc
|
||||
|
||||
func Incsearch_cleanup()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
set noincsearch
|
||||
call test_override("char_avail", 0)
|
||||
bw!
|
||||
endfunc
|
||||
|
||||
func Test_search_cmdline3()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
|
@ -382,7 +382,6 @@ func Test_search_cmdline3()
|
|||
endfunc
|
||||
|
||||
func Test_search_cmdline3s()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
|
@ -409,7 +408,6 @@ func Test_search_cmdline3s()
|
|||
endfunc
|
||||
|
||||
func Test_search_cmdline3g()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
|
@ -433,7 +431,6 @@ func Test_search_cmdline3g()
|
|||
endfunc
|
||||
|
||||
func Test_search_cmdline3v()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
|
@ -450,9 +447,9 @@ func Test_search_cmdline3v()
|
|||
call Incsearch_cleanup()
|
||||
endfunc
|
||||
|
||||
" See test/functional/legacy/search_spec.lua
|
||||
func Test_search_cmdline4()
|
||||
" See test/functional/legacy/search_spec.lua
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
|
@ -507,7 +504,7 @@ func Test_search_cmdline5()
|
|||
endfunc
|
||||
|
||||
func Test_search_cmdline7()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
" Test that pressing <c-g> in an empty command line
|
||||
" does not move the cursor
|
||||
if !exists('+incsearch')
|
||||
|
@ -798,7 +795,7 @@ func Test_incsearch_vimgrep_dump()
|
|||
endfunc
|
||||
|
||||
func Test_keep_last_search_pattern()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
|
@ -820,7 +817,7 @@ func Test_keep_last_search_pattern()
|
|||
endfunc
|
||||
|
||||
func Test_word_under_cursor_after_match()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
|
@ -840,7 +837,7 @@ func Test_word_under_cursor_after_match()
|
|||
endfunc
|
||||
|
||||
func Test_subst_word_under_cursor()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
|
@ -882,7 +879,7 @@ func Test_incsearch_with_change()
|
|||
endfunc
|
||||
|
||||
func Test_incsearch_cmdline_modifier()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
|
@ -960,7 +957,7 @@ func Test_incsearch_search_dump()
|
|||
endfunc
|
||||
|
||||
func Test_incsearch_substitute()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
|
@ -982,7 +979,7 @@ func Test_incsearch_substitute()
|
|||
endfunc
|
||||
|
||||
func Test_incsearch_substitute_long_line()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
new
|
||||
call test_override("char_avail", 1)
|
||||
set incsearch
|
||||
|
@ -1104,7 +1101,7 @@ func Test_one_error_msg()
|
|||
endfunc
|
||||
|
||||
func Test_incsearch_add_char_under_cursor()
|
||||
throw 'skipped: Nvim does not support test_override()'
|
||||
CheckFunction test_override
|
||||
if !exists('+incsearch')
|
||||
return
|
||||
endif
|
||||
|
@ -1192,4 +1189,40 @@ func Test_search_smartcase_utf8()
|
|||
close!
|
||||
endfunc
|
||||
|
||||
func Test_zzzz_incsearch_highlighting_newline()
|
||||
CheckRunVimInTerminal
|
||||
CheckOption incsearch
|
||||
CheckScreendump
|
||||
new
|
||||
call test_override("char_avail", 1)
|
||||
|
||||
let commands =<< trim [CODE]
|
||||
set incsearch nohls
|
||||
call setline(1, ['test', 'xxx'])
|
||||
[CODE]
|
||||
call writefile(commands, 'Xincsearch_nl')
|
||||
let buf = RunVimInTerminal('-S Xincsearch_nl', {'rows': 5, 'cols': 10})
|
||||
" Need to send one key at a time to force a redraw
|
||||
call term_sendkeys(buf, '/test')
|
||||
sleep 100m
|
||||
call VerifyScreenDump(buf, 'Test_incsearch_newline1', {})
|
||||
call term_sendkeys(buf, '\n')
|
||||
sleep 100m
|
||||
call VerifyScreenDump(buf, 'Test_incsearch_newline2', {})
|
||||
call term_sendkeys(buf, 'x')
|
||||
sleep 100m
|
||||
call VerifyScreenDump(buf, 'Test_incsearch_newline3', {})
|
||||
call term_sendkeys(buf, 'x')
|
||||
call VerifyScreenDump(buf, 'Test_incsearch_newline4', {})
|
||||
call term_sendkeys(buf, "\<CR>")
|
||||
sleep 100m
|
||||
call VerifyScreenDump(buf, 'Test_incsearch_newline5', {})
|
||||
call StopVimInTerminal(buf)
|
||||
|
||||
" clean up
|
||||
call delete('Xincsearch_nl')
|
||||
call test_override("char_avail", 0)
|
||||
bw
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
" Test for signs
|
||||
|
||||
if !has('signs')
|
||||
finish
|
||||
endif
|
||||
source check.vim
|
||||
CheckFeature signs
|
||||
|
||||
source screendump.vim
|
||||
|
||||
|
@ -1541,7 +1540,7 @@ endfunc
|
|||
|
||||
" Tests for memory allocation failures in sign functions
|
||||
func Test_sign_memfailures()
|
||||
throw 'skipped: Nvim does not support test_alloc_fail()'
|
||||
CheckFunction test_alloc_fail
|
||||
call writefile(repeat(["Sun is shining"], 30), "Xsign")
|
||||
edit Xsign
|
||||
|
||||
|
|
|
@ -862,6 +862,34 @@ func Test_x_arg()
|
|||
call delete('Xtest_x_arg')
|
||||
endfunc
|
||||
|
||||
" Test for --not-a-term avoiding escape codes.
|
||||
func Test_not_a_term()
|
||||
CheckUnix
|
||||
CheckNotGui
|
||||
|
||||
if &shellredir =~ '%s'
|
||||
let redir = printf(&shellredir, 'Xvimout')
|
||||
else
|
||||
let redir = &shellredir .. ' Xvimout'
|
||||
endif
|
||||
|
||||
" Without --not-a-term there are a few escape sequences.
|
||||
" This will take 2 seconds because of the missing --not-a-term
|
||||
let cmd = GetVimProg() .. ' --cmd quit ' .. redir
|
||||
exe "silent !" . cmd
|
||||
" call assert_match("\<Esc>", readfile('Xvimout')->join())
|
||||
call assert_match("\<Esc>", join(readfile('Xvimout')))
|
||||
call delete('Xvimout')
|
||||
|
||||
" With --not-a-term there are no escape sequences.
|
||||
let cmd = GetVimProg() .. ' --not-a-term --cmd quit ' .. redir
|
||||
exe "silent !" . cmd
|
||||
" call assert_notmatch("\<Esc>", readfile('Xvimout')->join())
|
||||
call assert_notmatch("\<Esc>", join(readfile('Xvimout')))
|
||||
call delete('Xvimout')
|
||||
endfunc
|
||||
|
||||
|
||||
" Test starting vim with various names: vim, ex, view, evim, etc.
|
||||
func Test_progname()
|
||||
CheckUnix
|
||||
|
|
|
@ -93,7 +93,6 @@ function! Test_system_exmode()
|
|||
endfunc
|
||||
|
||||
func Test_system_with_shell_quote()
|
||||
throw 'skipped: enable after porting method patches'
|
||||
CheckMSWindows
|
||||
|
||||
call mkdir('Xdir with spaces', 'p')
|
||||
|
@ -122,7 +121,8 @@ func Test_system_with_shell_quote()
|
|||
let msg = printf('shell=%s shellxquote=%s', &shell, &shellxquote)
|
||||
|
||||
try
|
||||
let out = 'echo 123'->system()
|
||||
" let out = 'echo 123'->system()
|
||||
let out = system('echo 123')
|
||||
catch
|
||||
call assert_report(printf('%s: %s', msg, v:exception))
|
||||
continue
|
||||
|
|
|
@ -317,8 +317,8 @@ endfunc
|
|||
" Test that the garbage collector isn't triggered if a timer callback invokes
|
||||
" vgetc().
|
||||
func Test_nocatch_garbage_collect()
|
||||
" skipped: Nvim does not support test_garbagecollect_soon(), test_override()
|
||||
return
|
||||
CheckFunction test_garbagecollect_soon
|
||||
CheckFunction test_override
|
||||
" 'uptimetime. must be bigger than the timer timeout
|
||||
set ut=200
|
||||
call test_garbagecollect_soon()
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
" undo-able pieces. Do that by setting 'undolevels'.
|
||||
" Also tests :earlier and :later.
|
||||
|
||||
source check.vim
|
||||
|
||||
func Test_undotree()
|
||||
new
|
||||
|
||||
|
@ -135,7 +137,7 @@ func BackOne(expected)
|
|||
endfunc
|
||||
|
||||
func Test_undo_del_chars()
|
||||
throw 'skipped: Nvim does not support test_settime()'
|
||||
CheckFunction test_settime
|
||||
|
||||
" Setup a buffer without creating undo entries
|
||||
new
|
||||
|
@ -330,7 +332,7 @@ func Test_insert_expr()
|
|||
endfunc
|
||||
|
||||
func Test_undofile_earlier()
|
||||
throw 'skipped: Nvim does not support test_settime()'
|
||||
CheckFunction test_settime
|
||||
|
||||
let t0 = localtime() - 43200
|
||||
call test_settime(t0)
|
||||
|
|
Loading…
Reference in New Issue