summaryrefslogtreecommitdiff
path: root/lisp/frameset.el
diff options
context:
space:
mode:
authorJuanma Barranquero <lekktu@gmail.com>2014-03-12 19:36:26 +0100
committerJuanma Barranquero <lekktu@gmail.com>2014-03-12 19:36:26 +0100
commitd27a1a7b394fbcb28aef87e1aa865407237d5939 (patch)
tree03b2de9cbb36bacf4ec1eeabc568a8e43277aab0 /lisp/frameset.el
parent08dfa0b75eb772ba5857c98f6efe52d8aafc6262 (diff)
downloademacs-d27a1a7b394fbcb28aef87e1aa865407237d5939.tar.gz
lisp/frameset.el: Optimize check for visible frame.
(frameset-restore): When checking for a visible frame, use the action map instead of calling visible-frame-list.
Diffstat (limited to 'lisp/frameset.el')
-rw-r--r--lisp/frameset.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/frameset.el b/lisp/frameset.el
index 6470833d825..05fae1b4fa2 100644
--- a/lisp/frameset.el
+++ b/lisp/frameset.el
@@ -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)))))