[Top][All Lists]
[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
- [Emacs-diffs] emacs/lisp ChangeLog filecache.el,
Stefan Monnier <=