Function: pdf-util-dedicated-directory

pdf-util-dedicated-directory is a natively compiled function defined in pdf-util.el.

Signature

(pdf-util-dedicated-directory)

Documentation

Return the name of a existing dedicated directory.

The directory is exclusive to the current buffer. It will be automatically deleted, if Emacs or the current buffer are killed.

Source Code

;; Defined in /nix/store/63h5z2vmzn0mfavcxi2idi23g5xcgkbl-emacs-packages-deps/share/emacs/site-lisp/elpa/pdf-tools-20260102.1101/pdf-util.el
(defun pdf-util-dedicated-directory ()
  "Return the name of a existing dedicated directory.

The directory is exclusive to the current buffer.  It will be
automatically deleted, if Emacs or the current buffer are
killed."
  (with-file-modes #o0700
    (unless (and pdf-util--base-directory
                 (file-directory-p
                  pdf-util--base-directory)
                 (not (file-symlink-p
                       pdf-util--base-directory)))
      (add-hook 'kill-emacs-hook
                (lambda nil
                  (when (and pdf-util--base-directory
                             (file-directory-p pdf-util--base-directory))
                    (delete-directory pdf-util--base-directory t))))
      (setq pdf-util--base-directory
            (make-temp-file "pdf-tools-" t)))
    (unless (and pdf-util--dedicated-directory
                 (file-directory-p pdf-util--dedicated-directory)
                 (not (file-symlink-p
                       pdf-util--base-directory)))
      (let ((temporary-file-directory
             pdf-util--base-directory))
        (setq pdf-util--dedicated-directory
              (make-temp-file (convert-standard-filename (pdf-util-temp-prefix))
                              t))
        (add-hook 'kill-buffer-hook #'pdf-util-delete-dedicated-directory
                  nil t)))
    pdf-util--dedicated-directory))