1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-22 07:51:17 -08:00

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)
This commit is contained in:
Juri Linkov 2018-10-19 02:01:54 +03:00
parent f35916ce51
commit e37825fe2a

View file

@ -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)