*** recentf.el Wed Sep 2 16:34:04 2009 --- d:/msys/temp/recentf.el Fri Sep 11 19:41:51 2009 *************** *** 310,322 **** (string-equal (downcase s1) (downcase s2)) (string-equal s1 s2))) - (defsubst recentf-string-key (s) - "Return a string that is used for `recentf-string-equal' or - `recentf-string-lessp' comparisons. " - (if recentf-case-fold-search - (downcase s) s)) - - (defsubst recentf-string-lessp (s1 s2) "Return non-nil if string S1 is less than S2 in lexicographic order. Ignore case if `recentf-case-fold-search' is non-nil." --- 310,315 ---- *************** *** 1314,1334 **** That is, remove duplicates, non-kept, and excluded files." (interactive) (message "Cleaning up the recentf list...") ! (let ((n 0) ! newlist ! hk ! (ht (make-hash-table ! :size recentf-max-saved-items ! :test 'equal))) (dolist (f recentf-list) ! (setq f (recentf-expand-file-name f) ! hk (recentf-string-key f)) (if (and (recentf-include-p f) (recentf-keep-p f) ! (not (gethash hk ht))) ! (progn ! (push f newlist) ! (puthash hk t ht)) (setq n (1+ n)) (message "File %s removed from the recentf list" f))) (message "Cleaning up the recentf list...done (%d removed)" n) --- 1307,1319 ---- That is, remove duplicates, non-kept, and excluded files." (interactive) (message "Cleaning up the recentf list...") ! (let ((n 0) newlist) (dolist (f recentf-list) ! (setq f (recentf-expand-file-name f)) (if (and (recentf-include-p f) (recentf-keep-p f) ! (not (recentf-string-member f newlist))) ! (push f newlist) (setq n (1+ n)) (message "File %s removed from the recentf list" f))) (message "Cleaning up the recentf list...done (%d removed)" n)