(message-user-agent): Don't wrap ignore-errors around
[gnus] / lisp / message.el
index 4c60687..a919ddf 100644 (file)
@@ -35,6 +35,9 @@
   (defvar gnus-list-identifiers))      ; gnus-sum is required where necessary
 (require 'mailheader)
 (require 'nnheader)
+;; This is apparently necessary even though things are autoloaded:
+(if (featurep 'xemacs)
+    (require 'mail-abbrevs))
 (require 'mail-parse)
 (require 'mml)
 
@@ -620,13 +623,10 @@ actually occur."
   :group 'message-sending
   :type 'sexp)
 
-;; Ignore errors in case this is used in Emacs 19.
-;; Don't use ignore-errors because this is copied into loaddefs.el.
 ;;;###autoload
-(ignore-errors
-  (define-mail-user-agent 'message-user-agent
-    'message-mail 'message-send-and-exit
-    'message-kill-buffer 'message-send-hook))
+(define-mail-user-agent 'message-user-agent
+  'message-mail 'message-send-and-exit
+  'message-kill-buffer 'message-send-hook)
 
 (defvar message-mh-deletable-headers '(Message-ID Date Lines Sender)
   "If non-nil, delete the deletable headers before feeding to mh.")
@@ -2294,13 +2294,16 @@ It should typically alter the sending method in some way or other."
          ;; require one newline at the end.
          (or (= (preceding-char) ?\n)
              (insert ?\n))
-         (when (and news
+         (when 
+             (save-restriction
+               (message-narrow-to-headers)
+               (and news
                     (or (message-fetch-field "cc")
                         (message-fetch-field "to"))
                     (string= "text/plain"
                              (car
                               (mail-header-parse-content-type
-                               (message-fetch-field "content-type")))))
+                               (message-fetch-field "content-type"))))))
            (message-insert-courtesy-copy))
          (if (or (not message-send-mail-partially-limit)
                  (< (point-max) message-send-mail-partially-limit)