]> code.delx.au - gnu-emacs/commitdiff
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-143
authorMiles Bader <miles@gnu.org>
Thu, 9 Mar 2006 07:11:51 +0000 (07:11 +0000)
committerMiles Bader <miles@gnu.org>
Thu, 9 Mar 2006 07:11:51 +0000 (07:11 +0000)
Merge from gnus--rel--5.10

Patches applied:

 * gnus--rel--5.10  (patch 52-55)

   - Merge from emacs--devo--0
   - Update from CVS: Makefile.in (release-*): New targets.
   - Update from CVS

lisp/gnus/ChangeLog
lisp/gnus/nnmail.el
man/ChangeLog
man/emacs-mime.texi
man/gnus.texi

index f2a76109562b600e2ea231b2d323fd8f652350c4..374c3da2994ccecfe1c066abb6dd77bfd981bc7e 100644 (file)
@@ -7,6 +7,11 @@
 
        * gnus-topic.el (gnus-topic-prepare-topic): Add gnus-tool-bar-update.
 
+2006-03-08  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * nnmail.el (nnmail-split-it): Invert match-partial-words behavior
+       if optional last element is specified in splits (FIELD VALUE...).
+
 2006-03-06  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * mm-view.el (mm-w3m-cid-retrieve-1): Check carefully whether
index edffd6f709a1d9d5d31e6121278310cce487365c..f4275fa8ed59903458f8da9d7e56edaaa702d187 100644 (file)
@@ -1425,11 +1425,12 @@ See the documentation for the variable `nnmail-split-fancy' for details."
 
      ;; 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 @@ See the documentation for the variable `nnmail-split-fancy' for details."
                 (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 @@ See the documentation for the variable `nnmail-split-fancy' for details."
                             (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)
index f24d77e16e465116d837cb7cc763a5598131d0c7..c0060317a5c1c1895f55531644123ff356863376 100644 (file)
@@ -1,3 +1,20 @@
+2006-03-09  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus.texi: Markup fix.
+       (Fancy Mail Splitting): Specify new feature.
+
+2006-03-08  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus.texi (Fancy Mail Splitting): Improve descriptions about
+       partial-words matching.
+
+2006-03-07  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * emacs-mime.texi (Display Customization): Reword image/.* stuff.
+
+       * gnus.texi (Oort Gnus): Add note about `gnus-load'.
+       (MIME Commands): Fix mm-discouraged-alternatives.
+
 2006-03-08  Luc Teirlinck  <teirllm@auburn.edu>
 
        * search.texi (Regexps): More accurately describe which characters
index 69c1c21b5aacc4f051740bd1bfe277a9d1c512b3..1049f95b0fd02d1ac466c8ffd357d78834b68fac 100644 (file)
@@ -322,13 +322,14 @@ you could say something like:
       (remove "text/html" mm-automatic-display))
 @end lisp
 
-Adding @code{"image/.*"} might also be useful.  Spammers use it as the
-prefered part of @samp{multipart/alternative} messages, and you might
+Adding @code{"image/.*"} might also be useful.  Spammers use images as
+the prefered part of @samp{multipart/alternative} messages, so you might
 not notice there are other parts.  See also
-@code{gnus-buttonized-mime-types} (@pxref{MIME Commands, ,MIME Commands,
-gnus, Gnus Manual}), to which adding @code{"multipart/alternative"}
-enables you to choose manually one of two types those mails include.
-For example, you can set those variables like:
+@code{gnus-buttonized-mime-types}, @ref{MIME Commands, ,MIME Commands,
+gnus, Gnus Manual}.  After adding @code{"multipart/alternative"} to
+@code{gnus-buttonized-mime-types} you can choose manually which
+alternative you'd like to view.  For example, you can set those
+variables like:
 
 @lisp
 (setq gnus-buttonized-mime-types
index 3f60c3f603a903035084d1228c319f3be34abfe1..72596ed26ce626f99297c6c3fe15a6b35fdfdf2e 100644 (file)
@@ -9369,10 +9369,10 @@ Display "multipart/alternative" parts as "multipart/mixed".
 Display "multipart/related" parts as "multipart/mixed".
 
 If displaying "text/html" is discouraged, see
-@code{mm-discouraged-alternatives} in @ref{Display Customization,
-Display Customization, , emacs-mime, Emacs-Mime Manual}.  Images or
-other material inside a "multipart/related" part might be overlooked
-when this variable is @code{nil}.
+@code{mm-discouraged-alternatives}, images or other material inside a
+"multipart/related" part might be overlooked when this variable is
+@code{nil}.  @ref{Display Customization, Display Customization, ,
+emacs-mime, Emacs-Mime Manual}.
 
 @vindex gnus-mime-display-multipart-as-mixed
 @item gnus-mime-display-multipart-as-mixed
@@ -14006,7 +14006,8 @@ splits.  Here are the possible split syntaxes:
 If the split is a string, that will be taken as a group name.  Normal
 regexp match expansion will be done.  See below for examples.
 
-@item (@var{field} @var{value} [- @var{restrict} [@dots{}] ] @var{split})
+@c Don't fold this line.
+@item (@var{field} @var{value} [- @var{restrict} [@dots{}] ] @var{split} [@var{invert-match-partial-words}])
 If the split is a list, the first element of which is a string, then
 store the message as specified by @var{split}, if header @var{field}
 (a regexp) contains @var{value} (also a regexp).  If @var{restrict}
@@ -14014,6 +14015,11 @@ store the message as specified by @var{split}, if header @var{field}
 the end of the matched @var{value}, the @var{split} is ignored.  If
 none of the @var{restrict} clauses match, @var{split} is processed.
 
+The last element @var{invert-match-partial-words} is optional.  If it is
+not omitted and the value is non-@code{nil}, the match-partial-words
+behavior controlled by the @code{nnmail-split-fancy-match-partial-words}
+variable (see below) will be inverted.  (New in Gnus 5.10.7)
+
 @item (| @var{split} @dots{})
 If the split is a list, and the first element is @code{|} (vertical
 bar), then process each @var{split} until one of them matches.  A
@@ -14067,10 +14073,50 @@ If the split is @code{nil}, it is ignored.
 @end table
 
 In these splits, @var{field} must match a complete field name.
-@var{value} must match a complete word according to the fundamental mode
-syntax table.  You can use @code{.*} in the regexps to match partial
-field names or words.  In other words, all @var{value}'s are wrapped in
-@samp{\<} and @samp{\>} pairs.
+
+Normally, @var{value} in these splits must match a complete @emph{word}
+according to the fundamental mode syntax table.  In other words, all
+@var{value}'s will be implicitly surrounded by @code{\<...\>} markers,
+which are word delimiters.  Therefore, if you use the following split,
+for example,
+
+@example
+(any "joe" "joemail")
+@end example
+
+@noindent
+messages sent from @samp{joedavis@@foo.org} will normally not be filed
+in @samp{joemail}.  If you want to alter this behavior, you can use any
+of the following three ways:
+
+@enumerate
+@item
+@vindex nnmail-split-fancy-match-partial-words
+You can set the @code{nnmail-split-fancy-match-partial-words} variable
+to non-@code{nil} in order to ignore word boundaries and instead the
+match becomes more like a grep.  This variable controls whether partial
+words are matched during fancy splitting.  The default value is
+@code{nil}.
+
+Note that it influences all @var{value}'s in your split rules.
+
+@item
+@var{value} beginning with @code{.*} ignores word boundaries in front of
+a word.  Similarly, if @var{value} ends with @code{.*}, word boundaries
+in the rear of a word will be ignored.  For example, the @var{value}
+@code{"@@example\\.com"} does not match @samp{foo@@example.com} but
+@code{".*@@example\\.com"} does.
+
+@item
+You can set the @var{invert-match-partial-words} flag in your split
+rules of the @samp{(@var{field} @var{value} @dots{})} types,
+aforementioned in this section.  If the flag is set, word boundaries on
+both sides of a word are ignored even if
+@code{nnmail-split-fancy-match-partial-words} is @code{nil}.
+Contrarily, if the flag is set, word boundaries are not ignored even if
+@code{nnmail-split-fancy-match-partial-words} is non-@code{nil}.  (New
+in Gnus 5.10.7)
+@end enumerate
 
 @vindex nnmail-split-abbrev-alist
 @var{field} and @var{value} can also be Lisp symbols, in that case
@@ -14118,25 +14164,6 @@ groups when users send to an address using different case
 (i.e. mailing-list@@domain vs Mailing-List@@Domain).  The default value
 is @code{t}.
 
-@vindex nnmail-split-fancy-match-partial-words
-@code{nnmail-split-fancy-match-partial-words} controls whether partial
-words are matched during fancy splitting.
-
-Normally, regular expressions given in @code{nnmail-split-fancy} are
-implicitly surrounded by @code{\<...\>} markers, which are word
-delimiters.  If this variable is true, they are not implicitly
-surrounded by anything.
-
-@example
-(any "joe" "joemail")
-@end example
-
-In this example, messages sent from @samp{joedavis@@foo.org} will
-normally not be filed in @samp{joemail}.  With
-@code{nnmail-split-fancy-match-partial-words} set to @code{t},
-however, the match will happen.  In effect, the requirement of a word
-boundary is removed and instead the match becomes more like a grep.
-
 @findex nnmail-split-fancy-with-parent
 @code{nnmail-split-fancy-with-parent} is a function which allows you to
 split followups into the same groups their parents are in.  Sometimes
@@ -22295,11 +22322,11 @@ default.
 @item gnus-use-toolbar
 @vindex gnus-use-toolbar
 This variable specifies the position to display the toolbar.  If
-@code{nil}, don't display toolbars.  If it is non-nil, it should be one
-of the symbols @code{default}, @code{top}, @code{bottom}, @code{right},
-and @code{left}.  @code{default} means to use the default toolbar, the
-rest mean to display the toolbar on the place which those names show.
-The default is @code{default}.
+@code{nil}, don't display toolbars.  If it is non-@code{nil}, it should
+be one of the symbols @code{default}, @code{top}, @code{bottom},
+@code{right}, and @code{left}.  @code{default} means to use the default
+toolbar, the rest mean to display the toolbar on the place which those
+names show.  The default is @code{default}.
 
 @item gnus-toolbar-thickness
 @vindex gnus-toolbar-thickness
@@ -26221,6 +26248,8 @@ groups.
 A new file from Raymond Scholz @email{rscholz@@zonix.de} for deuglifying
 broken Outlook (Express) articles.
 
+@c FIXME: `gnus-load' is mentioned in README, which is not included in
+@c CVS.  We should find a better place for this item.
 @item
 @code{(require 'gnus-load)}