]> code.delx.au - gnu-emacs/blobdiff - lisp/frameset.el
src/*.c: Silence a few warnings about unused vars and functions.
[gnu-emacs] / lisp / frameset.el
index 6470833d825db73b0da09871e84209735d5ba125..3a43f39600c2b1861eaf0c1be3a998697e0412ca 100644 (file)
@@ -1230,7 +1230,12 @@ All keyword parameters default to nil."
             (delay-warning 'frameset (error-message-string err) :warning))))))
 
     ;; Make sure there's at least one visible frame.
-    (unless (or (daemonp) (visible-frame-list))
+    (unless (or (daemonp)
+               (catch 'visible
+                 (maphash (lambda (frame _)
+                            (and (frame-live-p frame) (frame-visible-p frame)
+                                 (throw 'visible t)))
+                          frameset--action-map)))
       (make-frame-visible (selected-frame)))))
 
 \f
@@ -1266,6 +1271,17 @@ Called from `jump-to-register'.  Internal use only."
        (set-frame-selected-window frame window)
        (with-current-buffer buffer (goto-char (aref data 2)))))))
 
+;;;###autoload
+(defun frameset--print-register (data)
+  "Print basic info about frameset stored in DATA.
+Called from `list-registers' and `view-register'.  Internal use only."
+  (let* ((fs (aref data 0))
+        (ns (length (frameset-states fs))))
+    (princ (format "a frameset (%d frame%s, saved on %s)."
+                  ns
+                  (if (= 1 ns) "" "s")
+                  (format-time-string "%c" (frameset-timestamp fs))))))
+
 ;;;###autoload
 (defun frameset-to-register (register)
   "Store the current frameset in register REGISTER.
@@ -1283,7 +1299,7 @@ Interactively, reads the register using `register-read-with-preview'."
                         ;; in the current buffer, so record that separately.
                         (frameset-frame-id nil)
                         (point-marker))
-                :print-func (lambda (_data) (princ "a frameset."))
+                :print-func #'frameset--print-register
                 :jump-func #'frameset--jump-to-register)))
 
 (provide 'frameset)