diff lisp/cedet/semantic/db-file.el @ 104510:8c44231178fc

* cedet/semantic/db.el (semanticdb--inhibit-make-directory): New var. (semanticdb-save-all-db): Use it. * cedet/semantic/db-file.el (semanticdb-default-save-directory): Save in user-emacs-directory instead of the home directory. (semanticdb-file-directory-exists-p): Avoid prompting the user multiple times.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 21 Sep 2009 18:20:50 +0000
parents e59328b6f117
children a6a812dd2d88
line wrap: on
line diff
--- a/lisp/cedet/semantic/db-file.el	Mon Sep 21 17:49:07 2009 +0000
+++ b/lisp/cedet/semantic/db-file.el	Mon Sep 21 18:20:50 2009 +0000
@@ -38,12 +38,13 @@
 ;;; Settings
 ;;
 (defcustom semanticdb-default-file-name "semantic.cache"
-  "*File name of the semantic tag cache."
+  "File name of the semantic tag cache."
   :group 'semanticdb
   :type 'string)
 
-(defcustom semanticdb-default-save-directory (expand-file-name "~/.semanticdb")
-  "*Directory name where semantic cache files are stored.
+(defcustom semanticdb-default-save-directory
+  (expand-file-name "semanticdb" user-emacs-directory)
+  "Directory name where semantic cache files are stored.
 If this value is nil, files are saved in the current directory.  If the value
 is a valid directory, then it overrides `semanticdb-default-file-name' and
 stores caches in a coded file name in this directory."
@@ -54,7 +55,7 @@
                  (directory)))
 
 (defcustom semanticdb-persistent-path '(always)
-  "*List of valid paths that semanticdb will cache tags to.
+  "List of valid paths that semanticdb will cache tags to.
 When `global-semanticdb-minor-mode' is active, tag lists will
 be saved to disk when Emacs exits.  Not all directories will have
 tags that should be saved.
@@ -68,7 +69,7 @@
   :type nil)
 
 (defcustom semanticdb-save-database-hooks nil
-  "*Hooks run after a database is saved.
+  "Hooks run after a database is saved.
 Each function is called with one argument, the object representing
 the database recently written."
   :group 'semanticdb
@@ -202,13 +203,16 @@
 	   ;; @TODO - If it was never set up... what should we do ?
 	   nil)
 	  ((file-exists-p dest) t)
-	  (supress-questions nil)
-	  ((y-or-n-p (format "Create directory %s for SemanticDB? "
-			     dest))
+	  ((or supress-questions
+	       (and (boundp 'semanticdb--inhibit-make-directory)
+		    semanticdb--inhibit-make-directory))
+	   nil)
+	  ((y-or-n-p (format "Create directory %s for SemanticDB? " dest))
 	   (make-directory dest t)
 	   t)
-	  (t nil))
-    ))
+	  (t (if (boundp 'semanticdb--inhibit-make-directory)
+		 (setq semanticdb--inhibit-make-directory t))
+	     nil))))
 
 (defmethod semanticdb-save-db ((DB semanticdb-project-database-file)
 			       &optional