diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-10-15 22:42:23 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-10-15 22:42:23 +0200 |
commit | 059db5c29ffef283a4b90bab9228708fa32e3dd2 (patch) | |
tree | d4f99d4adfd04a43311d54baae75f8a803519a34 | |
parent | 44cc4cf72fdd12cd9a779031d443aac4254d51ae (diff) | |
download | vim-git-059db5c29ffef283a4b90bab9228708fa32e3dd2.tar.gz |
patch 8.0.1202: :wall gives an errof for a terminal windowv8.0.1202
Problem: :wall gives an errof for a terminal window. (Marius Gedminas)
Solution: Don't try writing a buffer that can't be written. (Yasuhiro
Matsumoto, closes #2190)
-rw-r--r-- | src/ex_cmds.c | 2 | ||||
-rw-r--r-- | src/testdir/test_terminal.vim | 9 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/ex_cmds.c b/src/ex_cmds.c index b4351b23d..60f47bbd2 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -3400,7 +3400,7 @@ do_wqall(exarg_T *eap) FOR_ALL_BUFFERS(buf) { - if (bufIsChanged(buf)) + if (bufIsChanged(buf) && !bt_dontwrite(buf)) { /* * Check if there is a reason the buffer cannot be written: diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim index cff85a459..92dcd1a57 100644 --- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -676,3 +676,12 @@ func Test_terminal_tmap() call TerminalTmap(1) call TerminalTmap(0) endfunc + +func Test_terminal_wall() + let buf = Run_shell_in_terminal({}) + wall + call Stop_shell_in_terminal(buf) + call term_wait(buf) + exe buf . 'bwipe' + unlet g:job +endfunc diff --git a/src/version.c b/src/version.c index edc29cc4f..0f4d23ba9 100644 --- a/src/version.c +++ b/src/version.c @@ -762,6 +762,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1202, +/**/ 1201, /**/ 1200, |