aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/frame.el
diff options
context:
space:
mode:
authorGerd Moellmann <[email protected]>2000-09-07 11:39:07 +0000
committerGerd Moellmann <[email protected]>2000-09-07 11:39:07 +0000
commit047bc928e5672963c11cca69e16a586ef570ef29 (patch)
treecfb927b07953846cfe425356d6919f4c1cc917ef /lisp/frame.el
parentdbc968b8ff6136386913fe523dc1710f177c0c77 (diff)
(filtered-frame-list): Reduce consing.
(frames-on-display-list): Call frame-parameter instead of frame-parameters.
Diffstat (limited to 'lisp/frame.el')
-rw-r--r--lisp/frame.el19
1 files changed, 8 insertions, 11 deletions
diff --git a/lisp/frame.el b/lisp/frame.el
index 9da841f4e1..e4770cc6be 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -494,13 +494,13 @@ on `after-make-frame-functions' are run with one arg, the newly created frame."
(defun filtered-frame-list (predicate)
"Return a list of all live frames which satisfy PREDICATE."
- (let ((frames (frame-list))
- good-frames)
+ (let* ((frames (frame-list))
+ (list frames))
(while (consp frames)
- (if (funcall predicate (car frames))
- (setq good-frames (cons (car frames) good-frames)))
+ (unless (funcall predicate (car frames))
+ (setcar frames nil))
(setq frames (cdr frames)))
- good-frames))
+ (delq nil list)))
(defun minibuffer-frame-list ()
"Return a list of all frames with their own minibuffers."
@@ -512,12 +512,9 @@ on `after-make-frame-functions' are run with one arg, the newly created frame."
"Return a list of all frames on DISPLAY.
DISPLAY is a name of a display, a string of the form HOST:SERVER.SCREEN.
If DISPLAY is omitted or nil, it defaults to the selected frame's display."
- (let* ((display (or display
- (cdr (assoc 'display (frame-parameters)))))
- (func
- (function (lambda (frame)
- (eq (cdr (assoc 'display (frame-parameters frame)))
- display)))))
+ (let* ((display (or display (frame-parameter nil 'display)))
+ (func #'(lambda (frame)
+ (eq (frame-parameter frame 'display) display))))
(filtered-frame-list func)))
(defun framep-on-display (&optional display)