0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 9.1.0554: :bw leaves jumplist and tagstack data around

Problem:  :bw leaves jumplist and tagstack data around
          (Paul "Joey" Clark)
Solution: Wipe jumplist and tagstack references to the wiped buffer
          (LemonBoy)

As documented the :bwipeout command brutally deletes all the references
to the buffer, so let's make it delete all the entries in the jump list
and tag stack referring to the wiped-out buffer.

fixes: #8201
closes: #15185

Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
LemonBoy
2024-07-09 20:03:24 +02:00
committed by Christian Brabandt
parent d33a518025
commit 4ff3a9b1e3
11 changed files with 72 additions and 20 deletions

View File

@@ -750,10 +750,15 @@ aucmd_abort:
*/
if (wipe_buf)
{
win_T *wp;
// Do not wipe out the buffer if it is used in a window.
if (buf->b_nwindows > 0)
return FALSE;
FOR_ALL_WINDOWS(wp)
mark_forget_file(wp, buf->b_fnum);
if (action == DOBUF_WIPE_REUSE)
{
// we can re-use this buffer number, store it