Fix problem with spurious extra paragraphs in shr
* lisp/net/shr.el (shr-ensure-paragraph): Don't regard <div id=foo></div> (empty placeholders) as occupying any space (bug#43510).
This commit is contained in:
parent
28ba879362
commit
7222e975be
1 changed files with 17 additions and 1 deletions
|
@ -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 <div id="foo"></div>;
|
||||
;; do nothing.
|
||||
)
|
||||
((and prefix
|
||||
(= prefix (- (point) (line-beginning-position))))
|
||||
;; Do nothing; we're at the start of a <li>.
|
||||
|
|
Loading…
Add table
Reference in a new issue