comparison lisp/ilisp/ilisp.el @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children b82b59fe008d
comparison
equal deleted inserted replaced
-1:000000000000 0:376386a54a3c
1 ;;; -*- Mode: Emacs-Lisp -*-
2
3 ;;; ilisp.el --
4
5 ;;; This file is part of ILISP.
6 ;;; Version: 5.7
7 ;;;
8 ;;; Copyright (C) 1990, 1991, 1992, 1993 Chris McConnell
9 ;;; 1993, 1994 Ivan Vasquez
10 ;;; 1994, 1995 Marco Antoniotti and Rick Busdiecker
11 ;;;
12 ;;; Other authors' names for which this Copyright notice also holds
13 ;;; may appear later in this file.
14 ;;;
15 ;;; Send mail to 'ilisp-request@lehman.com' to be included in the
16 ;;; ILISP mailing list. 'ilisp@lehman.com' is the general ILISP
17 ;;; mailing list were bugs and improvements are discussed.
18 ;;;
19 ;;; ILISP is freely redistributable under the terms found in the file
20 ;;; COPYING.
21
22
23
24 ;;; Author: Chris McConnell <ccm@cs.cmu.edu>
25 ;;; Maintainer: The Net <ilisp@lehman.com>
26 ;;; Created: 14 Jun 1994
27 ;;; Version: 5.7
28 ;;; Keywords: lisp common-lisp scheme comint
29
30 ;;; This file may become part of GNU Emacs in the near future.
31
32 ;;; GNU Emacs is distributed in the hope that it will be useful,
33 ;;; but WITHOUT ANY WARRANTY. No author or distributor
34 ;;; accepts responsibility to anyone for the consequences of using it
35 ;;; or for whether it serves any particular purpose or works at all,
36 ;;; unless he says so in writing. Refer to the GNU Emacs General Public
37 ;;; License for full details.
38
39 ;;; Everyone is granted permission to copy, modify and redistribute
40 ;;; GNU Emacs, but only under the conditions described in the
41 ;;; GNU Emacs General Public License. A copy of this license is
42 ;;; supposed to have been given to you along with GNU Emacs so you
43 ;;; can know your rights and responsibilities. It should be in a
44 ;;; file named COPYING. Among other things, the copyright notice
45 ;;; and this notice must be preserved on all copies.
46
47 ;;; *****************************************************************
48 ;;; Please read the texinfo file (via m-x info in emacs or tex it and
49 ;;; print it out) for installation instructions.
50 ;;; *****************************************************************
51
52 ;;; This file defines a generic LISP interface that can be customized
53 ;;; to match a specific LISP dialect. Support is already provided for
54 ;;; a number of common LISP dialects. Lucid, Allegro and CMU are
55 ;;; fully supported. Other LISP dialects are missing features like
56 ;;; arglist and find-source.
57
58 ;;; Since this is built on top of the general command-interpreter-in-
59 ;;; a-buffer mode (comint mode), it shares a common base
60 ;;; functionality, and a common set of bindings, with all modes
61 ;;; derived from comint mode. This makes it easier to use.
62
63 ;;; For documentation on the functionality provided by comint mode,
64 ;;; and the hooks available for customizing it, see the file
65 ;;; comint.el.
66
67 ;;; Throughout this file you will find comment lines with %'s on them.
68 ;;; These lines define sections for outline mode which I use while
69 ;;; programming to temporarily hide code.
70
71 ;;; See the documentation for ILISP mode, or read texinfo document for
72 ;;; information. All of the EMACS function names begin or end with
73 ;;; lisp or ilisp to separate ilisp functions from functions in other
74 ;;; packages. Functions that work only in lisp buffers or that work
75 ;;; in both lisp buffers and inferior lisp buffers use lisp, all other
76 ;;; functions use ilisp. If a function is intended to be used
77 ;;; interactively, then the lisp or ilisp comes at the end of the
78 ;;; function name, otherwise at the start.
79
80 ;;;%%KNOWN BUGS
81 ;;;
82 ;;; If you type multiple things to the top level before you get a
83 ;;; prompt, the LISP may be running with the status light indicating
84 ;;; ready. This is because I have no way to distinguish between input
85 ;;; to a program and that to the top level.
86 ;;;
87 ;;; When running a lisp on Ultrix, you need to set ilisp-program to
88 ;;; "/bin/sh -c your/path/your-lisp-image".
89 ;;;
90 ;;; If you get lisp output breaking up in weird places it almost
91 ;;; certainly means that comint-prompt-regexp is not precise enough.
92 ;;;
93 ;;; I would like to eat Lucid's return from break in the process
94 ;;; filter, but I can't tell how many newlines to eat after.
95
96
97 ;;;%%CONTRIBUTORS
98
99 ;; Recent contributors include (in alphabetical order):
100
101 ;; Marco Antoniotti, Robert P. Goldman, Larry Hunter, Eyvind Ness,
102 ;; Ivan Vazquez, Fred White
103
104
105 ;;;%Requirements
106 (if (string-match "\\`18" emacs-version)
107 (load "comint-v18") ; Included older version of comint.
108 (require 'comint))
109
110
111 ;;; This is the old call. The new one is just below. It now dispatches
112 ;;; on the correct type of Emacs.
113 ;;;(load "ilisp-cpat")
114 (load "ilcompat")
115
116 (load "comint-ipc")
117
118 ;; This is optional -- used only by io-bridge-ilisp
119 (load "bridge")
120
121 (if (load "ilisp-all.elc" t)
122 t
123 (progn ; I know it is useless in Elisp.
124 (load "ilisp-def")
125 (load "ilisp-el")
126 (load "ilisp-sym")
127 (load "ilisp-inp")
128 (load "ilisp-ind")
129
130 (load "ilisp-prc")
131 (load "ilisp-val")
132 (load "ilisp-out")
133 (load "ilisp-mov")
134 (load "ilisp-key")
135 (load "ilisp-prn")
136 (load "ilisp-low")
137 (load "ilisp-doc")
138 (load "ilisp-ext") ; Some emacs-lisp
139 ; bindings. Lisp char syntax.
140 (load "ilisp-mod")
141 (load "ilisp-dia")
142 (load "ilisp-cmt")
143 (load "ilisp-rng")
144 (load "ilisp-hnd")
145 (load "ilisp-utl")
146 (load "ilisp-cmp")
147 (load "ilisp-kil")
148 (load "ilisp-snd")
149 (load "ilisp-xfr")
150 (load "ilisp-hi")
151 (load "ilisp-aut")
152
153 ;; Dialects.
154 ;; The user will define their autoloads to load "ilisp" when trying
155 ;; to run their dialect. This will load all of the dialects in.
156 (load "ilisp-cl")
157 (load "ilisp-cmu")
158 (load "ilisp-acl")
159 (load "ilisp-hlw")
160 (load "ilisp-kcl")
161 (load "ilisp-luc")
162 (load "ilisp-sch")
163 ))
164
165 ;;; Create the keymaps before running the hooks.
166 ;;; This is necessary if you want the lispm bindings in the load
167 ;;; hook. Otherwise you need to put it AFTER the running of the hooks
168
169 ;;; (if (not ilisp-mode-map) (ilisp-bindings))
170
171
172 ;;; Now run the hooks.
173
174 (run-hooks 'ilisp-site-hook)
175 ;;; (run-hooks 'load-hook)
176 (run-hooks 'ilisp-load-hook) ; It seem s more reasonable.
177
178 (if (not ilisp-mode-map) (ilisp-bindings))
179
180 ;;; Optional:
181 ; (load "ilisp-menu")
182 (if (not (member +ilisp-emacs-version-id+ '(xemacs lucid-19 lucid-19-new)))
183 (load "ilisp-mnb"))
184
185 (provide 'ilisp)