Commit 6e74cce2 authored by Richard M. Stallman's avatar Richard M. Stallman

(file-cache-find-posix-p): New function. Detect Cygwin.

(file-cache-add-directory-using-find): Added Cygwin support.
(file-cache-find-command-posix-flag): New user variable.

(file-cache-add-directory): Check for directories and remove them from
parent 22bb9485
......@@ -170,6 +170,19 @@ do not use this variable."
:type 'string
:group 'file-cache)
(defcustom file-cache-find-command-posix-flag 'not-defined
"*Set to t, if `file-cache-find-command' handles wildcards POSIX style.
This variable is automatically set to nil or non-nil
if it has the initial value `not-defined' whenever you first
call the `file-cache-add-directory-using-find'.
Under Windows operating system where Cygwin is available, this value
should be t."
:type '(choice (const :tag "Yes" t)
(const :tag "No" nil)
(const :tag "Unknown" not-defined))
:group 'file-cache)
(defcustom file-cache-locate-command "locate"
"*External program used by `file-cache-add-directory-using-locate'."
:type 'string
......@@ -267,11 +280,13 @@ be added to the cache."
;; Filter out files we don't want to see
'(lambda (file)
'(lambda (regexp)
(if (string-match regexp file)
(setq dir-files (delq file dir-files))))
(if (file-directory-p file)
(setq dir-files (delq file dir-files))
'(lambda (regexp)
(if (string-match regexp file)
(setq dir-files (delq file dir-files))))
(file-cache-add-file-list dir-files))))
......@@ -317,17 +332,39 @@ in each directory, not to the directory list itself."
(defun file-cache-find-posix-p ()
"Check if `file-cache-find-command' handles wildcards POSIX style."
(or (not (memq system-type '(ms-dos windows-nt))) ;; Include all POSIX systems.
(with-temp-buffer ;; Cygwin?
(call-process file-cache-find-command
(goto-char (point-min))
;; Cygwin
(if (re-search-forward "GNU" nil t)
(defun file-cache-add-directory-using-find (directory)
"Use the `find' command to add files to the file cache.
Find is run in DIRECTORY."
(interactive "DAdd files under directory: ")
(let ((dir (expand-file-name directory)))
(if (eq file-cache-find-command-posix-flag 'not-defined)
(setq file-cache-find-command-posix-flag (file-cache-find-posix-p)))
(set-buffer (get-buffer-create file-cache-buffer))
(call-process file-cache-find-command nil
(get-buffer file-cache-buffer) nil
dir "-name"
(if (eq system-type 'windows-nt) "'*'" "*")
((eq system-type 'windows-nt)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment