diff options
author | Philipp Stephani <phst@google.com> | 2017-01-17 18:24:29 +0100 |
---|---|---|
committer | Philipp Stephani <phst@google.com> | 2017-01-27 18:37:58 +0100 |
commit | 107a0c4caa649bad88cdbb67439f67ed8105e41a (patch) | |
tree | 64bd49b53d7e3b7ef61e7ad86eecf6a36cbabdcc /lisp/htmlfontify.el | |
parent | 412b8dac5277092e677b3cd57b0fd1a36893a26b (diff) | |
download | emacs-107a0c4caa649bad88cdbb67439f67ed8105e41a.tar.gz |
Don't require a shell when loading htmlfontify
* lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
detecting the etags version (Bug#25468).
* test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
test.
Diffstat (limited to 'lisp/htmlfontify.el')
-rw-r--r-- | lisp/htmlfontify.el | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el index 21aac1ab216..74393ffbaeb 100644 --- a/lisp/htmlfontify.el +++ b/lisp/htmlfontify.el @@ -365,9 +365,15 @@ commands in `hfy-etags-cmd-alist'." (defun hfy-which-etags () "Return a string indicating which flavor of etags we are using." - (let ((v (shell-command-to-string (concat hfy-etags-bin " --version")))) - (cond ((string-match "exube" v) "exuberant ctags") - ((string-match "GNU E" v) "emacs etags" )) )) + (with-temp-buffer + (condition-case nil + (when (eq (call-process hfy-etags-bin nil t nil "--version") 0) + (goto-char (point-min)) + (cond + ((looking-at-p "exube") "exuberant ctags") + ((looking-at-p "GNU E") "emacs etags"))) + ;; Return nil if the etags binary isn't executable (Bug#25468). + (file-error nil)))) (defcustom hfy-etags-cmd ;; We used to wrap this in a `eval-and-compile', but: |