Function: sc-attribs-filter-namelist

sc-attribs-filter-namelist is a byte-compiled function defined in supercite.el.gz.

Signature

(sc-attribs-filter-namelist NAMELIST)

Documentation

Filter out noise in NAMELIST according to sc-name-filter-alist.

Source Code

;; Defined in /usr/src/emacs/lisp/mail/supercite.el.gz
(defun sc-attribs-filter-namelist (namelist)
  "Filter out noise in NAMELIST according to `sc-name-filter-alist'."
  (let ((elements (length namelist))
	(position -1)
	keepers filtered-list)
    (mapc
     (lambda (name)
       (setq position (1+ position))
       (let ((keep-p t))
	 (mapc
          (lambda (filter)
            (let ((regexp (car filter))
                  (pos (cdr filter)))
              (if (and (string-match regexp name)
                       (or (and (numberp pos)
                                (= pos position))
                           (and (eq pos 'last)
                                (= position (1- elements)))
                           (eq pos 'any)))
                  (setq keep-p nil))))
	  sc-name-filter-alist)
	 (if keep-p
	     (setq keepers (cons position keepers)))))
     namelist)
    (mapc
     (lambda (position)
       (setq filtered-list (cons (nth position namelist) filtered-list)))
     keepers)
    filtered-list))