summaryrefslogtreecommitdiff
path: root/lisp/cedet/semantic
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/cedet/semantic')
-rw-r--r--lisp/cedet/semantic/chart.el1
-rw-r--r--lisp/cedet/semantic/complete.el1
-rw-r--r--lisp/cedet/semantic/db-find.el4
-rw-r--r--lisp/cedet/semantic/decorate.el4
-rw-r--r--lisp/cedet/semantic/dep.el38
-rw-r--r--lisp/cedet/semantic/doc.el6
-rw-r--r--lisp/cedet/semantic/edit.el7
-rw-r--r--lisp/cedet/semantic/find.el11
-rw-r--r--lisp/cedet/semantic/format.el48
9 files changed, 70 insertions, 50 deletions
diff --git a/lisp/cedet/semantic/chart.el b/lisp/cedet/semantic/chart.el
index 124227d7782..d9201212862 100644
--- a/lisp/cedet/semantic/chart.el
+++ b/lisp/cedet/semantic/chart.el
@@ -28,7 +28,6 @@
(require 'chart)
(require 'semantic)
-(require 'semantic/find)
(require 'semantic/db-mode)
(require 'semantic/db-typecache)
(require 'semantic/scope)
diff --git a/lisp/cedet/semantic/complete.el b/lisp/cedet/semantic/complete.el
index c721d42c888..f0fd80e0887 100644
--- a/lisp/cedet/semantic/complete.el
+++ b/lisp/cedet/semantic/complete.el
@@ -110,7 +110,6 @@
(require 'eieio)
(require 'eieio-opt)
(require 'semantic/tag-file)
-(require 'semantic/find)
(require 'semantic/analyze)
(require 'semantic/format)
(require 'semantic/ctxt)
diff --git a/lisp/cedet/semantic/db-find.el b/lisp/cedet/semantic/db-find.el
index d81d5c1cadd..65028545ed0 100644
--- a/lisp/cedet/semantic/db-find.el
+++ b/lisp/cedet/semantic/db-find.el
@@ -119,9 +119,7 @@
(require 'semantic/db-ref)
(eval-when-compile
(require 'eieio)
- )
-
-(require 'semantic/find)
+ (require 'semantic/find))
(require 'semantic/tag-file)
(require 'semantic/sort)
diff --git a/lisp/cedet/semantic/decorate.el b/lisp/cedet/semantic/decorate.el
index 18fd6b599ed..ba86176f000 100644
--- a/lisp/cedet/semantic/decorate.el
+++ b/lisp/cedet/semantic/decorate.el
@@ -29,6 +29,7 @@
;;
(require 'semantic)
+(require 'semantic/tag-file)
(require 'pulse)
;;; Code:
@@ -304,9 +305,12 @@ nil implies the tag should be fully shown."
'semantic-set-tag-folded-isearch)))
))
+(declare-function semantic-current-tag "semantic/find")
+
(defun semantic-set-tag-folded-isearch (overlay)
"Called by isearch if it discovers text in the folded region.
OVERLAY is passed in by isearch."
+ (require 'semantic/find)
(semantic-set-tag-folded (semantic-current-tag) nil)
)
diff --git a/lisp/cedet/semantic/dep.el b/lisp/cedet/semantic/dep.el
index 4c67c6674f2..aa860c13764 100644
--- a/lisp/cedet/semantic/dep.el
+++ b/lisp/cedet/semantic/dep.el
@@ -1,4 +1,4 @@
-;;; dep.el --- Methods for tracking dependencies (include files)
+;;; semantic/dep.el --- Methods for tracking dependencies (include files)
;;; Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
@@ -178,25 +178,21 @@ macro `defcustom-mode-local-semantic-dependency-system-include-path'."
;;; PATH SEARCH
;;
;; methods for finding files on a provided path.
-(if (fboundp 'locate-file)
- (defsubst semantic--dependency-find-file-on-path (file path)
- "Return an expanded file name for FILE on PATH."
- (locate-file file path))
-
- ;; Else, older version of Emacs.
-
- (defsubst semantic--dependency-find-file-on-path (file path)
- "Return an expanded file name for FILE on PATH."
- (let ((p path)
- (found nil))
- (while (and p (not found))
- (let ((f (expand-file-name file (car p))))
- (if (file-exists-p f)
- (setq found f)))
- (setq p (cdr p)))
- found))
-
- )
+(defmacro semantic--dependency-find-file-on-path (file path)
+ (if (fboundp 'locate-file)
+ `(locate-file ,file ,path)
+ `(let ((p ,path)
+ (found nil))
+ (while (and p (not found))
+ (let ((f (expand-file-name ,file (car p))))
+ (if (file-exists-p f)
+ (setq found f)))
+ (setq p (cdr p)))
+ found)))
+
+(defvar ede-minor-mode)
+(defvar ede-object)
+(declare-function ede-system-include-path "ede")
(defun semantic-dependency-find-file-on-path (file systemp &optional mode)
"Return an expanded file name for FILE on available paths.
@@ -225,4 +221,4 @@ provided mode, not from the current major mode."
(provide 'semantic/dep)
-;;; semantic-dep.el ends here
+;;; semantic/dep.el ends here
diff --git a/lisp/cedet/semantic/doc.el b/lisp/cedet/semantic/doc.el
index 9018449721f..b5574548abc 100644
--- a/lisp/cedet/semantic/doc.el
+++ b/lisp/cedet/semantic/doc.el
@@ -1,4 +1,4 @@
-;;; doc.el --- Routines for documentation strings
+;;; semantic/doc.el --- Routines for documentation strings
;;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2005, 2008, 2009
;;; Free Software Foundation, Inc.
@@ -30,6 +30,8 @@
;; the symbol on the same line.
(require 'semantic/tag)
+(require 'semantic/tag-file)
+(require 'semantic/find)
;;; Code:
@@ -125,4 +127,4 @@ If NOSNARF is 'lex, then return the lex token."
(provide 'semantic/doc)
-;;; semantic-doc.el ends here
+;;; semantic/doc.el ends here
diff --git a/lisp/cedet/semantic/edit.el b/lisp/cedet/semantic/edit.el
index af3b23a3600..580d7ba253d 100644
--- a/lisp/cedet/semantic/edit.el
+++ b/lisp/cedet/semantic/edit.el
@@ -1,4 +1,4 @@
-;;; semantic-edit.el --- Edit Management for Semantic
+;;; semantic/edit.el --- Edit Management for Semantic
;;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
;;; 2007, 2008, 2009 Free Software Foundation, Inc.
@@ -59,7 +59,8 @@
;;
(require 'semantic)
-;; (require 'working)
+(require 'semantic/find)
+(require 'semantic/format)
;;; Code:
(defvar semantic-after-partial-cache-change-hook nil
@@ -962,4 +963,4 @@ lost if not transferred into NEWTAG."
(provide 'semantic/edit)
-;;; semantic-edit.el ends here
+;;; semantic/edit.el ends here
diff --git a/lisp/cedet/semantic/find.el b/lisp/cedet/semantic/find.el
index a01b2ae2b22..4751c3e1c2a 100644
--- a/lisp/cedet/semantic/find.el
+++ b/lisp/cedet/semantic/find.el
@@ -1,4 +1,4 @@
-;;; find.el --- Search routines for Semantic
+;;; semantic/find.el --- Search routines for Semantic
;;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009
;;; Free Software Foundation, Inc.
@@ -44,6 +44,7 @@
;;
;; 4) ...
+(require 'semantic)
(require 'semantic/tag)
;;; Code:
@@ -335,6 +336,8 @@ See `semantic-tag-protected-p' for details on which tags are returned."
semantic-tag-class type))
(:override)))
+(declare-function semantic-tag-protected-p "semantic/tag-ls")
+
(defun semantic-find-tags-by-scope-protection-default
(scopeprotection parent &optional table)
"Find all tags accessable by SCOPEPROTECTION.
@@ -348,6 +351,7 @@ See `semantic-tag-protected-p' for details on which tags are returned."
(if (not table) (setq table (semantic-tag-type-members parent)))
(if (null scopeprotection)
table
+ (require 'semantic/tag-ls)
(semantic--find-tags-by-macro
(not (semantic-tag-protected-p (car tags) scopeprotection parent))
table)))
@@ -389,10 +393,13 @@ attempting to do completions."
;;; Specialty Searches
;;
+(declare-function semantic-tag-external-member-parent "semantic/sort")
+
(defun semantic-find-tags-external-children-of-type (type &optional table)
"Find all tags in whose parent is TYPE in TABLE.
These tags are defined outside the scope of the original TYPE declaration.
TABLE is a tag table. See `semantic-something-to-tag-table'."
+ (require 'semantic/sort)
(semantic--find-tags-by-macro
(equal (semantic-tag-external-member-parent (car tags))
type)
@@ -792,4 +799,4 @@ Optional argument ARG is the number of iterations to run."
(provide 'semantic/find)
-;;; semantic-find.el ends here
+;;; semantic/find.el ends here
diff --git a/lisp/cedet/semantic/format.el b/lisp/cedet/semantic/format.el
index ad6523f4fa8..2e4f16a509b 100644
--- a/lisp/cedet/semantic/format.el
+++ b/lisp/cedet/semantic/format.el
@@ -1,4 +1,4 @@
-;;; format.el --- Routines for formatting tags
+;;; semantic/format.el --- Routines for formatting tags
;;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007,
;;; 2008, 2009 Free Software Foundation, Inc.
@@ -33,10 +33,15 @@
;;
;;; Code:
-(eval-when-compile (require 'font-lock))
+(require 'semantic)
(require 'semantic/tag)
+(require 'semantic/tag-ls)
(require 'ezimage)
+(eval-when-compile
+ (require 'font-lock)
+ (require 'semantic/find))
+
;;; Tag to text overload functions
;;
;; abbreviations, prototypes, and coloring support.
@@ -90,11 +95,27 @@ Images can be used as icons instead of some types of text strings."
"Text used to separate names when between namespaces/classes and functions.")
(make-variable-buffer-local 'semantic-format-parent-separator)
+(define-overloadable-function semantic-format-tag-name (tag &optional parent color)
+ "Return the name string describing TAG.
+The name is the shortest possible representation.
+Optional argument PARENT is the parent type if TAG is a detail.
+Optional argument COLOR means highlight the prototype with font-lock colors.")
+
+(define-overloadable-function semantic-format-tag-prototype (tag &optional parent color)
+ "Return a prototype for TAG.
+This function should be overloaded, though it need not be used.
+This is because it can be used to create code by language independent
+tools.
+Optional argument PARENT is the parent type if TAG is a detail.
+Optional argument COLOR means highlight the prototype with font-lock colors.")
+
+
(defun semantic-test-all-format-tag-functions (&optional arg)
"Test all outputs from `semantic-format-tag-functions'.
Output is generated from the function under `point'.
Optional argument ARG specifies not to use color."
(interactive "P")
+ (require 'semantic/find)
(semantic-fetch-tags)
(let* ((tag (semantic-current-tag))
(par (semantic-current-tag-parent))
@@ -274,12 +295,6 @@ of FACE-CLASS for which this is used."
(stringp (car anything)))
(semantic--format-colorize-text (car anything) colorhint))))
-(define-overloadable-function semantic-format-tag-name (tag &optional parent color)
- "Return the name string describing TAG.
-The name is the shortest possible representation.
-Optional argument PARENT is the parent type if TAG is a detail.
-Optional argument COLOR means highlight the prototype with font-lock colors.")
-
(defun semantic-format-tag-name-default (tag &optional parent color)
"Return an abbreviated string describing TAG.
Optional argument PARENT is the parent type if TAG is a detail.
@@ -294,6 +309,8 @@ Optional argument COLOR means highlight the prototype with font-lock colors."
(setq name (semantic--format-colorize-text name (semantic-tag-class tag))))
name))
+(declare-function semantic-go-to-tag "semantic/tag-file")
+
(defun semantic--format-tag-parent-tree (tag parent)
"Under Consideration.
@@ -311,6 +328,7 @@ local definitions."
;; is nil because there isn't one.
(setq parent (or (semantic-tag-function-parent tag)
(save-excursion
+ (require 'semantic/tag-file)
(semantic-go-to-tag tag)
(semantic-current-tag-parent)))))
(when (stringp parent)
@@ -449,10 +467,13 @@ Optional argument COLOR means highlight the prototype with font-lock colors."
Optional argument PARENT is the parent type if TAG is a detail.
Optional argument COLOR means highlight the prototype with font-lock colors.")
+(declare-function semantic-documentation-for-tag "semantic/doc")
+
(defun semantic-format-tag-short-doc-default (tag &optional parent color)
"Display a short form of TAG's documentation. (Comments, or docstring.)
Optional argument PARENT is the parent type if TAG is a detail.
Optional argument COLOR means highlight the prototype with font-lock colors."
+
(let* ((fname (or (semantic-tag-file-name tag)
(when parent (semantic-tag-file-name parent))))
(buf (or (semantic-tag-buffer tag)
@@ -464,6 +485,7 @@ Optional argument COLOR means highlight the prototype with font-lock colors."
(setq buf (find-file-noselect fname))
(setq doc (semantic-tag-docstring tag buf)))
(when (not doc)
+ (require 'semantic/doc)
(setq doc (semantic-documentation-for-tag tag))
)
(setq doc
@@ -482,14 +504,6 @@ Optional argument COLOR means highlight the prototype with font-lock colors."
;;; Prototype generation
;;
-(define-overloadable-function semantic-format-tag-prototype (tag &optional parent color)
- "Return a prototype for TAG.
-This function should be overloaded, though it need not be used.
-This is because it can be used to create code by language independent
-tools.
-Optional argument PARENT is the parent type if TAG is a detail.
-Optional argument COLOR means highlight the prototype with font-lock colors.")
-
(defun semantic-format-tag-prototype-default (tag &optional parent color)
"Default method for returning a prototype for TAG.
This will work for C like languages.
@@ -771,4 +785,4 @@ Optional argument COLOR means highlight the prototype with font-lock colors."
(provide 'semantic/format)
-;;; semantic-format.el ends here
+;;; semantic/format.el ends here