annotate lisp/ilisp/ilisp-doc.el @ 164:4e0740e5aab2

Added tag r20-3b8 for changeset 0132846995bd
author cvs
date Mon, 13 Aug 2007 09:43:39 +0200
parents b82b59fe008d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 ;;; -*- Mode: Emacs-Lisp -*-
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 ;;; ilisp-doc.el --
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 ;;; This file is part of ILISP.
4
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
6 ;;; Version: 5.8
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 ;;; Copyright (C) 1990, 1991, 1992, 1993 Chris McConnell
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 ;;; 1993, 1994 Ivan Vasquez
4
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
10 ;;; 1994, 1995, 1996 Marco Antoniotti and Rick Busdiecker
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
11 ;;; 1996 Marco Antoniotti and Rick Campbell
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 ;;; Other authors' names for which this Copyright notice also holds
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 ;;; may appear later in this file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 ;;;
4
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
16 ;;; Send mail to 'ilisp-request@naggum.no' to be included in the
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
17 ;;; ILISP mailing list. 'ilisp@naggum.no' is the general ILISP
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 ;;; mailing list were bugs and improvements are discussed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 ;;; ILISP is freely redistributable under the terms found in the file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 ;;; COPYING.
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 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 ;;; ILISP mode documentation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 (defconst ilisp-documentation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 "Major mode for interacting with an inferior LISP process. Runs a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 LISP interpreter as a subprocess of Emacs, with LISP I/O through an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 Emacs buffer. If you have problems, use M-x ilisp-bug in the buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 where you are having a problem to send a bug report.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 To start a LISP use M-x run-ilisp, or a specific dialect like M-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 allegro. If called with a prefix you will be prompted for a buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 name and a program to run. The default buffer name is the name of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 dialect. The default program for a dialect will be the value of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 DIALECT-program or the value of ilisp-program inherited from a less
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 specific dialect. If there are multiple LISP's, use the dialect name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 or select-ilisp \(\\[select-ilisp]) to select the current ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 Currently supported LISP dialects include:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 clisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 allegro
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 lucid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 kcl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 akcl
4
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
49 gcl
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
50 ecl
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 ibcl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 cmulisp
4
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
53 clisp-hs
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
54 lispworks
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 scheme
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 oaklisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 Customization: Starting a dialect runs the hooks on comint-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 and ilisp-mode-hook and then DIALECT-hooks specific to dialects in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 nesting order above. On the very first prompt in the inferior LISP,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 the hooks on ilisp-init-hook are run. For more information on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 creating a new dialect or variables to set in hooks, see ilisp.el.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 Most of these key bindings work in both Lisp Mode and ILISP mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 There are a few additional and-go bindings found in Lisp Mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 \\{ilisp-use-map}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 There are also a few bindings found in global-map including:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 \\[ilisp-bury-output] ilisp-bury-output
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 \\[ilisp-scroll-output] ilisp-scroll-output
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 \\[previous-buffer-lisp] previous-buffer-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 \\[switch-to-lisp] switch-to-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 ILISP has a very flexible means for displaying output from the underlying lisp.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 All output is funneled through the function bound to ilisp-display-output-function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 That function gets a single argument, the string to display, and should make it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76 visible to the user. The default display function, ilisp-display-output-default,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 displays one-line output in the echo area and longer output in a shrink-wrapped
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 typeout window. This typeout window can be manipulated with \\[ilisp-bury-output]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 ilisp-bury-output, \\[ilisp-scroll-output] ilisp-scroll-output, and \\[ilisp-grow-output]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 ilisp-grow-output.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 An alternative to typeout windows is to always have the inferior LISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 buffer visible and have all output go there. If your are using the default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 display function, then setting lisp-no-popper to T will cause all output to go
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 to the inferior LISP buffer. Setting comint-always-scroll to T will cause
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86 process output to always be visible. If a command gets an error, you will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 left in the break loop.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 Here are the supplied display functions:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 ilisp-display-output-default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 ilisp-display-output-adaptively
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92 ilisp-display-output-in-echo-area
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 ilisp-display-output-in-typeout-window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 ilisp-display-output-in-lisp-listener
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 Each ILISP buffer has a command history associated with it. Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 that do not match ilisp-filter-regexp and that are longer than
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 ilisp-filter-length and that do not match the immediately prior
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 command will be added to this history. comint-previous-input
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 \(\\[comint-previous-input]) and comint-next-input
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 \(\\[comint-next-input]) cycle through the input history.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 comint-previous-similar-input \(\\[comint-previous-similar-input])
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 cycles through input that has the string typed so far as a prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 See comint-mode documentation for more information on comint commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 A number of commands refer to \"defun\". A \"defun\" is a list that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108 starts at the left margin in a LISP buffer, or after a prompt in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 ILISP buffer. So the commands refer to the \"defun\" that contains
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110 point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 There are two keyboard modes for interacting with the inferior LISP,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113 \"interactive\" and \"raw\". Normally you are in interactive mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114 where keys are interpreted as commands to EMACS and nothing is sent to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115 the inferior LISP unless a specific command does so. In raw mode, all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 characters are passed directly to the inferior LISP without any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117 interpretation as EMACS commands. Keys will not be echoed unless
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118 ilisp-raw-echo is T. Raw mode can be turned on interactively by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 raw-keys-ilisp \(\\[raw-keys-ilisp]) and will continue until you type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 C-g. Raw mode can also be turned on/off by inferior LISP functions if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 io-bridge-ilisp \(\\[io-bridge-ilisp]) has been executed in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 inferior LISP interactively or on a hook. To turn on raw mode, a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123 function should print ^[1^] and to turn it off should print ^[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 When you send something to LISP, the status light will reflect the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126 progress of the command. If you type top-level forms ahead of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 processing, the status may indicate ready when the LISP is actually
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128 running. In a lisp mode buffer the light will reflect the status of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129 the currently selected inferior LISP unless lisp-show-status is nil.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130 If you want to find out what command is currently running, use the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 command status-lisp \(\\[status-lisp]). If you call it with a prefix,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 the pending commands will be displayed as well.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134 If you are want to abort the last command you can use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135 \(\\[keyboard-quit]). If you want to abort all commands, you should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136 use the command abort-commands-lisp \(\\[abort-commands-lisp]).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137 Commands that are aborted will be put in the buffer *Aborted Commands*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138 so that you can see what was aborted. If you want to abort the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 currently running top-level command, use interrupt-subjob-ilisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140 \(\\[interrupt-subjob-ilisp]). As a last resort, \\[panic-lisp] will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 reset the ILISP state without affecting the inferior LISP so that you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142 can see what is happening. If you become totally frustrated, you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143 also try \\[repair-ilisp].
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 bol-ilisp \(\\[bol-ilisp]) will go after the prompt as defined by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146 comint-prompt-regexp or ilisp-other-prompt or to the left margin with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 a prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149 return-ilisp \(\\[return-ilisp]) knows about prompts and sexps. If an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 sexp is not complete, it will indent properly. When an entire sexp is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 complete, it is sent to the inferior LISP together with a new line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 If you edit old input, the input will be copied to the end of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 buffer first.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 close-and-send-lisp \(\\[close-and-send-lisp]) will close the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156 sexp, indent it, then send it to the current inferior LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 indent-line-ilisp \(\\[indent-line-ilisp]) indents for LISP. With
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159 prefix, shifts rest of expression rigidly with the current line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161 newline-and-indent-lisp \(\\[newline-and-indent-lisp]) will insert a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162 new line and then indent to the appropriate level. If you are at the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163 end of the inferior LISP buffer and an sexp, the sexp will be sent to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164 the inferior LISP without a trailing newline.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166 indent-sexp-ilisp \(\\[indent-sexp-ilisp]) will indent each line in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167 the next sexp.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169 backward-delete-char-untabify \(\\[backward-delete-char-untabify])
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170 converts tabs to spaces as it moves back.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 delete-char-or-pop-ilisp \(\\[delete-char-or-pop-ilisp]) will delete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 prefix characters unless you are at the end of an ILISP buffer in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 which case it will pop one level in the break loop.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 reset-ilisp, \(\\[reset-ilisp]) will reset the current inferior LISP's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177 top-level so that it will no longer be in a break loop.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179 switch-to-lisp \(\\[switch-to-lisp]) will pop to the current ILISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 buffer or if already in an ILISP buffer, it will return to the buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 that last switched to an ILISP buffer. With a prefix, it will also go
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 to the end of the buffer. If you do not want it to pop, set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183 pop-up-windows to nil.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 call-defun-lisp \(\\[call-defun-lisp]) will put a call to the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186 defun in the inferior LISP and go there. If it is a \(def* name form,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187 it looks up reasonable forms of name in the input history unless
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188 called with a prefix. If not found, \(name or *name* will be inserted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 If it is not a def* form, the whole defun will be put in the buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191 reposition-window-lisp \(\\[reposition-window-lisp]) will scroll the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 current window to show as much of the current defun and its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193 introductory comments as possible without moving the point. If called
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194 with a prefix, the point will be moved if necessary to show the start
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 of the defun. If called more than once with the first line of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196 defun showing, the introductory comments will be shown or suppressed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198 previous-buffer-lisp \(\\[previous-buffer-lisp]) will switch to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199 last visited buffer in the current window or the Nth previous buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
200 with a prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
201
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202 find-unbalanced-lisp \(\\[find-unbalanced-lisp]) will find unbalanced
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203 parens in the current buffer. When called with a prefix it will look
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204 in the current region.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206 close-all-lisp \(\\[close-all-lisp]) will close all outstanding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 parens back to the containing form, or a previous left bracket
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 which will be converted to a left parens. If there are too many
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209 parens, they will be deleted unless there is text between the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 last paren and the end of the defun. If called with a prefix,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211 all open left brackets will be closed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 reindent-lisp \(\\[reindent-lisp]) will reindent the current paragraph
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214 if in a comment or string. Otherwise it will close the containing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215 defun and reindent it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217 comment-region-lisp \(\\[comment-region-lisp]) will put prefix copies of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 comment-start before and comment-end's after the lines in region. To
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 uncomment a region, use a minus prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221 The very first inferior LISP command executed may send some forms to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 initialize the inferior LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 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
225 seen in the \*ilisp-send* buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227 The first time an inferior LISP mode command is executed in a Lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 Mode buffer, the package will be determined by using the regular
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 expression ilisp-package-regexp to find a package sexp and then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 passing that sexp to the inferior LISP through ilisp-package-command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 For the clisp dialect, this will find the first \(in-package PACKAGE)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 form in the file. A buffer's package will be displayed in the mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 line. set-buffer-package-lisp \(\\[set-buffer-package-lisp]) will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 update the current package from the buffer. If it is called with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 prefix, the package can be set manually. If a buffer has no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236 specification, forms will be evaluated in the current inferior LISP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237 package. package-lisp \(\\[package-lisp]) will show the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 package of the inferior LISP. set-package-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239 \(\\[set-package-lisp]) will set the inferior LISP package to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240 current buffer's package or to a manually entered package with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241 prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 describe-lisp, inspect-lisp, arglist-lisp, documentation-lisp,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 macroexpand-1-lisp, macroexpand-lisp, edit-definitions-lisp,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245 who-calls-lisp, edit-callers-lisp and trace-defun-lisp will switch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246 whether they prompt for a response or use a default when called with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247 negative prefix. If they are prompting, there is completion through
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 the inferior LISP by using TAB or M-TAB. When you are entering an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249 expression in the minibuffer, all of the normal ilisp commands like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250 arglist-lisp also work.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
251
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
252 Commands that work on a function will use the nearest previous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
253 function symbol. This is either a symbol after a #' or the symbol at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
254 the start of the current list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
255
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256 describe-lisp \(\\[describe-lisp]) will describe the previous sexp.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257 inspect-lisp \(\\[inpsect-lisp]) will inspect the previous sexp.If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258 there is no previous-sexp and you are in an ILISP buffer, the previous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
259 result will be described or inspected.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261 arglist-lisp \(\\[arglist-lisp]) will return the arglist of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262 current function. With a numeric prefix, the leading paren will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263 removed and the arglist will be inserted into the buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265 documentation-lisp \(\\[documentation-lisp]) infers whether function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266 or variable documentation is desired. With a negative prefix, you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267 specify the type of documentation as well. With a positive prefix the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 documentation of the current function call is returned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
269
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270 If the Franz online Common LISP manual is available, fi:clman
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
271 \(\\[fi:clman]) will get information on a specific symbol.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 fi:clman-apropos \(\\[fi:clman-apropos]) will get information apropos
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273 a specific string. Some of the documentation is specific to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 allegro dialect, but most of it is for standard Common LISP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276 macroexpand-lisp \(\\[macroexpand-lisp]) and macroexpand-1-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277 \(\\[macroexpand-1-lisp]) will be applied to the next sexp. They will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278 insert their result into the buffer if called with a numeric prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280 complete-lisp \(\\[complete-lisp]) will try to complete the previous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281 symbol in the current inferior LISP. Partial completion is supported
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282 unless ilisp-prefix-match is set to T. \(If you set it to T, inferior
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283 LISP completions will be faster.) With partial completion, \"p--n\"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284 would complete to \"position-if-not\" in Common LISP. If the symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285 follows a left paren or a #', only symbols with function cells will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286 considered. If the symbol starts with a \* or you call with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 positive prefix all possible completions will be considered. Only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288 external symbols are considered if there is a package qualification
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289 with only one colon. The first time you try to complete a string the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290 longest common substring will be inserted and the cursor will be left
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 on the point of ambiguity. If you try to complete again, you can see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 the possible completions. If you are in a string, then filename
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293 completion will be done instead. And if you try to complete a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294 filename twice, you will see a list of possible completions. Filename
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
295 components are completed individually, so /u/mi/ could expand to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296 /usr/misc/. If you complete with a negative prefix, the most recent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 completion \(symbol or filename) will be undone.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299 complete \(\\[complete]) will complete the current symbol to the most
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
300 recently seen symbol in Emacs that matches what you have typed so far.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301 Executing it repeatedly will cycle through potential matches. This is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302 from the TMC completion package and there may be some delay as it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
303 initially loaded.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
304
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305 trace-defun-lisp \(\\[trace-defun-lisp]) traces the current defun.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306 When called with a numeric prefix the function will be untraced.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
307
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308 trace-defun-lisp-break \(\\[trace-defun-lisp-break]) traces the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309 current defun but sets a breakpoint in the function if possible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310 When called with a numeric prefix the function will be untraced.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312 default-directory-lisp \(\\[default-directory-lisp]\) sets the default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
313 inferior LISP directory to the directory of the current buffer. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
314 called in an inferior LISP buffer, it sets the Emacs default-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
315 the LISP default directory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
317 The eval/compile commands evaluate or compile the forms specified. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
318 any of the forms contain an interactive command, then the command will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319 never return. To get out of this state, you need to use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
320 abort-commands-lisp \(\\[abort-commands-lisp]). The eval/compile
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321 commands verify that their expressions are balanced and then send the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322 form to the inferior LISP. If called with a positive prefix, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
323 result of the operation will be inserted into the buffer after the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
324 form that was just sent. If lisp-wait-p is t, then EMACS will display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
325 the result of the command in the minibuffer or a pop-up window. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
326 lisp-wait-p is nil, (the default) the send is done asynchronously and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
327 the results will be brought up only if there is more than one line or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
328 there is an error. In this case, you will be given the option of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
329 ignoring the error, keeping it in another buffer or keeping it and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330 aborting all pending sends. If there is not a command already running
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331 in the inferior LISP, you can preserve the break loop. If called with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 a negative prefix, the sense of lisp-wait-p will be inverted for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
333 next command. The and-go versions will perform the operation and then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
334 immediately switch to the ILISP buffer where you will see the results
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
335 of executing your form. If eval-defun-and-go-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336 \(\\[eval-defun-and-go-lisp]) or compile-defun-and-go-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
337 \(\\[compile-defun-and-go-lisp]) is called with a prefix, a call for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
338 the form will be inserted as well.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
339
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 When an eval is done of a single form matching ilisp-defvar-regexp,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
341 the corresponding symbol will be unbound and the value assigned again.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
342
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
343 When compile-defun-lisp \(\\[compile-defun-lisp]) is called in an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
344 inferior LISP buffer with no current form, the last form typed to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
345 top-level will be compiled.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
346
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
347 The following commands all deal with finding things in source code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
348 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
349 delay while the source module is loaded. When searching files, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
350 first applicable rule is used: 1) try the inferior LISP, 2) try a tags
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
351 file if defined, 3) try all buffers in one of lisp-source-modes or all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
352 files defined using lisp-directory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
353
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
354 lisp-directory \(\\[lisp-directory]) defines a set of files to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
355 searched by the source code commands. It prompts for a directory and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
356 sets the source files to be those in the directory that match entries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
357 in auto-mode-alist for modes in lisp-source-modes. With a positive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
358 prefix, the files are appended. With a negative prefix, all current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
359 buffers that are in one of lisp-source-modes will be searched. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
360 is also what happens by default. Using this command stops using a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
361 tags file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
362
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
363 edit-definitions-lisp \(\\[edit-definitions-lisp]) will find a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
364 particular type of definition for a symbol. It tries to use the rules
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
365 described above. The files to be searched are listed in the buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
366 \*Edit-Definitions*. If lisp-edit-files is nil, no search will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
367 done if not found through the inferior LISP. The variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
368 ilisp-locator contains a function that when given the name and type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
369 should be able to find the appropriate definition in the file. There
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
370 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
371 will need to set in the initialization file for your LISP. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
372 variable is \*record-source-files* in both allegro and lucid. Once a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
373 definition has been found, next-definition-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
374 \(\\[next-definition-lisp]) will find the next definition. \(Or the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
375 previous definition with a prefix.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
376
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
377 edit-callers-lisp \(\\[edit-callers-lisp]) will generate a list of all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
378 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
379 first caller using edit-definitions-lisp. Each successive call to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
380 next-caller-lisp \(\\[next-caller-lisp]) will edit the next caller.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
381 \(Or the previous caller with a prefix.) The list is stored in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
382 buffer \*All-Callers*. You can also look at the callers by doing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
383 who-calls-lisp \(\\[who-calls-lisp]).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
384
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
385 search-lisp \(\\[search-lisp]) will search the current tags files,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
386 lisp directory files or buffers in one of lisp-source-modes for a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
387 string or a regular expression when called with a prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
388 \(\\[next-definition-lisp]) will find the next definition. \(Or the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
389 previous definition with a prefix.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
390
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
391 replace-lisp \(\\[replace-lisp]) will replace a string (or a regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
392 with a prefix) in the current tags files, lisp directory files or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
393 buffers in one of lisp-source-modes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
394
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
395 The following commands all deal with making a number of changes all at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
396 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
397 delay as the module is loaded. The eval/compile versions of these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
398 commands are always executed asynchronously.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
399
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
400 mark-change-lisp \(\\[mark-change-lisp]) marks the current defun as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
401 being changed. A prefix causes it to be unmarked. clear-changes-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
402 \(\\[clear-changes-lisp]) will clear all of the changes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
403 list-changes-lisp \(\\[list-changes-lisp]) will show the forms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
404 currently marked.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
405
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
406 eval-changes-lisp \(\\[eval-changes-lisp]), or compile-changes-lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
407 \(\\[compile-changes-lisp]) will evaluate or compile these changes as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
408 appropriate. If called with a positive prefix, the changes will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
409 kept. If there is an error, the process will stop and show the error
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
410 and all remaining changes will remain in the list. All of the results
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
411 will be kept in the buffer *Last-Changes*.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
412
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
413 File commands in lisp-source-mode buffers keep track of the last used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
414 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
415 default if the file exists. If the buffer is one of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
416 lisp-source-modes, the buffer file will be the default. Otherwise,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
417 the last file used in a lisp-source-mode will be used.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
418
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
419 find-file-lisp \(\\[find-file-lisp]) will find a file. If it is in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
420 string, that will be used as the default if it matches an existing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
421 file. Symbolic links are expanded so that different references to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
422 same file will end up with the same buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
423
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
424 load-file-lisp \(\\[load-file-lisp]) will load a file into the inferior
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
425 LISP. You will be given the opportunity to save the buffer if it has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
426 changed and to compile the file if the compiled version is older than
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
427 the current version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
428
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
429 compile-file-lisp \(\\[compile-file-lisp]) will compile a file in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
430 current inferior LISP.")