Function: preview-gs-open

preview-gs-open is a byte-compiled function defined in preview.el.

Signature

(preview-gs-open &optional SETUP)

Documentation

Start a Ghostscript conversion pass.

SETUP may contain a parser setup function.

Source Code

;; Defined in ~/.emacs.d/elpa/auctex-14.1.2/preview.el
(defun preview-gs-open (&optional setup)
  "Start a Ghostscript conversion pass.
SETUP may contain a parser setup function."
  (let ((image-info (assq preview-image-type preview-gs-image-type-alist)))
    (setq preview-gs-image-type (nth 1 image-info))
    (setq preview-gs-sequence nil)
    (setq preview-gs-command-line (append
                                   preview-gs-options
                                   (nthcdr 2 image-info))
          preview-gs-init-string
          (format "{DELAYSAFER{.setsafe}if}stopped pop\
/.preview-BP currentpagedevice/BeginPage get dup \
null eq{pop{pop}bind}if def\
<</BeginPage{currentpagedevice/PageSize get dup 0 get 1 ne exch 1 get 1 ne or\
{.preview-BP %s}{pop}ifelse}bind/PageSize[1 1]>>setpagedevice\
/preview-do{/.preview-ST[count 4 roll save]def dup length 0 eq\
{pop}{setpagedevice}{ifelse exec}\
stopped{handleerror quit}if \
.preview-ST aload pop restore}bind def "
                  (preview-gs-color-string
                   preview-colors
                   ;; Compatibility for gs 9.27 with non-trivial
                   ;; foreground color and dark background.
                   ;; Suppress color adjustment with PDF backend
                   ;; when `preview-pdf-color-adjust-method' is nil.
                   (and (not preview-pdf-color-adjust-method)
                        ;; The switch `preview-parsed-pdfoutput' isn't
                        ;; set before parsing the latex output, so use
                        ;; heuristic here.
                        (with-current-buffer TeX-command-buffer
                          (and TeX-PDF-mode
                               (not (TeX-PDF-from-DVI))))))))
    (preview-gs-queue-empty)
    (preview-parse-messages (or setup #'preview-gs-dvips-process-setup))))