diff options
-rw-r--r-- | etc/NEWS | 4 | ||||
-rw-r--r-- | lisp/register.el | 15 |
2 files changed, 18 insertions, 1 deletions
@@ -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. 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.")) |