mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-12-04 08:47:03 +00:00
Fix partial line protection issue
* lisp/org-html.el (org-export-as-html): Do not treat partially protected lines as if they were fully protected. Nicolas Goaziou writes: > Here is a problem when a latex fragment is split across two lines and > an emphasize follows. The text won't be italicized upon exporting to > HTML. > > ===== > * latex-fragments bug > > Imagine we have a formula starting here $e^{i\pi} + > 1 = 0$. Now we have a problem with /emphasize/. > ===== > > This is because the line starts with a char with 'org-protected > property and, thus, get caught by the "Protected HTML" (org-html.el > l. 1216) part of `org-export-as-html'. In others words, the line is > inserted as-is in the output buffer, before getting any > transformation. > > I'm not sure how it should be done (I don't get yet the usefulness of > this "Protected HTML" part), but that piece of code may be moved after > the `org-html-expand' call, as long as every sub-function in > `org-html-expand' has a check to prevent modifying protected stuff > (this not yet the case for `org-export-with-emphasize' and > `org-html-protect' while others seem ok). > > But even in this case, every function getting called after that would > be ignored. So, for example, links would not be inserted. > > Couldn't the "Protected HTML" part be removed altogether?
This commit is contained in:
parent
0fd5ec58c6
commit
85e1f9760f
@ -1213,7 +1213,11 @@ lang=\"%s\" xml:lang=\"%s\">
|
|||||||
(throw 'nextline nil))
|
(throw 'nextline nil))
|
||||||
|
|
||||||
;; Protected HTML
|
;; Protected HTML
|
||||||
(when (get-text-property 0 'org-protected line)
|
(when (and (get-text-property 0 'org-protected line)
|
||||||
|
;; Make sure it is the entire line that is protected
|
||||||
|
(not (< (or (next-single-property-change
|
||||||
|
0 'org-protected line) 10000)
|
||||||
|
(length line))))
|
||||||
(let (par (ind (get-text-property 0 'original-indentation line)))
|
(let (par (ind (get-text-property 0 'original-indentation line)))
|
||||||
(when (re-search-backward
|
(when (re-search-backward
|
||||||
"\\(<p>\\)\\([ \t\r\n]*\\)\\=" (- (point) 100) t)
|
"\\(<p>\\)\\([ \t\r\n]*\\)\\=" (- (point) 100) t)
|
||||||
|
Loading…
Reference in New Issue
Block a user