diff lisp/cedet/semantic/db-ebrowse.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 36f56620b2ae
children 902d22a2d922
line wrap: on
line diff
--- a/lisp/cedet/semantic/db-ebrowse.el	Sun Aug 30 21:06:53 2009 +0000
+++ b/lisp/cedet/semantic/db-ebrowse.el	Sun Aug 30 21:16:39 2009 +0000
@@ -1,4 +1,4 @@
-;;; db-ebrowse.el --- Semanticdb backend using ebrowse.
+;;; semantic/db-ebrowse.el --- Semanticdb backend using ebrowse.
 
 ;;; Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
@@ -56,6 +56,12 @@
   (require 'eieio-opt)
   )
 (require 'semantic/db-file)
+(require 'semantic/db-mode)
+(require 'semantic/find)
+(require 'semantic/sort)
+(require 'data-debug)
+
+(declare-function semantic-add-system-include "semantic/dep")
 
 (eval-and-compile
   ;; Hopefully, this will allow semanticdb-ebrowse to compile under
@@ -77,6 +83,41 @@
   :group 'semanticdb
   :type 'string)
 
+;;; SEMANTIC Database related Code
+;;; Classes:
+(defclass semanticdb-table-ebrowse (semanticdb-table)
+  ((major-mode :initform c++-mode)
+   (ebrowse-tree :initform nil
+		 :initarg :ebrowse-tree
+		 :documentation
+		 "The raw ebrowse tree for this file."
+		 )
+   (global-extract :initform nil
+		   :initarg :global-extract
+		   :documentation
+		   "Table of ebrowse tags specific to this file.
+This table is compisited from the ebrowse *Globals* section.")
+   )
+  "A table for returning search results from ebrowse.")
+
+(defclass semanticdb-project-database-ebrowse
+  (semanticdb-project-database)
+  ((new-table-class :initform semanticdb-table-ebrowse
+		    :type class
+		    :documentation
+		    "New tables created for this database are of this class.")
+   (system-include-p :initform nil
+		     :initarg :system-include
+		     :documentation
+		     "Flag indicating this database represents a system include directory.")
+   (ebrowse-struct :initform nil
+		   :initarg :ebrowse-struct
+		   )
+   )
+  "Semantic Database deriving tags using the EBROWSE tool.
+EBROWSE is a C/C++ parser for use with `ebrowse' Emacs program.")
+
+
 (defun semanticdb-ebrowse-C-file-p (file)
   "Is FILE a C or C++ file?"
   (or (string-match semanticdb-ebrowse-file-match file)
@@ -187,40 +228,6 @@
 	    (delete-file BFLB))
 	  )))))
 
-;;; SEMANTIC Database related Code
-;;; Classes:
-(defclass semanticdb-table-ebrowse (semanticdb-table)
-  ((major-mode :initform c++-mode)
-   (ebrowse-tree :initform nil
-		 :initarg :ebrowse-tree
-		 :documentation
-		 "The raw ebrowse tree for this file."
-		 )
-   (global-extract :initform nil
-		   :initarg :global-extract
-		   :documentation
-		   "Table of ebrowse tags specific to this file.
-This table is compisited from the ebrowse *Globals* section.")
-   )
-  "A table for returning search results from ebrowse.")
-
-(defclass semanticdb-project-database-ebrowse
-  (semanticdb-project-database)
-  ((new-table-class :initform semanticdb-table-ebrowse
-		    :type class
-		    :documentation
-		    "New tables created for this database are of this class.")
-   (system-include-p :initform nil
-		     :initarg :system-include
-		     :documentation
-		     "Flag indicating this database represents a system include directory.")
-   (ebrowse-struct :initform nil
-		   :initarg :ebrowse-struct
-		   )
-   )
-  "Semantic Database deriving tags using the EBROWSE tool.
-EBROWSE is a C/C++ parser for use with `ebrowse' Emacs program.")
-
 ;JAVE this just instantiates a default empty ebrowse struct?
 ; how would new instances wind up here?
 ; the ebrowse class isnt singleton, unlike the emacs lisp one
@@ -292,6 +299,7 @@
 If there is no database for DIRECTORY available, then
 {not implemented yet} create one.  Return nil if that is not possible."
   ;; MAKE SURE THAT THE FILE LOADED DOESN'T ALREADY EXIST.
+  (require 'semantic/dep)
   (let ((dbs semanticdb-database-list)
 	(found nil))
     (while (and (not found) dbs)
@@ -425,7 +433,7 @@
 		  (semanticdb-create-table dbe fname)))
 	 (class (ebrowse-ts-class tree))
 	 (scope (ebrowse-cs-scope class))
-	 (ns (when scope (cedet-split-string scope ":" t)))
+	 (ns (when scope (split-string scope ":" t)))
 	 (nst nil)
 	 (cls nil)
 	 )
@@ -703,4 +711,4 @@
 
 (provide 'semantic/db-ebrowse)
 
-;;; semanticdb-ebrowse.el ends here
+;;; semantic/db-ebrowse.el ends here