[slime-cvs] CVS update: slime/doc/slime.texi

Luke Gorrie lgorrie at common-lisp.net
Wed Jun 30 22:08:23 UTC 2004


Update of /project/slime/cvsroot/slime/doc
In directory common-lisp.net:/tmp/cvs-serv5359/doc

Modified Files:
	slime.texi 
Log Message:
General updatings for an alpha release.

Date: Wed Jun 30 15:08:22 2004
Author: lgorrie

Index: slime/doc/slime.texi
diff -u slime/doc/slime.texi:1.17 slime/doc/slime.texi:1.18
--- slime/doc/slime.texi:1.17	Sun Jun 27 08:05:13 2004
+++ slime/doc/slime.texi	Wed Jun 30 15:08:22 2004
@@ -45,8 +45,8 @@
 @code{\command\}@*
 @end macro
 
- at set EDITION DRAFT
- at set UPDATED @code{$Id: slime.texi,v 1.17 2004/06/27 15:05:13 heller Exp $}
+ at set EDITION 1.0 (alpha1)
+ at set UPDATED @code{$Date: 2004/06/30 22:08:22 $}
 
 @titlepage
 @title SLIME User Manual
@@ -92,7 +92,12 @@
 * Installation::                
 * Running::                     
 
-Downloading @SLIME{} (from @CVS{})
+Downloading SLIME
+
+* CVS::                         
+* CVS Incantations::            
+
+Downloading from CVS
 
 * CVS Incantations::            
 
@@ -105,6 +110,7 @@
 User-interface conventions
 
 * Temporary buffers::           
+* Key bindings::                
 * inferior-lisp::               
 
 Commands
@@ -119,13 +125,13 @@
 * Inspector::                   
 * Profiling::                   
 
- at REPL{}: the ``top level''
+REPL: the ``top level''
 
 * REPL commands::               
 * Input Navigation::            
 * Shortcuts::                   
 
- at SLDB{}: the @SLIME{} debugger
+SLDB: the SLIME debugger
 
 * Examining frames::            
 * restarts::                    
@@ -182,28 +188,6 @@
 well-defined interface and implemented separately for each Lisp
 implementation. This makes @SLIME{} readily portable.
 
- at c @node Status,  , Introduction, Introduction
- at section Status: under development
-
- at SLIME{} is a program under development and has not yet been
-``released.'' Unlike many other free software projects, we are not
-making ``0.x'' releases, but instead evolving directly towards a
-``1.0'' release. We find this continuous style of development very
-comfortable, so rather than setting short-term milestones we've taken
-to merrily hacking away as @SLIME{} progresses towards a ``final''
-shape at its own pace.
-
-We warmly invite Lisp hackerdom to join in the development in any way
-you like. As frugal hospitality we offer access to the @CVS{} tree and
-a cosy mailing list, but not yet such luxuries as supported tarballs,
-a snazzy website, or guarantees of backward-compatibility.
-
-We hope that nowadays @SLIME{} is suitable for doing ``real work''
-with. To make support easy we do expect @SLIME{} users to keep fairly
-up-to-date with the current code-base, so an adventurous nature is an
-advantage. For people looking for something to just install and not
-have to upgrade or muck about with, we ain't yet it.
-
 @node Getting started, slime-mode, Introduction, Top
 @chapter Getting started
 
@@ -224,7 +208,8 @@
 Windows. GNU Emacs versions 20 and 21 and XEmacs version 21 are
 supported.
 
-The supported Lisp implementations are:
+The supported Lisp implementations, roughly ordered from the
+best-supported, are:
 
 @itemize @bullet
 @item
@@ -234,12 +219,12 @@
 @item
 OpenMCL
 @item
- at acronym{CLISP}
- at item
 LispWorks
 @item
 Allegro Common Lisp (@acronym{ACL})
 @item
+ at acronym{CLISP}
+ at item
 Armed Bear Common Lisp (@acronym{ABCL})
 @end itemize
 
@@ -249,7 +234,24 @@
 commands (like ``restart frame'').
 
 @node Downloading, Installation, Platforms, Getting started
- at section Downloading SLIME (from CVS)
+ at section Downloading SLIME
+
+You can choose between using a released version of @SLIME{} or
+accessing our @CVS{} repository directly. You can download the latest
+released version from our website:
+
+ at url{http://www.common-lisp.net/project/slime/}
+
+We recommend that users who participate in the @code{slime-devel}
+mailing list use the @CVS{} version of the code.
+
+ at menu
+* CVS::                         
+* CVS Incantations::            
+ at end menu
+
+ at node CVS, CVS Incantations, Downloading, Downloading
+ at subsection Downloading from CVS
 
 @SLIME{} is available from the @CVS{} repository on
 @file{common-lisp.net}. You have the option to use either the very
@@ -261,19 +263,19 @@
 you follow the @code{slime-devel} mailing list then you're better off
 with the latest version (we'll send a note when it's undergoing major
 hacking). If you don't follow the mailing list you won't know the
-status of the latest code, so tracking @code{FAIRLY-STABLE} is the
-safe option.
+status of the latest code, so tracking @code{FAIRLY-STABLE} or using a
+released version is the safe option.
 
-In either case remember to @code{cvs update} occasionally.
-Improvements are continually being committed, and the
+If you checkout from @CVS{} then remember to @code{cvs update}
+occasionally.  Improvements are continually being committed, and the
 @code{FAIRLY-STABLE} tag is moved forward from time to time (about
-once or twice per month).
+once per month).
 
 @menu
 * CVS Incantations::            
 @end menu
 
- at node CVS Incantations,  , Downloading, Downloading
+ at node CVS Incantations,  , CVS, Downloading
 @subsection CVS incantations
 
 To download @SLIME{} you first configure your @code{CVSROOT} and login
@@ -357,10 +359,11 @@
 
 @menu
 * Temporary buffers::           
+* Key bindings::                
 * inferior-lisp::               
 @end menu
 
- at node Temporary buffers, inferior-lisp, User-interface conventions, User-interface conventions
+ at node Temporary buffers, Key bindings, User-interface conventions, User-interface conventions
 @subsection Temporary buffers
 
 Some @SLIME{} commands create temporary buffers to display their
@@ -385,7 +388,20 @@
 @SLIME{} commands available for describing symbols, looking up
 function definitions, and so on.
 
- at node inferior-lisp,  , Temporary buffers, User-interface conventions
+ at node Key bindings, inferior-lisp, Temporary buffers, User-interface conventions
+ 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.
+
+ at node inferior-lisp,  , Key bindings, User-interface conventions
 @subsection @code{*inferior-lisp*} buffer
 
 @SLIME{} internally uses the @code{inferior-lisp} package to start
@@ -516,30 +532,37 @@
 @subsection Documentation
 
 @SLIME{}'s online documentation commands follow the example of Emacs
-Lisp.
+Lisp. The commands all share the common prefix @kbd{C-c C-d} and allow
+the final key to be modified or unmodified (@xref{Key bindings}.)
 
 @table @kbd
 
- at kbditem{C-c C-d, slime-describe-symbol}
+ at kbditem{C-c C-d d, slime-describe-symbol}
 Describe the symbol at point.
 
- at kbditem{C-c C-a, slime-apropos}
+ at kbditem{C-c C-d a, slime-apropos}
 Apropos search. Search Lisp symbol names for a substring match and
 present their documentation strings. By default the external symbols
 of all packages are searched. With a prefix argument you can choose a
 specific package and whether to include unexported symbols.
 
- at kbditem{C-c P, slime-apropos-package}
+ at kbditem{C-c C-d z, slime-apropos-all}
+Like @code{slime-apropos} but also includes internal symbols by default.
+
+ at kbditem{C-c C-d p, slime-apropos-package}
 Show apropos results of all symbols in a package. This command is for
 browsing a package at a high-level. With package-name completion it
 also serves as a rudimentary Smalltalk-ish image-browser.
 
- at kbditem{C-c C-h, slime-hyperspec-lookup}
+ at kbditem{C-c C-d h, slime-hyperspec-lookup}
 Lookup the symbol at point in the @cite{Common Lisp Hyperspec}. This
 uses the familiar @file{hyperspec.el} to show the appropriate section
 in a web browser. The Hyperspec is found either on the Web or in
 @code{common-lisp-hyperspec-root}, and the browser is selected by
 @code{browse-url-browser-function}.
+
+ at kbditem{C-c C-d ~, common-lisp-hyperspec-format}
+Lookup a format character in the @cite{Common Lisp Hyperspec}.
 @end table
 
 @node Programming Helpers, Recovery, Documentation, Commands
@@ -612,7 +635,9 @@
 Repository} and bundled with @SLIME{}.
 
 Each command operates on the symbol at point, or prompts if there is
-none. With a prefix argument they always prompt.
+none. With a prefix argument they always prompt. You can either enter
+the key bindings as shown here or with the control modified on the
+last key, @xref{Key bindings}.
 
 @table @kbd
 
@@ -743,6 +768,13 @@
 You can use @kbd{M-x slime-update-indentation} to force all symbols to
 be scanned for indentation information.
 
+ at node Reader conditionals
+ at section Reader conditional fontification
+
+ at SLIME{} automatically evaluates reader-conditional expressions in
+source buffers and ``grays out'' code that will be skipped for the
+current Lisp connection.
+
 @node REPL, Debugger, slime-mode, Top
 @chapter REPL: the ``top level''
 
@@ -1099,14 +1131,10 @@
 @node Emacs-side customization, Lisp-side, Customization, Customization
 @section Emacs-side
 
-The Emacs part of @SLIME{} can be configured both with the Emacs
- at code{customize} system and with Lisp snippets. To customize
-interactively, use @kbd{M-x customize-group slime RET}. The
- at code{customize} interface is especially convenient for changing
-colour schemes. The remainder of this section focuses on customizing
-variables using Lisp code.
-
-Some variables affecting @SLIME{}'s operation are:
+The Emacs part of @SLIME{} can be configured with the Emacs
+ at code{customize} system, just use @kbd{M-x customize-group slime
+RET}. Because the customize system is self-describing, we only cover a
+few important or obscure configuration options here in the manual.
 
 @table @code
 
@@ -1116,6 +1144,11 @@
 ensures that lines do not wrap in backtraces, apropos listings, and so
 on. It can however cause information to spill off the screen.
 
+ at item slime-multiprocessing
+This should be set to @code{t} if you want to use multiprocessing
+(threads) in your Lisp system. It causes any necessary initialization
+to be performed during Lisp server startup.
+
 @item slime-complete-symbol-function
 The function to use for completion of Lisp symbols. Three completion
 styles are available. The default @code{slime-complete-symbol*}
@@ -1146,11 +1179,6 @@
 It also has its own keybinding, defaulting to @kbd{C-c M-i}.
 @xref{slime-fuzzy-complete-symbol}, for more information.
 
- at item slime-multiprocessing
-This should be set to @code{t} if you want to use multiprocessing
-(threads) in your Lisp system. It causes any necessary initialization
-to be performed during Lisp server startup.
-
 @item slime-translate-to-lisp-filename-function
 @itemx slime-translate-from-lisp-filename-function
 These functions can be used to translate filenames between Emacs and
@@ -1264,13 +1292,23 @@
 
 @table @code
 
- at item SWANK:*LOG-EVENTS*
-Setting this variable to @code{t} causes all protocol messages
-exchanged with Emacs to be printed to @code{*TERMINAL-IO*}. This is
-useful for low-level debugging and for observing how @SLIME{} works
-``on the wire.'' The output of @code{*TERMINAL-IO*} can be found in
-your Lisp system's own listener, usually in the buffer
- at code{*inferior-lisp*}.
+ at item SWANK:*CONFIGURE-EMACS-INDENTATION*
+This variable controls whether indentation styles for
+ at code{&body}-arguments in macros are discovered and sent to Emacs. It
+is enabled by default.
+
+ at item SWANK:*GLOBALLY-REDIRECT-IO*
+When true this causes the standard streams (@code{*standard-output*},
+etc) to be globally redirected to the @REPL{} in Emacs. When
+ at code{NIL} (the default) these streams are only temporarily redirected
+to Emacs using dynamic bindings while handling requests. Note that
+ at code{*standard-input*} is currently never globally redirected into
+Emacs, because it can interact badly with the Lisp's native @REPL{} by
+having it try to read from the Emacs one.
+
+ at item SWANK:*SLDB-PPRINT-FRAMES*
+ at code{*PRINT-PRETTY*} is bound to this value while formatting
+backtraces in @SLDB{}. The default value is @code{NIL}.
 
 @item SWANK:*USE-DEDICATED-OUTPUT-STREAM*
 This variable controls an optimization for sending printed output from
@@ -1280,6 +1318,14 @@
 protocol-messages to Emacs which must then be decoded, and this
 doesn't always keep up if Lisp starts ``spewing'' copious output.
 
+ at item SWANK:*LOG-EVENTS*
+Setting this variable to @code{t} causes all protocol messages
+exchanged with Emacs to be printed to @code{*TERMINAL-IO*}. This is
+useful for low-level debugging and for observing how @SLIME{} works
+``on the wire.'' The output of @code{*TERMINAL-IO*} can be found in
+your Lisp system's own listener, usually in the buffer
+ at code{*inferior-lisp*}.
+
 @end table
 
 @node Credits,  , Customization, Top
@@ -1311,11 +1357,9 @@
 @code{cmucl-imp} list, Dan Barlow at footnote{Dan is one of ``us'', so
 naturally these thanks apply to the @acronym{SBCL}-hacker side of his
 personality.} and Christophe Rhodes of @acronym{SBCL}, Gary Byers of
-OpenMCL, Peter Graves of @acronym{ABCL} and Martin Simmons of
-LispWorks (generously sponsored by Alain Picard of Memetrics).
-
-And thanks in advance to the Lisp maintainers who we haven't
-approached yet.. @code{:-)}
+OpenMCL, Martin Simmons of LispWorks (generously sponsored by Alain
+Picard of Memetrics), Peter Graves of @acronym{ABCL}, and to Craig
+Norvell and Kevin Layer of Franz.
 
 @bye
 





More information about the slime-cvs mailing list