]> git.eshelyaron.com Git - emacs.git/commitdiff
lisp/frameset.el: Optimize check for visible frame.
authorJuanma Barranquero <lekktu@gmail.com>
Wed, 12 Mar 2014 18:36:26 +0000 (19:36 +0100)
committerJuanma Barranquero <lekktu@gmail.com>
Wed, 12 Mar 2014 18:36:26 +0000 (19:36 +0100)
(frameset-restore): When checking for a visible frame,
use the action map instead of calling visible-frame-list.

lisp/ChangeLog
lisp/frameset.el

index 5198f1f55ba4023b4dc7cdf4382427043e782e56..23da480f6b2d876a1ff223cae44cdbb1c27f7c80 100644 (file)
@@ -1,3 +1,8 @@
+2014-03-12  Juanma Barranquero  <lekktu@gmail.com>
+
+       * frameset.el (frameset-restore): When checking for a visible frame,
+       use the action map instead of calling visible-frame-list.
+
 2014-03-12  Jonas Bernoulli  <jonas@bernoul.li>
 
        * emacs-lisp/eieio.el (with-slots): Use cl-symbol-macrolet (bug#16998).
index 6470833d825db73b0da09871e84209735d5ba125..05fae1b4fa258d6865dc89041493493988edd6e6 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