annotate lisp/ilisp/ild.mail @ 4:b82b59fe008d r19-15b3

Import from CVS: tag r19-15b3
author cvs
date Mon, 13 Aug 2007 08:46:56 +0200
parents 376386a54a3c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 From @yonge.csri.toronto.edu:qobi@csri.toronto.edu Sun Jul 3 00:43:43 1994
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 From: Jeffrey Mark Siskind <qobi@csri.toronto.edu>
4
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
3 To: campbell@c2.net (Rick Campbell)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 Cc: marcoxa@cs.NYU.EDU
4
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
5 In-Reply-To: campbell@c2.net's message of Wed, 29 Jun 1994 19:21:41 GMT
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 Subject: ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 Reply-To: Qobi@CS.Toronto.EDU
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 Date: Sun, 3 Jul 1994 00:43:19 -0400
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 I think it is great that you are willing to maintain ILisp. ILisp is the most
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 viable Lisp development environment available. I use it many hours a day.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 I'd like to contribute an addition to ILisp. I wrote a package that uses a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 standard set of single-keystroke bindings to interface with a variety of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 different debuggers. It is vaguely modelled after the Symbolics debugger. It
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 provides two key advantages: single keystrokes for moving up and down the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 stack, and a uniform interface to different debuggers. I find that useful
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 since I often work simultaneously with different Lisps and can never remember
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 the particulars of each one's debugger.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 Anyway, I think that it would be of great use to others. It shouldn't take you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 very long to `officially' integrate it with ILisp. It basically works already
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 with Lucid, Allegro, CMUCL, and AKCL and is fairly reliable. I've used it for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 years already. Not all debugger commands are available in all implementations.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 Some are but I didn't know how to get them to work. These are noted in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 code. If you know how to fix them that would be great.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 I also have written an improved debugger for use with Scheme->C along with an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 interface between that debugger and ILD. There are still some problems that I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 have to iron out though before I release that code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 I hereby give you permission to distribute this code to anyone subject to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 restrictions that it is available on an as is basis with no guarantee of its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 correctness of suitability for any purpose, that I am not held liable for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 damages resulting from its use, and that I be given credit by name for this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 contribution.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 Jeff (home page http://www.cdf.toronto.edu:/DCS/Personal/Siskind.html)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 -------------------------------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 ;;; ILD: A common Common Lisp debugger user interface for ILisp.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 ;;; ---Jeffrey Mark Siskind
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 ;;; Keystroke c-u? What it does
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 ;;; ---------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 ;;; m-a Abort
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 ;;; m-c Continue
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 ;;; c-m-n * Next stack frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 ;;; c-m-p * Previous stack frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 ;;; c-c < Top stack frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 ;;; c-c > Bottom stack frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 ;;; m-b Backtrace
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 ;;; c-m-d Display all locals
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 ;;; c-m-l * Display particular local
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 ;;; c-c r Return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 ;;; c-m-r Retry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 ;;; c-x t Trap on exit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 ;;; c-c L Select Lisp interaction buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 ;;; c-z c-s Sets compiler options for maximally debuggablity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 ;;; c-z c-f Sets compiler options for fastest but least debuggable code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 (require 'ilisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 (deflocal ild-abort-string nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 (deflocal ild-continue-string nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 (deflocal ild-next-string nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 (deflocal ild-next-string-arg nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 (deflocal ild-previous-string nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 (deflocal ild-previous-string-arg nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 (deflocal ild-top-string nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 (deflocal ild-bottom-string nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 (deflocal ild-backtrace-string nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 (deflocal ild-locals-string nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 (deflocal ild-local-string-arg nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 (deflocal ild-return-string nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 (deflocal ild-retry-string nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 (deflocal ild-trap-on-exit-string nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 (defun ild-debugger-command (string)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 (process-send-string (get-buffer-process (current-buffer))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 (format "%s\n" string)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 (defun ild-prompt ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 (save-excursion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 (beginning-of-line)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 (comint-skip-prompt)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 (eobp)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 (defun ild-abort ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 (interactive)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 (if ild-abort-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 (ild-debugger-command ild-abort-string)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 (beep)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 (defun ild-continue (&optional arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 (interactive "P")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 (if (ild-prompt)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 (if ild-continue-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 (ild-debugger-command ild-continue-string)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 (beep))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 (if arg (capitalize-word arg) (capitalize-word 1))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 (defun ild-next (&optional arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 (interactive "P")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 (if arg
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 (if ild-next-string-arg
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 (ild-debugger-command (format ild-next-string-arg arg))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 (beep))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 (if ild-next-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108 (ild-debugger-command ild-next-string)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 (beep))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111 (defun ild-previous (&optional arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 (interactive "P")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113 (if arg
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114 (if ild-previous-string-arg
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115 (ild-debugger-command (format ild-previous-string-arg arg))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 (beep))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117 (if ild-previous-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118 (ild-debugger-command ild-previous-string)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 (beep))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 (defun ild-top (&optional arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 (interactive "P")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123 (if ild-top-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124 (ild-debugger-command ild-top-string)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 (beep)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 (defun ild-bottom (&optional arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128 (interactive "P")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129 (if ild-bottom-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130 (ild-debugger-command ild-bottom-string)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 (beep)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 (defun ild-backtrace (&optional arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134 (interactive "P")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135 (if (ild-prompt)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136 (if ild-backtrace-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137 (ild-debugger-command ild-backtrace-string)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138 (beep))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 (if arg (backward-word arg) (backward-word 1))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 (defun ild-locals (&optional arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142 (interactive "P")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143 (if ild-locals-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144 (ild-debugger-command ild-locals-string)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 (beep)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 (defun ild-local (&optional arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148 (interactive "P")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149 (if arg
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 (if ild-local-string-arg
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 (ild-debugger-command (format ild-local-string-arg arg))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 (beep))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 (if ild-locals-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154 (ild-debugger-command ild-locals-string)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 (beep))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 (defun ild-return ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 (interactive)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159 (if ild-return-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160 (ild-debugger-command ild-return-string)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161 (beep)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163 (defun ild-retry ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164 (interactive)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 (if ild-retry-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166 (ild-debugger-command ild-retry-string)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167 (beep)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169 (defun ild-trap-on-exit (&optional arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170 (interactive "P")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 (if ild-trap-on-exit-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 (ild-debugger-command ild-trap-on-exit-string)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 (beep)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 (defun fast-lisp ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 "Use the production compiler."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177 (interactive)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178 (ilisp-send "(progn (proclaim '(optimize (speed 3) (safety 0) (space 0) (compilation-speed 0) (debug 0))) #+akcl (use-fast-links t))"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 (defun slow-lisp ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 "Use the development compiler."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 (interactive)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183 (ilisp-send "(progn (proclaim '(optimize (speed 0) (safety 3) (space 3) (compilation-speed 3) (debug 3))) #+akcl (use-fast-links nil))"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 (defun select-lisp ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186 "Select the lisp buffer in one window mode"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187 (interactive)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188 (cond ((and (lisp-mem ilisp-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 (buffer-list)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190 (function (lambda (x y) (equal x (buffer-name y)))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191 (get-buffer-process (get-buffer ilisp-buffer)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 (delete-other-windows)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193 (switch-to-buffer ilisp-buffer))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194 (t (lucid) ;put your favorite Lisp here
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 (delete-other-windows))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197 (defun select-ilisp (arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198 "Select the current ILISP buffer."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199 (interactive "P")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
200 (if (and (not arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
201 (lisp-mem
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202 (buffer-name (current-buffer))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203 ilisp-buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204 (function (lambda (x y) (equal x (format "*%s*" (car y)))))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205 (setq ilisp-buffer (buffer-name (current-buffer)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206 (let ((new (completing-read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 (if ilisp-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 (format "Buffer [%s]: "
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209 (substring ilisp-buffer 1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 (1- (length ilisp-buffer))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211 "Buffer: ")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 ilisp-buffers nil t)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 (if (not (zerop (length new)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214 (setq ilisp-buffer (format "*%s*" new))))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 ;;; This fixes a bug in ILISP 4.1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 (defun defkey-ilisp (key command &optional inferior-only)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 "Define KEY as COMMAND in ilisp-mode-map and lisp-mode-map unless
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220 optional INFERIOR-ONLY is T. If the maps do not exist they will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221 created. This should only be called after ilisp-prefix is set to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 desired prefix."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 (if (not ilisp-mode-map) (ilisp-bindings))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 (define-key ilisp-mode-map key command)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 (if (not inferior-only) (define-key lisp-mode-map key command)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227 ;;; This is a convenient command since c-Z c-W doesn't default to the whole
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 ;;; buffer if there is no region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 (defun compile-buffer ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 "Compile the current buffer"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 (interactive)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 (compile-region-and-go-lisp (point-min) (point-max)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 (defkey-ilisp "\M-a" 'ild-abort t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236 (defkey-ilisp "\M-c" 'ild-continue t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237 (defkey-ilisp "\C-\M-n" 'ild-next t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 (defkey-ilisp "\C-\M-p" 'ild-previous t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239 (defkey-ilisp "\C-c<" 'ild-top t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240 (defkey-ilisp "\C-c>" 'ild-bottom t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241 (defkey-ilisp "\M-b" 'ild-backtrace t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242 (defkey-ilisp "\C-\M-d" 'ild-locals t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 (defkey-ilisp "\C-\M-l" 'ild-local t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 (defkey-ilisp "\C-cr" 'ild-return t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245 (defkey-ilisp "\C-\M-r" 'ild-retry t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246 (defkey-ilisp "\C-xt" 'ild-trap-on-exit t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247 (define-key global-map "\C-cL" 'select-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 (ilisp-defkey lisp-mode-map "\C-f" 'fast-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249 (ilisp-defkey ilisp-mode-map "\C-f" 'fast-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250 (ilisp-defkey lisp-mode-map "\C-s" 'slow-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
251 (ilisp-defkey ilisp-mode-map "\C-s" 'slow-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
252
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
253 (defdialect clisp "Common LISP" ilisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
254 (setq ilisp-load-or-send-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
255 "(or (and (load \"%s\" :if-does-not-exist nil) t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256 (and (load \"%s\" :if-does-not-exist nil) t))")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257 (ilisp-load-init 'clisp "clisp")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258 (setq ilisp-package-regexp "^[ \t]*(in-package[ \t\n]*"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
259 ilisp-package-command "(let ((*package* *package*)) %s (package-name *package*))"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260 ilisp-package-name-command "(package-name *package*)"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261 ilisp-in-package-command "(in-package \"%s\")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262 ilisp-last-command "*"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263 ilisp-save-command "(progn (ILISP:ilisp-save) %s\n)"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264 ilisp-restore-command "(ILISP:ilisp-restore)"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265 ilisp-block-command "(progn %s\n)"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266 ilisp-eval-command "(ILISP:ilisp-eval \"%s\" \"%s\" \"%s\")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267 ilisp-defvar-regexp "(defvar[ \t\n]")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 (setq ilisp-defvar-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
269 "(ILISP:ilisp-eval \"(let ((form '%s)) (progn (makunbound (second form)) (eval form)))\" \"%s\" \"%s\")")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270 (setq ilisp-compile-command "(ILISP:ilisp-compile \"%s\" \"%s\" \"%s\")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
271 ilisp-describe-command "(ILISP:ilisp-describe \"%s\" \"%s\")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 ilisp-inspect-command "(ILISP:ilisp-inspect \"%s\" \"%s\")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273 ilisp-arglist-command "(ILISP:ilisp-arglist \"%s\" \"%s\")")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 (setq ilisp-documentation-types
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275 '(("function") ("variable")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276 ("structure") ("type")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277 ("setf") ("class")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278 ("(qualifiers* (class ...))")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 (setq ilisp-documentation-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280 "(ILISP:ilisp-documentation \"%s\" \"%s\" \"%s\")")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281 (setq ilisp-macroexpand-1-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282 "(ILISP:ilisp-macroexpand-1 \"%s\" \"%s\")")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283 (setq ilisp-macroexpand-command "(ILISP:ilisp-macroexpand \"%s\" \"%s\")")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284 (setq ilisp-complete-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285 "(ILISP:ilisp-matching-symbols \"%s\" \"%s\" %s %s %s)")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286 (setq ilisp-locator 'lisp-locate-clisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 (setq ilisp-source-types
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288 '(("function") ("macro") ("variable")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289 ("structure") ("type")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290 ("setf") ("class")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 ("(qualifiers* (class ...))")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 (setq ilisp-callers-command "(ILISP:ilisp-callers \"%s\" \"%s\")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293 ilisp-trace-command "(ILISP:ilisp-trace \"%s\" \"%s\" \"%s\")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294 ilisp-untrace-command "(ILISP:ilisp-untrace \"%s\" \"%s\")")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
295 (setq ilisp-directory-command "(namestring *default-pathname-defaults*)"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296 ilisp-set-directory-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 "(setq *default-pathname-defaults* (parse-namestring \"%s\"))")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298 (setq ilisp-load-command "(load \"%s\")")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299 (setq ilisp-compile-file-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
300 "(ILISP:ilisp-compile-file \"%s\" \"%s\")"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302 (defdialect lucid "Lucid Common LISP" clisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
303 (ilisp-load-init 'lucid "lucid")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
304 (setq comint-prompt-regexp "^\\(->\\)+ \\|^[^> ]*> "
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305 comint-fix-error ":a"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306 ilisp-reset ":a :t"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
307 comint-continue ":c"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308 comint-interrupt-regexp ">>Break: Keyboard interrupt"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309 comint-prompt-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310 (function (lambda (old line)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311 (comint-prompt-status old line 'lucid-check-prompt))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312 (setq ilisp-error-regexp "ILISP:[^\"]*\\|>>[^\n]*")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
313 (setq ilisp-source-types (append ilisp-source-types '(("any"))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
314 (setq ilisp-find-source-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
315 "(ILISP:ilisp-source-files \"%s\" \"%s\" \"%s\")")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316 (setq ilisp-binary-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
317 "(first (last lucid::*load-binary-pathname-types*))")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
318 (setq ild-abort-string ":A"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319 ild-continue-string ":C"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
320 ild-next-string ":N"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321 ild-next-string-arg ":N %s"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322 ild-previous-string ":P"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
323 ild-previous-string-arg ":P %s"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
324 ild-top-string ":<"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
325 ild-bottom-string ":>"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
326 ild-backtrace-string ":B"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
327 ild-locals-string ":V"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
328 ild-local-string-arg ":L %s"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
329 ild-return-string ":R"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330 ild-retry-string ":F"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331 ild-trap-on-exit-string ":X T"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 (setq lucid-program "lisp")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
333
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
334 (defdialect allegro "Allegro Common LISP" clisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
335 (ilisp-load-init 'allegro "allegro")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336 (setq comint-fix-error ":pop"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
337 ilisp-reset ":reset"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
338 comint-continue ":cont"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
339 comint-interrupt-regexp "Error: [^\n]* interrupt\)")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 (setq comint-prompt-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
341 (function (lambda (old line)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
342 (comint-prompt-status old line 'allegro-check-prompt))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
343 ;; <cl> or package> at top-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
344 ;; [0-9c] <cl> or package> in error
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
345 ;; (setq comint-prompt-regexp "^\\(\\[[0-9]*c*\\] \\|\\)\\(<\\|\\)[^>]*> ")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
346 (setq comint-prompt-regexp "^\\(\\[[0-9]+i?c?\\] \\|\\[step\\] \\)?\\(<?[-A-Za-z]* ?[0-9]*?>\\|[-A-Za-z0-9]+([0-9]+):\\) ")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
347 (setq ilisp-error-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
348 "\\(ILISP:[^\"]*\\)\\|\\(Error:[^\n]*\\)\\|\\(Break:[^\n]*\\)")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
349
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
350 (setq ilisp-binary-command "excl:*fasl-default-type*")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
351 (setq ilisp-source-types (append ilisp-source-types '(("any"))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
352 (setq ilisp-find-source-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
353 "(ILISP:ilisp-source-files \"%s\" \"%s\" \"%s\")")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
354 (setq ilisp-init-binary-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
355 "(let ((ext (or #+m68k \"68fasl\"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
356 #+sparc \"sfasl\"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
357 #+iris4d \"ifasl\"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
358 #+dec3100 \"pfasl\"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
359 excl:*fasl-default-type*)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
360 #+allegro-v4.0 (setq ext (concatenate 'string ext \"4\"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
361 ext)")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
362 (setq ild-abort-string ":pop"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
363 ild-continue-string ":cont"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
364 ild-next-string ":dn"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
365 ild-next-string-arg ":dn %s"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
366 ild-previous-string ":up"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
367 ild-previous-string-arg ":up %s"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
368 ild-top-string ":to"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
369 ild-bottom-string ":bo"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
370 ild-backtrace-string ":bt"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
371 ild-locals-string ":local"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
372 ild-local-string-arg ":local %s"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
373 ild-return-string nil ;needs work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
374 ild-retry-string ":rest"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
375 ild-trap-on-exit-string ":boe"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
376 (setq allegro-program "cl")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
377
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
378 (defdialect akcl "Austin Kyoto Common LISP" kcl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
379 (setq comint-prompt-regexp "^[-A-Z]*>+")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
380 (setq ild-abort-string ":q"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
381 ild-continue-string ":r"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
382 ild-next-string ":up"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
383 ild-next-string-arg ":up %s"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
384 ild-previous-string ":down"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
385 ild-previous-string-arg ":down %s"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
386 ild-top-string ":down 1000000"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
387 ild-bottom-string ":up 1000000"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
388 ild-backtrace-string ":bt"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
389 ild-locals-string ":fr"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
390 ild-local-string-arg ":loc %s"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
391 ild-return-string ":r"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
392 ild-retry-string nil ;needs work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
393 ild-trap-on-exit-string nil)) ;needs work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
394 (setq akcl-program "akcl")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
395
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
396 (defdialect cmulisp "CMU Common LISP" clisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
397 (ilisp-load-init 'cmu "cmulisp")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
398 (if cmulisp-local-source-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
399 (setq ilisp-source-directory-fixup-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
400 (list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
401 (cons cmulisp-source-directory-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
402 cmulisp-local-source-directory)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
403 (message "cmulisp-local-source-directory not set."))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
404 (setq comint-prompt-regexp "^\\([0-9]+\\]+\\|\\*\\) "
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
405 ilisp-trace-command "(ILISP:cmulisp-trace \"%s\" \"%s\" \"%s\")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
406 comint-prompt-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
407 (function (lambda (old line)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
408 (comint-prompt-status old line 'cmulisp-check-prompt)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
409 ilisp-error-regexp "ILISP:[^\"]*\\|Error [^\n]*"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
410 ilisp-arglist-command "(ILISP:arglist \"%s\" \"%s\")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
411 ilisp-find-source-command "(ILISP:source-file \"%s\" \"%s\" \"%s\")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
412 comint-fix-error ":pop"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
413 comint-continue ":go"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
414 ilisp-reset ":q"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
415 comint-interrupt-regexp "Interrupted at"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
416 ilisp-binary-extension "sparcf")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
417 (setq ild-abort-string ":abort"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
418 ild-continue-string ":go"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
419 ild-next-string ":down"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
420 ild-next-string-arg nil ;needs work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
421 ild-previous-string ":up"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
422 ild-previous-string-arg nil ;needs work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
423 ild-top-string ":bottom"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
424 ild-bottom-string ":top"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
425 ild-backtrace-string ":backtrace"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
426 ild-locals-string ":l"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
427 ild-local-string-arg "(debug:arg %s)"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
428 ild-return-string nil ;needs work (debug:debug-return x)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
429 ild-retry-string nil ;needs work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
430 ild-trap-on-exit-string nil)) ;needs work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
431 (setq cmulisp-program "cmucl")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
432
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
433