diff options
| author | Andreas Politz <politza@hochschule-trier.de> | 2017-09-13 21:43:48 +0200 |
|---|---|---|
| committer | Andreas Politz <politza@hochschule-trier.de> | 2017-09-13 21:46:38 +0200 |
| commit | 51ba6ad1765f089d1fac598b9cbd727158a7b022 (patch) | |
| tree | 3c3d822f16d6c76b2afe8d771fe964f3079ccc68 /lisp | |
| parent | 7c849a58a9af24dfb1fee2ab106358d03b102cc8 (diff) | |
Clean up epdfinfo detection
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/pdf-info.el | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/lisp/pdf-info.el b/lisp/pdf-info.el index b07416f..e565954 100644 --- a/lisp/pdf-info.el +++ b/lisp/pdf-info.el @@ -63,15 +63,18 @@ (defcustom pdf-info-epdfinfo-program (let ((executable (if (eq system-type 'windows-nt) - "epdfinfo.exe" - "epdfinfo"))) - (or (executable-find executable) - (expand-file-name - executable - (let ((directory (file-name-directory (or load-file-name default-directory)))) - (cl-find-if 'file-exists-p - `(,(expand-file-name "../server" directory) - ,directory)))))) + "epdfinfo.exe" "epdfinfo")) + (default-directory + (or (and load-file-name + (file-name-directory load-file-name)) + default-directory))) + (cl-labels ((try-directory (directory) + (and (file-directory-p directory) + (file-executable-p (expand-file-name executable directory)) + (expand-file-name executable directory)))) + (or (executable-find executable) + (try-directory (expand-file-name "../server")) + (expand-file-name executable)))) "Filename of the epdfinfo executable." :group 'pdf-info :type '(file :must-match t)) |
