aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorMiles Bader2004-12-07 21:56:42 +0000
committerMiles Bader2004-12-07 21:56:42 +0000
commitad136a7c3b310fa7240dd2adf62f23b454782bd0 (patch)
treec48ec6b93ea21fc66e1b94f08e3f1cecb9000f24 /lisp
parente9962ae153a6a895c2e588ea8c844176cd0beaf8 (diff)
downloademacs-ad136a7c3b310fa7240dd2adf62f23b454782bd0.tar.gz
emacs-ad136a7c3b310fa7240dd2adf62f23b454782bd0.zip
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-716
Merge from gnus--rel--5.10 Patches applied: * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-74 Update from CVS 2004-12-02 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/message.el (message-forward-make-body-mml): Remove headers according to message-forward-ignored-headers if a message is decoded. 2004-12-02 Romain Francoise <romain@orebokech.com> * lisp/gnus/message.el (message-forward-make-body-plain): Always remove headers according to message-forward-ignored-headers. 2004-11-26 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/lpath.el: Remove bbdb-create-internal, bbdb-records, spam-BBDB-register-routine and spam-enter-ham-BBDB. * lisp/gnus/nnrss.el (nnrss-string-as-multibyte): Redefine it as a macro in order to silence the byte compiler. * lisp/gnus/pop3.el (pop3-md5): Define it before being used. * lisp/gnus/spam.el: Fix the way to silence the byte compiler, which complained about bbdb-buffer, bbdb-create-internal, bbdb-search-simple, mail-check-payment, spam-BBDB-register-routine, spam-enter-ham-BBDB, spam-stat-buffer-change-to-non-spam, spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam, spam-stat-buffer-is-spam, spam-stat-load, spam-stat-register-ham-routine, spam-stat-register-spam-routine, spam-stat-save and spam-stat-split-fancy. 2004-11-26 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/canlock.el (canlock-password): Remove `:size 0' or `:size 1' which may confuse users. (canlock-password-for-verify): Ditto. * lisp/gnus/deuglify.el (gnus-outlook-deuglify-unwrap-stop-chars): Ditto. * lisp/gnus/gnus-art.el (gnus-emphasis-alist): Ditto. * lisp/gnus/gnus-registry.el (gnus-registry-max-entries): Ditto. * lisp/gnus/gnus-score.el (gnus-adaptive-word-length-limit): Ditto. * lisp/gnus/gnus-start.el (gnus-save-killed-list): Ditto. * lisp/gnus/gnus-sum.el (gnus-thread-hide-subtree): Ditto. (gnus-sum-thread-tree-root): Ditto. (gnus-sum-thread-tree-false-root): Ditto. (gnus-sum-thread-tree-single-indent): Ditto. * lisp/gnus/message.el (message-courtesy-message): Ditto. (message-archive-note): Ditto. (message-subscribed-address-file): Ditto. (message-user-fqdn): Ditto. * lisp/gnus/spam-report.el (spam-report-gmane-regex): Ditto. * lisp/gnus/spam.el (spam-blackhole-good-server-regex): Ditto. 2004-11-25 Reiner Steib <Reiner.Steib@gmx.de> * lisp/gnus/message.el (message-forbidden-properties): Fixed typo in doc string. 2004-11-25 Lars Magne Ingebrigtsen <larsi@gnus.org> * lisp/gnus/message.el (message-strip-forbidden-properties): Bind buffer-read-only (etc) to nil. 2004-11-25 Reiner Steib <Reiner.Steib@gmx.de> * lisp/gnus/gnus-util.el (gnus-replace-in-string): Added doc string. * lisp/gnus/nnmail.el (nnmail-split-header-length-limit): Increase to 2048 to avoid problems when splitting mails with many recipients. 2004-11-23 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/rfc2047.el (rfc2047-header-encoding-alist): Add In-Reply-To to address-mime. Suggested by ARISAWA Akihiro <ari@mbf.ocn.ne.jp>. 2004-11-22 Marek Martin <marek.martin@mum.pri.ee> (tiny change) * lisp/gnus/nnfolder.el (nnfolder-request-create-group): Save current buffer. 2004-11-22 Reiner Steib <Reiner.Steib@gmx.de> * man/message.texi (Various Message Variables): Mention that all mail file variables are derived from `message-directory'. * man/gnus.texi (Splitting Mail): Clarify bogus group. 2004-11-16 Reiner Steib <Reiner.Steib@gmx.de> * man/gnus.texi (Filtering Spam Using The Spam ELisp Package):
Diffstat (limited to 'lisp')
-rw-r--r--lisp/gnus/ChangeLog86
-rw-r--r--lisp/gnus/canlock.el4
-rw-r--r--lisp/gnus/deuglify.el4
-rw-r--r--lisp/gnus/gnus-art.el10
-rw-r--r--lisp/gnus/gnus-registry.el4
-rw-r--r--lisp/gnus/gnus-score.el2
-rw-r--r--lisp/gnus/gnus-start.el2
-rw-r--r--lisp/gnus/gnus-sum.el8
-rw-r--r--lisp/gnus/gnus-util.el12
-rw-r--r--lisp/gnus/message.el29
-rw-r--r--lisp/gnus/nnfolder.el11
-rw-r--r--lisp/gnus/nnmail.el2
-rw-r--r--lisp/gnus/nnrss.el10
-rw-r--r--lisp/gnus/pop3.el32
-rw-r--r--lisp/gnus/rfc2047.el2
-rw-r--r--lisp/gnus/spam-report.el2
-rw-r--r--lisp/gnus/spam.el238
17 files changed, 277 insertions, 181 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 11719d7d709..2b83229010d 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,89 @@
12004-12-02 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * message.el (message-forward-make-body-mml): Remove headers
4 according to message-forward-ignored-headers if a message is
5 decoded.
6
72004-12-02 Romain Francoise <romain@orebokech.com>
8
9 * message.el (message-forward-make-body-plain): Always remove
10 headers according to message-forward-ignored-headers.
11
122004-11-26 Katsumi Yamaoka <yamaoka@jpl.org>
13
14 * lpath.el: Remove bbdb-create-internal, bbdb-records,
15 spam-BBDB-register-routine and spam-enter-ham-BBDB.
16
17 * nnrss.el (nnrss-string-as-multibyte): Redefine it as a macro in
18 order to silence the byte compiler.
19
20 * pop3.el (pop3-md5): Define it before being used.
21
22 * spam.el: Fix the way to silence the byte compiler, which
23 complained about bbdb-buffer, bbdb-create-internal,
24 bbdb-search-simple, mail-check-payment, spam-BBDB-register-routine,
25 spam-enter-ham-BBDB, spam-stat-buffer-change-to-non-spam,
26 spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam,
27 spam-stat-buffer-is-spam, spam-stat-load,
28 spam-stat-register-ham-routine, spam-stat-register-spam-routine,
29 spam-stat-save and spam-stat-split-fancy.
30
312004-11-26 Katsumi Yamaoka <yamaoka@jpl.org>
32
33 * canlock.el (canlock-password): Remove `:size 0' or `:size 1'
34 which may confuse users.
35 (canlock-password-for-verify): Ditto.
36
37 * deuglify.el (gnus-outlook-deuglify-unwrap-stop-chars): Ditto.
38
39 * gnus-art.el (gnus-emphasis-alist): Ditto.
40
41 * gnus-registry.el (gnus-registry-max-entries): Ditto.
42
43 * gnus-score.el (gnus-adaptive-word-length-limit): Ditto.
44
45 * gnus-start.el (gnus-save-killed-list): Ditto.
46
47 * gnus-sum.el (gnus-thread-hide-subtree): Ditto.
48 (gnus-sum-thread-tree-root): Ditto.
49 (gnus-sum-thread-tree-false-root): Ditto.
50 (gnus-sum-thread-tree-single-indent): Ditto.
51
52 * message.el (message-courtesy-message): Ditto.
53 (message-archive-note): Ditto.
54 (message-subscribed-address-file): Ditto.
55 (message-user-fqdn): Ditto.
56
57 * spam-report.el (spam-report-gmane-regex): Ditto.
58
59 * spam.el (spam-blackhole-good-server-regex): Ditto.
60
612004-11-25 Reiner Steib <Reiner.Steib@gmx.de>
62
63 * message.el (message-forbidden-properties): Fixed typo in doc
64 string.
65
662004-11-25 Lars Magne Ingebrigtsen <larsi@gnus.org>
67
68 * message.el (message-strip-forbidden-properties): Bind
69 buffer-read-only (etc) to nil.
70
712004-11-25 Reiner Steib <Reiner.Steib@gmx.de>
72
73 * gnus-util.el (gnus-replace-in-string): Added doc string.
74
75 * nnmail.el (nnmail-split-header-length-limit): Increase to 2048
76 to avoid problems when splitting mails with many recipients.
77
782004-11-23 Katsumi Yamaoka <yamaoka@jpl.org>
79
80 * rfc2047.el (rfc2047-header-encoding-alist): Add In-Reply-To to
81 address-mime. Suggested by ARISAWA Akihiro <ari@mbf.ocn.ne.jp>.
82
832004-11-22 Marek Martin <marek.martin@mum.pri.ee> (tiny change)
84
85 * nnfolder.el (nnfolder-request-create-group): Save current buffer.
86
12004-11-22 Stefan Monnier <monnier@iro.umontreal.ca> 872004-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
2 88
3 * gnus-sum.el (gnus-summary-exit): Remove redundant and harmful 89 * gnus-sum.el (gnus-summary-exit): Remove redundant and harmful
diff --git a/lisp/gnus/canlock.el b/lisp/gnus/canlock.el
index 99d6500001a..71c7dbe03d8 100644
--- a/lisp/gnus/canlock.el
+++ b/lisp/gnus/canlock.el
@@ -55,13 +55,13 @@
55(defcustom canlock-password nil 55(defcustom canlock-password nil
56 "Password to use when signing a Cancel-Lock or a Cancel-Key header." 56 "Password to use when signing a Cancel-Lock or a Cancel-Key header."
57 :type '(radio (const :format "Not specified " nil) 57 :type '(radio (const :format "Not specified " nil)
58 (string :tag "Password" :size 0)) 58 (string :tag "Password"))
59 :group 'canlock) 59 :group 'canlock)
60 60
61(defcustom canlock-password-for-verify canlock-password 61(defcustom canlock-password-for-verify canlock-password
62 "Password to use when verifying a Cancel-Lock or a Cancel-Key header." 62 "Password to use when verifying a Cancel-Lock or a Cancel-Key header."
63 :type '(radio (const :format "Not specified " nil) 63 :type '(radio (const :format "Not specified " nil)
64 (string :tag "Password" :size 0)) 64 (string :tag "Password"))
65 :group 'canlock) 65 :group 'canlock)
66 66
67(defcustom canlock-force-insert-header nil 67(defcustom canlock-force-insert-header nil
diff --git a/lisp/gnus/deuglify.el b/lisp/gnus/deuglify.el
index 4fe1001a050..a00151063de 100644
--- a/lisp/gnus/deuglify.el
+++ b/lisp/gnus/deuglify.el
@@ -1,6 +1,6 @@
1;;; deuglify.el --- deuglify broken Outlook (Express) articles 1;;; deuglify.el --- deuglify broken Outlook (Express) articles
2 2
3;; Copyright (C) 2002, 2003 Free Software Foundation, Inc. 3;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
4;; Copyright (C) 2001, 2002 Raymond Scholz 4;; Copyright (C) 2001, 2002 Raymond Scholz
5 5
6;; Author: Raymond Scholz <rscholz@zonix.de> 6;; Author: Raymond Scholz <rscholz@zonix.de>
@@ -257,7 +257,7 @@
257 "Characters that inhibit unwrapping if they are the last one on the cited line above the possible wrapped line." 257 "Characters that inhibit unwrapping if they are the last one on the cited line above the possible wrapped line."
258 :version "21.4" 258 :version "21.4"
259 :type '(radio (const :format "None " nil) 259 :type '(radio (const :format "None " nil)
260 (string :size 0 :value ".?!")) 260 (string :value ".?!"))
261 :group 'gnus-outlook-deuglify) 261 :group 'gnus-outlook-deuglify)
262 262
263(defcustom gnus-outlook-deuglify-no-wrap-chars "`" 263(defcustom gnus-outlook-deuglify-no-wrap-chars "`"
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index a87348188f9..f6286c7de87 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -399,15 +399,15 @@ is the face used for highlighting."
399 :value 399 :value
400 (gnus-emphasis-custom-value-to-external value)))) 400 (gnus-emphasis-custom-value-to-external value))))
401 (widget-group-value-create widget)) 401 (widget-group-value-create widget))
402 (regexp :format "%t: %v\n" :size 1) 402 regexp
403 (integer :format "Match group: %v\n" :size 0) 403 (integer :format "Match group: %v")
404 (integer :format "Emphasize group: %v\n" :size 0) 404 (integer :format "Emphasize group: %v")
405 face) 405 face)
406 (group :tag "Simple" 406 (group :tag "Simple"
407 :value (("_" . "_") nil default) 407 :value (("_" . "_") nil default)
408 (cons :format "%v" 408 (cons :format "%v"
409 (regexp :format "Start regexp: %v\n" :size 0) 409 (regexp :format "Start regexp: %v")
410 (regexp :format "End regexp: %v\n" :size 0)) 410 (regexp :format "End regexp: %v"))
411 (boolean :format "Show start and end patterns: %[%v%]\n" 411 (boolean :format "Show start and end patterns: %[%v%]\n"
412 :on " On " :off " Off ") 412 :on " On " :off " Off ")
413 face))) 413 face)))
diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el
index 046114cbe24..71e98a236bd 100644
--- a/lisp/gnus/gnus-registry.el
+++ b/lisp/gnus/gnus-registry.el
@@ -1,5 +1,5 @@
1;;; gnus-registry.el --- article registry for Gnus 1;;; gnus-registry.el --- article registry for Gnus
2;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 2;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
3;; Free Software Foundation, Inc. 3;; Free Software Foundation, Inc.
4 4
5;; Author: Ted Zlatanov <tzz@lifelogs.com> 5;; Author: Ted Zlatanov <tzz@lifelogs.com>
@@ -128,7 +128,7 @@ way."
128 "Maximum number of entries in the registry, nil for unlimited." 128 "Maximum number of entries in the registry, nil for unlimited."
129 :group 'gnus-registry 129 :group 'gnus-registry
130 :type '(radio (const :format "Unlimited " nil) 130 :type '(radio (const :format "Unlimited " nil)
131 (integer :format "Maximum number: %v\n" :size 0))) 131 (integer :format "Maximum number: %v")))
132 132
133;; Function(s) missing in Emacs 20 133;; Function(s) missing in Emacs 20
134(when (memq nil (mapcar 'fboundp '(puthash))) 134(when (memq nil (mapcar 'fboundp '(puthash)))
diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el
index 370ef00eb49..21e59e4dbf3 100644
--- a/lisp/gnus/gnus-score.el
+++ b/lisp/gnus/gnus-score.el
@@ -240,7 +240,7 @@ This variable allows the same syntax as `gnus-home-score-file'."
240 :version "21.4" 240 :version "21.4"
241 :group 'gnus-score-adapt 241 :group 'gnus-score-adapt
242 :type '(radio (const :format "Unlimited " nil) 242 :type '(radio (const :format "Unlimited " nil)
243 (integer :format "Maximum length: %v\n" :size 0))) 243 (integer :format "Maximum length: %v")))
244 244
245(defcustom gnus-ignored-adaptive-words nil 245(defcustom gnus-ignored-adaptive-words nil
246 "List of words to be ignored when doing adaptive word scoring." 246 "List of words to be ignored when doing adaptive word scoring."
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index 53ac8f0dbdd..17b0f1d687d 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -258,7 +258,7 @@ not match this regexp will be removed before saving the list."
258 (and value (not (stringp value)))) 258 (and value (not (stringp value))))
259 :value t) 259 :value t)
260 (const nil) 260 (const nil)
261 (regexp :format "%t: %v\n" :size 0))) 261 regexp))
262 262
263(defcustom gnus-ignored-newsgroups 263(defcustom gnus-ignored-newsgroups
264 (mapconcat 'identity 264 (mapconcat 'identity
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 4c5b8dcf9d5..03e1624237e 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -264,7 +264,7 @@ to expose hidden threads."
264 (not (or (consp value) (functionp value)))) 264 (not (or (consp value) (functionp value))))
265 :value t) 265 :value t)
266 (const nil) 266 (const nil)
267 (sexp :tag "Predicate specifier" :size 0))) 267 (sexp :tag "Predicate specifier")))
268 268
269(defcustom gnus-thread-hide-killed t 269(defcustom gnus-thread-hide-killed t
270 "*If non-nil, hide killed threads automatically." 270 "*If non-nil, hide killed threads automatically."
@@ -4639,19 +4639,19 @@ Unscored articles will be counted as having a score of zero."
4639 "With %B spec, used for the root of a thread. 4639 "With %B spec, used for the root of a thread.
4640If nil, use subject instead." 4640If nil, use subject instead."
4641 :version "21.4" 4641 :version "21.4"
4642 :type '(radio (const :format "%v " nil) (string :size 0)) 4642 :type '(radio (const :format "%v " nil) string)
4643 :group 'gnus-thread) 4643 :group 'gnus-thread)
4644(defcustom gnus-sum-thread-tree-false-root "> " 4644(defcustom gnus-sum-thread-tree-false-root "> "
4645 "With %B spec, used for a false root of a thread. 4645 "With %B spec, used for a false root of a thread.
4646If nil, use subject instead." 4646If nil, use subject instead."
4647 :version "21.4" 4647 :version "21.4"
4648 :type '(radio (const :format "%v " nil) (string :size 0)) 4648 :type '(radio (const :format "%v " nil) string)
4649 :group 'gnus-thread) 4649 :group 'gnus-thread)
4650(defcustom gnus-sum-thread-tree-single-indent "" 4650(defcustom gnus-sum-thread-tree-single-indent ""
4651 "With %B spec, used for a thread with just one message. 4651 "With %B spec, used for a thread with just one message.
4652If nil, use subject instead." 4652If nil, use subject instead."
4653 :version "21.4" 4653 :version "21.4"
4654 :type '(radio (const :format "%v " nil) (string :size 0)) 4654 :type '(radio (const :format "%v " nil) string)
4655 :group 'gnus-thread) 4655 :group 'gnus-thread)
4656(defcustom gnus-sum-thread-tree-vertical "| " 4656(defcustom gnus-sum-thread-tree-vertical "| "
4657 "With %B spec, used for drawing a vertical line." 4657 "With %B spec, used for drawing a vertical line."
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index 4b71e252f6e..d9952fd8cdc 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -60,10 +60,20 @@
60 ((fboundp 'replace-in-string) 60 ((fboundp 'replace-in-string)
61 (defalias 'gnus-replace-in-string 'replace-in-string)) 61 (defalias 'gnus-replace-in-string 'replace-in-string))
62 ((fboundp 'replace-regexp-in-string) 62 ((fboundp 'replace-regexp-in-string)
63 (defun gnus-replace-in-string (string regexp newtext &optional literal) 63 (defun gnus-replace-in-string (string regexp newtext &optional literal)
64 "Replace all matches for REGEXP with NEWTEXT in STRING.
65If LITERAL is non-nil, insert NEWTEXT literally. Return a new
66string containing the replacements.
67
68This is a compatibility function for different Emacsen."
64 (replace-regexp-in-string regexp newtext string nil literal))) 69 (replace-regexp-in-string regexp newtext string nil literal)))
65 (t 70 (t
66 (defun gnus-replace-in-string (string regexp newtext &optional literal) 71 (defun gnus-replace-in-string (string regexp newtext &optional literal)
72 "Replace all matches for REGEXP with NEWTEXT in STRING.
73If LITERAL is non-nil, insert NEWTEXT literally. Return a new
74string containing the replacements.
75
76This is a compatibility function for different Emacsen."
67 (let ((start 0) tail) 77 (let ((start 0) tail)
68 (while (string-match regexp string start) 78 (while (string-match regexp string start)
69 (setq tail (- (length string) (match-end 0))) 79 (setq tail (- (length string) (match-end 0)))
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index fb63d6724be..113547741c0 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -146,7 +146,7 @@ If the string contains the format spec \"%s\", the Newsgroups
146the article has been posted to will be inserted there. 146the article has been posted to will be inserted there.
147If this variable is nil, no such courtesy message will be added." 147If this variable is nil, no such courtesy message will be added."
148 :group 'message-sending 148 :group 'message-sending
149 :type '(radio (string :format "%t: %v\n" :size 0) (const nil))) 149 :type '(radio string (const nil)))
150 150
151(defcustom message-ignored-bounced-headers 151(defcustom message-ignored-bounced-headers
152 "^\\(Received\\|Return-Path\\|Delivered-To\\):" 152 "^\\(Received\\|Return-Path\\|Delivered-To\\):"
@@ -373,8 +373,7 @@ Archives \(such as groups.google.com\) respect this header."
373 "Note to insert why you wouldn't want this posting archived. 373 "Note to insert why you wouldn't want this posting archived.
374If nil, don't insert any text in the body." 374If nil, don't insert any text in the body."
375 :version "21.4" 375 :version "21.4"
376 :type '(radio (string :format "%t: %v\n" :size 0) 376 :type '(radio string (const nil))
377 (const nil))
378 :link '(custom-manual "(message)Header Commands") 377 :link '(custom-manual "(message)Header Commands")
379 :group 'message-various) 378 :group 'message-various)
380 379
@@ -698,8 +697,7 @@ non-nil, each line of this file should be a mailing list address."
698 :version "21.4" 697 :version "21.4"
699 :group 'message-interface 698 :group 'message-interface
700 :link '(custom-manual "(message)Mailing Lists") 699 :link '(custom-manual "(message)Mailing Lists")
701 :type '(radio (file :format "%t: %v\n" :size 0) 700 :type '(radio file (const nil)))
702 (const nil)))
703 701
704(defcustom message-subscribed-addresses nil 702(defcustom message-subscribed-addresses nil
705 "*Specifies a list of addresses the user is subscribed to. 703 "*Specifies a list of addresses the user is subscribed to.
@@ -1442,7 +1440,7 @@ no, only reply back to the author."
1442 :group 'message-headers 1440 :group 'message-headers
1443 :link '(custom-manual "(message)News Headers") 1441 :link '(custom-manual "(message)News Headers")
1444 :type '(radio (const :format "%v " nil) 1442 :type '(radio (const :format "%v " nil)
1445 (string :format "FQDN: %v\n" :size 0))) 1443 (string :format "FQDN: %v")))
1446 1444
1447(defcustom message-use-idna (and (condition-case nil (require 'idna) 1445(defcustom message-use-idna (and (condition-case nil (require 'idna)
1448 (file-error)) 1446 (file-error))
@@ -2403,7 +2401,7 @@ message composition doesn't break too bad."
2403 ;; fontified: is used by font-lock. 2401 ;; fontified: is used by font-lock.
2404 ;; syntax-table, local-map: I dunno. 2402 ;; syntax-table, local-map: I dunno.
2405 ;; We need to add XEmacs names to the list. 2403 ;; We need to add XEmacs names to the list.
2406 "Property list of with properties.forbidden in message buffers. 2404 "Property list of with properties forbidden in message buffers.
2407The values of the properties are ignored, only the property names are used.") 2405The values of the properties are ignored, only the property names are used.")
2408 2406
2409(defun message-tamago-not-in-use-p (pos) 2407(defun message-tamago-not-in-use-p (pos)
@@ -2426,11 +2424,13 @@ This function is intended to be called from `after-change-functions'.
2426See also `message-forbidden-properties'." 2424See also `message-forbidden-properties'."
2427 (when (and message-strip-special-text-properties 2425 (when (and message-strip-special-text-properties
2428 (message-tamago-not-in-use-p begin)) 2426 (message-tamago-not-in-use-p begin))
2429 (while (not (= begin end)) 2427 (let ((buffer-read-only nil)
2430 (when (not (get-text-property begin 'message-hidden)) 2428 (inhibit-read-only t))
2431 (remove-text-properties begin (1+ begin) 2429 (while (not (= begin end))
2432 message-forbidden-properties)) 2430 (when (not (get-text-property begin 'message-hidden))
2433 (incf begin)))) 2431 (remove-text-properties begin (1+ begin)
2432 message-forbidden-properties))
2433 (incf begin)))))
2434 2434
2435;;;###autoload 2435;;;###autoload
2436(define-derived-mode message-mode text-mode "Message" 2436(define-derived-mode message-mode text-mode "Message"
@@ -6193,8 +6193,7 @@ Optional DIGEST will use digest to forward."
6193 (setq e (point)) 6193 (setq e (point))
6194 (insert 6194 (insert
6195 "\n-------------------- End of forwarded message --------------------\n") 6195 "\n-------------------- End of forwarded message --------------------\n")
6196 (when (and (not current-prefix-arg) 6196 (when message-forward-ignored-headers
6197 message-forward-ignored-headers)
6198 (save-restriction 6197 (save-restriction
6199 (narrow-to-region b e) 6198 (narrow-to-region b e)
6200 (goto-char b) 6199 (goto-char b)
@@ -6240,7 +6239,7 @@ Optional DIGEST will use digest to forward."
6240 (goto-char (point-max)))) 6239 (goto-char (point-max))))
6241 (setq e (point)) 6240 (setq e (point))
6242 (insert "<#/mml>\n") 6241 (insert "<#/mml>\n")
6243 (when (and (not current-prefix-arg) 6242 (when (and (not message-forward-decoded-p)
6244 message-forward-ignored-headers) 6243 message-forward-ignored-headers)
6245 (save-restriction 6244 (save-restriction
6246 (narrow-to-region b e) 6245 (narrow-to-region b e)
diff --git a/lisp/gnus/nnfolder.el b/lisp/gnus/nnfolder.el
index f3e2ea8f533..bf8fc9bac9a 100644
--- a/lisp/gnus/nnfolder.el
+++ b/lisp/gnus/nnfolder.el
@@ -1,5 +1,5 @@
1;;; nnfolder.el --- mail folder access for Gnus 1;;; nnfolder.el --- mail folder access for Gnus
2;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 2;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
3;; Free Software Foundation, Inc. 3;; Free Software Foundation, Inc.
4 4
5;; Author: Simon Josefsson <simon@josefsson.org> (adding MARKS) 5;; Author: Simon Josefsson <simon@josefsson.org> (adding MARKS)
@@ -370,10 +370,11 @@ the group. Then the marks file will be regenerated properly by Gnus.")
370(deffoo nnfolder-request-create-group (group &optional server args) 370(deffoo nnfolder-request-create-group (group &optional server args)
371 (nnfolder-possibly-change-group nil server) 371 (nnfolder-possibly-change-group nil server)
372 (nnmail-activate 'nnfolder) 372 (nnmail-activate 'nnfolder)
373 (when group 373 (when (and group
374 (unless (assoc group nnfolder-group-alist) 374 (not (assoc group nnfolder-group-alist)))
375 (push (list group (cons 1 0)) nnfolder-group-alist) 375 (push (list group (cons 1 0)) nnfolder-group-alist)
376 (nnfolder-save-active nnfolder-group-alist nnfolder-active-file) 376 (nnfolder-save-active nnfolder-group-alist nnfolder-active-file)
377 (save-current-buffer
377 (nnfolder-read-folder group))) 378 (nnfolder-read-folder group)))
378 t) 379 t)
379 380
diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el
index 040be1e60e1..471a0f3aa21 100644
--- a/lisp/gnus/nnmail.el
+++ b/lisp/gnus/nnmail.el
@@ -554,7 +554,7 @@ parameter. It should return nil, `warn' or `delete'."
554 :group 'nnmail 554 :group 'nnmail
555 :type '(repeat symbol)) 555 :type '(repeat symbol))
556 556
557(defcustom nnmail-split-header-length-limit 512 557(defcustom nnmail-split-header-length-limit 2048
558 "Header lines longer than this limit are excluded from the split function." 558 "Header lines longer than this limit are excluded from the split function."
559 :version "21.1" 559 :version "21.1"
560 :group 'nnmail 560 :group 'nnmail
diff --git a/lisp/gnus/nnrss.el b/lisp/gnus/nnrss.el
index 9b4825c53f9..6ff2b46722e 100644
--- a/lisp/gnus/nnrss.el
+++ b/lisp/gnus/nnrss.el
@@ -82,6 +82,12 @@ ARTICLE is the article number of the current headline.")
82 82
83;;; Interface functions 83;;; Interface functions
84 84
85(eval-when-compile
86 (defmacro nnrss-string-as-multibyte (string)
87 (if (featurep 'xemacs)
88 string
89 `(string-as-multibyte ,string))))
90
85(deffoo nnrss-retrieve-headers (articles &optional group server fetch-old) 91(deffoo nnrss-retrieve-headers (articles &optional group server fetch-old)
86 (nnrss-possibly-change-group group server) 92 (nnrss-possibly-change-group group server)
87 (let (e) 93 (let (e)
@@ -410,10 +416,6 @@ ARTICLE is the article number of the current headline.")
410 416
411(defalias 'nnrss-insert 'nnrss-insert-w3) 417(defalias 'nnrss-insert 'nnrss-insert-w3)
412 418
413(if (featurep 'xemacs)
414 (defalias 'nnrss-string-as-multibyte 'identity)
415 (defalias 'nnrss-string-as-multibyte 'string-as-multibyte))
416
417;;; Snarf functions 419;;; Snarf functions
418 420
419(defun nnrss-check-group (group server) 421(defun nnrss-check-group (group server)
diff --git a/lisp/gnus/pop3.el b/lisp/gnus/pop3.el
index db8753057d6..4aa387f375f 100644
--- a/lisp/gnus/pop3.el
+++ b/lisp/gnus/pop3.el
@@ -348,6 +348,22 @@ If NOW, use that time instead."
348 348
349;; AUTHORIZATION STATE 349;; AUTHORIZATION STATE
350 350
351(eval-and-compile
352 (if (fboundp 'md5)
353 (defalias 'pop3-md5 'md5)
354 (defvar pop3-md5-program "md5"
355 "*Program to encode its input in MD5.")
356
357 (defun pop3-md5 (string)
358 (with-temp-buffer
359 (insert string)
360 (call-process-region (point-min) (point-max)
361 pop3-md5-program
362 t (current-buffer) nil)
363 ;; The meaningful output is the first 32 characters.
364 ;; Don't return the newline that follows them!
365 (buffer-substring (point-min) (+ 32 (point-min)))))))
366
351(defun pop3-user (process user) 367(defun pop3-user (process user)
352 "Send USER information to POP3 server." 368 "Send USER information to POP3 server."
353 (pop3-send-command process (format "USER %s" user)) 369 (pop3-send-command process (format "USER %s" user))
@@ -378,22 +394,6 @@ If NOW, use that time instead."
378 394
379;; TRANSACTION STATE 395;; TRANSACTION STATE
380 396
381(eval-and-compile
382 (if (fboundp 'md5)
383 (defalias 'pop3-md5 'md5)
384 (defvar pop3-md5-program "md5"
385 "*Program to encode its input in MD5.")
386
387 (defun pop3-md5 (string)
388 (with-temp-buffer
389 (insert string)
390 (call-process-region (point-min) (point-max)
391 pop3-md5-program
392 t (current-buffer) nil)
393 ;; The meaningful output is the first 32 characters.
394 ;; Don't return the newline that follows them!
395 (buffer-substring (point-min) (+ 32 (point-min)))))))
396
397(defun pop3-stat (process) 397(defun pop3-stat (process)
398 "Return the number of messages in the maildrop and the maildrop's size." 398 "Return the number of messages in the maildrop and the maildrop's size."
399 (pop3-send-command process "STAT") 399 (pop3-send-command process "STAT")
diff --git a/lisp/gnus/rfc2047.el b/lisp/gnus/rfc2047.el
index cbb5a1fc5b0..e6461bf2627 100644
--- a/lisp/gnus/rfc2047.el
+++ b/lisp/gnus/rfc2047.el
@@ -71,7 +71,7 @@ Value is what BODY returns."
71 '(("Newsgroups" . nil) 71 '(("Newsgroups" . nil)
72 ("Followup-To" . nil) 72 ("Followup-To" . nil)
73 ("Message-ID" . nil) 73 ("Message-ID" . nil)
74 ("\\(Resent-\\)?\\(From\\|Cc\\|To\\|Bcc\\|Reply-To\\|Sender\ 74 ("\\(Resent-\\)?\\(From\\|Cc\\|To\\|Bcc\\|\\(In-\\)?Reply-To\\|Sender\
75\\|Mail-Followup-To\\|Mail-Copies-To\\|Approved\\)" . address-mime) 75\\|Mail-Followup-To\\|Mail-Copies-To\\|Approved\\)" . address-mime)
76 (t . mime)) 76 (t . mime))
77 "*Header/encoding method alist. 77 "*Header/encoding method alist.
diff --git a/lisp/gnus/spam-report.el b/lisp/gnus/spam-report.el
index edfd2e0ae73..80d422b06ab 100644
--- a/lisp/gnus/spam-report.el
+++ b/lisp/gnus/spam-report.el
@@ -43,7 +43,7 @@ If you are using spam.el, consider setting gnus-spam-process-newsgroups
43or the gnus-group-spam-exit-processor-report-gmane group/topic parameter 43or the gnus-group-spam-exit-processor-report-gmane group/topic parameter
44instead." 44instead."
45 :type '(radio (const nil) 45 :type '(radio (const nil)
46 (regexp :format "%t: %v\n" :size 0 :value "^nntp\+.*:gmane\.")) 46 (regexp :value "^nntp\+.*:gmane\."))
47 :group 'spam-report) 47 :group 'spam-report)
48 48
49(defcustom spam-report-gmane-spam-header 49(defcustom spam-report-gmane-spam-header
diff --git a/lisp/gnus/spam.el b/lisp/gnus/spam.el
index 075408b8fc7..a0b28340717 100644
--- a/lisp/gnus/spam.el
+++ b/lisp/gnus/spam.el
@@ -295,8 +295,7 @@ All unmarked article in such group receive the spam mark on group entry."
295 295
296(defcustom spam-blackhole-good-server-regex nil 296(defcustom spam-blackhole-good-server-regex nil
297 "String matching IP addresses that should not be checked in the blackholes." 297 "String matching IP addresses that should not be checked in the blackholes."
298 :type '(radio (const nil) 298 :type '(radio (const nil) regexp)
299 (regexp :format "%t: %v\n" :size 0))
300 :group 'spam) 299 :group 'spam)
301 300
302(defcustom spam-face 'gnus-splash-face 301(defcustom spam-face 'gnus-splash-face
@@ -1257,6 +1256,9 @@ functions")
1257 1256
1258;;;; Hashcash. 1257;;;; Hashcash.
1259 1258
1259(eval-when-compile
1260 (autoload 'mail-check-payment "hashcash"))
1261
1260(condition-case nil 1262(condition-case nil
1261 (progn 1263 (progn
1262 (require 'hashcash) 1264 (require 'hashcash)
@@ -1265,9 +1267,7 @@ functions")
1265 "Check the headers for hashcash payments." 1267 "Check the headers for hashcash payments."
1266 (mail-check-payment))) ;mail-check-payment returns a boolean 1268 (mail-check-payment))) ;mail-check-payment returns a boolean
1267 1269
1268 (file-error (progn 1270 (file-error))
1269 (defalias 'mail-check-payment 'ignore)
1270 (defalias 'spam-check-hashcash 'ignore))))
1271 1271
1272;;;; BBDB 1272;;;; BBDB
1273 1273
@@ -1276,66 +1276,67 @@ functions")
1276 1276
1277;; all this is done inside a condition-case to trap errors 1277;; all this is done inside a condition-case to trap errors
1278 1278
1279(condition-case nil 1279(eval-when-compile
1280 (progn 1280 (autoload 'bbdb-buffer "bbdb")
1281 (require 'bbdb) 1281 (autoload 'bbdb-create-internal "bbdb")
1282 (require 'bbdb-com) 1282 (autoload 'bbdb-search-simple "bbdb"))
1283 1283
1284 (defun spam-enter-ham-BBDB (addresses &optional remove) 1284(eval-and-compile
1285 "Enter an address into the BBDB; implies ham (non-spam) sender" 1285 (when (condition-case nil
1286 (dolist (from addresses) 1286 (progn
1287 (when (stringp from) 1287 (require 'bbdb)
1288 (let* ((parsed-address (gnus-extract-address-components from)) 1288 (require 'bbdb-com))
1289 (name (or (nth 0 parsed-address) "Ham Sender")) 1289 (file-error
1290 (remove-function (if remove 1290 (defalias 'spam-BBDB-register-routine 'ignore)
1291 'bbdb-delete-record-internal 1291 (defalias 'spam-enter-ham-BBDB 'ignore)
1292 'ignore)) 1292 nil))
1293 (net-address (nth 1 parsed-address)) 1293
1294 (record (and net-address 1294 (defun spam-enter-ham-BBDB (addresses &optional remove)
1295 (bbdb-search-simple nil net-address)))) 1295 "Enter an address into the BBDB; implies ham (non-spam) sender"
1296 (when net-address 1296 (dolist (from addresses)
1297 (gnus-message 5 "%s address %s %s BBDB" 1297 (when (stringp from)
1298 (if remove "Deleting" "Adding") 1298 (let* ((parsed-address (gnus-extract-address-components from))
1299 from 1299 (name (or (nth 0 parsed-address) "Ham Sender"))
1300 (if remove "from" "to")) 1300 (remove-function (if remove
1301 (if record 1301 'bbdb-delete-record-internal
1302 (funcall remove-function record) 1302 'ignore))
1303 (bbdb-create-internal name nil net-address nil nil 1303 (net-address (nth 1 parsed-address))
1304 "ham sender added by spam.el"))))))) 1304 (record (and net-address
1305 1305 (bbdb-search-simple nil net-address))))
1306 (defun spam-BBDB-register-routine (articles &optional unregister) 1306 (when net-address
1307 (let (addresses) 1307 (gnus-message 5 "%s address %s %s BBDB"
1308 (dolist (article articles) 1308 (if remove "Deleting" "Adding")
1309 (when (stringp (spam-fetch-field-from-fast article)) 1309 from
1310 (push (spam-fetch-field-from-fast article) addresses))) 1310 (if remove "from" "to"))
1311 ;; now do the register/unregister action 1311 (if record
1312 (spam-enter-ham-BBDB addresses unregister))) 1312 (funcall remove-function record)
1313 1313 (bbdb-create-internal name nil net-address nil nil
1314 (defun spam-BBDB-unregister-routine (articles) 1314 "ham sender added by spam.el")))))))
1315 (spam-BBDB-register-routine articles t)) 1315
1316 1316 (defun spam-BBDB-register-routine (articles &optional unregister)
1317 (defun spam-check-BBDB () 1317 (let (addresses)
1318 "Mail from people in the BBDB is classified as ham or non-spam" 1318 (dolist (article articles)
1319 (let ((who (nnmail-fetch-field "from")) 1319 (when (stringp (spam-fetch-field-from-fast article))
1320 (spam-split-group (if spam-split-symbolic-return 1320 (push (spam-fetch-field-from-fast article) addresses)))
1321 'spam 1321 ;; now do the register/unregister action
1322 spam-split-group))) 1322 (spam-enter-ham-BBDB addresses unregister)))
1323 (when who 1323
1324 (setq who (nth 1 (gnus-extract-address-components who))) 1324 (defun spam-BBDB-unregister-routine (articles)
1325 (if (bbdb-search-simple nil who) 1325 (spam-BBDB-register-routine articles t))
1326 t 1326
1327 (if spam-use-BBDB-exclusive 1327 (defun spam-check-BBDB ()
1328 spam-split-group 1328 "Mail from people in the BBDB is classified as ham or non-spam"
1329 nil)))))) 1329 (let ((who (nnmail-fetch-field "from"))
1330 1330 (spam-split-group (if spam-split-symbolic-return
1331 (file-error (progn 1331 'spam
1332 (defalias 'bbdb-search-simple 'ignore) 1332 spam-split-group)))
1333 (defalias 'spam-check-BBDB 'ignore) 1333 (when who
1334 (defalias 'spam-BBDB-register-routine 'ignore) 1334 (setq who (nth 1 (gnus-extract-address-components who)))
1335 (defalias 'spam-enter-ham-BBDB 'ignore) 1335 (if (bbdb-search-simple nil who)
1336 (defalias 'bbdb-create-internal 'ignore) 1336 t
1337 (defalias 'bbdb-delete-record-internal 'ignore) 1337 (if spam-use-BBDB-exclusive
1338 (defalias 'bbdb-records 'ignore)))) 1338 spam-split-group
1339 nil)))))))
1339 1340
1340 1341
1341;;;; ifile 1342;;;; ifile
@@ -1411,66 +1412,63 @@ Uses `gnus-newsgroup-name' if category is nil (for ham registration)."
1411 1412
1412;;;; spam-stat 1413;;;; spam-stat
1413 1414
1414(condition-case nil 1415(eval-when-compile
1415 (progn 1416 (autoload 'spam-stat-buffer-change-to-non-spam "spam-stat")
1416 (let ((spam-stat-install-hooks nil)) 1417 (autoload 'spam-stat-buffer-change-to-spam "spam-stat")
1417 (require 'spam-stat)) 1418 (autoload 'spam-stat-buffer-is-non-spam "spam-stat")
1418 1419 (autoload 'spam-stat-buffer-is-spam "spam-stat")
1419 (defun spam-check-stat () 1420 (autoload 'spam-stat-load "spam-stat")
1420 "Check the spam-stat backend for the classification of this message" 1421 (autoload 'spam-stat-save "spam-stat")
1421 (let ((spam-split-group (if spam-split-symbolic-return 1422 (autoload 'spam-stat-split-fancy "spam-stat"))
1422 'spam 1423
1423 spam-split-group)) 1424(eval-and-compile
1424 (spam-stat-split-fancy-spam-group spam-split-group) ; override 1425 (when (condition-case nil
1425 (spam-stat-buffer (buffer-name)) ; stat the current buffer 1426 (let ((spam-stat-install-hooks nil))
1426 category return) 1427 (require 'spam-stat))
1427 (spam-stat-split-fancy))) 1428 (file-error
1428 1429 (defalias 'spam-stat-register-ham-routine 'ignore)
1429 (defun spam-stat-register-spam-routine (articles &optional unregister) 1430 (defalias 'spam-stat-register-spam-routine 'ignore)
1430 (dolist (article articles) 1431 nil))
1431 (let ((article-string (spam-get-article-as-string article))) 1432
1432 (with-temp-buffer 1433 (defun spam-check-stat ()
1433 (insert article-string) 1434 "Check the spam-stat backend for the classification of this message"
1434 (if unregister 1435 (let ((spam-split-group (if spam-split-symbolic-return
1435 (spam-stat-buffer-change-to-non-spam) 1436 'spam
1437 spam-split-group))
1438 (spam-stat-split-fancy-spam-group spam-split-group) ; override
1439 (spam-stat-buffer (buffer-name)) ; stat the current buffer
1440 category return)
1441 (spam-stat-split-fancy)))
1442
1443 (defun spam-stat-register-spam-routine (articles &optional unregister)
1444 (dolist (article articles)
1445 (let ((article-string (spam-get-article-as-string article)))
1446 (with-temp-buffer
1447 (insert article-string)
1448 (if unregister
1449 (spam-stat-buffer-change-to-non-spam)
1436 (spam-stat-buffer-is-spam)))))) 1450 (spam-stat-buffer-is-spam))))))
1437 1451
1438 (defun spam-stat-unregister-spam-routine (articles) 1452 (defun spam-stat-unregister-spam-routine (articles)
1439 (spam-stat-register-spam-routine articles t)) 1453 (spam-stat-register-spam-routine articles t))
1440 1454
1441 (defun spam-stat-register-ham-routine (articles &optional unregister) 1455 (defun spam-stat-register-ham-routine (articles &optional unregister)
1442 (dolist (article articles) 1456 (dolist (article articles)
1443 (let ((article-string (spam-get-article-as-string article))) 1457 (let ((article-string (spam-get-article-as-string article)))
1444 (with-temp-buffer 1458 (with-temp-buffer
1445 (insert article-string) 1459 (insert article-string)
1446 (if unregister 1460 (if unregister
1447 (spam-stat-buffer-change-to-spam) 1461 (spam-stat-buffer-change-to-spam)
1448 (spam-stat-buffer-is-non-spam)))))) 1462 (spam-stat-buffer-is-non-spam))))))
1449 1463
1450 (defun spam-stat-unregister-ham-routine (articles) 1464 (defun spam-stat-unregister-ham-routine (articles)
1451 (spam-stat-register-ham-routine articles t)) 1465 (spam-stat-register-ham-routine articles t))
1452 1466
1453 (defun spam-maybe-spam-stat-load () 1467 (defun spam-maybe-spam-stat-load ()
1454 (when spam-use-stat (spam-stat-load))) 1468 (when spam-use-stat (spam-stat-load)))
1455 1469
1456 (defun spam-maybe-spam-stat-save () 1470 (defun spam-maybe-spam-stat-save ()
1457 (when spam-use-stat (spam-stat-save)))) 1471 (when spam-use-stat (spam-stat-save)))))
1458
1459 (file-error (progn
1460 (defalias 'spam-stat-load 'ignore)
1461 (defalias 'spam-stat-save 'ignore)
1462 (defalias 'spam-maybe-spam-stat-load 'ignore)
1463 (defalias 'spam-maybe-spam-stat-save 'ignore)
1464 (defalias 'spam-stat-register-ham-routine 'ignore)
1465 (defalias 'spam-stat-unregister-ham-routine 'ignore)
1466 (defalias 'spam-stat-register-spam-routine 'ignore)
1467 (defalias 'spam-stat-unregister-spam-routine 'ignore)
1468 (defalias 'spam-stat-buffer-is-spam 'ignore)
1469 (defalias 'spam-stat-buffer-change-to-spam 'ignore)
1470 (defalias 'spam-stat-buffer-is-non-spam 'ignore)
1471 (defalias 'spam-stat-buffer-change-to-non-spam 'ignore)
1472 (defalias 'spam-stat-split-fancy 'ignore)
1473 (defalias 'spam-check-stat 'ignore))))
1474 1472
1475 1473
1476 1474