diff options
| author | Martin Rudalics | 2024-08-23 10:27:12 +0200 |
|---|---|---|
| committer | Martin Rudalics | 2024-08-23 10:27:12 +0200 |
| commit | 25f537216682eecedf3905c4e005f02be007ed9c (patch) | |
| tree | 8fc3f4511dc9e9f28f0e14328b21182a2484e100 /src/window.c | |
| parent | cfcba7ddc41b84f108809bdd8d7201c181fd62ab (diff) | |
| download | emacs-25f537216682eecedf3905c4e005f02be007ed9c.tar.gz emacs-25f537216682eecedf3905c4e005f02be007ed9c.zip | |
Avoid putting a dead buffer in the minibuffer window (Bug#72487)
* src/minibuf.c (minibuffer_unwind): Make sure that the buffer
referenced by the first element of the list of previous buffers
of the minibuffer window is live before assigning it to the
minibuffer window (Bug#72487).
* src/window.c (set_window_buffer): Assert that BUFFER is live.
Diffstat (limited to 'src/window.c')
| -rw-r--r-- | src/window.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c index ff28bac5306..dba2d6a3523 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -4123,6 +4123,9 @@ set_window_buffer (Lisp_Object window, Lisp_Object buffer, | |||
| 4123 | specpdl_ref count = SPECPDL_INDEX (); | 4123 | specpdl_ref count = SPECPDL_INDEX (); |
| 4124 | bool samebuf = EQ (buffer, w->contents); | 4124 | bool samebuf = EQ (buffer, w->contents); |
| 4125 | 4125 | ||
| 4126 | /* It's never OK to assign WINDOW a dead buffer. */ | ||
| 4127 | eassert (BUFFER_LIVE_P (b)); | ||
| 4128 | |||
| 4126 | wset_buffer (w, buffer); | 4129 | wset_buffer (w, buffer); |
| 4127 | 4130 | ||
| 4128 | if (EQ (window, selected_window)) | 4131 | if (EQ (window, selected_window)) |