Function: gnus-sloppily-equal-method-parameters
gnus-sloppily-equal-method-parameters is a byte-compiled function
defined in gnus.el.gz.
Signature
(gnus-sloppily-equal-method-parameters M1 M2)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus.el.gz
(defsubst gnus-sloppily-equal-method-parameters (m1 m2)
;; Check parameters for sloppy equality.
(let ((p1 (copy-sequence (cddr m1)))
(p2 (copy-sequence (cddr m2)))
e1 e2)
(cl-block nil
(while (setq e1 (pop p1))
(unless (setq e2 (assq (car e1) p2))
;; The parameter doesn't exist in p2.
(cl-return nil))
(setq p2 (delq e2 p2))
(unless (equal e1 e2)
(if (not (and (stringp (cadr e1))
(stringp (cadr e2))))
(cl-return nil)
;; Special-case string parameter comparison so that we
;; can uniquify them.
(let ((s1 (cadr e1))
(s2 (cadr e2)))
(when (string-match "/\\'" s1)
(setq s1 (directory-file-name s1)))
(when (string-match "/\\'" s2)
(setq s2 (directory-file-name s2)))
(unless (equal s1 s2)
(cl-return nil))))))
;; If p2 now is empty, they were equal.
(null p2))))