[slime-cvs] CVS slime/doc

CVS User heller heller at common-lisp.net
Thu Jan 8 16:20:14 UTC 2009


Update of /project/slime/cvsroot/slime/doc
In directory cl-net:/tmp/cvs-serv24082/doc

Modified Files:
	Makefile slime.texi 
Log Message:
Some updates for the manual

--- /project/slime/cvsroot/slime/doc/Makefile	2007/09/17 14:04:27	1.12
+++ /project/slime/cvsroot/slime/doc/Makefile	2009/01/08 16:20:14	1.13
@@ -33,6 +33,9 @@
 html/index.html: $(TEXI)
 	makeinfo -o html --html $<
 
+html.tgz: html/index.html
+	tar -czf $@ html
+
 slime.pdf: $(TEXI)
 	texi2pdf $<
 
@@ -94,4 +97,4 @@
 	rm -f contributors.texi
 	rm -f slime.{aux,cp,cps,fn,fns,ky,kys,log,pg,tmp,toc,tp,vr,vrs}
 	rm -f slime.{info,pdf,dvi,ps,html}
-	rm -rf html
+	rm -rf html{,.tgz}
--- /project/slime/cvsroot/slime/doc/slime.texi	2008/10/11 17:13:18	1.66
+++ /project/slime/cvsroot/slime/doc/slime.texi	2009/01/08 16:20:14	1.67
@@ -12,7 +12,7 @@
 @set EDITION 3.0-alpha
 @set SLIMEVER 3.0-alpha
 @c @set UPDATED @today{}
- at set UPDATED @code{$Date: 2008/10/11 17:13:18 $}
+ at set UPDATED @code{$Date: 2009/01/08 16:20:14 $}
 @set TITLE SLIME User Manual
 @settitle @value{TITLE}, version @value{EDITION}
 
@@ -112,8 +112,7 @@
 @menu
 * Introduction::                
 * Getting started::             
-* slime-mode::                  
-* REPL::                        
+* SLIME mode::                  
 * Debugger::                    
 * Misc::                        
 * Customization::               
@@ -150,10 +149,21 @@
 * Multiple Lisps::              
 * Loading Swank faster::        
 
-Using slime-mode
+Using Slime mode
 
 * User-interface conventions::  
-* Commands::                    
+* Evaluation::                  
+* Compilation::                 
+* Completion::                  
+* Finding definitions::         
+* Documentation::               
+* Cross-reference::             
+* Macro-expansion::             
+* Disassembly::                 
+* Recovery::                    
+* Inspector::                   
+* Profiling::                   
+* Other::                       
 * Semantic indentation::        
 * Reader conditionals::         
 
@@ -164,32 +174,6 @@
 * 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::            
@@ -233,6 +217,9 @@
 Contributed Packages
 
 * Loading Contribs::            
+* REPL::                        
+* slime-mrepl::                 
+* inferior-slime-mode::         
 * Compound Completion::         
 * Fuzzy Completion::            
 * slime-autodoc-mode::          
@@ -246,10 +233,15 @@
 * Documentation Links::         
 * Xref and Class Browser::      
 * Highlight Edits::             
-* inferior-slime-mode::         
 * Scratch Buffer::              
 * slime-fancy::                 
 
+REPL: the ``top level''
+
+* REPL commands::               
+* Input Navigation::            
+* Shortcuts::                   
+
 @end detailmenu
 @end menu
 
@@ -301,7 +293,7 @@
 
 @SLIME{} supports a wide range of operating systems and Lisp
 implementations. @SLIME{} runs on Unix systems, Mac OSX, and Microsoft
-Windows. GNU Emacs versions 20, 21 and 22 and XEmacs version 21 are
+Windows. GNU Emacs versions 21, 22, and 22 and XEmacs version 21 are
 supported.
 
 The supported Lisp implementations, roughly ordered from the
@@ -313,7 +305,7 @@
 @item
 Steel Bank Common Lisp (@acronym{SBCL}), 1.0 or newer
 @item
-OpenMCL, version 0.14.3 or newer
+Clozure Common Lisp (@acronym{CCL}), version 1.3 or newer
 @item
 LispWorks, version 4.3 or newer
 @item
@@ -323,10 +315,12 @@
 @item
 Armed Bear Common Lisp (@acronym{ABCL})
 @item
