diff options
author | Ihor Radchenko <yantar92@posteo.net> | 2024-02-20 12:47:24 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2024-03-24 08:40:48 -0400 |
commit | 6f9ea396f49cbe38c2173e0a72ba6af3e03b271c (patch) | |
tree | fadae4916375ceef762715fdbd450a641a4b54ff /lisp/org/org.el | |
parent | 937b9042ad7426acdcca33e3d931d8f495bdd804 (diff) | |
download | emacs-6f9ea396f49cbe38c2173e0a72ba6af3e03b271c.tar.gz emacs-6f9ea396f49cbe38c2173e0a72ba6af3e03b271c.tar.bz2 emacs-6f9ea396f49cbe38c2173e0a72ba6af3e03b271c.zip |
org-latex-preview: Add protection when `untrusted-content' is non-nil
* lisp/org/org.el (org--latex-preview-when-risky): New variable
controlling how to handle LaTeX previews in Org files from untrusted
origin.
(org-latex-preview): Consult `org--latex-preview-when-risky' before
generating previews.
This patch adds a layer of protection when LaTeX preview is requested
for an email attachment, where `untrusted-content' is set to non-nil.
Diffstat (limited to 'lisp/org/org.el')
-rw-r--r-- | lisp/org/org.el | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lisp/org/org.el b/lisp/org/org.el index c75afbf5a67..0f5d17deee2 100644 --- a/lisp/org/org.el +++ b/lisp/org/org.el @@ -1140,6 +1140,24 @@ the following lines anywhere in the buffer: :package-version '(Org . "8.0") :type 'boolean) +(defvar untrusted-content) ; defined in files.el +(defvar org--latex-preview-when-risky nil + "If non-nil, enable LaTeX preview in Org buffers from unsafe source. + +Some specially designed LaTeX code may generate huge pdf or log files +that may exhaust disk space. + +This variable controls how to handle LaTeX preview when rendering LaTeX +fragments that originate from incoming email messages. It has no effect +when Org mode is unable to determine the origin of the Org buffer. + +An Org buffer is considered to be from unsafe source when the +variable `untrusted-content' has a non-nil value in the buffer. + +If this variable is non-nil, LaTeX previews are rendered unconditionally. + +This variable may be renamed or changed in the future.") + (defcustom org-insert-mode-line-in-empty-file nil "Non-nil means insert the first line setting Org mode in empty files. When the function `org-mode' is called interactively in an empty file, this @@ -15695,6 +15713,7 @@ fragments in the buffer." (interactive "P") (cond ((not (display-graphic-p)) nil) + ((and untrusted-content (not org--latex-preview-when-risky)) nil) ;; Clear whole buffer. ((equal arg '(64)) (org-clear-latex-preview (point-min) (point-max)) |