[slime-cvs] CVS slime/doc

heller heller at common-lisp.net
Mon Nov 26 18:56:15 UTC 2007


Update of /project/slime/cvsroot/slime/doc
In directory clnet:/tmp/cvs-serv2059

Modified Files:
	slime.texi 
Log Message:
New chapter "Contributed Packages".
Move some of the existing stuff to there.


--- /project/slime/cvsroot/slime/doc/slime.texi	2007/09/17 13:44:48	1.57
+++ /project/slime/cvsroot/slime/doc/slime.texi	2007/11/26 18:56:15	1.58
@@ -1,5 +1,5 @@
 \input texinfo
-- at c %**start of header
+ at c %**start of header
 @setfilename slime.info 
 @settitle The Superior Lisp Interaction Mode for Emacs
 
@@ -7,12 +7,12 @@
 @direntry
 * SLIME: (slime).    Superior Lisp Interaction Mode for Emacs.
 @end direntry
-- at c %**end of header
+ at c %**end of header
 
 @set EDITION 3.0-alpha
 @set SLIMEVER 3.0-alpha
 @c @set UPDATED @today{}
- at set UPDATED @code{$Date: 2007/09/17 13:44:48 $}
+ at set UPDATED @code{$Date: 2007/11/26 18:56:15 $}
 @set TITLE SLIME User Manual
 @settitle @value{TITLE}, version @value{EDITION}
 
@@ -110,14 +110,136 @@
 * slime-mode::                  
 * REPL::                        
 * Debugger::                    
-* Extras::                      
+* Misc::                        
 * Customization::               
 * Tips and Tricks::             
+* Contributed Packages::        
 * Credits::                     
- at c * Index to Functions::          
-* Key Index::          
-* Command Index::          
-* Variable Index::
+* Key Index::                   
+* Command Index::               
+* Variable Index::              
+
+ at detailmenu
+ --- The Detailed Node Listing ---
+
+Getting started
+
+* Platforms::                   
+* Downloading::                 
+* Installation::                
+* Running::                     
+* Setup Tuning::                
+
+Downloading SLIME
+
+* CVS::                         
+* CVS Incantations::            
+
+Downloading from CVS
+
+* CVS Incantations::            
+
+Setup Tuning
+
+* Autoloading::                 
+* Multiple Lisps::              
+* Loading Swank faster::        
+
+Using slime-mode
+
+* User-interface conventions::  
+* Commands::                    
+* Semantic indentation::        
+* Reader conditionals::         
+
+User-interface conventions
+
+* Temporary buffers::           
+* Inferior-lisp::               
+* Multithreading::              
+* Key bindings::                
+
+Commands
+
+* Programming::                 
+* Compilation::                 
+* Evaluation::                  
+* Recovery::                    
+* Inspector::                   
+* Profiling::                   
+* Other::                       
+
+Programming commands
+
+* Completion::                  
+* Indentation::                 
+* Documentation::               
+* Cross-reference::             
+* Finding definitions::         
+* Macro-expansion::             
+* Disassembly::                 
+
+REPL: the ``top level''
+
+* REPL commands::               
+* Input Navigation::            
+* Shortcuts::                   
+
+SLDB: the SLIME debugger
+
+* Examining frames::            
+* Restarts::                    
+* Frame Navigation::            
+* Miscellaneous::               
+
+Misc
+
+* slime-selector::              
+* slime-macroexpansion-minor-mode::  
+* Multiple connections::        
+* Typeout frames::              
+
+Customization
+
+* Emacs-side customization::    
+* Lisp-side::                   
+
+Emacs-side
+
+* Hooks::                       
+
+Lisp-side (Swank)
+
+* Communication style::         
+* Other configurables::         
+
+Tips and Tricks
+
+* Connecting to a remote lisp::  
+* Global IO Redirection::       
+* Auto-SLIME::                  
+
+Connecting to a remote lisp
+
+* Setting up the lisp image::   
+* Setting up Emacs::            
+* Setting up pathname translations::  
+
+Contributed Packages
+
+* Loading Contribs::            
+* Compound Completion::         
+* Fuzzy Completion::            
+* slime-autodoc-mode::          
+* ASDF::                        
+* Banner::                      
+* Editing Commands::            
+* Fancy Inspector::             
+* Presentations::               
+* inferior-slime-mode::         
+* Scratch Buffer::              
+
+ at end detailmenu
 @end menu
 
 @c ----------------------- 
@@ -281,7 +403,7 @@
 @section Installation
 
 With a Lisp implementation that can be started from the command-line,
-installation just requires a few lines in your @file{~/.emacs}:
+installation just requires a few lines in your @file{.emacs}:
 
 @vindex inferior-lisp-program
 @vindex load-path
@@ -333,7 +455,6 @@
 * Autoloading::                 
 * Multiple Lisps::              
 * Loading Swank faster::        
-* Loading Contribs::            
 @end menu
 
 @node Autoloading
@@ -353,8 +474,8 @@
 
 The only difference compared to the basic setup is the line
 @code{(require 'slime-autoloads)}.  It tells Emacs that the rest of
- at SLIME{} should be loaded when one of the commands @kbd{M-x slime} or
- at kbd{M-x slime-connect} is executed the first time.
+ at SLIME{} should be loaded automatically when one of the commands
+ at kbd{M-x slime} or @kbd{M-x slime-connect} is executed the first time.
 
 @node Multiple Lisps
 @subsection Multiple Lisps
@@ -426,7 +547,7 @@
 @example
 shell$ sbcl
 * (load ".../slime/swank-loader.lisp")
-* (save-lisp-and-die "sbcl.core-with-slime")
+* (save-lisp-and-die "sbcl.core-with-swank")
 @end example
 
 @noindent
@@ -434,7 +555,7 @@
 
 @lisp
 (setq slime-lisp-implementations 
-      '((sbcl ("sbcl" "--core" "sbcl.core-with-slime")
+      '((sbcl ("sbcl" "--core" "sbcl.core-with-swank")
               :init (lambda (port-file _)
                       (format "(swank:start-server %S)\n" port-file)))))
 @end lisp
