Remove nnml-retrieve-groups that is unnecessary and somewhat problematic
[gnus] / lisp / mm-decode.el
index 3fdcdba..327b0e6 100644 (file)
@@ -31,9 +31,6 @@
 (autoload 'gnus-replace-in-string "gnus-util")
 (autoload 'gnus-read-shell-command "gnus-util")
 
-(autoload 'gnus-overlays-at "gnus")
-(autoload 'gnus-overlay-put "gnus")
-
 (autoload 'mm-inline-partial "mm-partial")
 (autoload 'mm-inline-external-body "mm-extern")
 (autoload 'mm-extern-cache-contents "mm-extern")
@@ -791,6 +788,14 @@ MIME-Version header before proceeding."
 (autoload 'mailcap-parse-mailcaps "mailcap")
 (autoload 'mailcap-mime-info "mailcap")
 
+(defun mm-head-p (&optional point)
+  "Return non-nil if point is in the article header."
+  (let ((point (or point (point))))
+    (save-excursion
+      (goto-char point)
+      (and (not (re-search-backward "^$" nil t))
+          (re-search-forward "^$" nil t)))))
+
 (defun mm-display-part (handle &optional no-default force)
   "Display the MIME part represented by HANDLE.
 Returns nil if the part is removed; inline if displayed inline;
@@ -824,6 +829,10 @@ external if displayed external."
          'inline)
         ((and (mm-inlinable-p ehandle)
               (mm-inlined-p ehandle))
+         (when force
+           (if (mm-head-p)
+               (re-search-forward "^$" nil t)
+             (forward-line 1)))
          (mm-display-inline handle)
          'inline)
         ((or method
@@ -846,7 +855,7 @@ external if displayed external."
                                      (concat
                                       "using external program \""
                                       (format method filename) "\"")
-                                   (format
+                                   (gnus-format-message
                                     "by calling `%s' on the contents)" method))
                                  "? "))))))
            (if external
@@ -1410,7 +1419,7 @@ Return t if meta tag is added or replaced."
        (goto-char (point-min))
        (if (re-search-forward "\
 <meta\\s-+http-equiv=[\"']?content-type[\"']?\\s-+content=[\"']\
-text/\\(\\sw+\\)\\(?:\;\\s-*charset=\\([^\"'>]+\\)\\)?[^>]*>" nil t)
+text/\\(\\sw+\\)\\(?:;\\s-*charset=\\([^\"'>]+\\)\\)?[^>]*>" nil t)
            (if (and (not force-charset)
                     (match-beginning 2)
                     (string-match "\\`html\\'" (match-string 1)))
@@ -1815,7 +1824,7 @@ If RECURSIVE, search recursively."
              (not (mm-long-lines-p 76))))))
 
 (declare-function libxml-parse-html-region "xml.c"
-                 (start end &optional base-url))
+                 (start end &optional base-url discard-comments))
 (declare-function shr-insert-document "shr" (dom))
 (defvar shr-blocked-images)
 (defvar shr-use-fonts)
@@ -1883,7 +1892,7 @@ If RECURSIVE, search recursively."
        handle
        `(lambda ()
          (let ((inhibit-read-only t))
-           (delete-region ,(copy-marker (point-min) t)
+           (delete-region ,(point-min-marker)
                           ,(point-max-marker))))))))
 
 (defvar shr-map)
@@ -1903,8 +1912,8 @@ If RECURSIVE, search recursively."
         :keymap shr-map
         (get-text-property start 'shr-url))
        (put-text-property start end 'local-map nil)
-       (dolist (overlay (gnus-overlays-at start))
-         (gnus-overlay-put overlay 'face nil))
+       (dolist (overlay (overlays-at start))
+         (overlay-put overlay 'face nil))
        (setq start end)))))
 
 (defun mm-handle-filename (handle)