cedet/semantic/complete.el: Don't require semantic/find.
cedet/semantic/decorate.el: Require semantic/tag-file.
(semantic-set-tag-folded-isearch): Require semantic/find.
cedet/semantic/dep.el: Change semantic--dependency-find-file-on-path
into a macro, to avoid compiler warning.
Defvar ede-minor-mode and ede-object.
Declare ede-system-include-path.
cedet/semantic/doc.el: Require semantic/tag-file and semantic/find.
cedet/semantic/edit.el: Require semantic/find and semantic/format.
cedet/semantic/find.el: Defvar semantic-case-fold.
Require semantic.
(semantic-find-tags-external-children-of-type): Require semantic/sort.
(semantic-find-tags-by-scope-protection-default): Require semantic/tag-ls.
cedet/semantic/format.el: Require semantic/tag-ls.
eval-when-compile semantic/find.
(semantic-format-tag-name): Move up to avoid compiler error.
(semantic-format-tag-prototype): Move up to avoid compiler error.
(semantic--format-tag-parent-tree): Require semantic/tag-file.
(semantic-format-tag-short-doc-default): Require semantic/doc.
(require 'chart)
(require 'semantic)
-(require 'semantic/find)
(require 'semantic/db-mode)
(require 'semantic/db-typecache)
(require 'semantic/scope)
(require 'eieio)
(require 'eieio-opt)
(require 'semantic/tag-file)
-(require 'semantic/find)
(require 'semantic/analyze)
(require 'semantic/format)
(require 'semantic/ctxt)
(require 'semantic/db-ref)
(eval-when-compile
(require 'eieio)
- )
-
-(require 'semantic/find)
+ (require 'semantic/find))
(require 'semantic/tag-file)
(require 'semantic/sort)
;;
(require 'semantic)
+(require 'semantic/tag-file)
(require 'pulse)
;;; Code:
'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)
)
-;;; 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.
;;; 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.
(provide 'semantic/dep)
-;;; semantic-dep.el ends here
+;;; semantic/dep.el ends here
-;;; 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.
;; the symbol on the same line.
(require 'semantic/tag)
+(require 'semantic/tag-file)
+(require 'semantic/find)
;;; Code:
(provide 'semantic/doc)
-;;; semantic-doc.el ends here
+;;; semantic/doc.el ends here
-;;; 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.
;;
(require 'semantic)
-;; (require 'working)
+(require 'semantic/find)
+(require 'semantic/format)
;;; Code:
(defvar semantic-after-partial-cache-change-hook nil
(provide 'semantic/edit)
-;;; semantic-edit.el ends here
+;;; semantic/edit.el ends here
-;;; 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.
;;
;; 4) ...
+(require 'semantic)
(require 'semantic/tag)
;;; Code:
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.
(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)))
;;; 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)
(provide 'semantic/find)
-;;; semantic-find.el ends here
+;;; semantic/find.el ends here
-;;; 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.
;;
;;; 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.
"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))
(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.
(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.
;; 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)
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)
(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
;;; 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.
(provide 'semantic/format)
-;;; semantic-format.el ends here
+;;; semantic/format.el ends here