Merge changes made in Gnus trunk.
[bpt/emacs.git] / lisp / gnus / message.el
index 243e0dd..546f13a 100644 (file)
@@ -160,8 +160,6 @@ If this variable is nil, no such courtesy message will be added."
   :type 'regexp)
 
 (defcustom message-from-style mail-from-style
-;; Default to the value of `mail-from-style', available in all Emacsen
-;; that Gnus supports.
   "*Specifies how \"From\" headers look.
 
 If nil, they contain just the return address like:
@@ -285,7 +283,7 @@ This is a list of regexps and regexp matches."
   :link '(custom-manual "(message)Mail Headers")
   :type 'regexp)
 
-(defcustom message-ignored-supersedes-headers "^Path:\\|^Date\\|^NNTP-Posting-Host:\\|^Xref:\\|^Lines:\\|^Received:\\|^X-From-Line:\\|^X-Trace:\\|^X-ID:\\|^X-Complaints-To:\\|Return-Path:\\|^Supersedes:\\|^NNTP-Posting-Date:\\|^X-Trace:\\|^X-Complaints-To:\\|^Cancel-Lock:\\|^Cancel-Key:\\|^X-Hashcash:\\|^X-Payment:\\|^Approved:"
+(defcustom message-ignored-supersedes-headers "^Path:\\|^Date\\|^NNTP-Posting-Host:\\|^Xref:\\|^Lines:\\|^Received:\\|^X-From-Line:\\|^X-Trace:\\|^X-ID:\\|^X-Complaints-To:\\|Return-Path:\\|^Supersedes:\\|^NNTP-Posting-Date:\\|^X-Trace:\\|^X-Complaints-To:\\|^Cancel-Lock:\\|^Cancel-Key:\\|^X-Hashcash:\\|^X-Payment:\\|^Approved:\\|^Injection-Date:\\|^Injection-Info:"
   "*Header lines matching this regexp will be deleted before posting.
 It's best to delete old Path and Date headers before posting to avoid
 any confusion."
@@ -446,8 +444,6 @@ whitespace)."
   :group 'message-various)
 
 (defcustom message-interactive mail-interactive
-;; Default to the value of `mail-interactive', available in all Emacsen
-;; that Gnus supports.
   "Non-nil means when sending a message wait for and display errors.
 A value of nil means let mailer mail back a message to report errors."
   :version "23.2"
@@ -625,30 +621,9 @@ Done before generating the new subject of a forward."
   :link '(custom-manual "(message)Insertion Variables")
   :type 'regexp)
 
-(defcustom message-cite-prefix-regexp
-  ;; Default to the value of `mail-citation-prefix-regexp' if available.
-  ;; Note: as for Emacs 21, XEmacs 21.4 and 21.5, it is unavailable
-  ;; unless sendmail.el is loaded.
-  (cond ((boundp 'mail-citation-prefix-regexp)
-        mail-citation-prefix-regexp)
-       ((string-match "[[:digit:]]" "1")
-        ;; Support POSIX?  XEmacs 21.5.27 doesn't.
-        "\\([ \t]*[_.[:word:]]+>+\\|[ \t]*[]>|}]\\)+")
-       (t
-        ;; ?-, ?_ or ?. MUST NOT be in syntax entry w.
-        (let (non-word-constituents)
-          (with-syntax-table text-mode-syntax-table
-            (setq non-word-constituents
-                  (concat
-                   (if (string-match "\\w" "_")  "" "_")
-                   (if (string-match "\\w" ".")  "" "."))))
-          (if (equal non-word-constituents "")
-              "\\([ \t]*\\(\\w\\)+>+\\|[ \t]*[]>|}]\\)+"
-            (concat "\\([ \t]*\\(\\w\\|["
-                    non-word-constituents
-                    "]\\)+>+\\|[ \t]*[]>|}]\\)+")))))
+(defcustom message-cite-prefix-regexp mail-citation-prefix-regexp
   "*Regexp matching the longest possible citation prefix on a line."
-  :version "23.2"
+  :version "24.1"
   :group 'message-insertion
   :link '(custom-manual "(message)Insertion Variables")
   :type 'regexp
@@ -840,9 +815,7 @@ Doing so would be even more evil than leaving it out."
   :type 'boolean)
 
 (defcustom message-sendmail-envelope-from
-  ;; Default to the value of `mail-envelope-from' if available.
-  ;; Note: as for Emacsen that Gnus supports, except for SXEmacs, it is
-  ;; unavailable unless sendmail.el is loaded.
+  ;; `mail-envelope-from' is unavailable unless sendmail.el is loaded.
   (if (boundp 'mail-envelope-from) mail-envelope-from)
   "*Envelope-from when sending mail with sendmail.
 If this is nil, use `user-mail-address'.  If it is the symbol
@@ -1020,10 +993,7 @@ Please also read the note in the documentation of
   :version "23.1" ;; No Gnus
   :group 'message-insertion)
 
-(defcustom message-yank-prefix
-  ;; Default to the value of `mail-yank-prefix' if available.
-  ;; Note: as for Emacs 21, it is unavailable unless sendmail.el is loaded.
-  (if (boundp 'mail-yank-prefix) mail-yank-prefix "> ")
+(defcustom message-yank-prefix mail-yank-prefix
   "*Prefix inserted on the lines of yanked messages.
 Fix `message-cite-prefix-regexp' if it is set to an abnormal value.
 See also `message-yank-cited-prefix' and `message-yank-empty-prefix'."
@@ -1049,11 +1019,7 @@ See also `message-yank-prefix' and `message-yank-cited-prefix'."
   :link '(custom-manual "(message)Insertion Variables")
   :group 'message-insertion)
 
-(defcustom message-indentation-spaces
-  ;; Default to the value of `mail-indentation-spaces' if available.
-  ;; Note: as for Emacs 21, XEmacs 21.4 and 21.5, it is unavailable
-  ;; unless sendmail.el is loaded.
-  (if (boundp 'mail-indentation-spaces) mail-indentation-spaces 3)
+(defcustom message-indentation-spaces mail-indentation-spaces
   "*Number of spaces to insert at the beginning of each cited line.
 Used by `message-yank-original' via `message-yank-cite'."
   :version "23.2"
@@ -1084,8 +1050,6 @@ point and mark around the citation text as modified."
   :group 'message-insertion)
 
 (defcustom message-signature mail-signature
-  ;; Default to the value of `mail-signature', available in all Emacsen
-  ;; that Gnus supports.
   "*String to be inserted at the end of the message buffer.
 If t, the `message-signature-file' file will be inserted instead.
 If a function, the result from the function will be used instead.
@@ -1095,11 +1059,7 @@ If a form, the result from the form will be used instead."
   :link '(custom-manual "(message)Insertion Variables")
   :group 'message-insertion)
 
-(defcustom message-signature-file
-  ;; Default to the value of `mail-signature-file' if available.
-  ;; Note: as for Emacs 21, XEmacs 21.4 and 21.5, it is unavailable
-  ;; unless sendmail.el is loaded.
-  (if (boundp 'mail-signature-file) mail-signature-file "~/.signature")
+(defcustom message-signature-file mail-signature-file
   "*Name of file containing the text inserted at end of message buffer.
 Ignored if the named file doesn't exist.
 If nil, don't insert a signature.
@@ -1198,8 +1158,8 @@ these lines."
                   (stringp mail-archive-file-name))
              (format "FCC: %s\n" mail-archive-file-name))
          ;; Use the value of `mail-default-headers' if available.
-         ;; Note: as for Emacs 21, XEmacs 21.4 and 21.5, it is
-         ;; unavailable unless sendmail.el is loaded.
+         ;; Note: as for XEmacs 21.4 and 21.5, it is unavailable
+         ;; unless sendmail.el is loaded.
          (if (boundp 'mail-default-headers)
              mail-default-headers))
   "*A string of header lines to be inserted in outgoing mails."
@@ -5776,7 +5736,9 @@ subscribed address (and not the additional To and Cc header contents)."
                (mapcar (lambda (rhs) (or (cadr (split-string rhs "@")) ""))
                        (mapcar 'downcase
                                (mapcar
-                                'cadr
+                                (lambda (elem)
+                                  (or (cadr elem)
+                                      ""))
                                 (mail-extract-address-components field t))))))
        ;; Note that `rhs' will be "" if the address does not have
        ;; the domain part, i.e., if it is a local user's address.
@@ -6089,6 +6051,7 @@ If the current line has `message-yank-prefix', insert it on the new line."
 When sending via news, also check that the REFERENCES are less
 than 988 characters long, and if they are not, trim them until
 they are."
+  ;; 21 is the number suggested by USEAGE.
   (let ((maxcount 21)
        (count 0)
        (cut 2)