-Corman Common Lisp (@acronym{CCL}), version 2.51 or newer with the
+Corman Common Lisp, version 2.51 or newer with the
 patches from @url{http://www.grumblesmurf.org/lisp/corman-patches})
 @item
 Scieneer Common Lisp (@acronym{SCL}), version 1.2.7 or newer
+ at item
+Embedded Common Lisp (@acronym{ECL})
 @end itemize
 
 Most features work uniformly across implementations, but some are
@@ -418,24 +412,30 @@
 
 @vindex inferior-lisp-program
 @vindex load-path
+ at vindex slime-setup
 @example 
-(setq inferior-lisp-program "@emph{the path to your Lisp system}")
-(add-to-list 'load-path "@emph{the path of your @file{slime} directory}")
+(setq inferior-lisp-program "/opt/sbcl/bin/sbcl") ; @emph{your Lisp system}
+(add-to-list 'load-path "~/hacking/lisp/slime/")  ; @emph{your SLIME directory}
 (require 'slime)
 (slime-setup)
 @end example
 
- at iftex
+ at c @iftex
 The snippet above also appears in the @file{README} file. You can
 copy&paste it from there, but remember to fill in the appropriate
 paths.
- at end iftex
+ at c @end iftex
+
+This is the minimal configuration with the fewest frills.  If the
+basic setup is working, you can try additional modules (@ref{Loading
+Contribs}).
 
 We recommend not loading the @acronym{ILISP} package into Emacs if you
 intend to use @SLIME{}. Doing so will add a lot of extra bindings to
 the keymap for Lisp source files that may be confusing and may not
 work correctly for a Lisp process started by @SLIME{}.
 
+
 @c ----------------------- 
 @node Running
 @section Running SLIME
@@ -448,11 +448,6 @@
 
 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 cmditem{slime-restart-inferior-lisp}
- at end table
-
 @node Setup Tuning
 @section Setup Tuning
 
@@ -462,6 +457,8 @@
 Please proceed with this section only if your basic setup works.  If
 you are happy with the basic setup, skip this section.
 
+For contrib modules @pxref{Loading Contribs}.
+
 @menu
 * Autoloading::                 
 * Multiple Lisps::              
@@ -511,7 +508,7 @@
 program from that list.  The elements of the list should look like
 
 @lisp
-(NAME (PROGRAM PROGRAM-ARGS...) &key CODING-SYSTEM INIT INIT-FUNCTION)
+(NAME (PROGRAM PROGRAM-ARGS...) &key CODING-SYSTEM INIT INIT-FUNCTION ENV)
 @end lisp
 
 @table @code
@@ -535,6 +532,14 @@
 @itemx INIT-FUNCTION
 should be a function which takes no arguments.  It is called after 
 the connection is established. (See also @ref{slime-connected-hook}.)
+ at item ENV
+specifies a list of environment variables for the subprocess. E.g.
+ at lisp
+(sbcl-cvs ("/home/me/sbcl-cvs/src/runtime/sbcl" 
+           "--core" "/home/me/sbcl-cvs/output/sbcl.core")
+          :env ("SBCL_HOME=/home/me/sbcl-cvs/contrib/"))
+ at end lisp
+initializes @code{SBCL_HOME} in the subprocess.
 @end table
 
 @node Loading Swank faster
@@ -566,7 +571,7 @@
 @example
 shell$ sbcl
 * (load ".../slime/swank-loader.lisp")
-* (save-lisp-and-die "sbcl.core-with-swank")
+* (swank-loader:dump-image "sbcl.core-with-swank")
 @end example
 
 @noindent
@@ -583,8 +588,8 @@
 @noindent
 Similar setups should also work for other Lisp implementations.
 
- at node slime-mode
- at chapter Using slime-mode
+ at node SLIME mode
+ at chapter Using Slime mode
 
 @SLIME{}'s commands are provided via @code{slime-mode}, a minor-mode
 used in conjunction with Emacs's @code{lisp-mode}. This chapter
@@ -592,7 +597,18 @@
 
 @menu
 * User-interface conventions::  
-* Commands::                    
+* Evaluation::                  
+* Compilation::                 
+* Completion::                  
+* Finding definitions::         
+* Documentation::               
+* Cross-reference::             
+* Macro-expansion::             
+* Disassembly::                 
+* Recovery::                    
+* Inspector::                   
+* Profiling::                   
+* Other::                       
 * Semantic indentation::        
 * Reader conditionals::         
 @end menu
@@ -765,47 +781,128 @@
 @code{slime-insert-balanced-comments} in the REPL buffer.
 
 @c ----------------------- 
- at node Commands
- at section Commands
+ at node Evaluation
+ at section Evaluation 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{Command Index}).
+These commands each evaluate a Common Lisp expression in a different
+way.  Usually they mimic commands for evaluating Emacs Lisp code.  By
+default they show their results in the echo area, but a prefix
+argument causes the results to be inserted in the current buffer.
 
- at menu
-* Programming::                 
-* Compilation::                 
-* Evaluation::                  
-* Recovery::                    
-* Inspector::                   
-* Profiling::                   
-* Other::                       
- at end menu
+ at table @kbd
 
- at c ----------------------- 
- at node Programming
- at subsection Programming commands
+ at kbditem{C-x C-e, slime-eval-last-expression}
 
-Programming commands are divided into the following categories:
- at strong{Completion, Documentation, Cross-reference, Finding
-definitions, Macro-expansion, and Disassembly}, discussed in
-separate sections below.
+Evaluate the expression before point and show the result in the echo
+area.
 
- at menu
-* Completion::                  
-* Indentation::                 
-* Documentation::               
-* Cross-reference::             
-* Finding definitions::         
-* Macro-expansion::             
-* Disassembly::                 
- at end menu
+ at kbditem{C-M-x, slime-eval-defun}
+Evaluate the current toplevel form and show the result in the echo
+area.  `C-M-x' treats `defvar' expressions specially.  Normally,
+evaluating a `defvar' expression does nothing if the variable it
+defines already has a value.  But `C-M-x' unconditionally resets the
+variable to the initial value specified in the `defvar' expression.
+This special feature is convenient for debugging Lisp programs.
+
+ at end table
+
+If @kbd{C-M-x} or @kbd{C-x C-e} is given a numeric argument, it
+inserts the value into the current buffer, rather than displaying it
+in the echo area.
+
+ at table @kbd
+ at kbditem{C-c :, slime-interactive-eval}
+Evaluate an expression read from the minibuffer.
+
+ at kbditem{C-c C-r, slime-eval-region}
+Evaluate the region.
+
+ at kbditem{C-c C-p, slime-pprint-eval-last-expression}
+Evaluate the expression before point and pretty-print the result in a
+fresh buffer.
+
+ at kbditem{C-c E, slime-edit-value}
+Edit the value of a setf-able form in a new buffer @file{*Edit <form>*}.
+The value is inserted into a temporary buffer for editing and then set
+in Lisp when committed with @kbd{C-c C-c}.
+
+ at kbditem{C-x M-e, slime-eval-last-expression-display-output}
+Display the output buffer and evaluate the expression preceding point.
+This is useful if the expression writes something to the output stream.
+
+ at kbditem{C-c C-u, slime-undefine-function}
+Undefine the function, with @code{fmakunbound}, for the symbol at
+point.
+
+ at end table
 
 @c ----------------------- 
+ at node Compilation
+ at section Compilation commands
+
+ at cindex Compilation
+
+ 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 table @kbd
+ at cindex Compiling Functions
+ at kbditem{C-c C-c, slime-compile-defun}
+Compile the top-level form at point.  The region blinks shortly to
+give some feedback which part was choosen.
+
+With (positive) prefix argument the form is compiled with maximal
+debug settings.  With negative prefix argument it is compiled for
+speed.
+
+The code for the region is executed after compilation.  In principle,
+the command writes the region to a file, compiles that file, and loads
+the resulting code.
+
+ at kbditem{C-c C-k, slime-compile-and-load-file}
+Compile and load the current buffer's source file.  If the compilation
+step failes, the file is not loaded.  It's not always easy to tell
+whether the compilation failed: occasionaly you may end up in the
+debugger during the load step.
+
+ at kbditem{C-c M-k, slime-compile-file}
+Compile (but don't load) the current buffer's source file.
+
+ at kbditem{C-c C-l, slime-load-file}
+Load a Lisp file.  This command uses the Common Lisp LOAD function.
+
+ at cmditem{slime-compile-region}
+Compile the selected region.
+
+ at 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 kbditem{M-n, slime-next-note}
+Move the point to the next compiler note and displays the note.
+
+ at kbditem{M-p, slime-previous-note}

[856 lines skipped]





More information about the slime-cvs mailing list