forked from mirrors/org-mode
org-latex-preview: Fix element start positions
* lisp/org-latex-preview.el (org-latex-preview--place-from-elements, org-latex-preview-auto--maybe-track-element-here): The org-element property `:begin' includes any Org keyword text associated with the element, such as "#+RESULTS:" or "#+ATTR_LATEX:" and these are swallowed up in the created preview overlays. Fix by using the `:post-affiliated' property over `:begin' when it is available. Note that some calculations, such as equation numbering, still use the `:begin' keyword. These calculations don't involve creating overlays and thus this is not (expected to be) an issue.
This commit is contained in:
parent
36d1b5d3b2
commit
716e32492b
|
@ -668,7 +668,8 @@ If an org-latex-overlay is already present, nothing is done."
|
||||||
'org-latex-overlay))
|
'org-latex-overlay))
|
||||||
(when-let* ((element (org-element-context))
|
(when-let* ((element (org-element-context))
|
||||||
((eq (org-element-type element) type))
|
((eq (org-element-type element) type))
|
||||||
(elem-beg (org-element-property :begin element))
|
(elem-beg (or (org-element-property :post-affiliated element)
|
||||||
|
(org-element-property :begin element)))
|
||||||
(elem-end (- (org-element-property :end element)
|
(elem-end (- (org-element-property :end element)
|
||||||
(or (org-element-property :post-blank element) 0)
|
(or (org-element-property :post-blank element) 0)
|
||||||
(if (eq (char-before (org-element-property :end element))
|
(if (eq (char-before (org-element-property :end element))
|
||||||
|
@ -1044,7 +1045,8 @@ Some of the options can be changed using the variable
|
||||||
(entries
|
(entries
|
||||||
(mapcar
|
(mapcar
|
||||||
(lambda (element)
|
(lambda (element)
|
||||||
(list (org-element-property :begin element)
|
(list (or (org-element-property :post-affiliated element)
|
||||||
|
(org-element-property :begin element))
|
||||||
(- (org-element-property :end element)
|
(- (org-element-property :end element)
|
||||||
(or (org-element-property :post-blank element) 0)
|
(or (org-element-property :post-blank element) 0)
|
||||||
(if (eq (char-before (org-element-property :end element))
|
(if (eq (char-before (org-element-property :end element))
|
||||||
|
@ -1957,7 +1959,8 @@ the *entire* preview cache will be cleared, and `org-persist-gc' run."
|
||||||
(and org-latex-preview-numbered
|
(and org-latex-preview-numbered
|
||||||
(org-latex-preview--environment-numbering-table))))
|
(org-latex-preview--environment-numbering-table))))
|
||||||
(dolist (element (org-latex-preview-collect-fragments beg end))
|
(dolist (element (org-latex-preview-collect-fragments beg end))
|
||||||
(pcase-let* ((begin (org-element-property :begin element))
|
(pcase-let* ((begin (or (org-element-property :post-affiliated element)
|
||||||
|
(org-element-property :begin element)))
|
||||||
(`(,fg ,bg) (org-latex-preview--colors-at begin))
|
(`(,fg ,bg) (org-latex-preview--colors-at begin))
|
||||||
(value (org-element-property :value element))
|
(value (org-element-property :value element))
|
||||||
(number (and numbering-table
|
(number (and numbering-table
|
||||||
|
|
Loading…
Reference in New Issue