mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.0.1593: :qall never exits active :terminal #11704
Problem: :qall never exits with an active terminal window.
Solution: Add a way to kill a job in a terminal window.
25cdd9c33b
This commit is contained in:
parent
462ee281b7
commit
1cbe8d6d78
@ -1414,6 +1414,7 @@ bool check_changed_any(bool hidden, bool unload)
|
|||||||
size_t bufcount = 0;
|
size_t bufcount = 0;
|
||||||
int *bufnrs;
|
int *bufnrs;
|
||||||
|
|
||||||
|
// Make a list of all buffers, with the most important ones first.
|
||||||
FOR_ALL_BUFFERS(buf) {
|
FOR_ALL_BUFFERS(buf) {
|
||||||
bufcount++;
|
bufcount++;
|
||||||
}
|
}
|
||||||
@ -1426,14 +1427,15 @@ bool check_changed_any(bool hidden, bool unload)
|
|||||||
|
|
||||||
// curbuf
|
// curbuf
|
||||||
bufnrs[bufnum++] = curbuf->b_fnum;
|
bufnrs[bufnum++] = curbuf->b_fnum;
|
||||||
// buf in curtab
|
|
||||||
|
// buffers in current tab
|
||||||
FOR_ALL_WINDOWS_IN_TAB(wp, curtab) {
|
FOR_ALL_WINDOWS_IN_TAB(wp, curtab) {
|
||||||
if (wp->w_buffer != curbuf) {
|
if (wp->w_buffer != curbuf) {
|
||||||
add_bufnum(bufnrs, &bufnum, wp->w_buffer->b_fnum);
|
add_bufnum(bufnrs, &bufnum, wp->w_buffer->b_fnum);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// buf in other tab
|
// buffers in other tabs
|
||||||
FOR_ALL_TABS(tp) {
|
FOR_ALL_TABS(tp) {
|
||||||
if (tp != curtab) {
|
if (tp != curtab) {
|
||||||
FOR_ALL_WINDOWS_IN_TAB(wp, tp) {
|
FOR_ALL_WINDOWS_IN_TAB(wp, tp) {
|
||||||
@ -1442,7 +1444,7 @@ bool check_changed_any(bool hidden, bool unload)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// any other buf
|
// any other buffer
|
||||||
FOR_ALL_BUFFERS(buf) {
|
FOR_ALL_BUFFERS(buf) {
|
||||||
add_bufnum(bufnrs, &bufnum, buf->b_fnum);
|
add_bufnum(bufnrs, &bufnum, buf->b_fnum);
|
||||||
}
|
}
|
||||||
@ -1471,6 +1473,7 @@ bool check_changed_any(bool hidden, bool unload)
|
|||||||
goto theend;
|
goto theend;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get here if "buf" cannot be abandoned.
|
||||||
ret = true;
|
ret = true;
|
||||||
exiting = false;
|
exiting = false;
|
||||||
// When ":confirm" used, don't give an error message.
|
// When ":confirm" used, don't give an error message.
|
||||||
|
Loading…
Reference in New Issue
Block a user