diff lisp/cedet/semantic/idle.el @ 104446:df08b7ab0ba0

lisp/cedet/semantic/analyze.el: Add local vars for autoloading. (semantic-analyze-current-context): Autoload. lisp/cedet/semantic/ctxt.el: Add local vars for autoloading. Don't eval-when-compile semantic/db (semantic-ctxt-current-mode): Autoload. (semantic-up-context): Require semantic/find. lisp/cedet/semantic/find.el (semantic-current-tag-parent) (semantic-find-tags-by-scope-protection): Autoload. lisp/cedet/semantic/format.el (semantic-format-tag-prototype) (semantic-format-tag-summarize): Autoload. lisp/cedet/semantic/idle.el: Declare external functions. (semantic-idle-work-for-one-buffer, semantic-idle-work-core-handler): Require semantic/db-mode. (semantic-idle-work-core-handler): Synch to upstream. (semantic-idle-scheduler-refresh-tags): Require semantic/decorate/mode. (semantic-idle-summary-find-current-symbol-tag): Require semantic/db-find. (semantic-idle-summary-current-symbol-info-context): Require semantic/analyze. (semantic-idle-summary-maybe-highlight, semantic-idle-tag-highlight): Require pulse. (semantic-idle-completion-list-default): Require semantic/complete. lisp/cedet/semantic/lex-spp.el: Require semantic. (semantic-lex-spp-analyzer-push-tokens-for-symbol): Synch to upstream. (semantic-lex-spp-first-token-arg-list): Use split-string. lisp/cedet/semantic/lex.el: Declare semantic-elapsed-time. Add local vars for autoloading. (semantic-lex-test): Require semantic. (semantic-lex): Autoload. (semantic-flex): Use semantic-lex-keyword-p to avoid compiler warning. lisp/cedet/semantic/sb.el: Require semantic/sort. Declare semanticdb-minor-mode-p. (semantic-sb-fetch-tag-table): Require semantic/db-mode. lisp/cedet/semantic/scope.el: eval-when-compile semantic/find. Declare external functions. (semantic-analyze-scope-nested-tags-default): Require semantic/analyze. (semantic-analyze-show): Require semantic/analyze. (semantic-calculate-scope): Require semantic/db-typecache. lisp/cedet/semantic/sort.el: Add local vars for autoloading. Declare semanticdb-find-tags-external-children-of-type. (semantic-flatten-tags-table, semantic-tag-external-member-parent): Autoload. (semantic-tag-external-member-children-default): Require semantic/db-find. lisp/cedet/semantic/symref.el: Require semantic. Declare data-debug-new-buffer and data-debug-insert-object-slots. (semantic-symref-data-debug-last-result): Require eieio-datadebug. lisp/cedet/semantic/tag-file.el: Declare external functions. (semantic-go-to-tag): Call semanticdb-table-child-p only if semantic/db is loaded. (semantic-dependency-tag-file): Require semantic/dep. lisp/cedet/semantic/tag-ls.el: Require semantic. Add local variables for autoloading. (semantic-tag-prototype-p): Autoload. lisp/cedet/semantic/tag-write.el: Require semantic. lisp/cedet/semantic/tag.el: Update external function declarations and requirements, removing autoloaded functions. Add local vars for autoloading. (semantic-tag-components): Autoload. lisp/cedet/semantic/texi.el: Declare lookup-words. eval-when-compile semantic/find. lisp/cedet/semantic/util.el: Update file header. lisp/cedet/semantic/analyze/complete.el: Add local variables for autoloading. (semantic-analyze-possible-completions, semantic-analyze-type-constants): Autoload.
author Chong Yidong <cyd@stupidchicken.com>
date Thu, 03 Sep 2009 03:58:13 +0000
parents 2bf481006ba4
children 273e528a9f9b
line wrap: on
line diff
--- a/lisp/cedet/semantic/idle.el	Wed Sep 02 05:04:38 2009 +0000
+++ b/lisp/cedet/semantic/idle.el	Thu Sep 03 03:58:13 2009 +0000
@@ -46,8 +46,17 @@
 ;; For the semantic-find-tags-by-name macro.
 (eval-when-compile (require 'semantic/find))
 
+(declare-function eldoc-message "eldoc")
+(declare-function semantic-analyze-interesting-tag "semantic/analyze")
+(declare-function semantic-complete-analyze-inline-idle "semantic/complete")
+(declare-function semanticdb-deep-find-tags-by-name "semantic/db-find")
+(declare-function semanticdb-minor-mode-p "semantic/db-mode")
+(declare-function semanticdb-save-all-db-idle "semantic/db")
 (declare-function semanticdb-typecache-refresh-for-buffer "semantic/db-typecache")
-(declare-function eldoc-message "eldoc")
+(declare-function semantic-decorate-flush-pending-decorations
+		  "semantic/decorate/mode")
+(declare-function pulse-momentary-highlight-region "pulse")
+(declare-function pulse-momentary-highlight-overlay "pulse")
 
 ;;; Code:
 
@@ -358,6 +367,7 @@
 	  (semantic-safe "Idle Work Including Error: %S"
 	    ;; Get the include related path.
 	    (when (and (featurep 'semantic/db)
+		       (require 'semantic/db-mode)
 		       (semanticdb-minor-mode-p))
 	      (require 'semantic/db-find)
 	      (semanticdb-find-translate-path buffer nil)
@@ -408,22 +418,23 @@
 		   ))
 	       )
 
-	     ;; Save everything.
-	     (semanticdb-save-all-db-idle)
+	     (when (and (featurep 'semantic/db)
+			(require 'semantic/db-mode)
+			(semanticdb-minor-mode-p))
+	       ;; Save everything.
+	       (semanticdb-save-all-db-idle)
 
-	     ;; Parse up files near our active buffer
-	     (when semantic-idle-work-parse-neighboring-files-flag
-	       (semantic-safe "Idle Work Parse Neighboring Files: %S"
-		 (when (and (featurep 'semantic/db)
-			    (semanticdb-minor-mode-p))
+	       ;; Parse up files near our active buffer
+	       (when semantic-idle-work-parse-neighboring-files-flag
+		 (semantic-safe "Idle Work Parse Neighboring Files: %S"
 		   (set-buffer cb)
 		   (semantic-idle-scheduler-work-parse-neighboring-files))
 		 t)
+
+	       ;; Save everything... again
+	       (semanticdb-save-all-db-idle)
 	       )
 
-	     ;; Save everything... again
-	     (semanticdb-save-all-db-idle)
-
 	     ;; Done w/ processing
 	     nil))))
 
@@ -582,6 +593,7 @@
 
     ;; After updating the tags, handle any pending decorations for this
     ;; buffer.
+    (require 'semantic/decorate/mode)
     (semantic-decorate-flush-pending-decorations (current-buffer))
     ))
 
@@ -716,7 +728,9 @@
   "Search for a semantic tag with name SYM in database tables.
 Return the tag found or nil if not found.
 If semanticdb is not in use, use the current buffer only."
-  (car (if (and (featurep 'semantic/db) semanticdb-current-database)
+  (car (if (and (featurep 'semantic/db)
+		semanticdb-current-database
+		(require 'semantic/db-find))
            (cdar (semanticdb-deep-find-tags-by-name sym))
          (semantic-deep-find-tags-by-name sym (current-buffer)))))
 
@@ -744,6 +758,7 @@
 		      (semantic-analyze-current-context (point))
 		    (error nil))))
     (when analysis
+      (require 'semantic/analyze)
       (semantic-analyze-interesting-tag analysis))))
 
 (defun semantic-idle-summary-current-symbol-info-default ()
@@ -844,6 +859,7 @@
   "Perhaps add highlighting onto TAG.
 TAG was found as the thing under point.  If it happens to be
 visible, then highlight it."
+  (require 'pulse)
   (let* ((region (when (and (semantic-tag-p tag)
 			    (semantic-tag-with-position-p tag))
 		   (semantic-tag-overlay tag)))
@@ -896,6 +912,7 @@
   "Highlight the tag, and references of the symbol under point.
 Call `semantic-analyze-current-context' to find the reference tag.
 Call `semantic-symref-hits-in-region' to identify local references."
+  (require 'pulse)
   (when (semantic-idle-summary-useful-context-p)
     (let* ((ctxt (semantic-analyze-current-context))
 	   (Hbounds (when ctxt (oref ctxt bounds)))
@@ -945,6 +962,7 @@
 		 nil))
 	      )
 	  ;; Use idle version.
+	  (require 'semantic/complete)
 	  (semantic-complete-analyze-inline-idle)
 	  )
       (error nil))