(executable-command-find-posix-p):

New.  Check if find handles arguments Posix-style.
This commit is contained in:
Richard M. Stallman
2004-01-29 17:53:17 +00:00
parent 05e72590a1
commit 1476871642

View File

@@ -140,6 +140,31 @@ See `compilation-error-regexp-alist'.")
;; The C function openp slightly modified would do the trick fine
(defvaralias 'executable-binary-suffixes 'exec-suffixes)
;;;###autoload
(defun executable-command-find-posix-p (&optional program)
"Check if PROGRAM handles arguments Posix-style.
If PROGRAM is non-nil, use that instead of "find"."
;; Pick file to search from location we know
(let* ((dir (car load-path))
(file (find-if
(lambda (x)
;; Filter directories . and ..
(not (string-match "^\\.\\.?$" x)))
(directory-files dir))))
(with-temp-buffer
(call-process (or program "find")
nil
(current-buffer)
nil
dir
"-name"
file
"-maxdepth"
"1")
(goto-char (point-min))
(if (search-forward file nil t)
t))))
;;;###autoload
(defun executable-find (command)
"Search for COMMAND in `exec-path' and return the absolute file name.