mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
patch 8.1.0456: running test hangs when the input file is being edited
Problem: Running test hangs when the input file is being edited. Solution: Use a SwapExists autocommand to ignore editing the test script.
This commit is contained in:
@@ -9,8 +9,10 @@ XXDPROG = ../xxd/xxd
|
|||||||
|
|
||||||
SCRIPTSOURCE = ../../runtime
|
SCRIPTSOURCE = ../../runtime
|
||||||
|
|
||||||
# Change this to empty to see the verbose output of tests.
|
# Comment out this line to see the verbose output of tests.
|
||||||
REDIR_TEST_TO_NULL = > /dev/null
|
#
|
||||||
|
# Catches SwapExists to avoid hanging at the ATTENTION prompt.
|
||||||
|
REDIR_TEST_TO_NULL = --cmd 'au SwapExists * let v:swapchoice = "e"' > /dev/null
|
||||||
|
|
||||||
# Uncomment this line to use valgrind for memory leaks and extra warnings.
|
# Uncomment this line to use valgrind for memory leaks and extra warnings.
|
||||||
# The output goes into a file "valgrind.testN"
|
# The output goes into a file "valgrind.testN"
|
||||||
|
@@ -57,6 +57,19 @@ else
|
|||||||
set encoding=latin1
|
set encoding=latin1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" REDIR_TEST_TO_NULL has a very permissive SwapExists autocommand which is for
|
||||||
|
" the test_name.vim file itself. Replace it here with a more restrictive one,
|
||||||
|
" so we still catch mistakes.
|
||||||
|
let s:test_script_fname = expand('%')
|
||||||
|
au! SwapExists * call HandleSwapExists()
|
||||||
|
func HandleSwapExists()
|
||||||
|
" Only ignore finding a swap file for the test script (the user might be
|
||||||
|
" editing it and do ":make test_name") and the output file.
|
||||||
|
if expand('<afile>') == 'messages' || expand('<afile>') =~ s:test_script_fname
|
||||||
|
let v:swapchoice = 'e'
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
" Avoid stopping at the "hit enter" prompt
|
" Avoid stopping at the "hit enter" prompt
|
||||||
set nomore
|
set nomore
|
||||||
|
|
||||||
@@ -146,6 +159,7 @@ func RunTheTest(test)
|
|||||||
|
|
||||||
" Clear any autocommands
|
" Clear any autocommands
|
||||||
au!
|
au!
|
||||||
|
au SwapExists * call HandleSwapExists()
|
||||||
|
|
||||||
" Close any extra tab pages and windows and make the current one not modified.
|
" Close any extra tab pages and windows and make the current one not modified.
|
||||||
while tabpagenr('$') > 1
|
while tabpagenr('$') > 1
|
||||||
|
@@ -792,6 +792,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
456,
|
||||||
/**/
|
/**/
|
||||||
455,
|
455,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user