From 14768716428c6fbf938c8f40bc6352da0eccdfe6 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Thu, 29 Jan 2004 17:53:17 +0000 Subject: [PATCH] (executable-command-find-posix-p): New. Check if find handles arguments Posix-style. --- lisp/progmodes/executable.el | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el index 21f894753a1..4d12031588d 100644 --- a/lisp/progmodes/executable.el +++ b/lisp/progmodes/executable.el @@ -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. -- 2.39.2