Function: pdf-info-query
pdf-info-query is a natively compiled function defined in pdf-info.el.
Signature
(pdf-info-query CMD &rest ARGS)
Documentation
Query the server using CMD and ARGS.
Source Code
;; Defined in /nix/store/63h5z2vmzn0mfavcxi2idi23g5xcgkbl-emacs-packages-deps/share/emacs/site-lisp/elpa/pdf-tools-20260102.1101/pdf-info.el
;; * ================================================================== *
;; * Sending and receiving
;; * ================================================================== *
(defun pdf-info-query (cmd &rest args)
"Query the server using CMD and ARGS."
(pdf-info-process-assert-running)
(unless (symbolp cmd)
(setq cmd (intern cmd)))
(let* ((query (concat (mapconcat #'pdf-info-query--escape
(cons cmd args) ":")
"\n"))
(callback
(lambda (closure response)
(cl-destructuring-bind (status &rest result)
(pdf-info-query--parse-response cmd response)
(pdf-info-query--log response)
(let* (pdf-info-asynchronous)
(if (functionp closure)
(funcall closure status result)
(apply (car closure) status result (cdr closure)))))))
response status done
(closure (or pdf-info-asynchronous
(lambda (s r)
(setq status s response r done t)))))
(pdf-info-query--log query t)
(tq-enqueue
pdf-info--queue query "^\\.\n" closure callback)
(unless pdf-info-asynchronous
(while (and (not done)
(eq (process-status (pdf-info-process))
'run))
(accept-process-output (pdf-info-process) 0.01))
(when (and (not done)
(not (eq (process-status (pdf-info-process))
'run))
(not (eq cmd 'quit)))
(error "The epdfinfo server quit unexpectedly"))
(cond
((null status) response)
((eq status 'error)
(error "epdfinfo: %s" response))
((eq status 'interrupted)
(error "epdfinfo: Command was interrupted"))
(t
(error "Internal error: invalid response status"))))))