Commit 94a16e73 authored by Charles A. Roelli's avatar Charles A. Roelli

Improve description of window configs in 'register-val-describe'

* etc/NEWS: Describe the change.
* lisp/register.el (register-val-describe)
[(window-configuration-p (car val))]: Include the shown
buffers in the return value to make
'register-read-with-preview' more useful.  (Bug#30863)
parent d45b2a31
......@@ -539,6 +539,10 @@ are obsoleted in GVFS.
Tramp for some look-alike remote file names.
---
** Register
*** The return value of method 'register-val-describe' includes the
names of buffers shown by the windows of a window configuration.
** The options.el library has been removed.
It was obsolete since Emacs 22.1, replaced by customize.
......
......@@ -391,7 +391,20 @@ Interactively, reads the register using `register-read-with-preview'."
(cl-defmethod register-val-describe ((val cons) verbose)
(cond
((window-configuration-p (car val))
(princ "a window configuration."))
(let* ((stored-window-config (car val))
(window-config-frame (window-configuration-frame stored-window-config))
(current-frame (selected-frame)))
(princ (format "a window configuration: %s."
(if (frame-live-p window-config-frame)
(with-selected-frame window-config-frame
(save-window-excursion
(set-window-configuration stored-window-config)
(concat
(mapconcat (lambda (w) (buffer-name (window-buffer w)))
(window-list (selected-frame)) ", ")
(unless (eq current-frame window-config-frame)
" in another frame"))))
"dead frame")))))
((frame-configuration-p (car val))
(princ "a frame configuration."))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment