Function: pdf-info--normalize-file-or-buffer
pdf-info--normalize-file-or-buffer is a natively compiled function
defined in pdf-info.el.
Signature
(pdf-info--normalize-file-or-buffer FILE-OR-BUFFER)
Documentation
Return the PDF file corresponding to FILE-OR-BUFFER.
FILE-OR-BUFFER may be nil, a PDF buffer, the name of a PDF buffer or a PDF file.
Source Code
;; Defined in /nix/store/63h5z2vmzn0mfavcxi2idi23g5xcgkbl-emacs-packages-deps/share/emacs/site-lisp/elpa/pdf-tools-20260102.1101/pdf-info.el
(defun pdf-info--normalize-file-or-buffer (file-or-buffer)
"Return the PDF file corresponding to FILE-OR-BUFFER.
FILE-OR-BUFFER may be nil, a PDF buffer, the name of a PDF buffer
or a PDF file."
(unless file-or-buffer
(setq file-or-buffer
(current-buffer)))
(when (bufferp file-or-buffer)
(unless (buffer-live-p file-or-buffer)
(error "Buffer is not live :%s" file-or-buffer))
(with-current-buffer file-or-buffer
(unless (setq file-or-buffer
(cl-case major-mode
(doc-view-mode
(cond ((boundp 'doc-view-buffer-file-name)
doc-view-buffer-file-name)
((boundp 'doc-view--buffer-file-name)
doc-view--buffer-file-name)))
(pdf-view-mode (pdf-view-buffer-file-name))
(t (buffer-file-name))))
(error "Buffer is not associated with any file :%s" (buffer-name)))))
(unless (stringp file-or-buffer)
(signal 'wrong-type-argument
(list 'stringp 'bufferp 'null file-or-buffer)))
;; is file
(when (file-remote-p file-or-buffer)
(error "Processing remote files not supported :%s"
file-or-buffer))
;; (unless (file-readable-p file-or-buffer)
;; (error "File not readable :%s" file-or-buffer))
(expand-file-name file-or-buffer))