Mercurial > emacs
changeset 63436:eca4e949db45
(iswitchb-to-end): Replace mapcar with dolist.
(iswitchb-get-matched-buffers): Likewise. Simplify.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 14 Jun 2005 15:51:11 +0000 |
parents | a5ba219acb16 |
children | b75fcdba7307 |
files | lisp/iswitchb.el |
diffstat | 1 files changed, 17 insertions(+), 32 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/iswitchb.el Tue Jun 14 15:50:22 2005 +0000 +++ b/lisp/iswitchb.el Tue Jun 14 15:51:11 2005 +0000 @@ -1,6 +1,7 @@ ;;; iswitchb.el --- switch between buffers using substrings -;; Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 Free Software Foundation, Inc. +;; Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +;; Free Software Foundation, Inc. ;; Author: Stephen Eglen <stephen@gnu.org> ;; Maintainer: Stephen Eglen <stephen@gnu.org> @@ -871,10 +872,8 @@ (defun iswitchb-to-end (lst) "Move the elements from LST to the end of `iswitchb-temp-buflist'." - (mapcar - (lambda (elem) - (setq iswitchb-temp-buflist (delq elem iswitchb-temp-buflist))) - lst) + (dolist (elem lst) + (setq iswitchb-temp-buflist (delq elem iswitchb-temp-buflist))) (setq iswitchb-temp-buflist (nconc iswitchb-temp-buflist lst))) (defun iswitchb-get-buffers-in-frames (&optional current) @@ -915,33 +914,19 @@ "Return buffers matching REGEXP. If STRING-FORMAT is nil, consider REGEXP as just a string. BUFFER-LIST can be list of buffers or list of strings." - (let* ((case-fold-search (iswitchb-case)) - ;; need reverse since we are building up list backwards - (list (reverse buffer-list)) - (do-string (stringp (car list))) - name - ret) + (let* ((case-fold-search (iswitchb-case)) + name ret) + (if (null string-format) (setq regexp (regexp-quote regexp))) (setq iswitchb-invalid-regexp nil) - (catch 'invalid-regexp - (mapcar - (lambda (x) - - (if do-string - (setq name x) ;We already have the name - (setq name (buffer-name x))) - - (cond - ((and (if (not string-format) - (string-match (regexp-quote regexp) name) - (condition-case error - (string-match regexp name) - (invalid-regexp - (setq iswitchb-invalid-regexp t) - (throw 'invalid-regexp (setq ret (cdr error)))))) - (not (iswitchb-ignore-buffername-p name))) - (setq ret (cons name ret))))) - list)) - ret)) + (condition-case error + (dolist (x buffer-list (nreverse ret)) + (setq name (if (stringp x) x (buffer-name x))) + (when (and (string-match regexp name) + (not (iswitchb-ignore-buffername-p name))) + (push name ret))) + (invalid-regexp + (setq iswitchb-invalid-regexp t) + (cdr error))))) (defun iswitchb-ignore-buffername-p (bufname) "Return t if the buffer BUFNAME should be ignored." @@ -1476,5 +1461,5 @@ (provide 'iswitchb) -;;; arch-tag: d74198ae-753f-44f2-b34f-0c515398d90a +;; arch-tag: d74198ae-753f-44f2-b34f-0c515398d90a ;;; iswitchb.el ends here