Mercurial > hg > xemacs-beta
view lisp/ilisp/ilisp.el @ 164:4e0740e5aab2
Added tag r20-3b8 for changeset 0132846995bd
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:43:39 +0200 |
parents | b82b59fe008d |
children |
line wrap: on
line source
;;; -*- Mode: Emacs-Lisp -*- ;;; ilisp.el -- ;;; This file is part of ILISP. ;;; Version: 5.8 ;;; ;;; Copyright (C) 1990, 1991, 1992, 1993 Chris McConnell ;;; 1993, 1994 Ivan Vasquez ;;; 1994, 1995, 1996 Marco Antoniotti and Rick Busdiecker ;;; 1996 Marco Antoniotti and Rick Campbell ;;; ;;; Other authors' names for which this Copyright notice also holds ;;; may appear later in this file. ;;; ;;; Send mail to 'ilisp-request@naggum.no' to be included in the ;;; ILISP mailing list. 'ilisp@naggum.no' is the general ILISP ;;; mailing list were bugs and improvements are discussed. ;;; ;;; ILISP is freely redistributable under the terms found in the file ;;; COPYING. ;;; Author: Chris McConnell <ccm@cs.cmu.edu> ;;; Maintainer: The Net <ilisp@naggum.no> ;;; Created: 14 Jun 1994 ;;; Version: 5.8 ;;; Keywords: lisp common-lisp scheme comint ;;; This file may become part of GNU Emacs in the near future. ;;; GNU Emacs is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY. No author or distributor ;;; accepts responsibility to anyone for the consequences of using it ;;; or for whether it serves any particular purpose or works at all, ;;; unless he says so in writing. Refer to the GNU Emacs General Public ;;; License for full details. ;;; Everyone is granted permission to copy, modify and redistribute ;;; GNU Emacs, but only under the conditions described in the ;;; GNU Emacs General Public License. A copy of this license is ;;; supposed to have been given to you along with GNU Emacs so you ;;; can know your rights and responsibilities. It should be in a ;;; file named COPYING. Among other things, the copyright notice ;;; and this notice must be preserved on all copies. ;;; ***************************************************************** ;;; Please read the texinfo file (via m-x info in emacs or tex it and ;;; print it out) for installation instructions. ;;; ***************************************************************** ;;; This file defines a generic LISP interface that can be customized ;;; to match a specific LISP dialect. Support is already provided for ;;; a number of common LISP dialects. Lucid, Allegro and CMU are ;;; fully supported. Other LISP dialects are missing features like ;;; arglist and find-source. ;;; Since this is built on top of the general command-interpreter-in- ;;; a-buffer mode (comint mode), it shares a common base ;;; functionality, and a common set of bindings, with all modes ;;; derived from comint mode. This makes it easier to use. ;;; For documentation on the functionality provided by comint mode, ;;; and the hooks available for customizing it, see the file ;;; comint.el. ;;; Throughout this file you will find comment lines with %'s on them. ;;; These lines define sections for outline mode which I use while ;;; programming to temporarily hide code. ;;; See the documentation for ILISP mode, or read texinfo document for ;;; information. All of the EMACS function names begin or end with ;;; lisp or ilisp to separate ilisp functions from functions in other ;;; packages. Functions that work only in lisp buffers or that work ;;; in both lisp buffers and inferior lisp buffers use lisp, all other ;;; functions use ilisp. If a function is intended to be used ;;; interactively, then the lisp or ilisp comes at the end of the ;;; function name, otherwise at the start. ;;;%%KNOWN BUGS ;;; ;;; If you type multiple things to the top level before you get a ;;; prompt, the LISP may be running with the status light indicating ;;; ready. This is because I have no way to distinguish between input ;;; to a program and that to the top level. ;;; ;;; When running a lisp on Ultrix, you need to set ilisp-program to ;;; "/bin/sh -c your/path/your-lisp-image". ;;; ;;; If you get lisp output breaking up in weird places it almost ;;; certainly means that comint-prompt-regexp is not precise enough. ;;; ;;; I would like to eat Lucid's return from break in the process ;;; filter, but I can't tell how many newlines to eat after. ;;;%%CONTRIBUTORS ;; Recent contributors include (in alphabetical order): ;; Marco Antoniotti, Robert P. Goldman, Larry Hunter, Eyvind Ness, ;; Ivan Vazquez, Fred White ;;;%Requirements (if (string-match "\\`18" emacs-version) (load "comint-v18") ; Included older version of comint. (require 'comint)) ;;; This is the old call. The new one is just below. It now dispatches ;;; on the correct type of Emacs. ;;;(load "ilisp-cpat") (load "ilcompat") (load "comint-ipc") ;; This is optional -- used only by io-bridge-ilisp (if (not (and (eq +ilisp-emacs-version-id+ 'fsf-19) (>= +ilisp-emacs-minor-version-number+ 29))) (load "bridge")) (if (load "ilisp-all.elc" t) t (progn ; I know it is useless in Elisp. (load "ilisp-def") (load "ilisp-el") (load "ilisp-sym") (load "ilisp-inp") (load "ilisp-ind") (load "ilisp-prc") (load "ilisp-val") (load "ilisp-out") (load "ilisp-mov") (load "ilisp-key") (load "ilisp-prn") (load "ilisp-low") (load "ilisp-doc") (load "ilisp-ext") ; Some emacs-lisp ; bindings. Lisp char syntax. (load "ilisp-mod") (load "ilisp-dia") (load "ilisp-cmt") (load "ilisp-rng") (load "ilisp-hnd") (load "ilisp-utl") (load "ilisp-cmp") (load "ilisp-kil") (load "ilisp-snd") (load "ilisp-xfr") (load "ilisp-hi") (load "ilisp-aut") ;; Dialects. ;; The user will define their autoloads to load "ilisp" when trying ;; to run their dialect. This will load all of the dialects in. (load "ilisp-cl") (load "ilisp-cmu") (load "ilisp-acl") (load "ilisp-hlw") (load "ilisp-kcl") (load "ilisp-luc") (load "ilisp-sch") )) ;;; Create the keymaps before running the hooks. ;;; This is necessary if you want the lispm bindings in the load ;;; hook. Otherwise you need to put it AFTER the running of the hooks ;;; (if (not ilisp-mode-map) (ilisp-bindings)) ;;; Now run the hooks. (run-hooks 'ilisp-site-hook) ;;; (run-hooks 'load-hook) (run-hooks 'ilisp-load-hook) ; It seem s more reasonable. (if (not ilisp-mode-map) (ilisp-bindings)) ;;; Optional: ; (load "ilisp-menu") (if (not (member +ilisp-emacs-version-id+ '(xemacs lucid-19 lucid-19-new))) (load "ilisp-mnb")) (provide 'ilisp)