Function: gnus-expand-group-parameters

gnus-expand-group-parameters is a byte-compiled function defined in gnus.el.gz.

Signature

(gnus-expand-group-parameters MATCH PARAMETERS GROUP)

Documentation

Go through PARAMETERS and expand them according to the match data.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus.el.gz
(defun gnus-expand-group-parameters (match parameters group)
  "Go through PARAMETERS and expand them according to the match data."
  (let (new)
    (dolist (elem parameters)
      (cond
       ((and (stringp (cdr elem))
             (string-match "\\\\[0-9&]" (cdr elem)))
        (push (cons (car elem)
                    (gnus-expand-group-parameter match (cdr elem) group))
              new))
       ;; For `sieve' group parameters, perform substitutions for every
       ;; string within the match rule.  This allows for parameters such
       ;; as:
       ;;  ("list\\.\\(.*\\)"
       ;;   (sieve header :is "list-id" "<\\1.domain.org>"))
       ((eq 'sieve (car elem))
        (push (mapcar (lambda (sieve-elem)
                        (if (and (stringp sieve-elem)
                                 (string-match "\\\\[0-9&]" sieve-elem))
                            (gnus-expand-group-parameter match sieve-elem
                                                         group)
                          sieve-elem))
                      (cdr elem))
              new))
       (t
	(push elem new))))
    new))