mm-decode.el: Allow using variable-width fonts in eww
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 10 Feb 2015 06:53:06 +0000 (06:53 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Tue, 10 Feb 2015 06:53:06 +0000 (06:53 +0000)
lisp/ChangeLog
lisp/mm-decode.el

index 33c2f22..30c8180 100644 (file)
@@ -1,3 +1,15 @@
+2015-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * mm-decode.el (mm-shr): Only pass the fill column when not using
+       fonts, because limiting the width to what's appropriate for followups
+       doesn't really help when not using proportional fonts.
+
+2015-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * mm-decode.el (mm-convert-shr-links): Don't overwrite the faces from
+       shr, beacause that breaks folding.
+       (mm-shr): Don't shorten the width when using fonts.
+
 2015-02-05  Teodor Zlatanov  <tzz@lifelogs.com>
 
        * gnus-start.el (gnus-save-newsrc-file-check-timestamp): Remove
index 311ea7c..6c783bb 100644 (file)
@@ -1815,6 +1815,7 @@ If RECURSIVE, search recursively."
                  (start end &optional base-url))
 (declare-function shr-insert-document "shr" (dom))
 (defvar shr-blocked-images)
+(defvar shr-use-fonts)
 (defvar gnus-inhibit-images)
 (autoload 'gnus-blocked-images "gnus-art")
 
@@ -1822,7 +1823,10 @@ If RECURSIVE, search recursively."
   ;; Require since we bind its variables.
   (require 'shr)
   (let ((article-buffer (current-buffer))
-       (shr-width fill-column)
+       (shr-width (if (and (boundp 'shr-use-fonts)
+                           shr-use-fonts)
+                      nil
+                    fill-column))
        (shr-content-function (lambda (id)
                                (let ((handle (mm-get-content-id id)))
                                  (when handle
@@ -1890,12 +1894,15 @@ If RECURSIVE, search recursively."
                (< start (point-max)))
       (when (setq start (text-property-not-all start (point-max) 'shr-url nil))
        (setq end (next-single-property-change start 'shr-url nil (point-max)))
+       (setq face (get-text-property start 'face))
        (widget-convert-button
         'url-link start end
         :help-echo (get-text-property start 'help-echo)
         :keymap shr-map
         (get-text-property start 'shr-url))
        (put-text-property start end 'local-map nil)
+       (dolist (overlay (overlays-at start))
+         (overlay-put overlay 'face nil))
        (setq start end)))))
 
 (defun mm-handle-filename (handle)