From e37825fe2a39d07320b508f66568ece67d752d48 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Fri, 19 Oct 2018 02:01:54 +0300 Subject: [PATCH] Use buffer objects for non-writable states in window-state-get. * lisp/window.el (window--state-get-1): Use buffer objects for buffer, next-buffers, prev-buffers if 'writable' is nil. (Bug#32850) --- lisp/window.el | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lisp/window.el b/lisp/window.el index 47dbf0e1c86..e7f54cee56a 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -5584,7 +5584,7 @@ specific buffers." (let ((point (window-point window)) (start (window-start window))) `((buffer - ,(buffer-name buffer) + ,(if writable (buffer-name buffer) buffer) (selected . ,selected) (hscroll . ,(window-hscroll window)) (fringes . ,(window-fringes window)) @@ -5604,20 +5604,20 @@ specific buffers." (with-current-buffer buffer (copy-marker start)))))))) ,@(when next-buffers - `((next-buffers . ,(mapcar (lambda (buffer) - (buffer-name buffer)) - next-buffers)))) + `((next-buffers + . ,(if writable + (mapcar (lambda (buffer) (buffer-name buffer)) + next-buffers) + next-buffers)))) ,@(when prev-buffers - `((prev-buffers . - ,(mapcar (lambda (entry) - (list (buffer-name (nth 0 entry)) - (if writable - (marker-position (nth 1 entry)) - (nth 1 entry)) - (if writable - (marker-position (nth 2 entry)) - (nth 2 entry)))) - prev-buffers)))))) + `((prev-buffers + . ,(if writable + (mapcar (lambda (entry) + (list (buffer-name (nth 0 entry)) + (marker-position (nth 1 entry)) + (marker-position (nth 2 entry)))) + prev-buffers) + prev-buffers)))))) (tail (when (memq type '(vc hc)) (let (list) -- 2.39.5