Mercurial > emacs
diff lisp/gnus/nnmail.el @ 90361:a7364c1a561e
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-40
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 135-143)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 49-55)
- Merge from emacs--devo--0
- Update from CVS
- Update from CVS: Makefile.in (release-*): New targets.
author | Miles Bader <miles@gnu.org> |
---|---|
date | Thu, 09 Mar 2006 07:15:37 +0000 |
parents | c5406394f567 10ae0483645d |
children | 858cb33ae39d |
line wrap: on
line diff
--- a/lisp/gnus/nnmail.el Thu Mar 09 01:23:04 2006 +0000 +++ b/lisp/gnus/nnmail.el Thu Mar 09 07:15:37 2006 +0000 @@ -1425,11 +1425,12 @@ ;; Not in cache, compute a regexp for the field/value pair. (t - (let* ((field (nth 0 split)) - (value (nth 1 split)) - partial-front - partial-rear - regexp) + (let ((field (nth 0 split)) + (value (nth 1 split)) + (split-rest (cddr split)) + partial-front + partial-rear + regexp) (if (symbolp value) (setq value (cdr (assq value nnmail-split-abbrev-alist)))) (if (and (>= (length value) 2) @@ -1441,7 +1442,13 @@ (string= ".*" (substring value -2))) (setq value (substring value 0 -2) partial-rear "")) - (when nnmail-split-fancy-match-partial-words + ;; Invert the match-partial-words behavior if the optional + ;; last element is specified. + (while (eq (car split-rest) '-) + (setq split-rest (cddr split-rest))) + (when (if (cadr split-rest) + (not nnmail-split-fancy-match-partial-words) + nnmail-split-fancy-match-partial-words) (setq partial-front "" partial-rear "")) (setq regexp (concat "^\\(\\(" @@ -1456,7 +1463,7 @@ (or partial-rear "\\>"))) (push (cons split regexp) nnmail-split-cache) ;; Now that it's in the cache, just call nnmail-split-it again - ;; on the same split, which will find it immediately in the cache. + ;; on the same split, which will find it immediately in the cache. (nnmail-split-it split)))))) (defun nnmail-expand-newtext (newtext)