Mercurial > vim
view src/testdir/test_terminal_fail.vim @ 16660:04c2614af21c v8.1.1332
patch 8.1.1332: cannot flush listeners without redrawing, mix of changes
commit https://github.com/vim/vim/commit/fe1ade0a78a70a4c7ddaebb6964497f037f4997a
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue May 14 21:20:36 2019 +0200
patch 8.1.1332: cannot flush listeners without redrawing, mix of changes
Problem: Cannot flush change listeners without also redrawing. The line
numbers in the list of changes may become invalid.
Solution: Add listener_flush(). Invoke listeners before adding a change
that makes line numbers invalid.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 14 May 2019 21:30:06 +0200 |
parents | e9dbdc4d8279 |
children | f38fcbf343ce |
line wrap: on
line source
" This test is in a separate file, because it usually causes reports for memory " leaks under valgrind. That is because when fork/exec fails memory is not " freed. Since the process exists right away it's not a real leak. if !has('terminal') finish endif source shared.vim func Test_terminal_redir_fails() if has('unix') let buf = term_start('xyzabc', {'err_io': 'file', 'err_name': 'Xfile'}) call term_wait(buf) call WaitFor('len(readfile("Xfile")) > 0') call assert_match('executing job failed', readfile('Xfile')[0]) call WaitFor('!&modified') call delete('Xfile') bwipe endif endfunc