Mercurial > hg > xemacs-beta
diff lisp/oobr/br-start.el @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | 4103f0995bd7 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/oobr/br-start.el Mon Aug 13 08:45:50 2007 +0200 @@ -0,0 +1,82 @@ +;;!emacs +;; +;; FILE: br-start.el +;; SUMMARY: Select language and invoke OO-Browser. +;; USAGE: GNU Emacs Lisp Library +;; KEYWORDS: oop, tools +;; +;; AUTHOR: Bob Weiner +;; ORG: Motorola Inc. +;; +;; ORIG-DATE: 5-Sep-92 at 23:31:03 +;; LAST-MOD: 25-Oct-95 at 01:38:41 by Bob Weiner +;; +;; Copyright (C) 1992-19945 Free Software Foundation, Inc. +;; See the file BR-COPY for license information. +;; +;; This file is part of the OO-Browser. +;; +;; DESCRIPTION: +;; DESCRIP-END. + +;;; ************************************************************************ +;;; OO-Browser directory setting +;;; ************************************************************************ + +;; Defines (hyperb:path-being-loaded), which is used below. +;; A Hyperbole directory, such as oobr/hypb, must either already be in +;; load-path or an explicit load of "hversion" must have been +;; done already or else the following line will fail to load hversion. +;; This is all documented in the OO-Browser installation instructions. +(require 'hversion) + +;; Reinitialize br-directory on reload if initialization failed for any reason. +(and (boundp 'br-directory) (null br-directory) (makunbound 'br-directory)) + +(defvar br-directory (hyperb:path-being-loaded) + "Directory where the OO-Browser executable code is kept. +It must end with a directory separator character.") +(if (stringp br-directory) + (setq br-directory (file-name-directory br-directory)) + (error + "(br-start.el): OO-Browser failed to set br-directory. Try setting it manually.")) + +(if (fboundp 'member) + (fset 'br-member 'member) + (defun br-member (elt list) + "Return non-nil if ELT is an element of LIST. Comparison done with 'equal'. +The value is actually the tail of LIST whose car is ELT." + (while (and list (not (equal (car list) elt))) + (setq list (cdr list))) + list)) + +;;; ************************************************************************ +;;; Other required Elisp libraries +;;; ************************************************************************ + +;; Add br-directory to load-path so other OO-Browser libraries can be found. +(or (br-member br-directory load-path) + (setq load-path (cons br-directory load-path))) + +(load "br-vers") +(mapcar 'require '(br-init br-site)) + +;;; ************************************************************************ +;;; Public functions +;;; ************************************************************************ + +;;; For backwards compatibility. +;;;###autoload +(fset 'oobr 'oo-browser) + +;;;###autoload +(defun oo-browser (&optional same-env-flag) + "Prompt for an Environment and language over which to run the OO-Browser. +Optional prefix argument SAME-ENV-FLAG means browse the current Environment, +if any, without prompting." + (interactive "P") + (if (and same-env-flag br-env-file br-lang-prefix) + (funcall (intern-soft (concat br-lang-prefix "browse"))) + (call-interactively 'br-env-browse))) + +(provide 'br-start)