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)
This commit is contained in:
parent
d45b2a31ca
commit
94a16e7360
2 changed files with 18 additions and 1 deletions
4
etc/NEWS
4
etc/NEWS
|
|
@ -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."))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue