changeset 104442:b22b44e953cb

cedet/semantic/chart.el: Don't require semantic/find. 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.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 31 Aug 2009 02:16:34 +0000
parents 902d22a2d922
children a6c7463e3f20
files lisp/cedet/semantic/chart.el lisp/cedet/semantic/complete.el lisp/cedet/semantic/db-find.el lisp/cedet/semantic/decorate.el lisp/cedet/semantic/dep.el lisp/cedet/semantic/doc.el lisp/cedet/semantic/edit.el lisp/cedet/semantic/find.el lisp/cedet/semantic/format.el
diffstat 9 files changed, 69 insertions(+), 49 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/cedet/semantic/chart.el	Mon Aug 31 00:45:41 2009 +0000
+++ b/lisp/cedet/semantic/chart.el	Mon Aug 31 02:16:34 2009 +0000
@@ -28,7 +28,6 @@
 
 (require 'chart)
 (require 'semantic)
-(require 'semantic/find)
 (require 'semantic/db-mode)
 (require 'semantic/db-typecache)
 (require 'semantic/scope)
--- a/lisp/cedet/semantic/complete.el	Mon Aug 31 00:45:41 2009 +0000
+++ b/lisp/cedet/semantic/complete.el	Mon Aug 31 02:16:34 2009 +0000
@@ -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)
--- a/lisp/cedet/semantic/db-find.el	Mon Aug 31 00:45:41 2009 +0000
+++ b/lisp/cedet/semantic/db-find.el	Mon Aug 31 02:16:34 2009 +0000
@@ -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)
--- a/lisp/cedet/semantic/decorate.el	Mon Aug 31 00:45:41 2009 +0000
+++ b/lisp/cedet/semantic/decorate.el	Mon Aug 31 02:16:34 2009 +0000
@@ -29,6 +29,7 @@
 ;;
 
 (require 'semantic)
+(require 'semantic/tag-file)
 (require 'pulse)
 
 ;;; Code:
@@ -304,9 +305,12 @@
 		       '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)
   )
 
--- a/lisp/cedet/semantic/dep.el	Mon Aug 31 00:45:41 2009 +0000
+++ b/lisp/cedet/semantic/dep.el	Mon Aug 31 02:16:34 2009 +0000
@@ -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 @@
 ;;; 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.
+(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)))
 
-  (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))
-
-  )
+(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 @@
 
 (provide 'semantic/dep)
 
-;;; semantic-dep.el ends here
+;;; semantic/dep.el ends here
--- a/lisp/cedet/semantic/doc.el	Mon Aug 31 00:45:41 2009 +0000
+++ b/lisp/cedet/semantic/doc.el	Mon Aug 31 02:16:34 2009 +0000
@@ -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 @@
 
 (provide 'semantic/doc)
 
-;;; semantic-doc.el ends here
+;;; semantic/doc.el ends here
--- a/lisp/cedet/semantic/edit.el	Mon Aug 31 00:45:41 2009 +0000
+++ b/lisp/cedet/semantic/edit.el	Mon Aug 31 02:16:34 2009 +0000
@@ -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 @@
 
 (provide 'semantic/edit)
 
-;;; semantic-edit.el ends here
+;;; semantic/edit.el ends here
--- a/lisp/cedet/semantic/find.el	Mon Aug 31 00:45:41 2009 +0000
+++ b/lisp/cedet/semantic/find.el	Mon Aug 31 02:16:34 2009 +0000
@@ -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 @@
 				     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 @@
     (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 @@
 
 ;;; 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 @@
 
 (provide 'semantic/find)
 
-;;; semantic-find.el ends here
+;;; semantic/find.el ends here
--- a/lisp/cedet/semantic/format.el	Mon Aug 31 00:45:41 2009 +0000
+++ b/lisp/cedet/semantic/format.el	Mon Aug 31 02:16:34 2009 +0000
@@ -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 @@
   "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 @@
 	      (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 @@
 	(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 @@
     ;; 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 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 @@
       (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 @@
 
 ;;; 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 @@
 
 (provide 'semantic/format)
 
-;;; semantic-format.el ends here
+;;; semantic/format.el ends here