summaryrefslogtreecommitdiff
path: root/lisp/cedet/semantic
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2009-08-30 21:16:39 +0000
committerChong Yidong <cyd@stupidchicken.com>2009-08-30 21:16:39 +0000
commitaa8724aeadb56751cb464fd5ebbf5f2e631fd3fa (patch)
treea3f4e2cd8ee9249f924d413e7c38e21a4a0bc204 /lisp/cedet/semantic
parentec0528188392b677b63aec579e5ef456e025b9b5 (diff)
downloademacs-aa8724aeadb56751cb464fd5ebbf5f2e631fd3fa.tar.gz
emacs-aa8724aeadb56751cb464fd5ebbf5f2e631fd3fa.tar.bz2
emacs-aa8724aeadb56751cb464fd5ebbf5f2e631fd3fa.zip
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')
-rw-r--r--lisp/cedet/semantic/adebug.el4
-rw-r--r--lisp/cedet/semantic/analyze.el19
-rw-r--r--lisp/cedet/semantic/chart.el10
-rw-r--r--lisp/cedet/semantic/complete.el68
-rw-r--r--lisp/cedet/semantic/ctxt.el25
-rw-r--r--lisp/cedet/semantic/db-debug.el8
-rw-r--r--lisp/cedet/semantic/db-ebrowse.el82
-rw-r--r--lisp/cedet/semantic/db-find.el4
-rw-r--r--lisp/cedet/semantic/tag.el2
-rw-r--r--lisp/cedet/semantic/texi.el5
10 files changed, 127 insertions, 100 deletions
diff --git a/lisp/cedet/semantic/adebug.el b/lisp/cedet/semantic/adebug.el
index fe8e71b82e8..7756ffb93d7 100644
--- a/lisp/cedet/semantic/adebug.el
+++ b/lisp/cedet/semantic/adebug.el
@@ -1,4 +1,4 @@
-;;; adebug.el --- Semantic Application Debugger
+;;; semantic/adebug.el --- Semantic Application Debugger
;;; Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
@@ -420,4 +420,4 @@ Optional argument CTXT is the context to show."
(provide 'semantic/adebug)
-;;; semantic-adebug.el ends here
+;;; semantic/adebug.el ends here
diff --git a/lisp/cedet/semantic/analyze.el b/lisp/cedet/semantic/analyze.el
index 7c47ba0877c..c55186b3b05 100644
--- a/lisp/cedet/semantic/analyze.el
+++ b/lisp/cedet/semantic/analyze.el
@@ -1,4 +1,4 @@
-;;; analyze.el --- Analyze semantic tags against local context
+;;; semantic/analyze.el --- Analyze semantic tags against local context
;;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
;;; Free Software Foundation, Inc.
@@ -65,19 +65,19 @@
;; other possible completions.
;;
(require 'eieio)
-;; (require 'inversion)
-;; (eval-and-compile
-;; (inversion-require 'eieio "1.0"))
(require 'semantic)
(require 'semantic/format)
(require 'semantic/ctxt)
(require 'semantic/sort)
-(eval-when-compile (require 'semantic/db)
- (require 'semantic/db-find))
-
+(eval-when-compile (require 'semantic/find))
(require 'semantic/scope)
(require 'semantic/analyze/fcn)
+;; `semanticdb-typecache-find' autoloads from semantic/db-typecache,
+;; which requires semantic/db-find.
+(declare-function semanticdb-strip-find-results "semantic/db-find")
+(declare-function semanticdb-find-tags-by-name "semantic/db-find")
+
;;; Code:
(defvar semantic-analyze-error-stack nil
"Collection of any errors thrown during analysis.")
@@ -684,8 +684,11 @@ Returns an object based on symbol `semantic-analyze-context'."
;;
;; Friendly output of a context analysis.
;;
+(declare-function pulse-momentary-highlight-region "pulse")
+
(defmethod semantic-analyze-pulse ((context semantic-analyze-context))
"Pulse the region that CONTEXT affects."
+ (require 'pulse)
(save-excursion
(set-buffer (oref context :buffer))
(let ((bounds (oref context :bounds)))
@@ -766,4 +769,4 @@ CONTEXT's content is described in `semantic-analyze-current-context'."
(provide 'semantic/analyze)
-;;; semantic-analyze.el ends here
+;;; semantic/analyze.el ends here
diff --git a/lisp/cedet/semantic/chart.el b/lisp/cedet/semantic/chart.el
index 95c60a51365..124227d7782 100644
--- a/lisp/cedet/semantic/chart.el
+++ b/lisp/cedet/semantic/chart.el
@@ -1,4 +1,4 @@
-;;; chart.el --- Utilities for use with semantic tag tables
+;;; semantic/chart.el --- Utilities for use with semantic tag tables
;;; Copyright (C) 1999, 2000, 2001, 2003, 2005, 2008, 2009
;;; Free Software Foundation, Inc.
@@ -26,8 +26,12 @@
;; the output of the semantic parser.
;;
-(require 'semantic)
(require 'chart)
+(require 'semantic)
+(require 'semantic/find)
+(require 'semantic/db-mode)
+(require 'semantic/db-typecache)
+(require 'semantic/scope)
;;; Code:
@@ -164,4 +168,4 @@ items are charted. TAGTABLE is passedto
(provide 'semantic/chart)
-;;; semantic-chart.el ends here
+;;; semantic/chart.el ends here
diff --git a/lisp/cedet/semantic/complete.el b/lisp/cedet/semantic/complete.el
index d1367e30b7d..c721d42c888 100644
--- a/lisp/cedet/semantic/complete.el
+++ b/lisp/cedet/semantic/complete.el
@@ -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 @@ HISTORY is a symbol representing a variable to story the history in."
(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 @@ completion text in ghost text."
;;; ------------------------------------------------------------
;;; 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 @@ prompts. these are calculated from the CONTEXT variable passed in."
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 @@ use `semantic-complete-analyze-inline' to complete."
;; End
(provide 'semantic/complete)
-;;; semantic-complete.el ends here
+;;; semantic/complete.el ends here
diff --git a/lisp/cedet/semantic/ctxt.el b/lisp/cedet/semantic/ctxt.el
index 270b9964031..40da8153aec 100644
--- a/lisp/cedet/semantic/ctxt.el
+++ b/lisp/cedet/semantic/ctxt.el
@@ -1,4 +1,4 @@
-;;; ctxt.el --- Context calculations for Semantic tools.
+;;; semantic/ctxt.el --- Context calculations for Semantic tools.
;;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
;;; 2007, 2008, 2009 Free Software Foundation, Inc.
@@ -31,7 +31,7 @@
;; the current context is calculated.
;;
(require 'semantic)
-(eval-when-compile (require 'semantic/db))
+(require 'semantic/find)
;;; Code:
(defvar semantic-command-separation-character
@@ -155,16 +155,15 @@ Return non-nil if there is no upper context."
Local variables are returned in Semantic tag format.
This can be overriden with `get-local-variables'."
;; The working status is to let the parser work properly
- (working-status-forms
- (semantic-parser-working-message "Local")
- "done"
- (save-excursion
- (if point (goto-char point))
- (let* ((semantic-working-type nil)
- ;; Disable parsing messages
- (working-status-dynamic-type nil)
- (case-fold-search semantic-case-fold))
- (:override-with-args ())))))
+ (let ((semantic--progress-reporter
+ (make-progress-reporter (semantic-parser-working-message "Local")
+ 0 100)))
+ (save-excursion
+ (if point (goto-char point))
+ (let* ((semantic-working-type nil)
+ ;; Disable parsing messages
+ (case-fold-search semantic-case-fold))
+ (:override-with-args ())))))
(defun semantic-get-local-variables-default ()
"Get local values from a specific context.
@@ -610,4 +609,4 @@ overriden."
(provide 'semantic/ctxt)
-;;; semantic-ctxt.el ends here
+;;; semantic/ctxt.el ends here
diff --git a/lisp/cedet/semantic/db-debug.el b/lisp/cedet/semantic/db-debug.el
index 6db1cbfaae9..52ae605f6a0 100644
--- a/lisp/cedet/semantic/db-debug.el
+++ b/lisp/cedet/semantic/db-debug.el
@@ -1,4 +1,4 @@
-;;; db-debug.el --- Extra level debugging routines for Semantic
+;;; semantic/db-debug.el --- Extra level debugging routines for Semantic
;;; Copyright (C) 2008, 2009 Free Software Foundation, Inc.
@@ -24,7 +24,10 @@
;; Various routines for debugging SemanticDB issues, or viewing
;; semanticdb state.
+(require 'data-debug)
(require 'semantic/db)
+(require 'semantic/db-mode)
+(require 'semantic/format)
;;; Code:
;;
@@ -105,4 +108,5 @@
(provide 'semantic/db-debug)
-;;; semanticdb-debug.el ends here
+
+;;; semantic/db-debug.el ends here
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
diff --git a/lisp/cedet/semantic/db-find.el b/lisp/cedet/semantic/db-find.el
index fb40d77d3ef..681b7d2066c 100644
--- a/lisp/cedet/semantic/db-find.el
+++ b/lisp/cedet/semantic/db-find.el
@@ -1,4 +1,4 @@
-;;; db-find.el --- Searching through semantic databases.
+;;; semantic/db-find.el --- Searching through semantic databases.
;;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
;;; 2008, 2009 Free Software Foundation, Inc.
@@ -1350,4 +1350,4 @@ Return a table of all matching tags."
(provide 'semantic/db-find)
-;;; semanticdb-find.el ends here
+;;; semantic/db-find.el ends here
diff --git a/lisp/cedet/semantic/tag.el b/lisp/cedet/semantic/tag.el
index ca4669bc0ea..ed79c11ad7f 100644
--- a/lisp/cedet/semantic/tag.el
+++ b/lisp/cedet/semantic/tag.el
@@ -63,7 +63,7 @@
(declare-function semantic-format-tag-summarize "semantic/format")
(declare-function semantic-format-tag-name "semantic/format")
-(defconst semantic-tag-version semantic-version
+(defconst semantic-tag-version "2.0pre7"
"Version string of semantic tags made with this code.")
(defconst semantic-tag-incompatible-version "1.0"
diff --git a/lisp/cedet/semantic/texi.el b/lisp/cedet/semantic/texi.el
index 1115ef7e051..798c02f3f18 100644
--- a/lisp/cedet/semantic/texi.el
+++ b/lisp/cedet/semantic/texi.el
@@ -35,9 +35,10 @@
(require 'semantic/db)
(require 'semantic/db-find)
(require 'semantic/ctxt)
- (require 'semantic/imenu)
+;; (require 'semantic/imenu)
(require 'semantic/doc)
- (require 'senator))
+;; (require 'senator)
+)
(defvar semantic-texi-super-regex
"^@\\(top\\|chapter\\|\\(sub\\)*section\\|unnumbered\\(\\(sub\\)*sec\\)?\\|\