Synch to Gnus 200306151234.
authoryamaoka <yamaoka>
Sun, 15 Jun 2003 22:24:35 +0000 (22:24 +0000)
committeryamaoka <yamaoka>
Sun, 15 Jun 2003 22:24:35 +0000 (22:24 +0000)
lisp/ChangeLog
lisp/gnus-sum.el
lisp/message.el
lisp/nnimap.el
texi/ChangeLog
texi/gnus.texi
texi/message-ja.texi
texi/message.texi

index 1914599..af890cb 100644 (file)
@@ -1,3 +1,22 @@
+2003-06-15  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * gnus-sum.el (gnus-summary-force-verify-and-decrypt): Bind
+       `gnus-article-emulate-mime'.
+
+2003-06-15  Kai Gro\e,A_\e(Bjohann  <kai.grossjohann@gmx.net>
+       From Tommi Vainikainen <thv+gnus@iki.fi>.
+
+       * message.el (message-is-yours-p): New function.  Separated common
+       code from message-cancel-news and message-supersede.  Added
+       matching code which uses message-alternative-emails regexp as last
+       resort.
+       (message-cancel-news, message-supersede): Use message-is-yours-p.
+
+2003-06-13  Kai Gro\e,A_\e(Bjohann  <kai.grossjohann@gmx.net>
+
+       * nnimap.el (nnimap-split-articles): Narrow the right buffer to
+       the headers.  From Niklas Morberg <niklas.morberg@axis.com>.
+
 2003-06-12  Dave Love  <fx@gnu.org>
 
        * nnheader.el (nnheader-functionp): Deleted.
index e9c88f2..7e315b5 100644 (file)
@@ -7039,6 +7039,7 @@ be displayed."
   (interactive)
   (let ((mm-verify-option 'known)
        (mm-decrypt-option 'known)
+       (gnus-article-emulate-mime t)
        (gnus-buttonized-mime-types (append (list "multipart/signed"
                                                  "multipart/encrypted")
                                            gnus-buttonized-mime-types)))
index 2f9854f..1f1e1de 100644 (file)
@@ -6468,31 +6468,7 @@ If ARG, allow editing of the cancellation message."
              message-id (message-fetch-field "message-id" t)
              distribution (message-fetch-field "distribution")))
       ;; Make sure that this article was written by the user.
-      (unless (or
-              ;; Canlock-logic as suggested by Per Abrahamsen
-              ;; <abraham@dina.kvl.dk>
-              ;;
-              ;; IF article has cancel-lock THEN
-              ;;   IF we can verify it THEN
-              ;;     issue cancel
-              ;;   ELSE
-              ;;     error: cancellock: article is not yours
-              ;; ELSE
-              ;;   Use old rules, comparing sender...
-              (if (message-fetch-field "Cancel-Lock")
-                  (if (null (canlock-verify))
-                      t
-                    (error "Failed to verify Cancel-lock: This article is not yours"))
-                nil)
-              (message-gnksa-enable-p 'cancel-messages)
-              (and sender
-                   (string-equal
-                    (downcase sender)
-                    (downcase (message-make-sender))))
-              (string-equal
-               (downcase (cadr (std11-extract-address-components from)))
-               (downcase (cadr (std11-extract-address-components
-                                (message-make-from))))))
+      (unless (message-is-yours-p)
        (error "This article is not yours"))
       (when (yes-or-no-p "Do you really want to cancel this article? ")
        ;; Make control message.
@@ -6534,31 +6510,7 @@ header line with the old Message-ID."
        (sender (message-fetch-field "sender"))
        (from (message-fetch-field "from")))
     ;; Check whether the user owns the article that is to be superseded.
-    (unless (or
-            ;; Canlock-logic as suggested by Per Abrahamsen
-            ;; <abraham@dina.kvl.dk>
-            ;;
-            ;; IF article has cancel-lock THEN
-            ;;   IF we can verify it THEN
-            ;;     issue cancel
-            ;;   ELSE
-            ;;     error: cancellock: article is not yours
-            ;; ELSE
-            ;;   Use old rules, comparing sender...
-            (if (message-fetch-field "Cancel-Lock")
-                (if (null (canlock-verify))
-                    t
-                  (error "Failed to verify Cancel-lock: This article is not yours"))
-              nil)
-            (message-gnksa-enable-p 'cancel-messages)
-            (and sender
-                 (string-equal
-                  (downcase sender)
-                  (downcase (message-make-sender))))
-            (string-equal
-             (downcase (cadr (std11-extract-address-components from)))
-             (downcase (cadr (std11-extract-address-components
-                              (message-make-from))))))
+    (unless (message-is-yours-p)
       (error "This article is not yours"))
     ;; Get a normal message buffer.
     (message-pop-to-buffer (message-buffer-name "supersede"))
@@ -7178,6 +7130,45 @@ regexp varstr."
                (cdr local)))))
      locals)))
 
+;;;###autoload
+(defun message-is-yours-p ()
+  "Non-nil means current article is yours.
+If you have added 'cancel-messages to 'message-shoot-gnksa-feet', all articles
+are yours except those that have Cancel-Lock header not belonging to you.
+Instead of shooting GNKSA feet, you should modify 'message-alternative-emails'
+regexp to match all of yours addresses."
+  ;; Canlock-logic as suggested by Per Abrahamsen
+  ;; <abraham@dina.kvl.dk>
+  ;;
+  ;; IF article has cancel-lock THEN
+  ;;   IF we can verify it THEN
+  ;;     issue cancel
+  ;;   ELSE
+  ;;     error: cancellock: article is not yours
+  ;; ELSE
+  ;;   Use old rules, comparing sender...
+  (if (message-fetch-field "Cancel-Lock")
+      (if (null (canlock-verify))
+         t
+       (error "Failed to verify Cancel-lock: This article is not yours"))
+    (or
+     (message-gnksa-enable-p 'cancel-messages)
+     (and sender
+         (string-equal
+          (downcase sender)
+          (downcase (message-make-sender))))
+     ;; Email address in From field equals to our address
+     (string-equal
+      (downcase (cadr (std11-extract-address-components from)))
+      (downcase (cadr (std11-extract-address-components
+                      (message-make-from)))))
+     ;; Email address in From field matches
+     ;; 'message-alternative-emails' regexp
+     (and message-alternative-emails
+         (string-match
+          message-alternative-emails
+          (cadr (std11-extract-address-components from)))))))
+
 
 ;;; @ for MIME Edit mode
 ;;;
index 306f54e..ae0774f 100644 (file)
@@ -1272,7 +1272,7 @@ function is generally only called when Gnus is shutting down."
                            nnimap-split-download-body-default
                          nnimap-split-download-body)
                        (and (nnimap-request-article article)
-                            (mail-narrow-to-head))
+                            (with-current-buffer nntp-server-buffer (mail-narrow-to-head)))
                      (nnimap-request-head article))
                ;; copy article to right group(s)
                (setq removeorig nil)
index 75a02f2..cbf88b6 100644 (file)
@@ -1,3 +1,13 @@
+2003-06-15  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * gnus.texi (Daemons): Fixed typo.
+
+2003-06-15  Kai Gro\e,A_\e(Bjohann  <kai.grossjohann@gmx.net>
+
+       * message.texi (Message Headers): Extend
+       `message-subject-re-regexp' example.  From Niklas Morberg
+       <niklas.morberg@axis.com>.
+
 2003-06-11  Teodor Zlatanov  <tzz@lifelogs.com>
 
        * gnus.texi (Bogofilter): revise docs to mention threshold is now
