[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