Function: preview-dvi*-place-all

preview-dvi*-place-all is a byte-compiled function defined in preview.el.

Signature

(preview-dvi*-place-all)

Documentation

Place all images that the dvi convertion process has created, if any.

Deletes the dvi file when finished.

Aliases

preview-dvipng-place-all (obsolete since 14.2.0)

Source Code

;; Defined in ~/.emacs.d/elpa/auctex-14.1.2/preview.el
(defun preview-dvi*-place-all ()
  "Place all images that the dvi convertion process has created, if any.
Deletes the dvi file when finished."
  (let (filename queued oldfiles snippet)
    (dolist (ov (prog1 preview-gs-queue (setq preview-gs-queue nil)))
      (when (and (setq queued (overlay-get ov 'queued))
                 (setq snippet (aref (overlay-get ov 'queued) 2))
                 (setq filename (preview-make-filename
                                 (format "prev%03d.%s"
                                         snippet preview-dvi*-image-type)
                                 TeX-active-tempdir)))
        (if (file-exists-p (car filename))
            (progn
              ;; Delete previous filenames here before overwriting the
              ;; property `'filenames', potentially orphaning files.
              (preview--delete-overlay-files ov)
              (overlay-put ov 'filenames (list filename))
              (preview-replace-active-icon
               ov
               (preview-create-icon (car filename)
                                    preview-dvi*-image-type
                                    (preview-ascent-from-bb
                                     (aref queued 0))
                                    (aref preview-colors 2)))
              (overlay-put ov 'queued nil))
          (push filename oldfiles)
          ;; Do note modify `filenames' if we are not replacing
          ;; it, to avoid orphaning files. The filenames will be
          ;; eventually deleted when the property is overwritten.
          ;; (overlay-put ov 'filenames nil)
          (push ov preview-gs-queue))))
    (if (setq preview-gs-queue (nreverse preview-gs-queue))
        (progn
          (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))
            ;; Only add `preview-ps-file' if it doesn't exist.  Also,
            ;; delete any files before overwriting 'filenames.
            (if preview-ps-file
                (unless (memq preview-ps-file (overlay-get ov 'filenames))
                  (preview--delete-overlay-files ov)
                  (overlay-put ov 'filenames
                               (list
                                (preview-make-filename preview-ps-file
                                                       TeX-active-tempdir))))
              (preview--delete-overlay-files ov)
              (overlay-put ov 'filenames
                           (list
                            (preview-make-filename
                             (format "preview.%03d" snippet)
                             TeX-active-tempdir))))))
      (condition-case nil
          (let ((gsfile preview-gs-file))
            (delete-file
             (with-current-buffer TeX-command-buffer
               (funcall (car gsfile) "dvi" t))))
        (file-error nil)))

    ;; Always delete oldfiles
    (while (setq filename (pop oldfiles))
      (condition-case nil
          (preview-delete-file filename)
        (file-error nil)))))