diff options
author | Charles A. Roelli <charles@aurox.ch> | 2018-07-16 20:57:06 +0200 |
---|---|---|
committer | Charles A. Roelli <charles@aurox.ch> | 2018-07-16 20:57:06 +0200 |
commit | 94a16e7360b69191001bc594ab1b66f2b6bf97c2 (patch) | |
tree | e45677f82a0abd6aa640f9b85c30317f12a2c234 /lisp/register.el | |
parent | d45b2a31ca1181e8ee6d177e2e48669746ebbb79 (diff) | |
download | emacs-94a16e7360b69191001bc594ab1b66f2b6bf97c2.tar.gz |
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)
Diffstat (limited to 'lisp/register.el')
-rw-r--r-- | lisp/register.el | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lisp/register.el b/lisp/register.el index 3d61044c03c..e25f9fd5889 100644 --- a/lisp/register.el +++ b/lisp/register.el @@ -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.")) |