From 5c18c2b416b8fb6ef50dee6acc863130847eec03 Mon Sep 17 00:00:00 2001 From: Trust me I am a doctor Date: Wed, 12 May 2021 10:34:40 +0000 Subject: [PATCH] Clarifying code of quit-restore-window Still (bug #48367) This portion may be expressed more succinctly with an higher function. --- lisp/window.el | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/lisp/window.el b/lisp/window.el index 24b5df3396..914467aba0 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -5036,14 +5036,10 @@ nil means to not handle the buffer in a particular way. This (setq window (window-normalize-window window t)) (let* ((buffer (window-buffer window)) (quit-restore (window-parameter window 'quit-restore)) - (prev-buffer - (let* ((prev-buffers (window-prev-buffers window)) - (prev-buffer (caar prev-buffers))) - (and (or (not (eq prev-buffer buffer)) - (and (cdr prev-buffers) - (not (eq (setq prev-buffer (cadr prev-buffers)) - buffer)))) - prev-buffer))) + (prev-buffer (catch 'prev-buffer + (dolist (buf (window-prev-buffers window)) + (unless (eq (car buf) buffer) + (throw 'prev-buffer (car buf)))))) quad entry) (cond ((and (not prev-buffer) -- 2.20.1