diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2009-08-22 19:04:43 +0000 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2009-08-22 19:04:43 +0000 |
commit | b2b35d5627e7975e3ad6cd4e273cd902f37bdb91 (patch) | |
tree | dbcfde6f3d440da44b48f0a676c53bb66065a38a /lisp/cedet/cedet.el | |
parent | 9305093eabe13c50471a3d727e8953d676098250 (diff) | |
download | emacs-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.el | 130 |
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 |