(shr-overlays-in-region): Compute overlay positions correctly.
authorLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Tue, 5 Oct 2010 19:43:06 +0000 (21:43 +0200)
committerLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Tue, 5 Oct 2010 19:43:06 +0000 (21:43 +0200)
lisp/ChangeLog
lisp/shr.el

index c54f3fc..bdb6076 100644 (file)
@@ -3,6 +3,7 @@
        * shr.el (shr-tag-img): Shorten ALT texts and allow them to be
        line-broken.
        (shr-tag-img): Ignore image fetching errors.
+       (shr-overlays-in-region): Compute overlay positions correctly.
 
        * mm-decode.el (mm-shr): Require shr.
 
index a0b9680..2d5d4d6 100644 (file)
@@ -555,8 +555,12 @@ Return a string with image data."
 (defun shr-overlays-in-region (start end)
   (let (result)
     (dolist (overlay (overlays-in start end))
-      (push (list (max start (- end (overlay-start overlay)))
-                 (min end (- end (overlay-end overlay) start))
+      (push (list (if (> start (overlay-start overlay))
+                     (- end start)
+                   (- end (overlay-start overlay)))
+                 (if (< end (overlay-end overlay))
+                     0
+                   (- end (overlay-end overlay)))
                  (overlay-properties overlay))
            result))
     (nreverse result)))