[slime-cvs] CVS slime/doc

jcunningham jcunningham at common-lisp.net
Sat Jan 27 18:42:35 UTC 2007


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

Modified Files:
	slime.texi 
Log Message:
Added brief discussion of Emacs help system as applies to Slime in the "Key bindings" section, raised the level of the "Keybindings" from subsection to section (on the same level as "Commands", and eliminated the "key bindings index". (jeff cunningham)


--- /project/slime/cvsroot/slime/doc/slime.texi	2007/01/24 15:28:58	1.53
+++ /project/slime/cvsroot/slime/doc/slime.texi	2007/01/27 18:42:35	1.54
@@ -10,7 +10,7 @@
 
 @set EDITION 2.0
 @c @set UPDATED @today{}
- at set UPDATED @code{$Date: 2007/01/24 15:28:58 $}
+ at set UPDATED @code{$Date: 2007/01/27 18:42:35 $}
 @set TITLE SLIME User Manual
 @settitle @value{TITLE}, version @value{EDITION}
 
@@ -25,9 +25,10 @@
 
 @c Written by Luke Gorrie.
 @c 
- at c This file has been placed in the public domain.
+ at c Additional contributions: Jeff Cunningham,
 @c 
- at c Modified by Jeff Cunningham.
+ at c This file has been placed in the public domain.
+
 
 @macro SLIME
 @acronym{SLIME}
@@ -56,6 +57,13 @@
 @code{\command\}@*
 @end macro
 
+ at macro kbdanchorc{key, command, comment}
+ at anchor{\command\}
+ at item \key\
+ at code{\command\}
+ at i{\comment\}@*
+ at end macro
+
 @macro kbdindex{key, command}
 @item \key\
 @xref{\command\}.
@@ -95,7 +103,6 @@
 * Customization::               
 * Tips and Tricks::             
 * Credits::                     
-* Index to Key Bindings::
 * Index to Functions::                     
 @end menu
 
@@ -299,7 +306,8 @@
 
 @c ----------------------- 
 @node slime-mode, REPL, Getting started, Top
- at chapter @code{slime-mode}
+ at c @chapter @code{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
@@ -307,13 +315,14 @@
 
 @menu
 * User-interface conventions::  
+* Key bindings::                
 * Commands::                    
 * Semantic indentation::        
 * Reader conditionals::         
 @end menu
 
 @c ----------------------- 
- at node User-interface conventions, Commands, slime-mode, slime-mode
+ at node User-interface conventions, Key bindings, slime-mode, slime-mode
 @section User-interface conventions
 
 To use @SLIME{} comfortably it is important to understand a few
@@ -322,13 +331,12 @@
 
 @menu
 * Temporary buffers::           
-* About key bindings::                
-* inferior-lisp::               
+* Inferior-lisp::               
 * Multithreading::              
 @end menu
 
 @c ----------------------- 
- at node Temporary buffers, About key bindings, User-interface conventions, User-interface conventions
+ at node Temporary buffers, Inferior-lisp, User-interface conventions, User-interface conventions
 @subsection Temporary buffers
 
 Some @SLIME{} commands create temporary buffers to display their
@@ -354,51 +362,7 @@
 function definitions, and so on.
 
 @c ----------------------- 
- at node About key bindings, inferior-lisp, Temporary buffers, User-interface conventions
- at subsection About key bindings
-
-A (near) complete list of the default keybindings set by @SLIME{} is
-given in an appendix (@pxref{Index to Key Bindings}), with links to
-their descriptions.
-
-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:
- at example
-(global-set-key "\C-c s" 'slime-selector)
- at end example
- at noindent
-which binds @kbd{C-c s} to the function @code{slime-selector}.
-
-Alternatively, if you want to assign or change a key binding in just a
-particular slime mode, you can use the @code{global-set-key} function in
-your @file{~/.emacs} file like this:
- at example
-(define-key slime-repl-mode-map (kbd "C-c ;") 'slime-insert-balanced-comments)
- at end example
- at noindent
-which binds @kbd{C-c ;} to the function
- at code{slime-insert-balanced-comments} in the REPL buffer.
-
- at c ----------------------- 
- at node inferior-lisp, Multithreading, About key bindings, User-interface conventions
+ at node Inferior-lisp, Multithreading, Temporary buffers, User-interface conventions
 @subsection @code{*inferior-lisp*} buffer
 
 @SLIME{} internally uses the @code{inferior-lisp} package to start
@@ -426,7 +390,7 @@
 equivalent.
 
 @c ----------------------- 
- at node Multithreading,  , inferior-lisp, User-interface conventions
+ at node Multithreading,  , Inferior-lisp, User-interface conventions
 @subsection Multithreading
 
 If the Lisp system supports multithreading, SLIME spawns a new thread
@@ -453,14 +417,91 @@
 @end example
 
 @c ----------------------- 
- at node Commands, Semantic indentation, User-interface conventions, slime-mode
+ at node Key bindings, Commands, User-interface conventions, slime-mode
+ at section Key bindings
+
+ at quotation
+ at i{``Are you deliberately spiting Emacs's brilliant online help facilities? The gods will be angry!''}
+ at end quotation
+
+ at noindent This is a brilliant piece of advice. The Emacs online help facilities
+are your most immediate, up-to-date and complete resource for keybinding
+information. They are your friends:
+
+ at table @kbd
+ at kbdanchorc{C-h k <key>, describe-key, ``What does this key do?''} 
+Describes current function bound to @kbd{<key>} for focus buffer. 
+
+ at kbdanchorc{C-h b, describe-bindings, ``Exactly what bindings are available?''} 
+Lists the current key-bindings for the focus buffer. 
+
+ at kbdanchorc{C-h m, describe-mode, ``Tell me all about this mode''}
+Shows all the available major mode keys, then the minor mode keys, for
+the modes of the focus buffer.
+
+ at 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. 
+
+ at kbdanchorc{<key> l, , ``What starts with?''} 
+Lists all keybindings that begin with @code{<key>} for the focus buffer mode. 
+
+ at end table
+
+ at emph{Note:} In this documentation the designation @kbd{C-h} is a @dfn{cannonical key} which might actually mean Ctrl-h, or F1, or whatever you have @code{help-command} bound to in your @code{.emacs}. Here is a common situation:
+
+ at example
+(global-set-key [f1]   'help-command)
+(global-set-key "\C-h" 'delete-backward-char)
+ at end example
+
+ at 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:
+ at example
+(global-set-key "\C-c s" 'slime-selector)
+ at end example
+ at noindent
+which binds @kbd{C-c s} to the function @code{slime-selector}.
+
+Alternatively, if you want to assign or change a key binding in just a
+particular slime mode, you can use the @code{global-set-key} function in
+your @file{~/.emacs} file like this:
+ at example
+(define-key slime-repl-mode-map (kbd "C-c ;") 
+            'slime-insert-balanced-comments)
+ at end example
+ at noindent
+which binds @kbd{C-c ;} to the function
+ at code{slime-insert-balanced-comments} in the REPL buffer.
+
+ at c ----------------------- 
+ at node Commands, Semantic indentation, Key bindings, slime-mode
 @section Commands
 
 @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 key binding (@pxref{Index to Key Bindings}).
+to Functions}).
 
 @menu
 * Programming::         
@@ -592,6 +633,9 @@
 will be reindented.  If the current defun has unbalanced parens,
 an attempt will be made to fix it before reindenting.
 
+ at kbdanchor{C-M-q, indent-sexp}
+Indents the list immediately following point to match the level at point. 
+
 When given a prefix argument, the text around point will always
 be treated as a paragraph.  This is useful for filling docstrings."
 @end table
@@ -603,7 +647,7 @@
 
 @SLIME{}'s online documentation commands follow the example of Emacs
 Lisp. The commands all share the common prefix @kbd{C-c C-d} and allow
-the final key to be modified or unmodified (@pxref{About key bindings}.)
+the final key to be modified or unmodified (@pxref{Key bindings}.)
 
 @table @kbd
 
@@ -659,7 +703,7 @@
 Each command operates on the symbol at point, or prompts if there is
 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{About key bindings}.
+last key, @xref{Key bindings}.
 
 @table @kbd
 @kbdanchor{C-c C-w c, slime-who-calls}
@@ -1968,7 +2012,7 @@
 
 
 @c ----------------------- 
- at node Credits, Index to Key Bindings, Tips and Tricks, Top
+ at node Credits, Index to Functions, Tips and Tricks, Top
 @chapter Credits
 
 @emph{The soppy ending...}
@@ -2006,67 +2050,7 @@
 
 
 @c ----------------------- 
- at node Index to Key Bindings, Index to Functions, Credits, Top
- at appendix Index to Key Bindings
-These are the keybindings set by default in Slime. 
-
- at table @kbd
- at kbdindex{SPC, slime-space}
- at kbdindex{C-c RET, slime-macroexpand-1}
- at kbdindex{C-c :, slime-interactive-eval}
- at kbdindex{C-c <, slime-list-callers}
- at kbdindex{C-c >, slime-list-callees}
- at kbdindex{C-c E, slime-edit-value}
- at kbdindex{C-c I, slime-inspect}
- at kbdindex{C-c u, slime-undefine-function}
- at kbdindex{C-c ~, slime-sync-package-and-default-directory}
- at kbdindex{C-c C-], slime-close-all-sexp}
- at kbdindex{C-c C-a, slime-nop} 
- at kbdindex{C-c C-b, slime-interrupt}
- at kbdindex{C-c C-c, slime-compile-defun}
- at kbdindex{C-c C-d d, slime-describe-symbol}
- at kbdindex{C-c C-d ~, common-lisp-hyperspec-format}
- at kbdindex{C-c C-e, slime-interactive-eval}
- at kbdindex{C-c C-f, slime-describe-function}
- at kbdindex{C-c C-i, slime-complete-symbol}
- at kbdindex{C-c C-k, slime-compile-and-load-file}
- at kbdindex{C-c C-l, slime-load-file}
- at kbdindex{C-c C-m, slime-macroexpand-1}
- at kbdindex{C-c C-p, slime-pprint-eval-last-expression}
- at kbdindex{C-c C-q, slime-close-parens-at-point}
- at kbdindex{C-c C-r, slime-eval-region}
- at kbdindex{C-c C-s, slime-complete-form}
- at kbdindex{C-c C-t, slime-toggle-trace-fdefinition}
- at kbdindex{C-c C-v, slime-nop} 
- at kbdindex{C-c C-w s, slime-who-sets}
- at kbdindex{C-c C-x c, slime-list-connections}
- at kbdindex{C-c C-x t, slime-list-threads}
- at kbdindex{C-c C-y, slime-call-defun}
- at kbdindex{C-c C-z, slime-switch-to-output-buffer}
- at kbdindex{C-c M-c, slime-remove-notes}.
- at kbdindex{C-c M-d, slime-disassemble-symbol}
- at kbdindex{C-c M-i, slime-fuzzy-complete-symbol}
- at kbdindex{C-c M-g, slime-quit}
- at kbdindex{C-c M-k, slime-compile-file}
- at kbdindex{C-c M-m, slime-macroexpand-all}
- at kbdindex{C-c M-p, slime-repl-set-package}
- at kbdindex{C-c M-q, slime-reindent-defun}
- at kbdindex{C-x 4 ., slime-edit-definition-other-window}
- at kbdindex{C-x 5 ., slime-edit-definition-other-frame}
- at kbdindex{C-x C-e, slime-eval-last-expression}
- at kbdindex{C-x M-e, slime-eval-last-expression-display-output}
- at kbdindex{M-TAB, slime-complete-symbol}
- at kbdindex{M-*, slime-pop-find-definition-stack}
- at kbdindex{M-., slime-edit-definition}
- at kbdindex{M- at comma{}, slime-pop-find-definition-stack}
- at kbdindex{M-n, slime-next-note}
- at kbdindex{M-p, slime-previous-note}
- at kbdindex{C-M-i, slime-complete-symbol}
- at kbdindex{C-M-x, slime-eval-defun}
- at end table
-
- at c ----------------------- 
- at node Index to Functions,  , Index to Key Bindings, Top
+ at node Index to Functions,  , Credits, Top
 @appendix Index to Functions
 
 These functions are all available (when relevant). To find the




More information about the slime-cvs mailing list