]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix HTML target marking in shr
authorLars Ingebrigtsen <larsi@gnus.org>
Sat, 22 Jan 2022 12:14:36 +0000 (13:14 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Sat, 22 Jan 2022 12:14:43 +0000 (13:14 +0100)
* lisp/net/shr.el (shr-descend): Use a marker (because we may be
altering the text later for indentation), and mark the start, not
the end of the tag (bug#53409).
(shr-tag-a): Ditto.

lisp/net/shr.el

index ff14acfda7074d460ee042c6c9df370fbece0d71..6e0af06bed1d1b08929c709320e1f8a6e1b4b2aa 100644 (file)
@@ -630,7 +630,7 @@ size, and full-buffer size."
               (t
                (shr-generic dom)))
         (when-let ((id (dom-attr dom 'id)))
-          (push (cons id (point)) shr--link-targets))
+          (push (cons id (set-marker (make-marker) start)) shr--link-targets))
        ;; If style is set, then this node has set the color.
        (when style
          (shr-colorize-region
@@ -1465,7 +1465,7 @@ ones, in case fg and bg are nil."
     (shr-generic dom)
     (when-let* ((id (and (not (dom-attr dom 'id)) ; Handled by `shr-descend'.
                          (dom-attr dom 'name)))) ; Obsolete since HTML5.
-      (push (cons id (point)) shr--link-targets))
+      (push (cons id (set-marker (make-marker) start)) shr--link-targets))
     (when url
       (shr-urlify (or shr-start start) (shr-expand-url url) title)
       ;; Check whether the URL is suspicious.