+2010-10-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * shr.el (shr-insert-document): Autoload.
+ (shr-img): Be silent.
+
+ * mm-decode.el (mm-text-html-renderer): Default to shr.el rendering, if
+ possible.
+ (mm-shr): New function.
+
2010-10-02 Julien Danjou <julien@danjou.info>
* gnus-gravatar.el (gnus-gravatar-insert): Adjust character where we
,disposition ,description ,cache ,id))
(defcustom mm-text-html-renderer
- (cond ((executable-find "w3m") 'gnus-article-html)
+ (cond ((fboundp 'libxml-parse-html-region) 'mm-shr)
+ ((executable-find "w3m") 'gnus-article-html)
((executable-find "links") 'links)
((executable-find "lynx") 'lynx)
((locate-library "w3") 'w3)
(and (eq (mm-body-7-or-8) '7bit)
(not (mm-long-lines-p 76))))))
+(defun mm-shr (handle)
+ (let ((article-buffer (current-buffer)))
+ (unless handle
+ (setq handle (mm-dissect-buffer t)))
+ (shr-insert-document
+ (mm-with-part handle
+ (libxml-parse-html-region (point-min) (point-max))))))
+
(provide 'mm-decode)
;;; mm-decode.el ends here
(push (shr-transform-dom sub) result)))
(nreverse result)))
+;;;###autoload
(defun shr-insert-document (dom)
- (setq dom (shr-transform-dom dom))
- (shr-descend dom))
+ (shr-descend (shr-transform-dom dom)))
(defun shr-descend (dom)
(let ((function (intern (concat "shr-" (symbol-name (car dom))) obarray)))
(t
(insert alt)
(url-retrieve url 'shr-image-fetched
- (list (current-buffer) start (point-marker)))))
+ (list (current-buffer) start (point-marker))
+ t)))
(insert " "))))
(defun shr-image-fetched (status buffer start end)