:group 'gnus-article-hiding)
 
 (defcustom gnus-visible-headers
-  "From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^\\(Mail-\\)?Followup-To:\\|^\\(Mail-\\)?Reply-To:\\|^Mail-Copies-To:\\|^Organization:\\|^Summary:\\|^Keywords:\\|^To:\\|^Cc:\\|^Posted-To:\\|^Apparently-To:\\|^Gnus-Warning:\\|^Resent-From:\\|X-Sent:"
+  "From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^Followup-To:\\|^Reply-To:\\|^Organization:\\|^Summary:\\|^Keywords:\\|^To:\\|^Cc:\\|^Posted-To:\\|^Mail-Copies-To:\\|^Apparently-To:\\|^Gnus-Warning:\\|^Resent-From:\\|X-Sent:"
   "*All headers that do not match this regexp will be hidden.
 This variable can also be a list of regexp of headers to remain visible.
 If this variable is non-nil, `gnus-ignored-headers' will be ignored."
                       from reply-to
                       (ignore-errors
                         (equal
-                         (nth 1 (funcall gnus-extract-address-components from))
-                         (nth 1 (funcall gnus-extract-address-components reply-to)))))
+                         (nth 1 (mail-extract-address-components from))
+                         (nth 1 (mail-extract-address-components reply-to)))))
                  (gnus-article-hide-header "reply-to"))))
             ((eq elem 'date)
              (let ((date (message-fetch-field "date")))
 
              (search-forward "\n\n")
              (forward-char -1)
              (insert mail-header-separator)
-             (setq message-user-agent (gnus-extended-version))
+             (setq message-newsreader (setq message-mailer
+                                            (gnus-extended-version)))
              (cond
               ((string= (gnus-soup-reply-kind (car replies)) "news")
                (gnus-message 5 "Sending news message to %s..."
 
 (require 'gnus-range)
 (require 'gnus-int)
 (require 'gnus-undo)
-(require 'gnus-util)
 (require 'mime-view)
 
 (autoload 'gnus-summary-limit-include-cached "gnus-cache" nil t)
 (defsubst gnus-nov-parse-line (number dependencies &optional force-new)
   (let ((eol (gnus-point-at-eol))
        (buffer (current-buffer))
-       header rawtext decoded)
+       header)
 
     ;; overview: [num subject from date id refs chars lines misc]
     (unwind-protect
          (setq header
                (make-full-mail-header
                 number                 ; number
-                (progn
-                  (setq rawtext (gnus-nov-field) ; subject
-                        decoded (funcall
-                                 gnus-unstructured-field-decoder rawtext))
-                  (if (string= rawtext decoded)
-                      rawtext
-                    (put-text-property 0 (length decoded) 'raw-text rawtext decoded)
-                    decoded))
-                (progn
-                  (setq rawtext (gnus-nov-field) ; from
-                        decoded (funcall
-                                 gnus-structured-field-decoder rawtext))
-                  (if (string= rawtext decoded)
-                      rawtext
-                    (put-text-property 0 (length decoded) 'raw-text rawtext decoded)
-                    decoded))
+                (funcall
+                 gnus-unstructured-field-decoder (gnus-nov-field)) ; subject
+                (funcall
+                 gnus-structured-field-decoder (gnus-nov-field)) ; from
                 (gnus-nov-field)       ; date
                 (or (gnus-nov-field)
                     (nnheader-generate-fake-message-id)) ; id
       (subst-char-in-region (point-min) (point-max) ?\t ?  t)
       (gnus-run-hooks 'gnus-parse-headers-hook)
       (let ((case-fold-search t)
-           rawtext decoded
            in-reply-to header p lines chars)
        (goto-char (point-min))
        ;; Search to the beginning of the next header.  Error messages
            (progn
              (goto-char p)
              (if (search-forward "\nsubject: " nil t)
-                 (progn
-                   (setq rawtext (nnheader-header-value)
-                         decoded (funcall
-                                  gnus-unstructured-field-decoder rawtext))
-                   (if (string-equal rawtext decoded)
-                       rawtext
-                     (put-text-property 0 (length decoded) 'raw-text rawtext decoded)
-                     decoded))
+                 (funcall
+                  gnus-unstructured-field-decoder (nnheader-header-value))
                "(none)"))
            ;; From.
            (progn
              (goto-char p)
              (if (search-forward "\nfrom: " nil t)
-                 (progn
-                   (setq rawtext (nnheader-header-value)
-                         decoded (funcall
-                                  gnus-structured-field-decoder rawtext))
-                   (if (string-equal rawtext decoded)
-                       rawtext
-                     (put-text-property 0 (length decoded) 'raw-text rawtext decoded)
-                     decoded))
+                 (funcall
+                  gnus-structured-field-decoder (nnheader-header-value))
                "(nobody)"))
            ;; Date.
            (progn