Mercurial > vim
comparison src/ex_cmds2.c @ 7469:15eefe1b0dad v7.4.1037
commit https://github.com/vim/vim/commit/027387f70c671f62e3e08e0bdd09ec05b0232735
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jan 2 22:25:52 2016 +0100
patch 7.4.1037
Problem: Using "q!" when there is a modified hidden buffer does not unload
the current buffer, resulting in the need to abandon it again.
Solution: When using "q!" unload the current buffer when needed. (Yasuhiro
Matsumoto, Hirohito Higashi)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 02 Jan 2016 22:30:04 +0100 |
parents | 84efaf06f195 |
children | 8fc60af6dbf5 |
comparison
equal
deleted
inserted
replaced
7468:58a20453ab00 | 7469:15eefe1b0dad |
---|---|
1634 } | 1634 } |
1635 | 1635 |
1636 /* | 1636 /* |
1637 * Return TRUE if any buffer was changed and cannot be abandoned. | 1637 * Return TRUE if any buffer was changed and cannot be abandoned. |
1638 * That changed buffer becomes the current buffer. | 1638 * That changed buffer becomes the current buffer. |
1639 * When "unload" is true the current buffer is unloaded instead of making it | |
1640 * hidden. This is used for ":q!". | |
1639 */ | 1641 */ |
1640 int | 1642 int |
1641 check_changed_any(hidden) | 1643 check_changed_any(hidden, unload) |
1642 int hidden; /* Only check hidden buffers */ | 1644 int hidden; /* Only check hidden buffers */ |
1645 int unload; | |
1643 { | 1646 { |
1644 int ret = FALSE; | 1647 int ret = FALSE; |
1645 buf_T *buf; | 1648 buf_T *buf; |
1646 int save; | 1649 int save; |
1647 int i; | 1650 int i; |
1748 buf_found: | 1751 buf_found: |
1749 #endif | 1752 #endif |
1750 | 1753 |
1751 /* Open the changed buffer in the current window. */ | 1754 /* Open the changed buffer in the current window. */ |
1752 if (buf != curbuf) | 1755 if (buf != curbuf) |
1753 set_curbuf(buf, DOBUF_GOTO); | 1756 set_curbuf(buf, unload ? DOBUF_UNLOAD : DOBUF_GOTO); |
1754 | 1757 |
1755 theend: | 1758 theend: |
1756 vim_free(bufnrs); | 1759 vim_free(bufnrs); |
1757 return ret; | 1760 return ret; |
1758 } | 1761 } |