X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fmm-decode.el;h=8076b2ea06db2a80093d49f25df560db1636fefe;hb=789c31bee0f2558e907a9d174afae38fc44092d6;hp=5f5d06d4d8a599db584d7002f56c97f222432771;hpb=dbe766e74ab0e0764730d3560b372e3d14b6393c;p=gnus diff --git a/lisp/mm-decode.el b/lisp/mm-decode.el index 5f5d06d4d..8076b2ea0 100644 --- a/lisp/mm-decode.el +++ b/lisp/mm-decode.el @@ -1,6 +1,6 @@ ;;; mm-decode.el --- Functions for decoding MIME things -;; Copyright (C) 1998-2012 Free Software Foundation, Inc. +;; Copyright (C) 1998-2012 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; MORIOKA Tomohiko @@ -29,7 +29,6 @@ (require 'mail-parse) (require 'mm-bodies) -(require 'mm-archive) (eval-when-compile (require 'cl) (require 'term)) @@ -42,6 +41,10 @@ (autoload 'mm-extern-cache-contents "mm-extern") (autoload 'mm-insert-inline "mm-view") +(autoload 'mm-archive-decoders "mm-archive") +(autoload 'mm-archive-dissect-and-inline "mm-archive") +(autoload 'mm-dissect-archive "mm-archive") + (defvar gnus-current-window-configuration) (add-hook 'gnus-exit-gnus-hook 'mm-destroy-postponed-undisplay-list) @@ -278,7 +281,8 @@ before the external MIME handler is invoked." (ignore-errors (if (fboundp 'create-image) (create-image (buffer-string) 'imagemagick 'data-p) - (mm-create-image-xemacs (mm-handle-media-subtype handle)))))) + (mm-create-image-xemacs + (mm-handle-media-subtype handle)))))) (when image (setcar (cdr handle) (list "image/imagemagick")) (mm-image-fit-p handle))))))) @@ -573,7 +577,9 @@ Postpone undisplaying of viewers for types in (autoload 'message-fetch-field "message") (defun mm-dissect-buffer (&optional no-strict-mime loose-mime from) - "Dissect the current buffer and return a list of MIME handles." + "Dissect the current buffer and return a list of MIME handles. +If NO-STRICT-MIME, don't require the message to have a +MIME-Version header before proceeding." (save-excursion (let (ct ctl type subtype cte cd description id result) (save-restriction @@ -671,7 +677,7 @@ Postpone undisplaying of viewers for types in (let ((handle (mm-make-handle (mm-copy-to-buffer) ctl cte nil cdl description nil id)) - (decoder (assoc (car ctl) mm-archive-decoders))) + (decoder (assoc (car ctl) (mm-archive-decoders)))) (if (and decoder ;; Do automatic decoding (cadr decoder) @@ -1508,7 +1514,7 @@ be determined." (let ((image (mm-get-image handle))) (or (not image) (if (featurep 'xemacs) - ;; XEmacs' glyphs can actually tell us about their width, so + ;; XEmacs's glyphs can actually tell us about their width, so ;; let's be nice and smart about them. (or mm-inline-large-images (and (<= (glyph-width image) (window-pixel-width)) @@ -1772,6 +1778,10 @@ If RECURSIVE, search recursively." (string-to-number (match-string 2))) mm-extra-numeric-entities))) (replace-match (char-to-string char)))) + ;; Remove "soft hyphens". + (goto-char (point-min)) + (while (search-forward "­" nil t) + (replace-match "" t t)) (libxml-parse-html-region (point-min) (point-max)))) (unless (bobp) (insert "\n"))