emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/lisp ChangeLog filecache.el


From: Stefan Monnier
Subject: [Emacs-diffs] emacs/lisp ChangeLog filecache.el
Date: Thu, 19 Nov 2009 22:02:56 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        09/11/19 22:02:56

Modified files:
        lisp           : ChangeLog filecache.el 

Log message:
        (file-cache-add-file): Use push and cons.
        (file-cache-delete-file-regexp): Use push.
        (file-cache-complete): Use completion-in-region.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.16674&r2=1.16675
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/filecache.el?cvsroot=emacs&r1=1.40&r2=1.41

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.16674
retrieving revision 1.16675
diff -u -b -r1.16674 -r1.16675
--- ChangeLog   19 Nov 2009 20:58:42 -0000      1.16674
+++ ChangeLog   19 Nov 2009 22:02:53 -0000      1.16675
@@ -1,5 +1,9 @@
 2009-11-19  Stefan Monnier  <address@hidden>
 
+       * filecache.el (file-cache-add-file): Use push and cons.
+       (file-cache-delete-file-regexp): Use push.
+       (file-cache-complete): Use completion-in-region.
+
        * simple.el (with-wrapper-hook): Fix thinko.
 
        * hfy-cmap.el (hfy-rgb-file): Use locate-file.

Index: filecache.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/filecache.el,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -b -r1.40 -r1.41
--- filecache.el        24 Oct 2009 03:51:54 -0000      1.40
+++ filecache.el        19 Nov 2009 22:02:56 -0000      1.41
@@ -255,7 +255,10 @@
 (defvar file-cache-last-completion nil)
 
 (defvar file-cache-alist nil
-  "Internal data structure to hold cache of file names.")
+  "Internal data structure to hold cache of file names.
+It is a list of entries of the form (FILENAME DIRNAME1 DIRNAME2 ...)
+where FILENAME is a file name component and the entry represents N
+files of names DIRNAME1/FILENAME, DIRNAME2/FILENAME, ...")
 
 (defvar file-cache-completions-keymap
   (let ((map (make-sparse-keymap)))
@@ -332,13 +335,9 @@
                  (and (listp (cdr the-entry))
                       (member dir-name (cdr the-entry))))
              nil
-           (setcdr the-entry (append (list dir-name) (cdr the-entry)))
-           )
+           (setcdr the-entry (cons dir-name (cdr the-entry))))
        ;; If not, add it to the cache
-       (setq file-cache-alist
-             (cons (cons file-name (list dir-name))
-                   file-cache-alist)))
-      )))
+       (push (list file-name dir-name) file-cache-alist)))))
 
 ;;;###autoload
 (defun file-cache-add-directory-using-find (directory)
@@ -446,9 +445,9 @@
   "Delete files matching REGEXP from the file cache."
   (interactive "sRegexp: ")
   (let ((delete-list))
-    (mapc '(lambda (elt)
+    (mapc (lambda (elt)
             (and (string-match regexp (car elt))
-                 (setq delete-list (cons (car elt) delete-list))))
+                 (push (car elt) delete-list)))
          file-cache-alist)
     (file-cache-delete-file-list delete-list)
     (message "Filecache: deleted %d files from file cache"
@@ -460,7 +459,7 @@
   (let ((dir (expand-file-name directory))
        (result 0))
     (mapc
-     '(lambda (entry)
+     (lambda (entry)
        (if (file-cache-do-delete-directory dir entry)
            (setq result (1+ result))))
      file-cache-alist)
@@ -669,26 +668,11 @@
 (defun file-cache-complete  ()
   "Complete the word at point, using the filecache."
   (interactive)
-  (let (start pattern completion all)
+  (let ((start
     (save-excursion
       (skip-syntax-backward "^\"")
-      (setq start (point)))
-    (setq pattern    (buffer-substring-no-properties start (point)))
-    (setq completion (try-completion  pattern file-cache-alist))
-    (setq all        (all-completions pattern file-cache-alist nil))
-    (cond ((eq completion t))
-         ((null completion)
-          (message "Can't find completion for \"%s\"" pattern)
-          (ding))
-         ((not (string= pattern completion))
-          (delete-region start (point))
-          (insert completion)
-          )
-         (t
-          (with-output-to-temp-buffer "*Completions*"
-            (display-completion-list all pattern))
-          ))
-    ))
+           (point))))
+    (completion-in-region start (point) file-cache-alist)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Show parts of the cache




reply via email to

[Prev in Thread] Current Thread [Next in Thread]