summaryrefslogtreecommitdiff
path: root/lisp/cedet/cedet.el
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2009-08-22 19:04:43 +0000
committerChong Yidong <cyd@stupidchicken.com>2009-08-22 19:04:43 +0000
commitb2b35d5627e7975e3ad6cd4e273cd902f37bdb91 (patch)
treedbcfde6f3d440da44b48f0a676c53bb66065a38a /lisp/cedet/cedet.el
parent9305093eabe13c50471a3d727e8953d676098250 (diff)
downloademacs-b2b35d5627e7975e3ad6cd4e273cd902f37bdb91.tar.gz
cedet-cscope.el, cedet-edebug.el, cedet-global.el, cedet-idutils.el,
cedet.el, inversion.el, pulse.el: Initial version, from CEDET's common/ directory.
Diffstat (limited to 'lisp/cedet/cedet.el')
-rw-r--r--lisp/cedet/cedet.el130
1 files changed, 130 insertions, 0 deletions
diff --git a/lisp/cedet/cedet.el b/lisp/cedet/cedet.el
new file mode 100644
index 00000000000..4e760838120
--- /dev/null
+++ b/lisp/cedet/cedet.el
@@ -0,0 +1,130 @@
+;;; cedet.el --- Setup CEDET environment
+
+;;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+;;; Free Software Foundation, Inc.
+
+;; Author: David Ponce <david@dponce.com>
+;; Maintainer: Eric M. Ludlam <zappo@gnu.org>
+;; Version: 0.2
+;; Keywords: OO, lisp
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;;
+;; This library automatically setups your [X]Emacs to use CEDET tools.
+;;
+;; (require 'cedet)
+;;
+;; If you want to turn on useful or all Semantic features by default,
+;; respectively add:
+;;
+;; (setq semantic-load-turn-useful-things-on t)
+;; or
+;; (setq semantic-load-turn-everything-on t)
+;;
+;; before loading this file, like this:
+;;
+;; (setq semantic-load-turn-useful-things-on t)
+;; (require 'cedet)
+;;
+;; That's it!
+
+;;; Code:
+
+(eval-when-compile
+ (require 'cl))
+
+(defconst cedet-version "1.0pre7"
+ "Current version of CEDET.")
+
+(require 'eieio)
+;; (require 'semantic)
+;; (require 'srecode)
+;; (require 'ede)
+(require 'speedbar)
+
+(defconst cedet-packages
+ `(
+ ;;PACKAGE MIN-VERSION
+ (cedet ,cedet-version)
+ (eieio "1.2")
+ (semantic "2.0pre7")
+ (srecode "0.2")
+ (ede "1.0pre7")
+ (speedbar "1.0.3"))
+ "Table of CEDET packages to install.")
+
+(declare-function inversion-find-version "inversion")
+
+(defun cedet-version ()
+ "Display all active versions of CEDET and Dependant packages.
+
+The PACKAGE column is the name of a given package from CEDET.
+
+REQUESTED VERSION is the version requested by the CEDET load script.
+See `cedet-packages' for details.
+
+FILE VERSION is the version number found in the source file
+for the specificed PACKAGE.
+
+LOADED VERSION is the version of PACKAGE current loaded in Emacs
+memory and (presumably) running in this Emacs instance. Value is X
+if the package has not been loaded."
+ (interactive)
+ (require 'inversion)
+ (with-output-to-temp-buffer "*CEDET*"
+ (princ "CEDET Version:\t") (princ cedet-version)
+ (princ "\n \t\t\tRequested\tFile\t\tLoaded")
+ (princ "\n Package\t\tVersion\t\tVersion\t\tVersion")
+ (princ "\n ----------------------------------------------------------")
+ (let ((p cedet-packages))
+ (while p
+ (let ((sym (symbol-name (car (car p)))))
+ (princ "\n ")
+ (princ sym)
+ (princ ":\t")
+ (if (< (length sym) 5)
+ (princ "\t"))
+ (if (< (length sym) 13)
+ (princ "\t"))
+ (let ((reqver (nth 1 (car p)))
+ (filever (car (inversion-find-version sym)))
+ (loadver (when (featurep (car (car p)))
+ (symbol-value (intern-soft (concat sym "-version"))))))
+ (princ reqver)
+ (if (< (length reqver) 8) (princ "\t"))
+ (princ "\t")
+ (if (string= filever reqver)
+ ;; I tried the words "check" and "match", but that
+ ;; just looked lame.
+ (princ "ok\t")
+ (princ filever)
+ (if (< (length filever) 8) (princ "\t")))
+ (princ "\t")
+ (if loadver
+ (if (string= loadver reqver)
+ (princ "ok")
+ (princ loadver))
+ (princ "Not Loaded"))
+ ))
+ (setq p (cdr p))))
+ (princ "\n\n\nC-h f cedet-version RET\n for details on output format.")
+ ))
+
+(provide 'cedet)
+
+;;; cedet.el ends here