Subject: bug#71727: Deleting TAGS buffer will cause `etags-regen--update-file` doesn't work

From: Siyuan Chen <[email-masked]>
Date: Sun, 23 Jun 2024 07:55:49 +0800

Reproduce steps:

1. init.el
```
(setq etags-regen-program "C:/green/emacs/emacs-29.3/bin/etags.exe")
(require 'etags-regen)
```

2. Open test.c with the following code
```
#define APPLICATION_WINDOW_WIDTH 320
```

3. M-x etags-regen-mode

4. Move the cursor to APPLICATION_WINDOW_WIDTH and M-x
xref-find-definitions. Then the TAGS file is created and the
APPLICATION_WINDOW_WIDTH line is highlighted (good).

5. M-x kill-buffer TAGS

6. Add `#define APPLICATION_WINDOW_HEIGHT 320` to test.c and M-x save-buffer

7. Move the cursor to APPLICATION_WINDOW_HEIGHT and M-x
xref-find-definitions.

The expected behavior: The TAGS file is updated and the
APPLICATION_WINDOW_HEIGHT line is highlighted.

The actual behavior: The echo area reports: "No definition found for:
APPLICATION_WINDOW_HEIGHT"

Note that if I don't do step-5 then everything is OK.

Emacs 29.3 has no this feature, I make it available via copy & paste
etags-regen.el to load-path. I think this issue has nothing to do with the
Emacs version though.

Thanks.

Best regards,
Siyuan Chen