Only strip whitespace from too-wide lines in shr
authorLars Ingebrigtsen <larsi@gnus.org>
Tue, 7 Feb 2012 20:14:31 +0000 (21:14 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Tue, 7 Feb 2012 20:14:52 +0000 (21:14 +0100)
* shr.el (shr-remove-trailing-whitespace): Don't strip whitespace from
lines that are narrower than the window width.  Otherwise background
"blocks" will look less readable.

lisp/ChangeLog
lisp/shr.el

index dc84593..217fde6 100644 (file)
@@ -1,3 +1,9 @@
+2012-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * shr.el (shr-remove-trailing-whitespace): Don't strip whitespace from
+       lines that are narrower than the window width.  Otherwise background
+       "blocks" will look less readable.
+
 2012-02-07  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-sum.el (gnus-summary-show-thread): Revert last two changes.
index deaef1d..7af8e31 100644 (file)
@@ -153,16 +153,17 @@ DOM should be a parse tree as generated by
     (shr-remove-trailing-whitespace start (point))))
 
 (defun shr-remove-trailing-whitespace (start end)
-  (save-restriction
-    (narrow-to-region start end)
-    (delete-trailing-whitespace)
-    (goto-char start)
-    (while (not (eobp))
-      (end-of-line)
-      (dolist (overlay (overlays-at (point)))
-       (when (overlay-get overlay 'before-string)
-         (overlay-put overlay 'before-string nil)))
-      (forward-line 1))))
+  (let ((width (window-width)))
+    (save-restriction
+      (narrow-to-region start end)
+      (goto-char start)
+      (while (not (eobp))
+       (end-of-line)
+       (when (> (current-column) width)
+         (dolist (overlay (overlays-at (point)))
+           (when (overlay-get overlay 'before-string)
+             (overlay-put overlay 'before-string nil))))
+       (forward-line 1)))))
 
 (defun shr-copy-url ()
   "Copy the URL under point to the kill ring.