@@ -442,10 +563,6 @@
 @noindent
 Similar setups should also work for other Lisp implementations.
 
- at node Loading Contribs
- at subsection Loading Contribs
-... to be written ...
-
 @node slime-mode
 @chapter Using slime-mode
 
@@ -455,7 +572,6 @@
 
 @menu
 * User-interface conventions::  
-* Key bindings::                
 * Commands::                    
 * Semantic indentation::        
 * Reader conditionals::         
@@ -473,6 +589,7 @@
 * Temporary buffers::           
 * Inferior-lisp::               
 * Multithreading::              
+* Key bindings::                
 @end menu
 
 @c ----------------------- 
@@ -544,9 +661,27 @@
        swank:*default-worker-thread-bindings*).
 @end example
 
- at c ----------------------- 
+
 @node Key bindings
- at section Key bindings
+ at subsection 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
+own: when entering a three-key sequence, the final key can be pressed
+either with control or unmodified. For example, the
+ at code{slime-describe-symbol} command is bound to @kbd{C-c C-d d}, but
+it also works to type @kbd{C-c C-d C-d}. We're simply binding both key
+sequences because some people like to hold control for all three keys
+and others don't, and with the two-key prefix we're not afraid of
+running out of keys.
+
+There is one exception to this rule, just to trip you up. We never
+bind @kbd{C-h} anywhere in a key sequence, so @kbd{C-c C-d C-h}
+doesn't do the same thing as @kbd{C-c C-d h}. This is because Emacs
+has a built-in default so that typing a prefix followed by @kbd{C-h}
+will display all bindings starting with that prefix, so @kbd{C-c C-d
+C-h} will actually list the bindings for all documentation commands.
+This feature is just a bit too useful to clobber!
 
 @quotation
 @i{``Are you deliberately spiting Emacs's brilliant online help facilities? The gods will be angry!''}
@@ -570,7 +705,6 @@
 @kbdanchorc{C-h l, view-lossage, ``Woah at comma{} what key chord did I just do?''} 
 Shows you the literal sequence of keys you've pressed in order. 
 
-
 @c <key> is breaks links PDF, despite that it's not l it's C-h
 @c @kbdanchorc{ <key> l, , ``What starts with?''} 
 @c Lists all keybindings that begin with @code{<key>} for the focus buffer mode. 
@@ -591,24 +725,6 @@
 @noindent In this situation everywhere you see @kbd{C-h} in the 
 documentation you would substitute @kbd{F1}.
 
-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
-own: when entering a three-key sequence, the final key can be pressed
-either with control or unmodified. For example, the
- at code{slime-describe-symbol} command is bound to @kbd{C-c C-d d}, but
-it also works to type @kbd{C-c C-d C-d}. We're simply binding both key
-sequences because some people like to hold control for all three keys
-and others don't, and with the two-key prefix we're not afraid of
-running out of keys.
-
-There is one exception to this rule, just to trip you up. We never
-bind @kbd{C-h} anywhere in a key sequence, so @kbd{C-c C-d C-h}
-doesn't do the same thing as @kbd{C-c C-d h}. This is because Emacs
-has a built-in default so that typing a prefix followed by @kbd{C-h}
-will display all bindings starting with that prefix, so @kbd{C-c C-d
-C-h} will actually list the bindings for all documentation commands.
-This feature is just a bit too useful to clobber!
-
 You can assign or change default key bindings globally using the
 @code{global-set-key} function in your @file{~/.emacs} file like this:
 @example
@@ -659,7 +775,6 @@
 
 @menu
 * Completion::                  
-* Closure::                     
 * Indentation::                 
 * Documentation::               
 * Cross-reference::             
@@ -683,89 +798,15 @@
 @itemx C-c C-i
 @itemx C-M-i
 Complete the symbol at point. Note that three styles of completion are
-available in @SLIME{}, and the default differs from normal Emacs
+available in @SLIME{}; the default is similar to normal Emacs
 completion (@pxref{slime-complete-symbol-function}).
 
- at kbditem{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 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 anchor{slime-fuzzy-complete-symbol}
- at kbditem{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 cmditem{slime-fuzzy-completions-mode}
- at cmditem{slime-fuzzy-abort}
- at end table
-
-
- at c ----------------------- 
- at node Closure
- at subsubsection Closure commands
-
-Closure commands are used to fill in missing parenthesis.  
-
- at table @kbd
- at kbditem{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{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
-the top-level sexp before point.
 @end table
 
-
- at c ----------------------- 
 @node Indentation
 @subsubsection Indentation commands
 
 @table @kbd
- at kbditem{C-c M-q, slime-reindent-defun}
-Re-indents the current defun, or refills the current paragraph.
-If point is inside a comment block, the text around point will be
-treated as a paragraph and will be filled with @code{fill-paragraph}.
-Otherwise, it will be treated as Lisp code, and the current defun
-will be reindented.  If the current defun has unbalanced parens,
-an attempt will be made to fix it before reindenting.
 
 @kbditem{C-M-q, indent-sexp}

[715 lines skipped]




More information about the slime-cvs mailing list