[slime-cvs] CVS slime/doc
heller
heller at common-lisp.net
Mon Nov 26 23:11:38 UTC 2007
Update of /project/slime/cvsroot/slime/doc
In directory clnet:/tmp/cvs-serv7235
Modified Files:
slime.texi
Log Message:
Add TRAMP, highlight-edits, and typeout-frame sections.
Introduce stepping section.
--- /project/slime/cvsroot/slime/doc/slime.texi 2007/11/26 18:56:15 1.58
+++ /project/slime/cvsroot/slime/doc/slime.texi 2007/11/26 23:11:37 1.59
@@ -12,7 +12,7 @@
@set EDITION 3.0-alpha
@set SLIMEVER 3.0-alpha
@c @set UPDATED @today{}
- at set UPDATED @code{$Date: 2007/11/26 18:56:15 $}
+ at set UPDATED @code{$Date: 2007/11/26 23:11:37 $}
@set TITLE SLIME User Manual
@settitle @value{TITLE}, version @value{EDITION}
@@ -90,6 +90,9 @@
@xref{\name\}.
@end macro
+ at synindex cp vr
+
+
@c @setchapternewpage off
@c @shortcontents
@contents
@@ -190,6 +193,7 @@
* Examining frames::
* Restarts::
* Frame Navigation::
+* Stepping::
* Miscellaneous::
Misc
@@ -197,7 +201,6 @@
* slime-selector::
* slime-macroexpansion-minor-mode::
* Multiple connections::
-* Typeout frames::
Customization
@@ -236,6 +239,9 @@
* Editing Commands::
* Fancy Inspector::
* Presentations::
+* Typeout frames::
+* TRAMP::
+* Highlight Edits::
* inferior-slime-mode::
* Scratch Buffer::
@@ -787,6 +793,9 @@
@node Completion
@subsubsection Completion commands
+ at cindex Completion
+ at cindex Symbol Completion
+
Completion commands are used to complete a symbol or form based on
what is already present at point. Classical completion assumes an
exact prefix and gives choices only where branches may occur. Fuzzy
@@ -868,6 +877,9 @@
@node Cross-reference
@subsubsection Cross-reference commands
+ at cindex xref
+ at cindex Cross-referencing
+
@SLIME{}'s cross-reference commands are based on the support provided
by the Lisp system, which varies widely between Lisps. For systems
with no built-in @acronym{XREF} support @SLIME{} queries a portable
@@ -924,6 +936,9 @@
@node Finding definitions
@subsubsection Finding definitions (``Meta-Point'' commands).
+ at cindex Meta-dot
+ at cindex TAGS
+
The familiar @kbd{M-.} command is provided. For generic functions this
command finds all methods, and with some systems it does other fancy
things (like tracing structure accessors to their @code{DEFSTRUCT}
@@ -959,6 +974,8 @@
@node Macro-expansion
@subsubsection Macro-expansion commands
+ at cindex Macros
+
@table @kbd
@kbditem{C-c C-m, slime-macroexpand-1}
Macroexpand the expression at point once. If invoked with a prefix
@@ -1002,6 +1019,8 @@
@node Compilation
@subsection Compilation commands
+ at cindex Compilation
+
@SLIME{} has fancy commands for compiling functions, files, and
packages. The fancy part is that notes and warnings offered by the
Lisp compiler are intercepted and annotated directly onto the
@@ -1261,6 +1280,8 @@
@node REPL
@chapter REPL: the ``top level''
+ at cindex Listener
+
@SLIME{} uses a custom Read-Eval-Print Loop (@REPL{}, also known as a
``top level'', or listener). The @REPL{} user-interface is written in
Emacs Lisp, which gives more Emacs-integration than the traditional
@@ -1325,6 +1346,8 @@
@node Input Navigation
@section Input navigation
+ at cindex Input History
+
The input navigation (a.k.a. history) commands are modelled after
@code{coming}-mode. Be careful if you are used to Bash-like
keybindings: @kbd{M-p} and @kbd{M-n} use the current input as search
@@ -1369,6 +1392,8 @@
@node Shortcuts
@section Shortcuts
+ at cindex Shortcuts
+
``Shortcuts'' are a special set of @REPL{} commands that are invoked
by name. To invoke a shortcut you first press @kbd{,} (comma) at the
@REPL{} prompt and then enter the shortcut's name when prompted.
@@ -1430,6 +1455,8 @@
@node Debugger
@chapter SLDB: the SLIME debugger
+ at cindex Debugger
+
@SLIME{} has a custom Emacs-based debugger called @SLDB{}. Conditions
signalled in the Lisp system invoke @SLDB{} in Emacs by way of the
Lisp @code{*DEBUGGER-HOOK*}.
@@ -1443,6 +1470,7 @@
* Examining frames::
* Restarts::
* Frame Navigation::
+* Stepping::
* Miscellaneous::
@end menu
@@ -1513,7 +1541,29 @@
only.
@end table
- at c -----------------------
+ at node Stepping
+ at section Stepping
+
+ at cindex Stepping
+
+Stepping is not available in all implementations and works very
+differently in those in which it is available.
+
+ at table @kbd
+ at kbditem{s, sldb-step}
+Step to the next expression in the frame. For CMUCL that means, set a
+breakpoint at all those code locations in the current code block which
+are reachable from the current code location.
+
+ at kbditem{x, sldb-next}
+[Step to the next form in the current function.]
+
+ at kbditem{o, sldb-next}
+[Stop single-stepping temporarily, but resume it once the current
+function returns.]
+
+ at end table
+
@node Miscellaneous
@section Miscellaneous Commands
@@ -1527,15 +1577,12 @@
Return from the frame with a value entered in the minibuffer. (This
command is not available in all implementations.)
- at kbditem{s, sldb-step}
-Step to the next expression in the frame. (This command is not
-available in all implementations.)
@kbditem{B, sldb-break-with-default-debugger}
Exit @SLDB{} and debug the condition using the Lisp system's default
debugger.
- at kbditem{C-c :, slime-interactive-eval}
+ at kbditem{:, slime-interactive-eval}
Evaluate an expression entered in the minibuffer.
@end table
@@ -1548,7 +1595,6 @@
* slime-selector::
* slime-macroexpansion-minor-mode::
* Multiple connections::
-* Typeout frames::
@end menu
@c -----------------------
@@ -1681,32 +1727,6 @@
@end table
- at c -----------------------
- at node Typeout frames
- at section Typeout frames
-
-A ``typeout frame'' is a special Emacs frame which is used instead of
-the echo area (minibuffer) to display messages from @SLIME{} commands.
-This is an optional feature. The advantage of a typeout frame over the
-echo area is that it can hold more text, it can be scrolled, and its
-contents don't disappear when you press a key. All potentially long
-messages are sent to the typeout frame, such as argument lists, macro
-expansions, and so on.
-
- at table @kbd
- at cmditem{slime-ensure-typeout-frame}
-Ensure that a typeout frame exists, creating one if necessary.
- at end table
-
-If the typeout frame is closed then the echo area will be used again
-as usual.
-
-To have a typeout frame created automatically at startup you can add
-the @code{slime-connected-hook} to your @file{~/.emacs} file:
-
- at example
-(add-hook 'slime-connected-hook 'slime-ensure-typeout-frame)
- at end example
@c -----------------------
@node Customization
@@ -1739,15 +1759,11 @@
@item slime-complete-symbol-function
The function to use for completion of Lisp symbols. Three completion
styles are available: @code{slime-simple-complete-symbol},
- at code{slime-complete-symbol*},and @code{slime-fuzzy-complete-symbol}.
+ at code{slime-complete-symbol*} (@pxref{Compound Completion}),
+and @code{slime-fuzzy-complete-symbol} (@pxref{Fuzzy Completion}).
-
-An alternative is @code{slime-simple-complete-symbol}, which
-completes in the usual Emacs way. Finally, there is
- at code{slime-fuzzy-complete-symbol}, which is quite different from both
-of the above and tries to find best matches to an abbreviated symbol.
-It also has its own key binding, defaulting to @kbd{C-c M-i}.
- at xref{slime-fuzzy-complete-symbol}, for more information.
+The default is @code{slime-simple-complete-symbol}, which completes in
+the usual Emacs way.
@vindex slime-filename-translations
@item slime-filename-translations
@@ -1758,6 +1774,11 @@
file sharing.
@vindex slime-net-coding-system
+ at cindex Unicode
+ at cindex utf8
+ at cindex utf-8
+ at cindex ascii
+ at cindex latin
@item slime-net-coding-system
If you want to transmit Unicode characters between Emacs and the Lisp
system, you should customize this variable. E.g., if you use SBCL, you
@@ -2091,7 +2112,8 @@
@file{/opt/project/source.lisp} refers to the same file on both
machines. Unfortunetly NFS is usually slow, often buggy, and not
always feasable, fortunetely we have an ssh connection and Emacs'
- at code{tramp-mode} can do the rest.
+ at code{tramp-mode} can do the rest.
+(See @inforef{Top, TRAMP User Manual,tramp}.)
What we do is teach Emacs how to take a filename on the remote machine
and translate it into something that tramp can understand and access
@@ -2163,6 +2185,9 @@
* Editing Commands::
* Fancy Inspector::
* Presentations::
+* Typeout frames::
+* TRAMP::
+* Highlight Edits::
* inferior-slime-mode::
* Scratch Buffer::
@end menu
@@ -2170,6 +2195,10 @@
@node Loading Contribs
@section Loading Contrib Packages
+ at cindex Contribs
+ at cindex Contributions
+ at cindex Plugins
+
Contrib packages aren't loaded by default. You have to modify your
setup a bit so that Emacs knows where to find them and which of them
to load, i.e. you should add the contrib directory to
@@ -2190,6 +2219,7 @@
@node Compound Completion
@section Compund Completion
+ at anchor{slime-complete-symbol*}
The package @code{slime-c-p-c} provides a different symbol completion
algorithm, which performs completion ``in parallel'' over the
hyphen-delimited sub-words of a symbol name.
@@ -2397,6 +2427,8 @@
@node Fancy Inspector
@section Fancy Inspector
+ at cindex Methods
+
An alternative to default inspector is provided by the package
`slime-fancy-inspector'. This inspector knows a lot about CLOS
objects and methods. It provides many ``actions'' that can be
@@ -2410,6 +2442,8 @@
@node Presentations
@section Presentations
+ at cindex Presentations
+
A ``presentation''@footnote{Presentations are a feature originating
from the Lisp machines. It was possible to define @code{present}
methods specialized to various devices, e.g. to draw an object to
@@ -2439,6 +2473,56 @@
@cmditem{slime-clear-presentations}
@end table
+ at node Typeout frames
+ at section Typeout frames
+
+ at cindex Typeout Frame
+
+A ``typeout frame'' is a special Emacs frame which is used instead of
+the echo area (minibuffer) to display messages from @SLIME{} commands.
+This is an optional feature. The advantage of a typeout frame over the
+echo area is that it can hold more text, it can be scrolled, and its
+contents don't disappear when you press a key. All potentially long
+messages are sent to the typeout frame, such as argument lists, macro
+expansions, and so on.
+
+ at table @kbd
+ at cmditem{slime-ensure-typeout-frame}
+Ensure that a typeout frame exists, creating one if necessary.
+ at end table
+
+If the typeout frame is closed then the echo area will be used again
+as usual.
+
+To have a typeout frame created automatically at startup you should
+load the @code{slime-typeout-frame} package. (@pxref{Loading Contribs}.)
+
+The variable @code{slime-typeout-frame-properties} specifies the
+height and possibly other properties of the frame. Its value is
+passed to @code{make-frame}. (@inforef{Creating Frames, ,elisp}.)
+
+ at node TRAMP
+ at section TRAMP
+
+ at cindex TRAMP
+
+The package @code{slime-tramp} provides some functions to set up
+filename translations for TRAMP. (@pxref{Setting up pathname
+translations})
+
+ at node Highlight Edits
+ at section Highlight Edits
+
+ at code{slime-highlight-edits} is a minor mode to highlight those
+regions in a Lisp source file which are modified. This is useful to
+quickly find those functions which need to be recompiled (whith
+ at kbd{C-c C-c})
+
+ at table @kbd
+ at cmditem{slime-highlight-edits-mode}
+Turns @code{slime-highlight-edits-mode} on or off.
+ at end table
+
@node inferior-slime-mode
@section @code{inferior-slime-mode}
@@ -2465,10 +2549,10 @@
@section Scratch Buffer
@anchor{slime-scratch}
-The @SLIME{} scratch buffer works, contrib package
- at code{slime-scratch}, imitates Emacs' own @code{*scratch*} buffer.
-It's just like any other Lisp buffer, except the key binding for
- at kbd{C-j}.
+
+The @SLIME{} scratch buffer, in contrib package @code{slime-scratch},
+imitates Emacs' usual @code{*scratch*} buffer. It's just like any
+other Lisp buffer, except for the command bound to @kbd{C-j}.
@table @kbd
@@ -2817,7 +2901,7 @@
@printindex fn
@node Variable Index
- at unnumbered Variable Index
+ at unnumbered Variable and Concept Index
@printindex vr
@bye
More information about the slime-cvs
mailing list