branch: main
commit f338ca4ebc2dc487ed05e6c18deda49305022c5b
Author: Al Haji-Ali <a.haji...@hw.ac.uk>
Commit: Arash Esbati <ar...@gnu.org>

    Set correct `TeX-sentinel-function' before starting processes
    
    * preview.el (preview-gs-dvips-process-setup,
    preview-dvipng-process-setup, preview-pdf2dsc-process-setup,
    preview-dvipng-place-all): Set `TeX-sentinel-function' before calling
    preview-start-* functions to start processes.
    (preview-start-dvipng, preview-start-dvips, preview-start-pdf2dsc):
    Remove temporary setting of `TeX-sentinel-function'.  (bug#79462)
---
 preview.el | 27 +++++++++------------------
 1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/preview.el b/preview.el
index 88886b83..22316335 100644
--- a/preview.el
+++ b/preview.el
@@ -133,8 +133,7 @@ considerable time under XEmacs, it should come after the 
`:min'
 spec to avoid unnecessary evaluation time."
   :group 'preview-appearance
   :type preview-specs-type
-  :set #'preview-specs-setter
-)
+  :set #'preview-specs-setter)
 
 (defvar preview-error-icon nil
   "The icon used for PostScript errors.
@@ -892,10 +891,10 @@ Pure borderless black-on-white will return an empty 
string."
                                         (cdr preview-resolution)))))
   (if preview-parsed-pdfoutput
       (preview-pdf2dsc-process-setup)
-    (let ((process (preview-start-dvips preview-fast-conversion)))
       (setq TeX-sentinel-function #'preview-gs-dvips-sentinel)
-      (list process (current-buffer) TeX-active-tempdir preview-ps-file
-            preview-gs-image-type))))
+    (list (preview-start-dvips preview-fast-conversion) (current-buffer)
+          TeX-active-tempdir preview-ps-file
+          preview-gs-image-type)))
 
 (defun preview-dvipng-process-setup ()
   "Set up dvipng process for conversion."
@@ -913,17 +912,15 @@ Pure borderless black-on-white will return an empty 
string."
     (unless (preview-supports-image-type preview-dvipng-image-type)
       (error "preview-dvipng-image-type setting '%s unsupported by this Emacs"
              preview-dvipng-image-type))
-    (let ((process (preview-start-dvipng)))
       (setq TeX-sentinel-function #'preview-dvipng-sentinel)
-      (list process (current-buffer) TeX-active-tempdir t
-          preview-dvipng-image-type))))
+    (list (preview-start-dvipng) (current-buffer) TeX-active-tempdir t
+          preview-dvipng-image-type)))
 
 
 (defun preview-pdf2dsc-process-setup ()
-  (let ((process (preview-start-pdf2dsc)))
     (setq TeX-sentinel-function #'preview-pdf2dsc-sentinel)
-    (list process (current-buffer) TeX-active-tempdir preview-ps-file
-          preview-gs-image-type)))
+  (list (preview-start-pdf2dsc) (current-buffer) TeX-active-tempdir
+        preview-ps-file preview-gs-image-type))
 
 (defun preview-dvips-abort ()
   "Abort a Dvips run."
@@ -2528,12 +2525,12 @@ Deletes the dvi file when finished."
           (push ov preview-gs-queue))))
     (if (setq preview-gs-queue (nreverse preview-gs-queue))
         (progn
-          (preview-start-dvips preview-fast-conversion)
           (setq TeX-sentinel-function (lambda (process command)
                                         (preview-gs-dvips-sentinel
                                          process
                                          command
                                          t)))
+          (preview-start-dvips preview-fast-conversion)
           (dolist (ov preview-gs-queue)
             (setq snippet (aref (overlay-get ov 'queued) 2))
             (overlay-put ov 'filenames
@@ -3809,8 +3806,6 @@ The fourth value is the transparent border thickness."
     (goto-char (point-max))
     (insert-before-markers "Running `" name "' with ``" command "''\n")
     (setq mode-name name)
-    (setq TeX-sentinel-function
-          (lambda (_process name) (message "%s: done." name)))
     (if TeX-process-asynchronous
         (let ((process (start-process name (current-buffer) TeX-shell
                                       TeX-shell-command-option
@@ -3851,8 +3846,6 @@ If FAST is set, do a fast conversion."
     (goto-char (point-max))
     (insert-before-markers "Running `" name "' with ``" command "''\n")
     (setq mode-name name)
-    (setq TeX-sentinel-function
-          (lambda (_process name) (message "%s: done." name)))
     (if TeX-process-asynchronous
         (let ((process (start-process name (current-buffer) TeX-shell
                                       TeX-shell-command-option
@@ -3893,8 +3886,6 @@ If FAST is set, do a fast conversion."
     (goto-char (point-max))
     (insert-before-markers "Running `" name "' with ``" command "''\n")
     (setq mode-name name)
-    (setq TeX-sentinel-function
-          (lambda (_process name) (message "%s: done." name)))
     (if TeX-process-asynchronous
         (let ((process (start-process name (current-buffer) TeX-shell
                                       TeX-shell-command-option

Reply via email to