From: Gerd Moellmann Date: Thu, 7 Oct 1999 15:21:51 +0000 (+0000) Subject: (file-cache-completion-ignore-case): New variable, X-Git-Tag: emacs-pretest-21.0.90~6536 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b047c9b767c105721da417a9735e6cf185783a05;p=emacs.git (file-cache-completion-ignore-case): New variable, defaulting to the value of completion-ignore-case. (file-cache-minibuffer-complete): Use it. (file-cache-files-matching, file-cache-files-matching-internal): New functions. --- diff --git a/lisp/filecache.el b/lisp/filecache.el index a689e994ae1..d6aa35366b2 100644 --- a/lisp/filecache.el +++ b/lisp/filecache.el @@ -187,6 +187,13 @@ do not use this variable." :type 'string :group 'file-cache) +(defcustom file-cache-completion-ignore-case completion-ignore-case + "If non-nil, file-cache completion should ignore case. +Defaults to the value of `completion-ignore-case'." + :type 'sexp + :group 'file-cache + ) + (defvar file-cache-multiple-directory-message nil) ;; Internal variables @@ -468,7 +475,7 @@ the name is considered already unique; only the second substitution (interactive "P") (let* ( - (completion-ignore-case nil) + (completion-ignore-case file-cache-completion-ignore-case) (case-fold-search nil) (string (file-name-nondirectory (buffer-string))) (completion-string (try-completion string file-cache-alist)) @@ -593,6 +600,44 @@ the name is considered already unique; only the second substitution ) ) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Show parts of the cache +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(defun file-cache-files-matching-internal (regexp) + "Output a list of files whose names (not including directories) +match REGEXP." + (let ((results)) + (mapcar + (function + (lambda(cache-element) + (and (string-match regexp + (elt cache-element 0)) + (if results + (nconc results (list (elt cache-element 0))) + (setq results (list (elt cache-element 0))))))) + file-cache-alist) + results)) + +(defun file-cache-files-matching (regexp) + "Output a list of files whose names (not including directories) +match REGEXP." + (interactive "sFind files matching regexp: ") + (let ((results + (file-cache-files-matching-internal regexp)) + buf) + (set-buffer + (setq buf (get-buffer-create + "*File Cache Files Matching*"))) + (erase-buffer) + (insert + (mapconcat + 'identity + results + "\n")) + (goto-char (point-min)) + (display-buffer buf))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Debugging functions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;