diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2009-08-30 21:16:39 +0000 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2009-08-30 21:16:39 +0000 |
commit | aa8724aeadb56751cb464fd5ebbf5f2e631fd3fa (patch) | |
tree | a3f4e2cd8ee9249f924d413e7c38e21a4a0bc204 /lisp/cedet/semantic/db-ebrowse.el | |
parent | ec0528188392b677b63aec579e5ef456e025b9b5 (diff) | |
download | emacs-aa8724aeadb56751cb464fd5ebbf5f2e631fd3fa.tar.gz |
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.
Diffstat (limited to 'lisp/cedet/semantic/db-ebrowse.el')
-rw-r--r-- | lisp/cedet/semantic/db-ebrowse.el | 82 |
1 files changed, 45 insertions, 37 deletions
diff --git a/lisp/cedet/semantic/db-ebrowse.el b/lisp/cedet/semantic/db-ebrowse.el index b38e6b0a1ca..96f8285e508 100644 --- a/lisp/cedet/semantic/db-ebrowse.el +++ b/lisp/cedet/semantic/db-ebrowse.el @@ -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 @@ be searched." :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 @@ warn instead." (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 @@ For instance: /home/<username>/.semanticdb/!usr!include!BROWSE" 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 @@ Optional argument BASECLASSES specifyies a baseclass to the tree being provided. (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 @@ run the test again..") (provide 'semantic/db-ebrowse) -;;; semanticdb-ebrowse.el ends here +;;; semantic/db-ebrowse.el ends here |