From: Richard M. Stallman Date: Thu, 29 Jan 2004 17:53:17 +0000 (+0000) Subject: (executable-command-find-posix-p): X-Git-Tag: ttn-vms-21-2-B4~7794 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=14768716428c6fbf938c8f40bc6352da0eccdfe6;p=emacs.git (executable-command-find-posix-p): New. Check if find handles arguments Posix-style. --- 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.