Function: semanticdb-cleanup-cache-files
semanticdb-cleanup-cache-files is an interactive and byte-compiled
function defined in db-file.el.gz.
Signature
(semanticdb-cleanup-cache-files &optional NOERROR)
Documentation
Cleanup any cache files associated with directories that no longer exist.
Optional NOERROR prevents errors from being displayed.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/db-file.el.gz
;;; FLUSH OLD FILES
;;
(defun semanticdb-cleanup-cache-files (&optional noerror)
"Cleanup any cache files associated with directories that no longer exist.
Optional NOERROR prevents errors from being displayed."
(interactive)
(when (and (not semanticdb-default-save-directory)
(not noerror))
(error "No default save directory for semantic-save files"))
(when semanticdb-default-save-directory
;; Calculate all the cache files we have.
(let* ((regexp (regexp-quote semanticdb-default-file-name))
(files (directory-files semanticdb-default-save-directory
t regexp))
(orig nil)
(to-delete nil))
(dolist (F files)
(setq orig (cedet-file-name-to-directory-name
(file-name-nondirectory F)))
(when (not (file-exists-p (file-name-directory orig)))
(setq to-delete (cons F to-delete))
))
(if to-delete
(save-window-excursion
(let ((buff (get-buffer-create "*Semanticdb Delete*")))
(with-current-buffer buff
(erase-buffer)
(insert "The following Cache files appear to be obsolete.\n\n")
(dolist (F to-delete)
(insert F "\n")))
(pop-to-buffer buff t t)
(fit-window-to-buffer (get-buffer-window buff) nil 1)
(when (y-or-n-p "Delete Old Cache Files? ")
(mapc (lambda (F)
(message "Deleting to %s..." F)
(delete-file F))
to-delete)
(message "done."))
))
;; No files to delete
(when (not noerror)
(message "No obsolete semanticdb.cache files."))
))))