summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorAndreas Politz <politza@hochschule-trier.de>2017-09-13 21:43:48 +0200
committerAndreas Politz <politza@hochschule-trier.de>2017-09-13 21:46:38 +0200
commit51ba6ad1765f089d1fac598b9cbd727158a7b022 (patch)
tree3c3d822f16d6c76b2afe8d771fe964f3079ccc68 /lisp
parent7c849a58a9af24dfb1fee2ab106358d03b102cc8 (diff)
Clean up epdfinfo detection
Diffstat (limited to 'lisp')
-rw-r--r--lisp/pdf-info.el21
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))