From 047bc928e5672963c11cca69e16a586ef570ef29 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Thu, 7 Sep 2000 11:39:07 +0000 Subject: [PATCH] (filtered-frame-list): Reduce consing. (frames-on-display-list): Call frame-parameter instead of frame-parameters. --- lisp/frame.el | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/lisp/frame.el b/lisp/frame.el index 9da841f4e1a..e4770cc6be1 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) -- 2.39.5