diff lisp/cedet/semantic/complete.el @ 104439:da5b2513c225

cedet/cedet.el (cedet-packages): Bump srecode version. cedet/data-debug.el: Require `ring' for use of ring-length. cedet/semantic.el (semantic-repeat-parse-whole-stream): Check semantic-working-type before updating progress reporter. cedet/semantic/adebug.el: Fix file header. cedet/semantic/analyze.el: eval-when-compile semantic/find, for semantic-find-tags-by-name. Declare semanticdb-strip-find-results and semanticdb-find-tags-by-name. cedet/semantic/chart.el: Require semantic/find, semantic/db-mode, semantic/db-typecache, and semantic/scope. cedet/semantic/complete.el: Declare semantic-displayor-focus-abstract-child-p function (needed as the semantic-displayor-focus-abstract class is defined only after used). Move semantic-complete-inline-custom-type and semantic-complete-inline-analyzer-displayor-class variable definitions up, before they are used, to avoid compiler warning. Require semantic/decorate, semantic/tag-file, eieio-opt, and semantic/analyze/complete. cedet/semantic/ctxt.el: Require semantic/find. Don't eval-when-compile semantic/db (semantic-get-local-variables): Use Emacs' built-in progress reporter instead of working-status-forms. cedet/semantic/db-debug.el: Require data-debug, semantic/db-mode, and semantic/format. cedet/semantic/db-ebrowse.el: Require semantic/db-mode, semantic/find, semantic/sort, data-debug (semanticdb-create-database): Require semantic/dep for semantic-add-system-include. (semanticdb-table-ebrowse, semanticdb-project-database-ebrowse): Move class definitions near top of file, before they are used, to avoid compiler warnings. (semanticdb-ebrowse-add-tree-to-table): Use split-string.
author Chong Yidong <cyd@stupidchicken.com>
date Sun, 30 Aug 2009 21:16:39 +0000
parents b1ac14799f78
children b22b44e953cb
line wrap: on
line diff
--- a/lisp/cedet/semantic/complete.el	Sun Aug 30 21:06:53 2009 +0000
+++ b/lisp/cedet/semantic/complete.el	Sun Aug 30 21:16:39 2009 +0000
@@ -1,4 +1,4 @@
-;;; complete.el --- Routines for performing tag completion
+;;; semantic/complete.el --- Routines for performing tag completion
 
 ;;; Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009
 ;;; Free Software Foundation, Inc.
@@ -108,15 +108,19 @@
 ;; a buffer.
 
 (require 'eieio)
-(require 'semantic/tag)
+(require 'eieio-opt)
+(require 'semantic/tag-file)
 (require 'semantic/find)
 (require 'semantic/analyze)
 (require 'semantic/format)
 (require 'semantic/ctxt)
 ;; Keep semanticdb optional.
-(eval-when-compile
-  (require 'semantic/db)
-  (require 'semantic/db-find))
+;; (eval-when-compile
+;;   (require 'semantic/db)
+;;   (require 'semantic/db-find))
+(require 'semantic/decorate)
+(require 'semantic/analyze/complete)
+
 
 (eval-when-compile
   (condition-case nil
@@ -325,6 +329,11 @@
 (defvar semantic-complete-current-matched-tag nil
   "Variable used to pass the tags being matched to the prompt.")
 
+;; semantic-displayor-focus-abstract-child-p is part of the
+;; semantic-displayor-focus-abstract class, defined later in this
+;; file.
+(declare-function semantic-displayor-focus-abstract-child-p "semantic/complete")
+
 (defun semantic-complete-current-match ()
   "Calculate a match from the current completion environment.
 Save this in our completion variable.  Make sure that variable
@@ -1759,6 +1768,29 @@
 ;;; ------------------------------------------------------------
 ;;; Specific queries
 ;;
+(defvar semantic-complete-inline-custom-type
+  (append '(radio)
+	  (mapcar
+	   (lambda (class)
+	     (let* ((C (intern (car class)))
+		    (doc (documentation-property C 'variable-documentation))
+		    (doc1 (car (split-string doc "\n")))
+		    )
+	       (list 'const
+		     :tag doc1
+		     C)))
+	   (eieio-build-class-alist semantic-displayor-abstract t))
+	  )
+  "Possible options for inlince completion displayors.
+Use this to enable custom editing.")
+
+(defcustom semantic-complete-inline-analyzer-displayor-class
+  'semantic-displayor-traditional
+  "*Class for displayor to use with inline completion."
+  :group 'semantic
+  :type semantic-complete-inline-custom-type
+  )
+
 (defun semantic-complete-read-tag-buffer-deep (prompt &optional
 						      default-tag
 						      initial-input
@@ -1885,30 +1917,6 @@
      inp
      history)))
 
-(defvar semantic-complete-inline-custom-type
-  (append '(radio)
-	  (mapcar
-	   (lambda (class)
-	     (let* ((C (intern (car class)))
-		    (doc (documentation-property C 'variable-documentation))
-		    (doc1 (car (split-string doc "\n")))
-		    )
-	       (list 'const
-		     :tag doc1
-		     C)))
-	   (eieio-build-class-alist semantic-displayor-abstract t))
-	  )
-  "Possible options for inlince completion displayors.
-Use this to enable custom editing.")
-
-(defcustom semantic-complete-inline-analyzer-displayor-class
-  'semantic-displayor-traditional
-  "*Class for displayor to use with inline completion."
-  :group 'semantic
-  :type semantic-complete-inline-custom-type
-  )
-
-
 (defun semantic-complete-inline-analyzer (context)
   "Complete a symbol name by name based on the current context.
 This is similar to `semantic-complete-read-tag-analyze', except
@@ -2125,4 +2133,4 @@
 ;; End
 (provide 'semantic/complete)
 
-;;; semantic-complete.el ends here
+;;; semantic/complete.el ends here