Skip to content

Commit

Permalink
Fix jupyter-org--parse-latex-element again
Browse files Browse the repository at this point in the history
Upstream org commit 4fcdcb4 changed the behavior of org-element-context which
now uses org-element-deferred-create which is incompatible with inserting
elements created from with-temp-buffer outside its scope.
  • Loading branch information
akirakyle authored and nnicandro committed Nov 26, 2023
1 parent 547bf7d commit 8ff3b75
Showing 1 changed file with 5 additions and 15 deletions.
20 changes: 5 additions & 15 deletions jupyter-org-client.el
Original file line number Diff line number Diff line change
Expand Up @@ -811,14 +811,6 @@ Otherwise, return VALUE formated as a fixed-width `org-element'."
(t
(org-element-create 'fixed-width (list :value (format "%S" value))))))

(defun jupyter-org-latex-fragment (value)
"Return a latex-fragment `org-element' consisting of VALUE."
(org-element-create 'latex-fragment (list :value value)))

(defun jupyter-org-latex-environment (value)
"Return a latex-fragment `org-element' consisting of VALUE."
(org-element-create 'latex-environment (list :value value)))

(defun jupyter-org-results-drawer (&rest results)
"Return a drawer `org-element' containing RESULTS.
RESULTS can be either strings or other `org-element's. Newlines
Expand Down Expand Up @@ -1048,17 +1040,15 @@ fragment or environment is parsed and returned. If neither can be
parsed, wrap DATA in a minipage environment and return it."
(with-temp-buffer
(insert data)
(goto-char (point-min))
(let ((context (org-element-context)))
(cond ((memq (org-element-type context) '(latex-fragment latex-environment))
context)
(let ((elts (org-element-map (org-element-parse-buffer)
'(latex-fragment latex-environment) 'identity)))
(cond ((and (= (length elts) 1) (car elts)))
(t
;; If all else fails, wrap DATA in a minipage environment
(jupyter-org-latex-environment
(concat "\
(org-element-create 'latex-environment (list :value (concat "\
\\begin{minipage}{\\textwidth}
\\begin{flushright}\n" data "\n\\end{flushright}
\\end{minipage}")))))))
\\end{minipage}"))))))))

(cl-defmethod jupyter-org-result ((_mime (eql :text/latex)) content params)
(if (member "raw" (alist-get :result-params params))
Expand Down

0 comments on commit 8ff3b75

Please sign in to comment.