annotate man/ilisp.texi @ 27:0a3286277d9b

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