index a4fb001..fdbfee6 100644 (file)
@@ -21271,7 +21271,7 @@ Emacs is idle:
 (gnus-demon-scan-pgp 60 t)
 @end lisp
 
-This @var{time} parameter and than @var{idle} parameter work together
+This @var{time} parameter and that @var{idle} parameter work together
 in a strange, but wonderful fashion.  Basically, if @var{idle} is
 @code{nil}, then the function will be called every @var{time} minutes.
 
index 0b89455..bfeac71 100644 (file)
@@ -1362,7 +1362,23 @@ Message \e$B$,\e(B gnus \e$B>e$GAv$C$F$$$k>l9g!"%a%C%;!<%8%P%C%U%!$O%I%i%U%H%0%k!<%
 
 @lisp
 (setq message-subject-re-regexp
-     "^\\(\\(\\([Rr][Ee]\\|[Ss][Vv]\\|[Aa][Ww]\\): *\\)+\\)")
+      (concat
+       "^[ \t]*"
+         "\\("
+           "\\("
+             "[Aa][Nn][Tt][Ww]\\.?\\|"     ; antw
+             "[Aa][Ww]\\|"                 ; aw
+             "[Ff][Ww][Dd]?\\|"            ; fwd
+             "[Oo][Dd][Pp]\\|"             ; odp
+             "[Rr][Ee]\\|"                 ; re
+             "[Rr][\311\351][Ff]\\.?\\|"   ; ref
+             "[Ss][Vv]"                    ; sv
+           "\\)"
+           "\\(\\[[0-9]*\\]\\)"
+           "*:[ \t]*"
+         "\\)"
+       "*[ \t]*"
+       ))
 @end lisp
 
 @item message-subject-trailing-was-query
index d9dae0d..f4ec956 100644 (file)
@@ -1355,7 +1355,23 @@ responding to a message:
 
 @lisp
 (setq message-subject-re-regexp
-     "^\\(\\(\\([Rr][Ee]\\|[Ss][Vv]\\|[Aa][Ww]\\): *\\)+\\)")
+      (concat
+       "^[ \t]*"
+         "\\("
+           "\\("
+             "[Aa][Nn][Tt][Ww]\\.?\\|"     ; antw
+             "[Aa][Ww]\\|"                 ; aw
+             "[Ff][Ww][Dd]?\\|"            ; fwd
+             "[Oo][Dd][Pp]\\|"             ; odp
+             "[Rr][Ee]\\|"                 ; re
+             "[Rr][\311\351][Ff]\\.?\\|"   ; ref
+             "[Ss][Vv]"                    ; sv
+           "\\)"
+           "\\(\\[[0-9]*\\]\\)"
+           "*:[ \t]*"
+         "\\)"
+       "*[ \t]*"
+       ))
 @end lisp
 
 @item message-subject-trailing-was-query