Mercurial > hg > xemacs-beta
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) |