[slime-cvs] CVS slime/doc
jcunningham
jcunningham at common-lisp.net
Wed Nov 22 06:27:38 UTC 2006
Update of /project/slime/cvsroot/slime/doc
In directory clnet:/tmp/cvs-serv23049
Modified Files:
Makefile slime.texi
Added Files:
slime-small.eps slime-small.pdf
Log Message:
Capturing first third of document changes. Added slime logo to front page.
--- /project/slime/cvsroot/slime/doc/Makefile 2006/11/21 21:59:25 1.8
+++ /project/slime/cvsroot/slime/doc/Makefile 2006/11/22 06:27:38 1.9
@@ -14,23 +14,28 @@
# Info files generated here.
infofiles=slime.info
-all: slime.ps slime.info slime.pdf
+TEXI = slime.texi contributors.texi
-install: install-info
+all: slime.ps slime.info slime.html slime.pdf
-uninstall: uninstall-info
+slime.dvi: $(TEXI)
+ texi2dvi slime.texi
slime.ps: slime.dvi
dvips -o $@ $<
-slime.dvi: slime.texi contributors.texi
- texi2dvi slime.texi
+slime.info: $(TEXI)
+ makeinfo $<
-slime.pdf: slime.texi contributors.texi
+slime.html: $(TEXI)
+ texi2html $<
+
+slime.pdf: $(TEXI)
texi2pdf $<
-slime.info: slime.texi contributors.texi
- makeinfo $<
+install: install-info
+
+uninstall: uninstall-info
# Create contributors.texi, a texinfo table listing all known
# contributors of code.
@@ -100,3 +105,4 @@
rm -f slime.info
rm -f slime.pdf
rm -f slime.ps
+ rm -f slime.html
--- /project/slime/cvsroot/slime/doc/slime.texi 2006/11/21 21:58:47 1.49
+++ /project/slime/cvsroot/slime/doc/slime.texi 2006/11/22 06:27:38 1.50
@@ -8,9 +8,26 @@
@end direntry
@c %**end of header
+ at set EDITION 2.0
+ at c @set UPDATED @today{}
+ at set UPDATED @code{$Date: 2006/11/22 06:27:38 $}
+ at set TITLE SLIME User Manual
+ at settitle @value{TITLE}, version @value{EDITION}
+
+ at titlepage
+ at title @value{TITLE}
+ at titlefont{version @value{EDITION}}
+ at sp 2
+ at image{slime-small}
+ at sp 4
+ at subtitle Compiled: @value{UPDATED}
+ at end titlepage
+
@c Written by Luke Gorrie.
- at c
+ at c
@c This file has been placed in the public domain.
+ at c
+ at c Modified by Jeff Cunningham.
@macro SLIME
@acronym{SLIME}
@@ -33,20 +50,32 @@
@code{\command\}@*
@end macro
- at set EDITION 2.0
- at set UPDATED @code{$Date: 2006/11/21 21:58:47 $}
+ at macro kbdanchor{key, command}
+ at anchor{\command\}
+ at item \key\
+ at code{\command\}@*
+ at end macro
- at titlepage
- at title SLIME User Manual
- at subtitle The Superior Lisp Interaction Mode for Emacs
- at subtitle @value{EDITION}, @value{UPDATED}
- at author
- at end titlepage
+ at macro kbdindex{key, command}
+ at item \key\
+ at xref{\command\}.
+ at end macro
- at c @setchapternewpage off
+ at macro fcnanchor{name}
+ at anchor{\name\}
+ at item M-x
+ at code{\name\}@*
+ at end macro
+
+ at macro fcnindex{name}
+ at item \name\
+ at xref{\name\}.
+ at end macro
+ at c @setchapternewpage off
@contents
+ at c -----------------------
@node Top, Introduction, (dir), (dir)
@ifinfo
@@ -57,17 +86,20 @@
@end ifinfo
@menu
-* Introduction::
+* Introduction::
* Getting started::
-* slime-mode::
+* slime-mode::
* REPL::
* Debugger::
* Extras::
* Customization::
* Tips and Tricks::
* Credits::
+* Index to Key Bindings::
+* Index to Functions::
@end menu
+ at c -----------------------
@node Introduction, Getting started, Top, Top
@chapter Introduction
@@ -95,6 +127,7 @@
well-defined interface and implemented separately for each Lisp
implementation. This makes @SLIME{} readily portable.
+ at c -----------------------
@node Getting started, slime-mode, Introduction, Top
@chapter Getting started
@@ -107,6 +140,7 @@
* Running::
@end menu
+ at c -----------------------
@node Platforms, Downloading, Getting started, Getting started
@section Supported Platforms
@@ -144,6 +178,7 @@
compiler-note annotations, @acronym{XREF} support, and fancy debugger
commands (like ``restart frame'').
+ at c -----------------------
@node Downloading, Installation, Platforms, Getting started
@section Downloading SLIME
@@ -161,6 +196,7 @@
* CVS Incantations::
@end menu
+ at c -----------------------
@node CVS, CVS Incantations, Downloading, Downloading
@subsection Downloading from CVS
@@ -186,6 +222,7 @@
* CVS Incantations::
@end menu
+ at c -----------------------
@node CVS Incantations, , CVS, Downloading
@subsection CVS incantations
@@ -217,6 +254,7 @@
cvs diff -rHEAD ChangeLog # or: -rFAIRLY-STABLE
@end example
+ at c -----------------------
@node Installation, Running, Downloading, Getting started
@section Installation
@@ -241,6 +279,7 @@
the keymap for Lisp source files that may be confusing and may not
work correctly for a Lisp process started by @SLIME{}.
+ at c -----------------------
@node Running, , Installation, Getting started
@section Running SLIME
@@ -252,6 +291,13 @@
At this point @SLIME{} is up and running and you can start exploring.
+You can restart the @code{inferior-lisp} process using the function:
+ at table @kbd
+ at fcnanchor{slime-restart-inferior-lisp}
+ at end table
+
+
+ at c -----------------------
@node slime-mode, REPL, Getting started, Top
@chapter @code{slime-mode}
@@ -266,6 +312,7 @@
* Reader conditionals::
@end menu
+ at c -----------------------
@node User-interface conventions, Commands, slime-mode, slime-mode
@section User-interface conventions
@@ -275,12 +322,13 @@
@menu
* Temporary buffers::
-* Key bindings::
+* About key bindings::
* inferior-lisp::
* Multithreading::
@end menu
- at node Temporary buffers, Key bindings, User-interface conventions, User-interface conventions
+ at c -----------------------
+ at node Temporary buffers, About key bindings, User-interface conventions, User-interface conventions
@subsection Temporary buffers
Some @SLIME{} commands create temporary buffers to display their
@@ -305,8 +353,9 @@
@SLIME{} commands available for describing symbols, looking up
function definitions, and so on.
- at node Key bindings, inferior-lisp, Temporary buffers, User-interface conventions
- at subsection Key bindings
+ at c -----------------------
+ at node About key bindings, inferior-lisp, Temporary buffers, User-interface conventions
+ at subsection About key bindings
In general we try to make our key bindings fit with the overall Emacs
style. We also have the following somewhat unusual convention of our
@@ -326,7 +375,16 @@
C-h} will actually list the bindings for all documentation commands.
This feature is just a bit too useful to clobber!
- at node inferior-lisp, Multithreading, Key bindings, User-interface conventions
+You can assign or change default key bindings using the @code{global-set-key}
+function in your @file{~/.emacs} file like this:
+ at example
+(global-set-key "\C-cs" 'slime-selector)
+ at end example
+ at noindent
+which binds @kbd{C-c s} to the function @code{global-set-key}.
+
+ at c -----------------------
+ at node inferior-lisp, Multithreading, About key bindings, User-interface conventions
@subsection @code{*inferior-lisp*} buffer
@SLIME{} internally uses the @code{inferior-lisp} package to start
@@ -353,6 +411,7 @@
doesn't belong to @SLIME{}, and you should probably lookup our
equivalent.
+ at c -----------------------
@node Multithreading, , inferior-lisp, User-interface conventions
@subsection Multithreading
@@ -379,316 +438,465 @@
swank:*default-worker-thread-bindings*).
@end example
+ at c -----------------------
@node Commands, Semantic indentation, User-interface conventions, slime-mode
@section Commands
+ at acronym{SLIME} commands are divided into the following general
+categories: @strong{Programming, Compilation, Evaluation, Recovery,
+Inspector, and Profiling}, discussed in separate sections below. There
+are also comprehensive indices to commands by function (@pxref{Index
+to Functions}) and by function (@pxref{Index to Key Bindings}).
+
@menu
+* Programming::
* Compilation::
-* Finding definitions::
-* Lisp Evaluation::
-* Documentation::
-* Programming Helpers::
+* Evaluation::
* Recovery::
-* Cross-reference::
* Inspector::
* Profiling::
+* Other::
@end menu
- at node Compilation, Finding definitions, Commands, Commands
- at subsection Compilation commands
+ at c -----------------------
+ at node Programming, Compilation, , Commands
+ at subsection Programming commands
+
+Programming commands are divided into the following categories:
+ at strong{Completion, Documentation, Coss-reference, Finding
+definitions, Macro-expansion, and Disassembly}, discussed in
+separate sections below.
- at 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
-corresponding expressions in the Lisp source buffer. (Give it a try to
-see what this means.)
+ at menu
+* Completion::
+* Closure::
+* Indentation::
+* Documentation::
+* Cross-reference::
+* Finding definitions::
+* Macro-expansion::
+* Disassembly::
+ at end menu
+
+ at c -----------------------
+ at node Completion, Closure, , Programming
+ at subsubsection Completion commands
+
+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
+completion tries harder.
@table @kbd
+ at anchor{slime-complete-symbol}
+ at itemx M-TAB
+ at item C-c C-i
+ at item C-M-i
+ at code{slime-complete-symbol}@*
+Complete the symbol at point. Note that three styles of completion are
+available in @SLIME{}, and the default differs from normal Emacs
+completion (@pxref{slime-complete-symbol-function}).
+ at xref{Emacs-side customization}.
- at kbditem{C-c C-k, slime-compile-and-load-file}
-Compile and load the current buffer's source file.
+ at kbdanchor{C-c C-s, slime-complete-form}
+Looks up and inserts into the current buffer the argument list for the
+function at point, if there is one. More generally, the command
+completes an incomplete form with a template for the missing arguments.
+There is special code for discovering extra keywords of generic
+functions and for handling @code{make-instance} and
+ at code{defmethod}. Examples:
- at kbditem{C-c M-k, slime-compile-file}
-Compile (but don't load) the current buffer's source file.
+ at example
+(subseq "abc" <C-c C-s>
+ --inserts--> start [end])
+(find 17 <C-c C-s>
+ --inserts--> sequence :from-end from-end :test test
+ :test-not test-not :start start :end end
+ :key key)
+(find 17 '(17 18 19) :test #'= <C-c C-s>
+ --inserts--> :from-end from-end
+ :test-not test-not :start start :end end
+ :key key)
+(defclass foo () ((bar :initarg :bar)))
+(defmethod print-object <C-c C-s>
+ --inserts--> (object stream)
+ body...)
+(defmethod initialize-instance :after ((object foo) &key blub))
+(make-instance 'foo <C-c C-s>
+ --inserts--> :bar bar :blub blub initargs...)
+ at end example
- at kbditem{C-c C-c, slime-compile-defun}
-Compile the top-level form at point.
+ at kbdanchor{C-c M-i, slime-fuzzy-complete-symbol}
+Presents a list of likely completions to choose from for an
+abbreviation at point. This is a third completion method and it is
+very different from the more traditional completion to which
+ at command{slime-complete-symbol} defaults. It attempts to complete a
+symbol all at once, instead of in pieces. For example, ``mvb'' will
+find ``@code{multiple-value-bind}'' and ``norm-df'' will find
+``@code{least-positive-normalized-double-float}''. This can also be
+selected as the method of completion used for
+ at code{slime-complete-symbol}.
+ at fcnanchor{slime-fuzzy-completions-mode}
+ at fcnanchor{slime-fuzzy-abort}
@end table
-The annotations are indicated as underlining on source forms. The
-compiler message associated with an annotation can be read either by
-placing the mouse over the text or with the selection commands below.
- at table @kbd
-
- at item M-n
- at itemx M-p
- at code{slime-next-note, slime-previous-note}@*
-These commands move the point between compiler notes and display the new note.
+ at c -----------------------
+ at node Closure, Indentation, Completion, Programming
+ at subsubsection Closure commands
- at kbditem{C-c M-c, slime-remove-notes}
-Remove all annotations from the buffer.
-
- at end table
-
- at node Finding definitions, Lisp Evaluation, Compilation, Commands
- at subsection Finding definitions (``Meta-Point'').
-
-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}
-definition).
+Closure commands are used to fill in missing parenthesis.
@table @kbd
+ at kbdanchor{C-c C-q, slime-close-parens-at-point}
+Closes parentheses at point to complete the top-level-form by inserting ')'
+characters at until @code{beginning-of-defun} and @code{end-of-defun}
+execute without errors, or @code{slime-close-parens-limit} is exceeded.
- at kbditem{M-., slime-edit-definition}
-Go to the definition of the symbol at point.
-
- at item M-,
- at code{slime-pop-find-definition-stack}
-Go back from a definition found with @kbd{M-.}. This gives multi-level
-backtracking when @kbd{M-.} has been used several times.
+ at kbdanchor{C-], slime-close-all-sexp}
+Balance parentheses of open s-expressions at point.
+Insert enough right-parentheses to balance unmatched left-parentheses.
+Delete extra left-parentheses. Reformat trailing parentheses
+Lisp-stylishly.
+If @code{REGION} is true, operate on the region. Otherwise operate on
[1894 lines skipped]
--- /project/slime/cvsroot/slime/doc/slime-small.eps 2006/11/22 06:27:38 NONE
+++ /project/slime/cvsroot/slime/doc/slime-small.eps 2006/11/22 06:27:38 1.1
[2889 lines skipped]
--- /project/slime/cvsroot/slime/doc/slime-small.pdf 2006/11/22 06:27:38 NONE
+++ /project/slime/cvsroot/slime/doc/slime-small.pdf 2006/11/22 06:27:38 1.1
[2988 lines skipped]
More information about the slime-cvs
mailing list