Function: preview-gs-flag-error

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

Signature

(preview-gs-flag-error OV ERR)

Documentation

Make an eps error flag in overlay OV for ERR string.

Source Code

;; Defined in ~/.emacs.d/elpa/auctex-14.1.2/preview.el
(defun preview-gs-flag-error (ov err)
  "Make an eps error flag in overlay OV for ERR string."
  (let* ((filenames (overlay-get ov 'filenames))
         (file (car (nth 0 filenames)))
         ;; FIXME: This format isn't equal to actual invocation of gs
         ;; command constructed in `preview-gs-restart', which
         ;; contains "%d".
         (outfile (format "-sOutputFile=%s"
                          (file-relative-name
                           (car (nth 1 filenames)))))
         (ps-open
          (let ((string
                 (concat
                (mapconcat #'shell-quote-argument
                            (append (list
                                     preview-gs-command
                                     outfile)
                                    preview-gs-command-line)
                            " ")
                 "\nGS>"
                 preview-gs-init-string
                 (aref (overlay-get ov 'queued) 1)
                 err)))
            (lambda () (interactive "@") (preview-mouse-open-error string))))
         (str
          (preview-make-clickable
           nil
           preview-error-icon
           "%s views error message
%s more options"
           ps-open
           (let ((args
                  (if preview-ps-file
                      (list
                       (if (consp (car file)) (nth 1 (car file)) (car file))
                       (nth 0 (aref preview-gs-dsc
                                    (aref (overlay-get ov 'queued) 2))))
                    (list file))))
             (lambda () (interactive)
               (popup-menu
                `("PostScript error"
                  ["View error" ,ps-open]
                  ["View source" ,(lambda () (interactive "@")
                                    (apply #'preview-mouse-open-eps
                                           args))])))))))
    (overlay-put ov 'strings (cons str str))
    (preview-toggle ov)))