[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