From 18095e6578bd32f5fe1f9f1fcd6bfeac1e997157 Mon Sep 17 00:00:00 2001 From: Karthik Chikmagalur Date: Mon, 2 Jan 2023 01:58:17 -0800 Subject: [PATCH] org-latex-preview: Prioritise near latex previews * lisp/org-latex-preview.el (org-latex-preview-fragments): Reorder gathered latex fragments so that they are processed starting at the window start position. When previewing a large file, this makes a significant difference to the perceived speed of the processing. Remove references to `org-preview-latex-image-directory' from this function, as it is no longer used to cache images. --- lisp/org-latex-preview.el | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/lisp/org-latex-preview.el b/lisp/org-latex-preview.el index a1126c5b5..3aae697db 100644 --- a/lisp/org-latex-preview.el +++ b/lisp/org-latex-preview.el @@ -757,16 +757,15 @@ protection against placing doubled up overlays." (overlay-recenter (or end (point-max)))) (unless (eq (get-char-property (point) 'org-overlay-type) 'org-latex-overlay) - (let ((image-dir (expand-file-name - (concat org-preview-latex-image-directory "org-ltximg") - dir))) - (unless (file-exists-p image-dir) - (make-directory image-dir t))) - (if (assq processing-type org-latex-preview-process-alist) - (org-latex-preview--create - processing-type (org-latex-preview-collect-fragments beg end)) - (error "Unknown conversion process %s for previewing LaTeX fragments" - processing-type)))) + (let ((ws (window-start))) + (if (assq processing-type org-latex-preview-process-alist) + (org-latex-preview--create + processing-type + (nconc (org-latex-preview-collect-fragments (max ws beg) end) + (when (< beg ws) + (org-latex-preview-collect-fragments beg (1- ws))))) + (error "Unknown conversion process %s for previewing LaTeX fragments" + processing-type))))) (defun org-format-latex (prefix &optional beg end dir overlays msg forbuffer processing-type)