From: Lars Ingebrigtsen Date: Sat, 19 Sep 2020 17:11:09 +0000 (+0200) Subject: Fix problem with spurious extra paragraphs in shr X-Git-Tag: emacs-28.0.90~6002 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7222e975be8d3d128086ed49506aa5bd8fccfae5;p=emacs.git Fix problem with spurious extra paragraphs in shr * lisp/net/shr.el (shr-ensure-paragraph): Don't regard
(empty placeholders) as occupying any space (bug#43510). --- diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 6517596130c..1f53bc4016d 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -555,7 +555,7 @@ size, and full-buffer size." ;; If the element was empty, we don't have anything to put the ;; anchor on. So just insert a dummy character. (when (= start (point)) - (insert ?*) + (insert ? ) (put-text-property (1- (point)) (point) 'display "")) (put-text-property start (1+ start) 'shr-target-id id)) ;; If style is set, then this node has set the color. @@ -932,6 +932,22 @@ size, and full-buffer size." (looking-at " *$"))) ;; We're already at a new paragraph; do nothing. ) + ((and (not (bolp)) + (save-excursion + (beginning-of-line) + (looking-at " *$")) + (save-excursion + (forward-line -1) + (looking-at " *$")) + ;; Check all chars on the current line and see whether + ;; they're all placeholders. + (cl-loop for pos from (line-beginning-position) upto (1- (point)) + unless (get-text-property pos 'shr-target-id) + return nil + finally return t)) + ;; We have some invisible markers from
; + ;; do nothing. + ) ((and prefix (= prefix (- (point) (line-beginning-position)))) ;; Do nothing; we're at the start of a
  • .