diff lisp/cedet/semantic/format.el @ 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 6810f0d84270
children 2bf481006ba4
line wrap: on
line diff
--- 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