forked from aniani/vim
patch 8.2.0836: not all :cdo output is visible
Problem: Not all :cdo output is visible. Solution: Reset 'shortmess' temporarily. (Yegappan Lakshmanan, closes #6155)
This commit is contained in:
@@ -643,7 +643,13 @@ ex_listdo(exarg_T *eap)
|
|||||||
|
|
||||||
qf_idx = qf_get_cur_idx(eap);
|
qf_idx = qf_get_cur_idx(eap);
|
||||||
|
|
||||||
|
// Clear 'shm' to avoid that the file message overwrites
|
||||||
|
// any output from the command.
|
||||||
|
p_shm_save = vim_strsave(p_shm);
|
||||||
|
set_option_value((char_u *)"shm", 0L, (char_u *)"", 0);
|
||||||
ex_cnext(eap);
|
ex_cnext(eap);
|
||||||
|
set_option_value((char_u *)"shm", 0L, p_shm_save, 0);
|
||||||
|
vim_free(p_shm_save);
|
||||||
|
|
||||||
// If jumping to the next quickfix entry fails, quit here
|
// If jumping to the next quickfix entry fails, quit here
|
||||||
if (qf_get_cur_idx(eap) == qf_idx)
|
if (qf_get_cur_idx(eap) == qf_idx)
|
||||||
|
@@ -8,22 +8,22 @@ func SetUp()
|
|||||||
call writefile(["Line1", "Line2", "Line3"], 'Xtestfile1')
|
call writefile(["Line1", "Line2", "Line3"], 'Xtestfile1')
|
||||||
call writefile(["Line1", "Line2", "Line3"], 'Xtestfile2')
|
call writefile(["Line1", "Line2", "Line3"], 'Xtestfile2')
|
||||||
call writefile(["Line1", "Line2", "Line3"], 'Xtestfile3')
|
call writefile(["Line1", "Line2", "Line3"], 'Xtestfile3')
|
||||||
endfunction
|
endfunc
|
||||||
|
|
||||||
" Remove the files used by the tests
|
" Remove the files used by the tests
|
||||||
function TearDown()
|
func TearDown()
|
||||||
call delete('Xtestfile1')
|
call delete('Xtestfile1')
|
||||||
call delete('Xtestfile2')
|
call delete('Xtestfile2')
|
||||||
call delete('Xtestfile3')
|
call delete('Xtestfile3')
|
||||||
endfunction
|
endfunc
|
||||||
|
|
||||||
" Returns the current line in '<filename> <linenum>L <column>C' format
|
" Returns the current line in '<filename> <linenum>L <column>C' format
|
||||||
function GetRuler()
|
func GetRuler()
|
||||||
return expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C'
|
return expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C'
|
||||||
endfunction
|
endfunc
|
||||||
|
|
||||||
" Tests for the :cdo and :ldo commands
|
" Tests for the :cdo and :ldo commands
|
||||||
function XdoTests(cchar)
|
func XdoTests(cchar)
|
||||||
enew
|
enew
|
||||||
|
|
||||||
" Shortcuts for calling the cdo and ldo commands
|
" Shortcuts for calling the cdo and ldo commands
|
||||||
@@ -132,10 +132,10 @@ function XdoTests(cchar)
|
|||||||
exe XdoCmd
|
exe XdoCmd
|
||||||
call assert_equal(['Xtestfile3 3L 1C'], l)
|
call assert_equal(['Xtestfile3 3L 1C'], l)
|
||||||
|
|
||||||
endfunction
|
endfunc
|
||||||
|
|
||||||
" Tests for the :cfdo and :lfdo commands
|
" Tests for the :cfdo and :lfdo commands
|
||||||
function XfdoTests(cchar)
|
func XfdoTests(cchar)
|
||||||
enew
|
enew
|
||||||
|
|
||||||
" Shortcuts for calling the cfdo and lfdo commands
|
" Shortcuts for calling the cfdo and lfdo commands
|
||||||
@@ -189,16 +189,28 @@ function XfdoTests(cchar)
|
|||||||
exe XfdoCmd
|
exe XfdoCmd
|
||||||
call assert_equal(['Xtestfile2 2L 5C'], l)
|
call assert_equal(['Xtestfile2 2L 5C'], l)
|
||||||
|
|
||||||
endfunction
|
endfunc
|
||||||
|
|
||||||
" Tests for cdo and cfdo
|
" Tests for cdo and cfdo
|
||||||
function Test_cdo()
|
func Test_cdo()
|
||||||
call XdoTests('c')
|
call XdoTests('c')
|
||||||
call XfdoTests('c')
|
call XfdoTests('c')
|
||||||
endfunction
|
endfunc
|
||||||
|
|
||||||
" Tests for ldo and lfdo
|
" Tests for ldo and lfdo
|
||||||
function Test_ldo()
|
func Test_ldo()
|
||||||
call XdoTests('l')
|
call XdoTests('l')
|
||||||
call XfdoTests('l')
|
call XfdoTests('l')
|
||||||
endfunction
|
endfunc
|
||||||
|
|
||||||
|
" Test for making 'shm' doesn't interfere with the output.
|
||||||
|
func Test_cdo_print()
|
||||||
|
enew | only!
|
||||||
|
cgetexpr ["Xtestfile1:1:Line1", "Xtestfile2:1:Line1", "Xtestfile3:1:Line1"]
|
||||||
|
cdo print
|
||||||
|
call assert_equal('Line1', Screenline(&lines))
|
||||||
|
call assert_equal('Line1', Screenline(&lines - 3))
|
||||||
|
call assert_equal('Line1', Screenline(&lines - 6))
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@@ -746,6 +746,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 */
|
||||||
|
/**/
|
||||||
|
836,
|
||||||
/**/
|
/**/
|
||||||
835,
|
835,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user