annotate man/ilisp.texi @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children 4b173ad71786
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 \input texinfo @c -*-texinfo-*- Last modified: April 10, 1993
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 @setfilename ../info/ilisp.info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 @settitle The ILISP Inferior LISP Interface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 @c NOTE: KEYBINDING DESCRIPTIONS IN THIS FILE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 @c Texinfo doesn't support the functionality of substitute-command-keys,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 @c which kind of makes things tough when the bindings change.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 @c Note that all the keys here which use the ILISP prefix have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 @c @key{C-z} before them, so a global replace can be used to put in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 @c specific value for this (if wanted). The whole string should be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 @c rpelaced, as in (replace-string "@key{C-z}" "@key{C-c}"). Any occurrances
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 @c of this should be in the proper @kbd{} construct, or in a table.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 @c Key command descriptions in tables have the function listed after
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 @c them, as in "@item RET (return-ilisp)" so it should be poosible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 @c to update these descriptions with a little elisp code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 @c Todd Kaufmann 17-Mar-91
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 @c toad@cs.cmu.edu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 @c ================================================================
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 @c THIS file has the new style title page commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 @c Run using special version of `texinfo.tex'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 @c Version 2.13 or higher is recommended.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 @c Also, run `makeinfo' rather than `texinfo-format-buffer'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 @c (Get the texinfo2 package.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 @c ================================================================
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 @c Use this if you want small book size like the GNU Emacs bound book.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 @c smallbook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 @c tex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 @c \overfullrule=0pt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 @c end tex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 @comment INDEX USAGE:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 @c @cindex concept
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 @c @findex function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 @c @vindex variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 @c @kindex key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 @c @pindex command (normally program)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 @c not used:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 @c @tindex (data)type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 @c Combine indices.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 @c @synindex cp fn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 @c @syncodeindex vr fn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 @c @syncodeindex ky fn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 @c @syncodeindex pg fn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 @c @syncodeindex tp fn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 @c oops: texinfo-format-buffer ignores synindex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 @c So, use makeinfo.c. Get texinfo2.tar.Z off of prep.ai.mit.edu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 @c TODO:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 @c - Add doc for rlogin lisps.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 @c - Add doc for trace-defun-break
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 This file documents ILISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 This is edition 0.11 of the ILISP manual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 for ILISP Version 5.5.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 Copyright (C) 1991,1992,1993 Todd Kaufmann
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 Permission is granted to make and distribute verbatim copies of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 this manual provided the copyright notice and this permission notice
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 Permission is granted to copy and distribute modified versions of this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 manual under the conditions for verbatim copying, provided that the entire
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 resulting derived work is distributed under the terms of a permission
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 notice identical to this one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86 Permission is granted to copy and distribute translations of this manual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 into another language, under the above conditions for modified versions,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 except that this permission notice may be stated in a translation approved
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 by the Foundation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 @setchapternewpage odd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 @titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 @title ILISP User Manual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 @subtitle A GNU Emacs Interface for Interacting with Lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 @subtitle Edition 0.11, June 1993
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 @subtitle For ILISP Version 5.5
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 @c the following comment string is removed by the ctrl-c-doc.sh script,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 @c which can be used to change all ilisp-prefix bindings to C-c (or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 @c other).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 @comment ctrl-C version: @subtitle This is the ``@key{C-z}'' version of the manual.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108 @author by Todd Kaufmann, Chris McConnell and Ivan Vazquez
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111 @vskip 0pt plus 1filll
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 Copyright @copyright{} 1991, 1992, 1993 Todd Kaufmann
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114 @sp 2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115 This is edition 0.11 of the @cite{ILISP User Manual}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 for ILISP Version 5.5,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117 June 1993.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 @sp 2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 Permission is granted to make and distribute verbatim copies of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 this manual provided the copyright notice and this permission notice
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123 are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 Permission is granted to copy and distribute modified versions of this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126 manual under the conditions for verbatim copying, provided that the entire
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 resulting derived work is distributed under the terms of a permission
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128 notice identical to this one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130 Permission is granted to copy and distribute translations of this manual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 into another language, under the above conditions for modified versions,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 except that this permission notice may be stated in a translation approved
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 by this author.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134 @end titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138 @node Top, Distribution, (dir), (dir)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143 This Info file documents ILISP, a GNU Emacs interface for a lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144 running in a buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 @comment ctrl-C version: @sp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146 @comment ctrl-C version: This is the ``@key{C-z}'' version of the manual.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 * Distribution:: How to get the latest ILISP distribution.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 * Acknowledgements:: Acknowledgements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 * Introduction:: An introduction to ILISP and its features.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154 * Installation:: How to install ILISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 * Starting up:: How to run a Lisp process using ILISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 * Buffers of ILISP:: Buffers used by ILISP, and their commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 * ILISP Commands::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159 * Customization:: Description of ILISP variables and hooks.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160 * Dialects:: How ILISP knows how to communicate with Lisp,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161 and how to define new dialects.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163 Indices:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164 * Concept index:: General concepts.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 * Key index:: ILISP key sequences.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166 * Command index:: Commands by name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167 * Variable index:: Variables and hooks that influence ILISP's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 behavior.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170 * Function index:: Internal Emacs Lisp functions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 @node Distribution, Acknowledgements, Top, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 @unnumbered How to get the latest ILISP distribution.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 ILISP is "free"; this means that everyone is free to use it and free
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177 to redistribute it on a free basis. ILISP is not in the public domain;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178 it is copyrighted and there are restrictions on its distribution, but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179 these restrictions are designed to permit everything that a good
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 cooperating citizen would want to do. What is not allowed is to try to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 prevent others from further sharing any version of ILISP that they might
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 get from you. The precise conditions appears following this section.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184 The easiest way to get a copy of ILISP is from someone else who has it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 You need not ask for permission to do so, or tell any one else; just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186 copy it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188 If you do start using the package, please send mail to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 @samp{ilisp-request@@lehman.com} so that I can keep a mailing list of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190 users.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 Please send bugs, questions or suggestions for discussion to @samp{ilisp@@lehman.com}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 * FTP directions:: FTP directions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198 @node FTP directions, , , Distribution
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199 @unnumberedsec FTP directions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
200 @cindex FTP site
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
201 @cindex Anonymous FTP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202 @cindex How to get
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203 @cindex Getting ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205 You can anonymously ftp the source files from FTP.CS.CMU.EDU:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209 Ftp to ftp.cs.cmu.edu (128.2.206.173)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211 login as anonymous, with user@@host as password
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 @code{cd /user/ai/lang/lisp/util/emacs/ilisp/57}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215 @code{binary}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217 @code{get ilisp.tgz}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221 Or get whatever single files you need.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 Unpack and install:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226 @code{uncompress ilisp.tar.Z; tar xf ilisp.tar}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 @xref{Installation}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 If you want to use Thinking Machines' completion code, then Ftp it from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 THINK.COM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 It no longer comes as part of the distribution.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 @node Acknowledgements, Introduction, Distribution, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236 @unnumbered Acknowledgements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 ILISP replaces the standard inferior LISP mode. ILISP is based on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239 comint mode and derived from a number of different interfaces including
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240 Symbolics, cmulisp, and Thinking Machines.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242 There are many people that have taken the time to report bugs, make
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 suggestions and even better send code to fix bugs or implement new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 features.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246 Thanks to Neil Smithline, David Braunegg, Fred White, Jim Healy, Larry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247 Stead, Hans Chalupsky, Michael Ernst, Frank Ritter, Tom Emerson, David
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 Duff, Dan Pierson, Michael Kashket, Jamie Zawinski, Bjorn Victor, Brian
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249 Dennis, Guido Bosch, Chuck Irvine, Thomas M. Breuel, Ben Hyde, Paul
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250 Fuqua (for the CMU-CL GC display code) and Marco Antoniotti for bug
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
251 reports, suggestions and code. My apologies to those whom I may have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
252 forgotten.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
253
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
254 Special thanks to Todd Kaufmann for the texinfo file, work on bridge,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
255 epoch-pop and for really exercising everything.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257 Please send bug reports, fixes and extensions to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258 @samp{ilisp@@lehman.com} so I can merge them into the master
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
259 source.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262 --Chris McConnell 18-Mar-91
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263 --Ivan Vazquez 27-Jun-93
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267 @node Introduction, Installation, Acknowledgements, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 @unnumbered Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
269 @cindex features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
271 ILISP is an interface from GNU Emacs to an inferior LISP. It has the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 following features:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276 Runs under emacs-18, fsf emacs-19, and Lucid emacs-19.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 Support for multiple LISP dialects including Lucid, Allegro and CMU
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280 on multiple machines even at the same time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283 Dynamically sized pop-up windows that can be buried and scrolled from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284 any window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 Packages are properly handled including the distinction between
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288 exported and internal symbols.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 Synchronous, asynchronous or batch eval and compile of files, regions,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 definitions and sexps with optional switching and automatic calling.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
295 Arglist, documentation, describe, inspect and macroexpand.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298 Completion of filename components and LISP symbols including partial matches.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
300 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301 Find source both with and without help from the inferior LISP,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302 including CLOS methods, multiple definitions and multiple files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
303
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
304
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306 Edit the callers of a function with and without help from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
307 inferior LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310 Trace/untrace a function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
313 @kbd{M-q} (``Fill-paragraph'') works properly on paragraphs in comments,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
314 strings and code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
315
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
317 Find unbalanced parentheses.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
318
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
320 Super brackets.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
323 Handles editing, entering and indenting full LISP expressions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
324
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
325 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
326 Next, previous, and similar history mechanism compatible with comint.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
327
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
328 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
329 Handles LISP errors.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 Result histories are maintained in the inferior 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 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
335 Does not create spurious symbols and handles case issues.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
337 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
338 Online manuals for ILISP and Common LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
339
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
341
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
342 @node Installation, Starting up, Introduction, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
343 @chapter How to install ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
344 @cindex Installation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
345 Installation of ILISP and some initialization of your computing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
346 environment are described in this chapter. Please read the following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
347 sections carefully before getting started with ILISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
348
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
349 If ILISP has already been installed at your location, you can probably
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
350 skip ahead to ``Autoloading.''
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
351
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
352 Note that jwz's byte-compiler is required when compiling ILISP. If you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
353 don't have it, get it from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
354 @code{archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/bytecomp2.tar.Z}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
355
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
356 You don't need it if you are running emacs version 19 as both the Fsf
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
357 and Lucid releases include this in their distributions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
358
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
359 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
360 * Makefile configuration::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
361 * Files of ILISP::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
362 * Autoloading:: How to define autoload entries.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
363 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
364
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
365 @node Makefile configuration, Files of ILISP, , Installation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
366 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
367 @section Makefile configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
368
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
369 Some configuration needs to be done before compiling the emacs-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
370 files that comprise ILISP. This should be done in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
371 @code{Makefile-ilisp} file in the section of the file marked
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
372 CONFIGURATION SECTION.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
373
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
374 First, set the @code{YOUR_EMACS} variable to be the pathname of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
375 emacs you will be using ILISP with. This is the emacs that will be used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
376 to compile ILISP with.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
377
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
378 If you don't have jwz's byte compiler in your standard load path then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
379 you will have to uncomment the @code{BYTECOMP} line and set it to point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
380 to the correct location of the bytecomp files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
381
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
382 If you do not have comint already in your emacs ( both Fsf 19 and Lucid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
383 19 do ) then uncomment the @code{USE_BUNDLED_COMINT} line. This will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
384 cause the copy of @code{comint.el} to be moved from the @code{Extras}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
385 directory into the main ILISP directory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
386
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
387 The advice section is left uncommented out in the distributed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
388 @code{Makefile-ilisp} because most people will not have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
389 @code{advice.elc} in their load path. Only Lucid emacs 19.8 will have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
390 this in the standard distribution. If you do have it in your load path,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
391 then to avoid having two copies in your load-path and avoiding future
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
392 confusion then comment out both the @code{ADVICE} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
393 @code{USE_BUNDLED_ADVICE} lines.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
394
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
395 @cindex Compiling ILISP files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
396 @cindex Byte-compiling ILISP files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
397 @findex ilisp-compile-inits
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
398 @vindex ilisp-load-inits
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
399 @vindex ilisp-site-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
400 @vindex ilisp-program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
401 @vindex ilisp-init-binary-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
402 @vindex ilisp-init-binary-extension
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
403
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
404 You can then compile everything with the shell command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
405
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
406 @code{make -f Makefile-ilisp <your target here>'}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
407
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
408 Where the possible targets are @code{emacs_18}, @code{emacs_18_epoch},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
409 @code{emacs_18_menu}, and @code{emacs_19}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
410
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
411 Ignore any compilation warnings unless they result in ILISP not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
412 compiling completely.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
413
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
414 You should then copy relevant sections of @code{ilisp.emacs} to your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
415 @code{.emacs} or to the system-wide @code{default.el} file, depending on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
416 who will be using ILISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
417
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
418 You should add the directory where all of the ILISP emacs-lisp files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
419 reside to your @code{load-path}. There is an example of this in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
420 @code{ilisp.emacs}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
421
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
422 The first time a dialect is started, the interface files will complain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
423 about not being compiled, just hit @kbd{i} to ignore the message. Once
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
424 a lisp dialect is started up, you should execute the command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
425 @code{ilisp-compile-inits} which will compile the @samp{*.lisp} files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
426 and write them to the same directory as the ilisp files.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
427
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
428 The binary files should have a unique
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
429 extension for each different combination of architecture and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
430 LISP dialect. You will need to change
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
431 @code{ilisp-init-binary-extension} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
432 @code{ilisp-init-binary-command} to get additional
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
433 extensions. The binary for each different architecture
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
434 should be different. If you want to build the interface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
435 files into a LISP world, you will also need to set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
436 @code{ilisp-load-inits} to @code{nil} in the same place that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
437 you change @code{ilisp-program} to load the LISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
438 world.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
439
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
440
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
441 There is an @code{ilisp-site-hook} for initializing site specific stuff
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
442 like program locations when ILISP is first loaded. You may want to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
443 define appropriate autoloads in your system Emacs start up file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
444
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
445 Example site init:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
446 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
447 ;;; CMU site
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
448 (setq ilisp-site-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
449 '(lambda ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
450 (setq ilisp-motd "CMU ILISP V%s")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
451 (setq expand-symlinks-rfs-exists t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
452 (setq allegro-program "/usr/misc/.allegro/bin/cl")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
453 (setq lucid-program "/usr/misc/.lucid/bin/lisp")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
454 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
455
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
456
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
457
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
458 @node Files of ILISP, Autoloading, Makefile configuration, Installation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
459 @section Files of ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
460 @cindex Files of ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
461 The files you need to use ilisp are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
462
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
463 @table @file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
464
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
465 @item ilisp.emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
466 File with sample @file{.emacs} code for ILISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
467 @cindex @file{ilisp.emacs}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
468
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
469 @item symlink-fix.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
470 Expand pathnames resolving links.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
471 @cindex @file{symlink-fix.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
472
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
473 @item completer.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
474 Partial completion code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
475 @cindex @file{completer.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
476
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
477 @item bridge.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
478 Process to process communication.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
479 @cindex @file{bridge.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
480
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
481 @item comint.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
482 The basic comint abstraction. You only need this if running emacs-18.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
483 @cindex @file{comint.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
484
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
485 @item comint-ipc.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
486 Extensions for sending commands and getting results.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
487 @cindex @file{comint-ipc.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
488
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
489 @item ilisp-ext.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
490 Standalone lisp-mode extensions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
491 @cindex @file{ilisp-ext.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
492
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
493 @item ilisp-bug.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
494 ILISP bug submittal code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
495 @cindex @file{ilisp-bug.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
496
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
497 @item compat.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
498 Compatibility code between fsf-18, fsf-19 and lemacs-19.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
499 @cindex @file{compat.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
500
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
501 @item ilisp-inp.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
502 Buffer input module.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
503 @cindex @file{ilisp-inp.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
504
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
505 @item ilisp-def.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
506 Variable definitions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
507 @cindex @file{ilisp-def.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
508
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
509 @item ilisp-ind.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
510 Indentation code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
511 @cindex @file{ilisp-ind.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
512
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
513 @item ilisp-mov.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
514 Buffer-point movement code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
515 @cindex @file{ilisp-mov.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
516
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
517 @item ilisp-key.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
518 Keymap setups, including @code{ilisp-lispm-bindings}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
519 @cindex @file{ilisp-key.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
520
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
521 @item ilisp-doc.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
522 ILISP mode documenation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
523 @cindex @file{ilisp-doc.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
524
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
525 @item ilisp-mod.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
526 ILISP mode definition.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
527 @cindex @file{ilisp-mod.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
528
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
529 @item ilisp-prn.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
530 Parenthesis handling.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
531 @cindex @file{ilisp-prn.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
532
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
533 @item ilisp-el.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
534 Emacs-lisp additions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
535 @cindex @file{ilisp-el.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
536
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
537 @item ilisp-sym.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
538 ILISP symbol handling.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
539 @cindex @file{ilisp-sym.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
540
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
541 @item ilisp-low.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
542 Low level interface code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
543 @cindex @file{ilisp-low.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
544
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
545 @item ilisp-hi.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
546 High level interface code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
547 @cindex @file{ilisp-hi.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
548
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
549 @item ilisp-out.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
550 Output handling, include typeout window (a popper replacement).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
551 @cindex @file{ilisp-out.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
552
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
553 @item ilisp-prc.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
554 Process handling code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
555 @cindex @file{ilisp-prc.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
556
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
557 @item ilisp-val.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
558 Buffer value interface.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
559 @cindex @file{ilisp-val.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
560
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
561 @item ilisp-rng.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
562 Match ring code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
563 @cindex @file{ilisp-rng.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
564
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
565 @item ilisp-utl.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
566 Misc. utilities.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
567 @cindex @file{ilisp-utl.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
568
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
569 @item ilisp-hnd.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
570 Error handling.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
571 @cindex @file{ilisp-hnd.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
572
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
573 @item ilisp-kil.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
574 Interface to reset/kill/abort inferior lisp.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
575 @cindex @file{ilisp-kil.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
576
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
577 @item ilisp-snd.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
578 ilisp-send definitions and associated code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
579 @cindex @file{ilisp-snd.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
580
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
581 @item ilisp-cmt.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
582 Comint related code/setup.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
583 @cindex @file{ilisp-cmt.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
584
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
585 @item ilisp-cmp.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
586 ILISP completer related code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
587 @cindex @file{ilisp-cmp.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
588
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
589 @item ilisp-xfr.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
590 Transfer between lisp <-> emacs code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
591 @cindex @file{ilisp-xfr.el }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
592
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
593 @item ilisp-cl.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
594 Commo-Lisp dialect definition.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
595 @cindex @file{ilisp-cl.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
596
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
597 @item ilisp-src.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
598 ILISP source code module.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
599 @cindex @file{ilisp-src.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
600
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
601 @item ilisp-bat.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
602 ILISP batch code module.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
603 @cindex @file{ilisp-bat.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
604
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
605 @item ilisp.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
606 File to be loaded, loads in all necessary parts of ILISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
607 @cindex @file{ilisp.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
608
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
609 @item *.lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
610 ILISP support code. Each dialect will have one of these files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
611
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
612 @item *.lcd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
613 Package descriptors for the Lisp Code Directory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
614
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
615 @item ilisp.texi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
616 Texinfo file for ILISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
617 @cindex @file{ilisp.texi}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
618
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
619 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
620
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
621 @cindex @file{.el} files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
622
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
623 @node Autoloading, , Files of ILISP, Installation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
624 @section How to define autoload entries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
625 @cindex autoload definitions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
626 @cindex defining autoloads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
627 @cindex @file{.emacs} forms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
628 A complete example of things you may want to add to your @code{.emacs}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
629 can be found in the in the file @file{ilisp.emacs} in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
630 @code{ilisp-directory} what follows is that file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
631
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
632
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
633 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
634 @c start of ilisp.emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
635 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
636 ;;; This file shows examples of some of the things you might want to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
637 ;;; do to install or customize ILISP. You may not want to include all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
638 ;;; of them in your .emacs. For example, the default key binding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
639 ;;; prefix for ILISP is C-z and this file changes the default prefix to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
640 ;;; C-c. For more information on things that can be changed, see the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
641 ;;; file ilisp.el.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
642 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
643
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
644 ;;; If ilisp lives in some non-standard directory, you must tell emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
645 ;;; where to get it. This may or may not be necessary.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
646 (setq load-path (cons (expand-file-name "~jones/emacs/ilisp/") load-path))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
647
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
648 ;;; If you always want partial minibuffer completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
649 (require 'completer)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
650
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
651 ;;; If want TMC completion then you will have to Ftp it yourself from think.com
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
652 ;;; It's become to flaky for me to deal with. -- Ivan
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
653 ;;;(load "completion")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
654 ;;;(initialize-completions)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
655
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
656 ;;; If you want to redefine typeout-window keys:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
657 (add-hook 'ilisp-load-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
658 '(lambda ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
659 (define-key global-map "\C-c1" 'ilisp-bury-output)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
660 (define-key global-map "\C-cv" 'ilisp-scroll-output)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
661 (define-key global-map "\C-cg" 'ilisp-grow-output)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
662
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
663
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
664 (autoload 'run-ilisp "ilisp" "Select a new inferior LISP." t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
665 ;;; Autoload based on your LISP. You only really need the one you use.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
666 ;;; If called with a prefix, you will be prompted for a buffer and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
667 ;;; program.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
668 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
669 ;;; [Back to the old way now -- Ivan Mon Jun 28 23:30:51 1993]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
670 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
671 (autoload 'clisp "ilisp" "Inferior generic Common LISP." t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
672 (autoload 'allegro "ilisp" "Inferior Allegro Common LISP." t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
673 (autoload 'lucid "ilisp" "Inferior Lucid Common LISP." t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
674 (autoload 'cmulisp "ilisp" "Inferior CMU Common LISP." t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
675 (autoload 'kcl "ilisp" "Inferior Kyoto Common LISP." t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
676 (autoload 'akcl "ilisp" "Inferior Austin Kyoto Common LISP." t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
677 (autoload 'ibcl "ilisp" "Ibuki Common LISP." t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
678 (autoload 'scheme "ilisp" "Inferior generic Scheme." t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
679 (autoload 'oaklisp "ilisp" "Inferior Oaklisp Scheme." t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
680
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
681 ;;; Define where LISP programs are found. (This may already be done
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
682 ;;; at your site.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
683 (setq allegro-program "/usr/misc/.allegro/bin/cl")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
684 (setq lucid-program "/usr/misc/.lucid/bin/lisp")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
685 (setq cmulisp-program "/usr/misc/.cmucl/bin/lisp")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
686
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
687 ;;; If you run cmu-cl then set this to where your source files are.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
688 (setq cmulisp-local-source-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
689 "/usr/local/utils/CMU-CL/")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
690
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
691
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
692 ;;; This makes reading a lisp file load in ilisp.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
693 (set-default 'auto-mode-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
694 (append '(("\\.lisp$" . lisp-mode)) auto-mode-alist))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
695 (setq lisp-mode-hook '(lambda () (require 'ilisp)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
696
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
697 ;;; Sample load hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
698 (add-hook 'ilisp-load-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
699 '(lambda ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
700 ;; Change default key prefix to C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
701 (setq ilisp-prefix "\C-c")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
702
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
703 ;; Define LispMachine-like key bindings, too.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
704 (ilisp-lispm-bindings)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
705
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
706 ;; Sample initialization hook. Set the inferior LISP directory to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
707 ;; the directory of the buffer that spawned it on the first prompt.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
708 (setq ilisp-init-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
709 '(lambda ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
710 (default-directory-lisp ilisp-last-buffer)))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
711 @c end of ilisp.emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
712 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
713
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
714 @c ==================================================================
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
715 @node Starting up, Buffers of ILISP, Installation, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
716 @chapter How to run a Lisp process using ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
717 @cindex Running lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
718 @cindex Starting up lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
719 @cindex Supported dialects
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
720 @cindex Dialects supported
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
721 @pindex run-ilisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
722 @pindex clisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
723 @pindex allegro
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
724 @pindex lucid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
725 @pindex cmulisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
726 @pindex kcl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
727 @pindex akcl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
728 @pindex ibcl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
729 @pindex scheme
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
730 @pindex oaklisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
731
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
732 To start a Lisp use @kbd{M-x run-ilisp}, or a specific dialect like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
733 @kbd{M-x allegro}. If called with a prefix you will be prompted for a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
734 buffer name and a program to run. The default buffer name is the name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
735 of the dialect. The default program for a dialect will be the value of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
736 DIALECT-program or the value of ilisp-program inherited from a less
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
737 specific dialect. If there are multiple LISP's, use the dialect name or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
738 @kbd{M-x select-ilisp} (@kbd{@key{C-z} S}) to select the current ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
739 buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
740
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
741 Entry into ILISP mode runs the hooks on @code{comint-mode-hook} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
742 @code{ilisp-mode-hook} and then DIALECT-hooks specific to LISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
743 dialects in the nesting order above. Many dialects call
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
744 @code{ilisp-load-init} in their dialect setup.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
745
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
746 These are the currently supported dialects. The dialects
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
747 are listed so that the indentation correponds to the hierarchical
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
748 relationship between dialects.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
749 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
750 clisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
751 allegro
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
752 lucid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
753 kcl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
754 akcl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
755 ibcl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
756 cmulisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
757 scheme
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
758 oaklisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
759 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
760
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
761 If anyone figures out support for other dialects I would be happy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
762 to include it in future releases. @xref{Dialects}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
763
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
764 To define a new dialect, @xref{Defining new dialects} and @xref{Customization}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
765
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
766
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
767 @node Buffers of ILISP, ILISP Commands, Starting up, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
768 @chapter Buffers used by ILISP, and their commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
769 @cindex buffers of ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
770 @cindex ILISP buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
771 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
772
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
773 @item *@var{dialect}*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
774 The Lisp listener buffer. Forms can be entered in this buffer in, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
775 they will be sent to lisp when you hit return if the form is complete.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
776 This buffer is in ilisp-mode, which is built on top of comint-mode, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
777 all comint commands such as history mechanism and job control are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
778 available.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
779 @c xref..
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
780
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
781 @item @var{lisp-mode-buffers}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
782 A buffer is assumed to contain Lisp source code if its major mode is in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
783 the list @code{lisp-source-modes}. If it's loaded into a buffer that is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
784 in one of these major modes, it's considered a lisp source file by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
785 @code{find-file-lisp}, @code{load-file-lisp} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
786 @code{compile-file-lisp}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
787 Used by these commands to determine defaults.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
788
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
789 @item @code{*Completions*}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
790 @cindex @code{*Completions*} buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
791 Used for listing completions of symbols or files by the completion commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
792 @xref{Completion}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
793
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
794 @item *Aborted Commands*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
795 @cindex @code{*Aborted Commands*} buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
796 @xref{Interrupts}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
797
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
798 @item *Errors*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
799 @itemx *Output*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
800 @itemx *Error Output*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
801 @cindex @code{*Error Output*} buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
802 @cindex @code{*Errors*} buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
803 @cindex @code{*Output*} buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
804 used to pop-up results and errors from the inferior LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
805
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
806 @item *ilisp-send*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
807 @cindex @code{*ilisp-send*} buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
808 Buffer containing the last form sent to the inferior LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
809
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
810 @item *Edit-Definitions*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
811 @itemx *All-Callers*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
812 @cindex @code{*Edit-Definitions*} buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
813 @cindex @code{*All-Callers*} buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
814 @xref{Source code commands}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
815
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
816 @item *Last-Changes*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
817 @itemx *Changed-Definitions*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
818 @cindex @code{*Last-Changes*} buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
819 @cindex @code{*Changed-Definitions*} buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
820 @xref{Batch commands}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
821 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
822
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
823 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
824 * Typeout windows:: temporary windows used for display.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
825 * Switching buffers:: Switching buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
826 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
827
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
828 @node Typeout windows, Switching buffers, , Buffers of ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
829 @section Typeout windows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
830 @cindex Typeout windows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
831
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
832 All ILISP output is funneled through the function which is bound to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
833 the hook @code{ilisp-display-output-function}. The function gets
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
834 a single argument, a string, and should make that output visible to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
835 the user somehow.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
836
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
837 One possible choice for output display is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
838 @code{ilisp-display-output-in-typeout-window},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
839 which pops up a window at the top of the current screen which is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
840 just large enough to display the output. This window can be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
841 "remote controlled" by the commands @code{ilisp-scroll-output},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
842 @code{ilisp-bury-output}, and @code{ilisp-grow-output}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
843
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
844 Unlike the old popper facility, the ilisp typeout window facility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
845 does not trounce on any existing Emacs functions or on any common
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
846 key bindings, like @kbd{C-x o}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
847
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
848 Other built-in functions which might be useful as values for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
849 @code{ilisp-display-output-function} include
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
850 @code{ilisp-display-output-default},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
851 @code{ilisp-display-output-adaptively},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
852 @code{ilisp-display-output-in-lisp-listener},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
853 @code{ilisp-display-output-in-temp-buffer}, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
854 @code{ilisp-display-output-in-typeout-window}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
855
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
856 The default display function is @code{ilisp-display-output-default},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
857 which obeys the @code{lisp-no-popper} variable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
858
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
859 Users are encouraged to write their own output display functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
860 to get the exact desired behavior, displaying on a private emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
861 screen, in a pop-up dialog box, or whetever.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
862
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
863
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
864 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
865
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
866 @item @key{C-z} 1 (ilisp-bury-output)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
867 deletes and buries the typeout output window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
868 @kindex C-z 1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
869 @pindex ilisp-bury-output
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
870 @cindex bury output window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
871
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
872
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
873 @item @key{C-z} v (ilisp-scroll-output)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
874 scrolls the output window if it is showing, otherwise does nothing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
875 If it is called with a negative prefix, it will scroll backwards.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
876 @cindex scrolling output
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
877 @pindex ilisp-scroll-output
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
878 @kindex C-z v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
879
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
880 @item @key{C-z} G (ilisp-grow-output)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
881 will grow the output window if showing by the prefix number of lines.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
882 @cindex grow output window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
883 @pindex ilisp-grow-output
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
884 @kindex C-z G
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
885
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
886 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
887
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
888 An alternative to typeout windows is to always have the inferior LISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
889 buffer visible and have all output go there. Setting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
890 @code{lisp-no-popper} to @code{t} will cause all output to go to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
891 inferior LISP buffer. Setting @code{lisp-no-popper} to @code{'message}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
892 will make output of one line go to the message window. Setting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
893 @code{comint-always-scroll} to @code{t} will cause process output to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
894 always be visible. If a command gets an error, you will be left in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
895 break loop.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
896
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
897 @cindex Turning off typeout windows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
898 @vindex comint-always-scroll
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
899 @vindex lisp-no-popper
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
900
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
901
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
902
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
903 @node Switching buffers, ,Typeout windows, Buffers of ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
904 @section Switching buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
905
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
906 Commands to make switching between buffers easier.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
907 @cindex Switching buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
908
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
909 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
910 @item @key{C-z} b (switch-to-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
911 @kindex @key{C-z} b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
912 @pindex switch-to-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
913 will pop to the current ILISP buffer or if already in an ILISP buffer,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
914 it will return to the buffer that last switched to an ILISP buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
915 With a prefix, it will also go to the end of the buffer. If you do not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
916 want it to pop, set @code{pop-up-windows} to nil.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
917 @vindex pop-up-windows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
918
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
919
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
920 @item M-C-l (previous-buffer-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
921 will switch to the last visited buffer in the current window or the Nth
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
922 previous buffer with a prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
923 @cindex Previous lisp buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
924 @pindex previous-buffer-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
925 @kindex M-C-l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
926
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
927 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
928
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
929
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
930 @node ILISP Commands, Customization, Buffers of ILISP, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
931 @chapter ILISP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
932
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
933
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
934 Most of these key bindings work in both Lisp Mode and ILISP mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
935 There are a few additional and-go bindings found in Lisp Mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
936
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
937
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
938 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
939 * Eval and compile functions::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
940 * Documentation functions::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
941 * Macroexpansion::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
942 * Tracing functions::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
943 * Package Commands::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
944 * Source code commands:: Working on several files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
945 * Batch commands:: Grouping changes for eval/compile
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
946 * Files and directories::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
947 * Keyboard modes:: Interactive and raw keyboard modes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
948 * Interrupts:: Interrupts, aborts, and errors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
949 * Command history::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
950 * Completion::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
951 * Miscellany:: Indentation, parenthesis balancing,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
952 and comment commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
953 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
954
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
955 @node Eval and compile functions, Documentation functions, , ILISP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
956 @section Eval and compile functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
957 @cindex Eval/compile commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
958 @cindex Compile/eval commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
959
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
960 In LISP, the major unit of interest is a form, which is anything between
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
961 two matching parentheses. Some of the commands here also refer to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
962 ``defun,'' which is a list that starts at the left margin in a LISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
963 buffer, or after a prompt in the ILISP buffer. These commands refer to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
964 the ``defun'' that contains the point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
965 @cindex Defun
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
966
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
967 ``A call'' refers to a reference to a function call for a function or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
968 macro, or a reference to a variable. Commands which ``insert a call''
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
969 in the ILISP buffer will bring up the last command which matches it or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
970 else will insert a template for a call.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
971 @cindex Call
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
972
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
973 When an eval is done of a single form matching @code{ilisp-defvar-regexp}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
974 the corresponding symbol will be unbound and the value assigned again.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
975 @vindex ilisp-defvar-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
976
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
977 When you send a form to LISP, the status light will reflect the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
978 progress of the command. In a lisp mode buffer the light will reflect
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
979 the status of the currently selected inferior LISP unless
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
980 @code{lisp-show-status} is nil. If you want to find out what command is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
981 currently running, use the command @kbd{@key{C-z} s} (status-lisp).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
982 If you call it with a prefix, the pending commands will be displayed as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
983 well.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
984 @cindex Currently running command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
985 @cindex Displaying commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
986 @pindex status-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
987 @kindex @key{C-z} s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
988 @vindex lisp-show-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
989 @cindex Status light
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
990 @cindex Modeline status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
991
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
992 Note that in this table as elsewhere, the key @key{C-z} (ilisp-prefix)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
993 is used as a prefix character for ILISP commands, though this may be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
994 changed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
995 @kindex @key{C-z} prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
996 @vindex ilisp-prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
997 @c xref .. custom? or autoload?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
998 For a full list of key-bindings, use @kbd{M-x describe-mode} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
999 @kbd{M-x describe-bindings} while in an ILISP-mode buffer.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1000 @cindex Listing bindings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1001 @cindex Describing bindings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1002
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1003
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1004 The eval/compile commands verify that their expressions are balanced and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1005 then send the form to the inferior LISP. If called with a positive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1006 prefix, the result of the operation will be inserted into the buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1007 after the form that was just sent.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1008 @cindex Inserting results
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1009
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1010 For commands which operate on a region, the result of the compile or eval
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1011 is the last form in the region.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1012 @cindex Region commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1013
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1014 The @samp{and-go} versions will perform the operation and then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1015 immediately switch to the ILISP buffer where you will see the results of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1016 executing your form. If @code{eval-defun-and-go-lisp} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1017 @code{compile-defun-and-go-lisp} is called with a prefix, a call for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1018 form will be inserted as well.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1019 @cindex Inserting calls
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1020 @pindex compile-defun-and-go-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1021 @pindex eval-defun-and-go-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1022 @cindex @samp{and-go} functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1023
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1024 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1025
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1026 @item @key{C-z}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1027 The prefix-key for most ILISP commands. This can be changed by setting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1028 the variable @code{ilisp-prefix}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1029 @c xref custom?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1030
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1031 @item RET (return-ilisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1032 In ILISP-mode buffer, sends the current form to lisp if complete,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1033 otherwise creates a new line and indents. If you edit old input, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1034 input will be copied to the end of the buffer first and then sent.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1035 @cindex Sending input to lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1036 @pindex return-ilisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1037 @kindex RET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1038
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1039 @item C-] (close-and-send-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1040 Closes the current sexp, indents it, and then sends it to the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1041 inferior LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1042 @pindex close-and-send-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1043 @kindex C-]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1044
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1045 @item LFD (newline-and-indent-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1046 Insert a new line and then indent to the appropriate level. If called
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1047 at the end of the inferior LISP buffer and an sexp, the sexp will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1048 sent to the inferior LISP without a trailing newline.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1049 @pindex newline-and-indent-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1050 @kindex LFD
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1051
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1052 @item @key{C-z} e (eval-defun-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1053 @itemx M-C-x (eval-defun-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1054 @itemx @key{C-z} C-e (eval-defun-and-go-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1055 @kindex M-C-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1056 @kindex @key{C-z} e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1057 @kindex @key{C-z} C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1058 Send the defun to lisp.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1059 @pindex eval-defun-and-go-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1060 @pindex eval-defun-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1061
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1062 @item @key{C-z} r (eval-region-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1063 @itemx @key{C-z} C-r (eval-region-and-go-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1064 @kindex @key{C-z} r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1065 @pindex eval-region-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1066 @kindex @key{C-z} C-r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1067 @pindex eval-region-and-go-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1068 @cindex Eval region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1069
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1070 @item @key{C-z} n (eval-next-sexp-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1071 @itemx @key{C-z} C-n (eval-next-sexp-and-go-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1072 @kindex @key{C-z} n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1073 @pindex eval-next-sexp-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1074 @kindex @key{C-z} C-n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1075 @pindex eval-next-sexp-and-go-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1076
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1077 @item @key{C-z} c (compile-defun-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1078 @kindex @key{C-z} c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1079 @pindex compile-defun-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1080 @item @key{C-z} C-c (compile-defun-lisp-and-go)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1081 @kindex @key{C-z} C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1082 When @code{compile-defun-lisp} is called in an inferior LISP buffer with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1083 no current form, the last form typed to the top-level will be compiled.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1084 @cindex Compile last form
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1085 @pindex compile-defun-lisp-and-go
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1086
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1087 @item @key{C-z} w (compile-region-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1088 @itemx @key{C-z} C-w (compile-region-and-go-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1089 @kindex @key{C-z} w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1090 @pindex compile-region-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1091 @kindex @key{C-z} C-w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1092 @pindex compile-region-and-go-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1093 @cindex Compile region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1094
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1095 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1096
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1097
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1098 If any of the forms contain an interactive command, then the command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1099 will never return. To get out of this state, you need to use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1100 @code{abort-commands-lisp} (@kbd{@key{C-z} g}). If @code{lisp-wait-p}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1101 is t, then EMACS will display the result of the command in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1102 minibuffer or a pop-up window. If @code{lisp-wait-p} is @code{nil},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1103 (the default) the send is done asynchronously and the results will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1104 brought up only if there is more than one line or there is an error. In
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1105 this case, you will be given the option of ignoring the error, keeping
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1106 it in another buffer or keeping it and aborting all pending sends. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1107 there is not a command already running in the inferior LISP, you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1108 preserve the break loop. If called with a negative prefix, the sense of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1109 @code{lisp-wait-p} will be inverted for the next command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1110 @c @cindex Aborting commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1111 @vindex lisp-wait-p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1112 @kindex @key{C-z} g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1113 @pindex abort-commands-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1114
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1115
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1116
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1117 @node Documentation functions, Macroexpansion, Eval and compile functions, ILISP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1118 @section Documentation functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1119
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1120 @code{describe-lisp}, @code{inspect-lisp}, @code{arglist-lisp}, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1121 @code{documentation-lisp} switch whether they prompt for a response or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1122 use a default when called with a negative prefix. If they are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1123 prompting, there is completion through the inferior LISP by using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1124 @kbd{TAB} or @kbd{M-TAB}. When entering an expression in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1125 minibuffer, all of the normal ilisp commands like @code{arglist-lisp}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1126 also work.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1127 @cindex Arglist lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1128 @cindex Describing lisp objects
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1129 @kindex @key{M-TAB}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1130 @kindex @key{TAB}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1131 @cindex Negative prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1132 @cindex Minibuffer completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1133 @pindex documentation-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1134 @pindex arglist-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1135 @pindex describe-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1136 @pindex inspect-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1137 @cindex Documentation Functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1138
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1139 Commands that work on a function will use the nearest previous function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1140 symbol. This is either a symbol after a @samp{#'} or the symbol at the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1141 start of the current list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1142
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1143 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1144
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1145 @item @key{C-z} a (arglist-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1146 @kindex @key{C-z} a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1147 Return the arglist of the current function. With a numeric prefix, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1148 leading paren will be removed and the arglist will be inserted into the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1149 buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1150
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1151 @item @key{C-z} d (documentation-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1152 @kindex @key{C-z} d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1153 Infers whether function or variable documentation is desired. With a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1154 negative prefix, you can specify the type of documentation as well.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1155 With a positive prefix the documentation of the current function call is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1156 inserted into the buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1157
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1158 @item @key{C-z} i (describe-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1159 @kindex @key{C-z} i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1160 Describe the previous sexp (it is evaluated). If there is no previous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1161 sexp and if called from inside an ILISP buffer, the previous result will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1162 be described.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1163
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1164 @item @key{C-z} i (describe-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1165 @kindex @key{C-z} i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1166 Describe the previous sexp (it is evaluated). If there is no previous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1167 sexp and if called from inside an ILISP buffer, the previous result will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1168 be described.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1169
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1170 @item @key{C-z} I (inspect-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1171 @kindex @key{C-z} I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1172 Switch to the current inferor LISP and inspect the previous sexp (it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1173 evaluated). If there is no previous sexp and if called from inside an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1174 ILISP buffer, the previous result will be inspected.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1175
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1176 @item @key{C-z} D (fi:clman)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1177 @itemx @key{C-z} A (fi:clman-apropos)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1178 @kindex @key{C-z} D
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1179 @pindex fi:clman
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1180 @kindex @key{C-z} A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1181 @pindex fi:clman-apropos
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1182 If the Franz online Common LISP manual is available, get information on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1183 a specific symbol. @code{fi:clman-apropos} will get information apropos
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1184 a specific string. Some of the documentation is specific to the allegro
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1185 dialect, but most of it is for standard Common LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1186 @cindex Apropos help
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1187 @cindex Common Lisp manual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1188 @cindex Franz manual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1189
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1190 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1191
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1192
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1193 @node Macroexpansion, Tracing functions, Documentation functions, ILISP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1194 @section Macroexpansion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1195
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1196 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1197 @item @key{C-z} M (macroexpand-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1198 @itemx @key{C-z} m (macroexpand-1-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1199 @kindex @key{C-z} M
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1200 @pindex macroexpand-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1201 @kindex @key{C-z} m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1202 @pindex macroexpand-1-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1203 These commands apply to the next sexp. If called with a positive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1204 numeric prefix, the result of the macroexpansion will be inserted into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1205 the buffer. With a negative prefix, prompts for expression to expand.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1206 @cindex Expanding macro forms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1207 @cindex Macroexpansion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1208
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1209
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1210 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1211
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1212 @node Tracing functions, Package Commands, Macroexpansion, ILISP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1213 @section Tracing functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1214
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1215 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1216 @item @key{C-z} t (trace-defun-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1217 @kindex @key{C-z} t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1218 @pindex trace-defun-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1219 @cindex Tracing defuns
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1220 @cindex Untracing defuns
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1221 traces the current defun. When called with a numeric prefix the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1222 function will be untraced. When called with negative prefix, prompts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1223 for function to be traced.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1224 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1225
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1226 @node Package Commands, Source code commands, Tracing functions, ILISP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1227 @section Package Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1228 @cindex Package commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1229
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1230 The first time an inferior LISP mode command is executed in a Lisp Mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1231 buffer, the package will be determined by using the regular expression
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1232 @code{ilisp-package-regexp} to find a package sexp and then passing that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1233 sexp to the inferior LISP through @code{ilisp-package-command}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1234 For the @samp{clisp} dialect, this will find the first @code{(in-package
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1235 PACKAGE)} form in the file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1236 A buffer's package will be displayed in the mode line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1237 If a buffer has no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1238 specification, forms will be evaluated in the current inferior LISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1239 package.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1240
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1241 Buffer package caching can be turned off by setting the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1242 @code{lisp-dont-cache-package} to @code{T}. This will force ILISP to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1243 search for the closest previous @code{ilisp-package-regexp} in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1244 buffer each time an inferior LISP mode command is executed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1245 @cindex Buffer package
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1246 @cindex Buffer package caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1247 @vindex lisp-dont-cache-package
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1248 @vindex ilisp-package-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1249 @findex ilisp-package-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1250 @cindex In-package form
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1251
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1252 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1253
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1254 @item @key{C-z} p (package-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1255 @kindex @key{C-z} p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1256 @pindex package-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1257 @cindex Show current package
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1258 Show the current package of the inferior LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1259
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1260 @item @key{C-z} P (set-package-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1261 @kindex @key{C-z} P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1262 @pindex set-package-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1263 Set the inferior LISP package to the current buffer's package or with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1264 prefix to a manually entered package.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1265
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1266 @item M-x set-buffer-package-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1267 @kindex M-x set-buffer-package-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1268 @cindex Set buffer package
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1269 @pindex set-buffer-package-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1270 Set the buffer's package from the buffer. If it is called with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1271 prefix, the package can be set manually.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1272
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1273 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1274
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1275 @node Source code commands, Batch commands, Package Commands, ILISP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1276 @section Source Code Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1277 @cindex Source Code Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1278 @cindex Finding source
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1279
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1280 The following commands all deal with finding things in source code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1281 The first time that one of these commands is used, there may be some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1282 delay while the source module is loaded. When searching files, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1283 first applicable rule is used:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1284 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1285 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1286 try the inferior LISP,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1287 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1288 try a tags file if defined,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1289 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1290 try all buffers in one of @code{lisp-source-modes} or all files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1291 defined using @code{lisp-directory}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1292 @pindex lisp-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1293 @vindex lisp-source-modes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1294 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1295
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1296 @code{M-x lisp-directory} defines a set of files to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1297 searched by the source code commands. It prompts for a directory and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1298 sets the source files to be those in the directory that match entries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1299 in @code{auto-mode-alist} for modes in @code{lisp-source-modes}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1300 With a positive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1301 prefix, the files are appended. With a negative prefix, all current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1302 buffers that are in one of @code{lisp-source-modes} will be searched. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1303 is also what happens by default. Using this command stops using a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1304 tags file.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1305 @cindex Source modes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1306 @vindex auto-mode-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1307 @kindex M-x lisp-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1308
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1309 @code{edit-definitions-lisp}, @code{who-calls-lisp}, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1310 @code{edit-callers-lisp} will switch whether they prompt for a response
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1311 or use a default when called with a negative prefix. If they are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1312 prompting, there is completion through the inferior LISP by using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1313 @kbd{TAB} or @kbd{M-TAB}. When entering an expression in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1314 minibuffer, all of the normal ILISP commands like @kbd{arglist-lisp}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1315 also work.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1316 @pindex edit-callers-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1317 @pindex who-calls-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1318 @pindex edit-definitions-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1319
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1320 @code{edit-definitions-lisp} (@kbd{M-.}) will find a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1321 particular type of definition for a symbol. It tries to use the rules
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1322 described above. The files to be searched are listed in the buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1323 @code{*Edit-Definitions*}. If @code{lisp-edit-files} is nil, no search will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1324 done if not found through the inferior LISP. The variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1325 @code{ilisp-locator} contains a function that when given the name and type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1326 should be able to find the appropriate definition in the file. There
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1327 is often a flag to cause your LISP to record source files that you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1328 will need to set in the initialization file for your LISP. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1329 variable is @code{*record-source-files*} in both allegro and lucid. Once a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1330 definition has been found, @code{next-definition-lisp}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1331 (@kbd{M-,}) will find the next definition
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1332 (or the previous definition with a prefix).@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1333 @pindex next-definition-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1334 @vindex *record-source-files*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1335 @vindex ilisp-locator
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1336 @vindex lisp-edit-files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1337 @cindex @code{*Edit-Definitions*} buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1338 @kindex M-.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1339
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1340 @code{edit-callers-lisp} (@kbd{@key{C-z} ^}) will generate a list of all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1341 of the callers of a function in the current inferior LISP and edit the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1342 first caller using @code{edit-definitions-lisp}. Each successive call to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1343 @code{next-caller-lisp} (@kbd{M-`}) will edit the next caller
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1344 (or the previous caller with a prefix). The list is stored in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1345 buffer @code{*All-Callers*}. You can also look at the callers by doing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1346 @kbd{M-x who-calls-lisp}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1347 @cindex List callers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1348 @cindex Find callers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1349 @cindex @code{*All-Callers*} buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1350 @kindex M-x who-calls-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1351 @kindex M-`
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1352 @pindex next-caller-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1353 @kindex @key{C-z} ^
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1354 @pindex edit-callers-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1355
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1356 @code{search-lisp} (@kbd{M-?}) will search the current tags files,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1357 @code{lisp-directory} files or buffers in one of @code{lisp-source-modes} for a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1358 string or a regular expression when called with a prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1359 @code{next-definition-lisp} (@kbd{M-,}) will find the next definition
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1360 (or the previous definition with a prefix).@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1361 @cindex Next definition
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1362 @cindex Previous definition
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1363 @kindex M-,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1364 @pindex next-definition-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1365 @kindex M-?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1366 @pindex search-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1367
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1368 @code{replace-lisp} (@kbd{M-"}) will replace a string (or a regexp with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1369 a prefix) in the current tags files, @code{lisp-directory} files or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1370 buffers in one of @code{lisp-source-modes}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1371 @cindex Replace lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1372 @kindex M-"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1373 @pindex replace-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1374
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1375
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1376 Here is a summary of the above commands (behavior when given prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1377 argument is given in parentheses):
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1378
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1379 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1380 @item M-x lisp-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1381 Define a set of files to be used by the source code commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1382
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1383 @item M-. (edit-definitions-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1384 Find definition of a symbol.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1385
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1386 @item M-, (next-definition-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1387 Find next (previous) definition.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1388
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1389 @item @key{C-z} ^ (edit-callers-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1390 Find all callers of a function, and edit the first.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1391
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1392 @item M-` (next-caller-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1393 Edit next (previous) caller of function set by @code{edit-callers-lisp}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1394
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1395 @item M-x who-calls-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1396 List all the callers of a function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1397
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1398
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1399 @item M-? (search-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1400 Search for string (regular expression) in current tags,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1401 @code{lisp-directory} files or buffers. Use @code{next-definition-lisp}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1402 to find next occurence.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1403
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1404 @item M-" (replace-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1405 Replace a string (regular expression) in files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1406
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1407 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1408
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1409
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1410 @node Batch commands, Files and directories, Source code commands, ILISP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1411 @section Batch commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1412
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1413
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1414 The following commands all deal with making a number of changes all at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1415 once. The first time one of these commands is used, there may be some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1416 delay as the module is loaded. The eval/compile versions of these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1417 commands are always executed asynchronously.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1418 @cindex Group changes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1419 @cindex File changes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1420 @cindex Change commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1421
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1422 @code{mark-change-lisp} (@kbd{@key{C-z} SPC}) marks the current defun as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1423 being changed. A prefix causes it to be unmarked. @code{clear-changes-lisp}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1424 (@kbd{@key{C-z} * 0}) will clear all of the changes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1425 @code{list-changes-lisp} (@kbd{@key{C-z} * l}) will show the forms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1426 currently marked.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1427 @cindex Marking changes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1428 @cindex Clearing changes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1429 @cindex Listing changes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1430 @kindex @key{C-z} * l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1431 @kindex @key{C-z} * 0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1432 @kindex @key{C-z} SPC
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1433 @pindex list-changes-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1434 @pindex clear-changes-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1435 @pindex mark-change-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1436
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1437 @code{eval-changes-lisp} (@kbd{@key{C-z} * e}), or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1438 @code{compile-changes-lisp} (@kbd{@key{C-z} * c}) will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1439 evaluate or compile these changes as appropriate.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1440 If called with a positive prefix, the changes will be kept.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1441 If there is an error, the process will stop and show the error
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1442 and all remaining changes will remain in the list. All of the results
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1443 will be kept in the buffer @code{*Last-Changes*}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1444 @cindex Eval'ing changes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1445 @cindex Compiling changes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1446 @cindex @code{*Last-Changes*} buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1447 @kindex @key{C-z} * e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1448 @kindex @key{C-z} * c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1449 @pindex compile-changes-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1450 @pindex eval-changes-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1451
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1452 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1453 Summary:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1454
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1455 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1456 @item @key{C-z} SPC (mark-change-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1457 Mark (unmark) current defun as changed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1458 @item @key{C-z} * e (eval-changes-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1459 @itemx @key{C-z} * c (compile-changes-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1460 Call with a positive prefix to keep changes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1461 @item @key{C-z} * 0 (clear-changes-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1462 @item @key{C-z} * l (list-changes-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1463 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1464
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1465
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1466 @node Files and directories, Keyboard modes, Batch commands, ILISP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1467 @section Files and directories
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1468
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1469 @cindex Files and directories
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1470 @cindex Directories and files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1471 @cindex Current directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1472 File commands in lisp-source-mode buffers keep track of the last used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1473 directory and file. If the point is on a string, that will be the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1474 default if the file exists. If the buffer is one of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1475 @code{lisp-source-modes}, the buffer file will be the default. Otherwise,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1476 the last file used in a lisp-source-mode will be used.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1477
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1478
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1479 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1480 @item C-x C-f (find-file-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1481 @kindex C-x C-f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1482 @cindex Find file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1483 @cindex Lisp find file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1484 @cindex Symbolic link expansion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1485 @pindex find-file-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1486 will find a file. If it is in a string, that will be used as the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1487 default if it matches an existing file. Symbolic links are expanded so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1488 that different references to the same file will end up with the same
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1489 buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1490
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1491 @item @key{C-z} l (load-file-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1492 @kindex @key{C-z} l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1493 will load a file into the inferior LISP. You will be given the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1494 opportunity to save the buffer if it has changed and to compile the file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1495 if the compiled version is older than the current version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1496 @pindex load-file-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1497 @cindex Loading files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1498
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1499 @item @key{C-z} k (compile-file-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1500 @kindex @key{C-z} k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1501 will compile a file in the current inferior LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1502 @pindex compile-file-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1503 @cindex Compiling files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1504
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1505 @item @key{C-z} ! (default-directory-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1506 @kindex @key{C-z} !
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1507 sets the default inferior LISP directory to the directory of the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1508 buffer. If called in an inferior LISP buffer, it sets the Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1509 @code{default-directory} to the LISP default directory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1510 @vindex default-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1511 @cindex Default directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1512 @cindex Set default directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1513 @pindex default-directory-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1514
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1515 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1516
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1517 @node Keyboard modes, Interrupts, Files and directories, ILISP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1518 @section Switching between interactive and raw keyboard modes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1519
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1520 @cindex Raw keyboard mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1521 @cindex Interactive keyboard mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1522 @vindex ilisp-raw-echo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1523
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1524 There are two keyboard modes for interacting with the inferior LISP,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1525 \"interactive\" and \"raw\". Normally you are in interactive mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1526 where keys are interpreted as commands to EMACS and nothing is sent to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1527 the inferior LISP unless a specific command does so. In raw mode, all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1528 characters are passed directly to the inferior LISP without any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1529 interpretation as EMACS commands. Keys will not be echoed unless
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1530 ilisp-raw-echo is T.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1531
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1532 @pindex raw-keys-ilisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1533 @kindex @key{C-z} #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1534 @pindex io-bridge-ilisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1535 @kindex M-x io-bridge-ilisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1536
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1537 Raw mode can be turned on interactively by the command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1538 @code{raw-keys-ilisp} (@kbd{@key{C-z} #}) and will continue until you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1539 type @key{C-g}. Raw mode can also be turned on/off by inferior LISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1540 functions if the command @code{io-bridge-ilisp} (M-x io-bridge-ilisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1541 has been executed in the inferior LISP either interactively or on a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1542 hook. To turn on raw mode, a function should print ^[1^] and to turn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1543 it off should print ^[0^]. An example in Common LISP would be:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1544
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1545 @code{(progn (format t "1") (print (read-char)) (format t "0"))}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1546
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1547 @node Interrupts, Command history, Keyboard modes, ILISP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1548 @section Interrupts, aborts, and errors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1549
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1550
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1551 If you want to abort the last command you can use @kbd{C-g}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1552 @kindex C-g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1553 @cindex Errors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1554 @cindex Aborting commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1555 @cindex Interrupting commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1556
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1557 If you want to abort all commands, you should use the command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1558 @code{abort-commands-lisp} (@kbd{@key{C-z} g}). Commands that are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1559 aborted will be put in the buffer @code{*Aborted Commands*} so that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1560 you can see what was aborted. If you want to abort the currently
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1561 running top-level command, use @code{interrupt-subjob-ilisp} (@kbd{C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1562 C-c}). As a last resort, @kbd{M-x panic-lisp} will reset the ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1563 state without affecting the inferior LISP so that you can see what is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1564 happening.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1565
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1566 @pindex interrupt-subjob-ilisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1567 @cindex @code{*Aborted Commands*} buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1568 @kindex @key{C-z} g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1569 @pindex abort-commands-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1570 @pindex panic-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1571
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1572 @code{delete-char-or-pop-ilisp} (@kbd{C-d}) will delete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1573 prefix characters unless you are at the end of an ILISP buffer in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1574 which case it will pop one level in the break loop.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1575 @cindex Pop in break loop
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1576 @cindex Break loop
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1577 @kindex C-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1578 @pindex delete-char-or-pop-ilisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1579
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1580 @code{reset-ilisp}, (@kbd{@key{C-z} z}) will reset the current inferior
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1581 LISP's top-level so that it will no longer be in a break loop.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1582 @cindex Resetting lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1583 @cindex Top-level, return to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1584 @kindex @key{C-z} z
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1585 @pindex reset-ilisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1586
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1587
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1588 Summary:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1589
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1590 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1591 @item C-c C-c (interrupt-subjob-ilisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1592 Send a keyboard interrupt signal to lisp.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1593 @item @key{C-z} g (abort-commands-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1594 Abort all running or unsent commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1595 @item M-x panic-lisp (panic-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1596 Reset the ILISP process state.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1597 @item @key{C-z} z (reset-ilisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1598 Reset lisp to top-level.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1599 @item C-d (delete-char-or-pop-ilisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1600 If at end of buffer, pop a level in break loop.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1601
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1602 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1603
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1604 @c duplicated from eval section.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1605 If @code{lisp-wait-p} is @code{nil} (the default),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1606 all sends are done asynchronously and the results will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1607 brought up only if there is more than one line or there is an error.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1608 In case, you will be given the option of ignoring the error, keeping
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1609 it in another buffer or keeping it and aborting all pending sends.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1610 If there is not a command already running in the inferior LISP, you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1611 preserve the break loop. If called with a negative prefix, the sense of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1612 @code{lisp-wait-p} will be inverted for the next command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1613 @vindex lisp-wait-p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1614
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1615
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1616
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1617 @node Command history, Completion, Interrupts, ILISP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1618 @section Command history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1619 @cindex Command history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1620 @cindex Last command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1621 @cindex Previous commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1622
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1623 ILISP mode is built on top of @code{comint-mode}, the general
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1624 command-interpreter-in-a-buffer mode. As such, it inherits many
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1625 commands and features from this, including a command history mechanism.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1626 @cindex @code{comint-mode}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1627
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1628 Each ILISP buffer has a command history associated with it. Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1629 that do not match @code{ilisp-filter-regexp} and that are longer than
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1630 @code{ilisp-filter-length} and that do not match the immediately prior
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1631 command will be added to this history.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1632 @vindex ilisp-filter-length
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1633 @vindex ilisp-filter-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1634
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1635 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1636
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1637 @item M-n (comint-next-input)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1638 @itemx M-p (comint-previous-input)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1639 @kindex M-n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1640 @pindex comint-next-input
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1641 @cindex Next input
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1642 @kindex M-p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1643 @pindex comint-previous-input
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1644 Cycle through the input history.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1645
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1646 @item M-s (comint-previous-similar-input)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1647 @kindex M-s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1648 @pindex comint-previous-similar-input
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1649 @cindex Similar input
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1650 Cycle through input that has the string typed so far as a prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1651
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1652 @item M-N (comint-psearch-input)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1653 @kindex M-N
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1654 @pindex comint-psearch-input
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1655 @cindex Search input
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1656 @cindex Input search
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1657 Search forwards for prompt.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1658 @item M-P (comint-msearch-input)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1659 @kindex M-P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1660 @pindex comint-msearch-input
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1661 Search backwards for prompt.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1662
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1663 @item C-c R (comint-msearch-input-matching)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1664 @kindex C-c R
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1665 @pindex comint-msearch-input-matching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1666 Search backwards for occurrence of prompt followed by string which is prompted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1667 for (@emph{not} a regular expression).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1668 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1669
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1670 See @code{comint-mode} documentation for more information on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1671 @samp{comint} commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1672
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1673
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1674 @node Completion, Miscellany, Command history, ILISP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1675 @section Completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1676
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1677 Commands to reduce number of keystrokes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1678 @cindex Completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1679 @cindex Partial completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1680 @cindex Filename completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1681
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1682 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1683 @item M-TAB (complete-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1684 @kindex M-TAB
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1685 @pindex complete-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1686 @vindex ilisp-prefix-match
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1687 will try to complete the previous symbol in the current inferior LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1688 Partial completion is supported unless @code{ilisp-prefix-match} is set to @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1689 (If you set it to @code{t}, inferior LISP completions will be faster.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1690 With partial completion, @samp{p--n} would complete to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1691 @samp{position-if-not} in Common LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1692 If the symbol follows a left paren or a @samp{#'}, only symbols with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1693 function cells will be considered.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1694 If the symbol starts with a @samp{*} or you call with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1695 positive prefix all possible completions will be considered.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1696 Only external symbols are considered if there is a package qualification
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1697 with only one colon.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1698 The first time you try to complete a string the longest common substring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1699 will be inserted and the cursor will be left
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1700 on the point of ambiguity.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1701 If you try to complete again, you can see the possible completions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1702 If you are in a string, then filename completion will be done instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1703 And if you try to complete a filename twice, you will see a list of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1704 possible completions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1705 Filename components are completed individually, so @samp{/u/mi/} could
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1706 expand to @samp{/usr/misc/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1707 If you complete with a negative
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1708 prefix, the most recent completion (symbol or filename) will be undone.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1709
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1710
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1711 @item M-RET (complete)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1712 @kindex M-RET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1713 @pindex complete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1714 @cindex TMC completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1715 will complete the current symbol to the most recently seen symbol in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1716 Emacs that matches what you have typed so far. Executing it repeatedly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1717 will cycle through potential matches. This is from the TMC completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1718 package and there may be some delay as it is initially loaded.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1719
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1720 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1721
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1722 @node Miscellany, , Completion, ILISP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1723 @section Miscellany
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1724
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1725 Indentation, parenthesis balancing, and comment commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1726
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1727 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1728
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1729 @item @kbd{TAB} (indent-line-ilisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1730 @kindex @kbd{TAB}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1731 indents for LISP. With prefix, shifts rest of expression rigidly with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1732 the current line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1733 @pindex indent-line-ilisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1734 @cindex Indentation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1735 @cindex Rigid indentation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1736
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1737
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1738 @item M-C-q (indent-sexp-ilisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1739 @kindex M-C-q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1740 will indent each line in the next sexp.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1741 @pindex indent-sexp-ilisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1742
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1743 @item M-q (reindent-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1744 @kindex M-q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1745 will reindent the current paragraph if in a comment or string.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1746 Otherwise it will close the containing defun and reindent it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1747 @pindex reindent-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1748 @cindex Reindent lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1749
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1750 @item @key{C-z} ; (comment-region-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1751 @kindex @key{C-z} ;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1752 will put prefix copies of @code{comment-start} before and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1753 @code{comment-end}'s after the lines in region. To uncomment a region,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1754 use a minus prefix.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1755 @pindex comment-region-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1756 @cindex Comment region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1757 @cindex Uncomment region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1758
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1759 @item @key{C-z} ) (find-unbalanced-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1760 @kindex @key{C-z} )
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1761 will find unbalanced parens in the current buffer. When called with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1762 prefix it will look in the current region.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1763 @pindex find-unbalanced-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1764 @cindex Find unbalanced parens
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1765 @cindex Parenthesis balancing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1766
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1767 @item ] (close-all-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1768 @kindex ]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1769 will close all outstanding parens back to the containing form, or a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1770 previous left bracket which will be converted to a left parens. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1771 there are too many parens, they will be deleted unless there is text
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1772 between the last paren and the end of the defun. If called with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1773 prefix, all open left brackets will be closed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1774 @pindex close-all-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1775 @cindex Close all parens
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1776 @cindex Close brackets
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1777
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1778 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1779
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1780
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1781 @node Customization, Dialects, ILISP Commands, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1782 @chapter ILISP Customization
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1783
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1784 @c = = = = = = = = = = = = = = = = = = = = = = = =
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1785 @c this refers to hierarchiy, which isn't shown here.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1786 @cindex Customization
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1787 @cindex Hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1788 @cindex Dialect startup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1789
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1790
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1791 Starting a dialect runs the hooks on @code{comint-mode-hook}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1792 and @code{ilisp-mode-hook} and then @var{DIALECT}@code{-hooks} specific
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1793 to dialects in the nesting order below.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1794 @vindex ilisp-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1795 @vindex comint-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1796 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1797 clisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1798 allegro
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1799 lucid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1800 kcl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1801 akcl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1802 ibcl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1803 cmulisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1804 scheme
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1805 oaklisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1806 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1807
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1808 On the very first prompt in the inferior LISP,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1809 the hooks on @code{ilisp-init-hook} are run. For more information on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1810 creating a new dialect or variables to set in hooks, see @file{ilisp.el}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1811 @cindex First prompt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1812 @vindex ilisp-init-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1813
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1814
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1815
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1816 @c -> -> -> -> -> -> -> -> -> -> -> plenty of indexing here
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1817 @c put these in a table for later expandment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1818 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1819
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1820 ILISP Mode Hooks:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1821 @cindex ILISP Mode Hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1822 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1823 @item ilisp-site-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1824 @vindex ilisp-site-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1825 Executed when file is loaded
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1826 @item ilisp-load-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1827 @vindex ilisp-load-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1828 Executed when file is loaded
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1829 @item ilisp-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1830 @vindex ilisp-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1831 Executed when an ilisp buffer is created
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1832 @item ilisp-init-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1833 @vindex ilisp-init-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1834 Executed after inferior LISP is initialized and the first prompt is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1835 seen.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1836 @item @var{DIALECT}-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1837 @vindex @var{DIALECT}-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1838 Executed when dialect is set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1839 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1840
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1841 Variables you might want to set in a hook or dialect:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1842 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1843 @item ilisp-prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1844 @vindex ilisp-prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1845 Keys to prefix ilisp key bindings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1846 @item ilisp-program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1847 @vindex ilisp-program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1848 Program to start for inferior LISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1849 @item ilisp-motd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1850 @vindex ilisp-motd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1851 String printed on startup with version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1852 @item lisp-wait-p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1853 @vindex lisp-wait-p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1854 Set to T for synchronous sends
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1855 @item ilisp-handle-errors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1856 @vindex ilisp-handle-errors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1857 Set to T for ilisp to handle errors from the underlying lisp.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1858 @item ilisp-display-output-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1859 @vindex ilisp-display-output-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1860 The name of a function which displays ILISP output.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1861 @item lisp-no-popper
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1862 @vindex lisp-no-popper
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1863 Set to T to have all output in inferior LISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1864 @item lisp-show-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1865 @vindex lisp-show-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1866 Set to nil to stop showing process status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1867 @item ilisp-prefix-match
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1868 @vindex ilisp-prefix-match
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1869 Set to T if you do not want partial completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1870 @item ilisp-filter-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1871 @vindex ilisp-filter-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1872 Input history filter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1873 @item ilisp-filter-length
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1874 @vindex ilisp-filter-length
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1875 Input history minimum length
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1876 @item ilisp-other-prompt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1877 @vindex ilisp-other-prompt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1878 Prompt for non- top-level read-eval print loops
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1879 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1880
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1881 @node Dialects, Concept index, Customization, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1882 @chapter Dialects
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1883 @cindex Dialects
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1884
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1885 A @dfn{dialect} of lisp is a specific implementation. For the parts of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1886 Common Lisp which are well specified, they are usually the same. For
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1887 the parts that are not (debugger, top-level loop, etc.), there is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1888 usually the same functionality but different commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1889
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1890 ILISP provides the means to specify these differences so that the ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1891 commands will use the specific command peculiar to an implementation,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1892 but still offer the same behavior with the same interface.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1893
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1894
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1895 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1896 * Defining new dialects::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1897 * Writing new commands::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1898 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1899
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1900 @node Defining new dialects, Writing new commands, , Dialects
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1901 @section Defining new dialects
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1902
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1903
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1904 To define a new dialect use the macro @code{defdialect}. For examples,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1905 look at the dialect definitions in @file{ilisp-acl.el},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1906 @file{ilisp-cmu.el}, @file{ilisp-kcl.el}, @file{ilisp-luc}. There are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1907 hooks and variables for almost anything that you are likely to need to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1908 change. The relationship between dialects is hierarchical with the root
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1909 values being defined in @code{setup-ilisp}. For a new dialect, you only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1910 need to change the variables that are different than in the parent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1911 dialect.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1912 @cindex Defining new dialects
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1913 @pindex setup-ilisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1914 @pindex defdialect
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1915
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1916
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1917 @node Writing new commands, , Defining new dialects, Dialects
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1918 @section Writing new commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1919 @cindex Internal ILISP functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1920
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1921 Basic tools for creating new commands:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1922 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1923 @item deflocal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1924 @findex deflocal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1925 Define a new buffer local variable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1926 @item ilisp-dialect
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1927 @findex ilisp-dialect
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1928 List of dialect types. For specific dialect clauses.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1929 @item lisp-symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1930 @findex lisp-symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1931 Create a symbol.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1932 @item lisp-symbol-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1933 @findex lisp-symbol-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1934 Return a symbol's name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1935 @item lisp-symbol-delimiter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1936 @findex lisp-symbol-delimiter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1937 Return a symbol's qualification
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1938 @item lisp-symbol-package
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1939 @findex lisp-symbol-package
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1940 Return a symbol's package
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1941 @item lisp-string-to-symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1942 @findex lisp-string-to-symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1943 Convert string to symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1944 @item lisp-symbol-to-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1945 @findex lisp-symbol-to-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1946 Convert symbol to string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1947 @item lisp-buffer-symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1948 @findex lisp-buffer-symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1949 Convert symbol to string qualified for buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1950 @item lisp-previous-symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1951 @findex lisp-previous-symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1952 Return previous symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1953 @item lisp-previous-sexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1954 @findex lisp-previous-sexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1955 Return previous sexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1956 @item lisp-def-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1957 @findex lisp-def-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1958 Return name of current definition
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1959 @item lisp-function-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1960 @findex lisp-function-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1961 Return previous function symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1962 @item ilisp-read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1963 @findex ilisp-read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1964 Read an sexp with completion, arglist, etc
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1965 @item ilisp-read-symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1966 @findex ilisp-read-symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1967 Read a symbol or list with completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1968 @item ilisp-completing-read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1969 @findex ilisp-completing-read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1970 Read from choices or list with completion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1971 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1972
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1973 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1974 Notes:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1975 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1976 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1977 Special commands like arglist should use @code{ilisp-send} to send a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1978 message to the inferior LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1979 @findex ilisp-send
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1980
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1981 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1982 Eval/compile commands should use @code{eval-region-lisp} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1983 @code{compile-region-lisp}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1984 @findex compile-region-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1985 @findex eval-region-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1986
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1987 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1988
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1989 @node Concept index, Key index, Dialects, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1990 @unnumbered Concept Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1991 @printindex cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1992
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1993 @node Key index, Command index, Concept index, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1994 @unnumbered Key Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1995 @printindex ky
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1996
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1997 @node Command index, Variable index, Key index, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1998 @unnumbered Command Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1999
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2000 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2001 Commands available via @kbd{M-x} prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2002
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2003 @printindex pg
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2004
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2005 @node Variable index, Function index, Command index, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2006 @unnumbered Variable Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2007
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2008 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2009 Variables and hooks of ILISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2010
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2011 @printindex vr
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2012
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2013 @node Function index, , Variable index, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2014 @unnumbered Function Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2015
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2016 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2017 Internal functions of ILISP which can be used to write new commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2018
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2019 @printindex fn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2020
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2021 @contents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2022
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2023 @bye
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2024
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2025
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2026 Should this stuff go anywhere??
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2027
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2028 misc ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2029 bol-ilisp (C-a) will go after the prompt as defined by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2030 comint-prompt-regexp or ilisp-other-prompt or to the left margin with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2031 a prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2032
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2033 misc
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2034 backward-delete-char-untabify (DEL)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2035 converts tabs to spaces as it moves back.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2036
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2037
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2038 about cmds
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2039 The very first inferior LISP command executed may send some forms to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2040 initialize the inferior LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2041
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2042 Each time an inferior LISP command is executed, the last form sent can be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2043 seen in the *ilisp-send* buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2044
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2045
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2046 @comment Local variables:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2047 @comment version-control: t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2048 @comment End: