[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