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

Helmut Eller heller at common-lisp.net
Sun Mar 27 19:06:38 UTC 2005


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

Modified Files:
	slime.texi 
Log Message:
Mention Unicode support and some multi-threading issues.
Date: Sun Mar 27 21:06:33 2005
Author: heller

Index: slime/doc/slime.texi
diff -u slime/doc/slime.texi:1.32 slime/doc/slime.texi:1.33
--- slime/doc/slime.texi:1.32	Wed Oct  6 00:15:07 2004
+++ slime/doc/slime.texi	Sun Mar 27 21:06:31 2005
@@ -45,8 +45,8 @@
 @code{\command\}@*
 @end macro
 
- at set EDITION 1.0
- at set UPDATED @code{$Date: 2004/10/05 22:15:07 $}
+ at set EDITION 1.2
+ at set UPDATED @code{$Date: 2005/03/27 19:06:31 $}
 
 @titlepage
 @title SLIME User Manual
@@ -65,7 +65,7 @@
 @top SLIME
 
 @SLIME{} is the ``Superior Lisp Interaction Mode for Emacs''. This is
-the manual for version 1.0.
+the manual for version 1.2.
 
 @end ifinfo
 @menu
@@ -210,17 +210,17 @@
 
 @itemize @bullet
 @item
-CMU Common Lisp (@acronym{CMUCL})
+CMU Common Lisp (@acronym{CMUCL}), 18e or newer
 @item
-Steel Bank Common Lisp (@acronym{SBCL})
+Steel Bank Common Lisp (@acronym{SBCL}), from version 0.8.15 to 0.8.20
 @item
-OpenMCL
+OpenMCL, version 0.14.3
 @item
-LispWorks
+LispWorks, version 4.3 or newer
 @item
-Allegro Common Lisp (@acronym{ACL})
+Allegro Common Lisp (@acronym{ACL}), version 4.3 or newer
 @item
- at acronym{CLISP}
+ at acronym{CLISP}, version 2.33.2 or newer
 @item
 Armed Bear Common Lisp (@acronym{ABCL})
 @end itemize
@@ -363,6 +363,7 @@
 * Temporary buffers::           
 * Key bindings::                
 * inferior-lisp::               
+* Multithreading::
 @end menu
 
 @node Temporary buffers, Key bindings, User-interface conventions, User-interface conventions
@@ -411,7 +412,7 @@
 C-h} will actually list the bindings for all documentation commands.
 This feature is just a bit too useful to clobber!
 
- at node inferior-lisp,  , Key bindings, User-interface conventions
+ at node inferior-lisp,  Multithreading, Key bindings, User-interface conventions
 @subsection @code{*inferior-lisp*} buffer
 
 @SLIME{} internally uses the @code{inferior-lisp} package to start
@@ -438,6 +439,32 @@
 doesn't belong to @SLIME{}, and you should probably lookup our
 equivalent.
 
+ at node Multithreading, , inferior-lisp, User-interface conventions
+ at subsection Multithreading
+
+If the Lisp system supports multithreading, SLIME spawns a new thread
+for each request, e.g., @kbd{C-x C-e} creates a new thread to evaluate
+the expression.  An exception to this rule are requests from the
+ at REPL{}: all commands entered in the @REPL{} buffer are evaluated in a
+dedicated @REPL{} thread.
+
+Some complications arise with multithreading and special variables.
+Non-global special bindings are thread-local, e.g., changing the value
+of a let bound special variable in one thread has no effect on the
+binding of the variables with the same name in other threads.  This
+makes it sometimes difficult to change the printer or reader behaviour
+for new threads.  The variable
+ at code{swank:*default-worker-thread-bindings*} was introduced for such
+situtuations: instead of modifying the global value of a variable, add a
+binding the @code{swank:*default-worker-thread-bindings*}.  E.g., with
+the following code, new threads will read floating point values as
+doubles by default:
+
+ at example
+(push '(*read-default-float-format* . double-float)
+       swank:*default-worker-thread-bindings*).
+ at end example
+
 @node Commands, Semantic indentation, User-interface conventions, slime-mode
 @section Commands
 
@@ -523,7 +550,7 @@
 @kbditem{C-M-x, slime-eval-defun}
 Evaluate top-level form.
 
- at kbditem{C-c C-e, slime-eval-last-expression}
+ at kbditem{C-x C-e, slime-eval-last-expression}
 Evaluate the expression before point.
 
 @kbditem{C-c C-p, slime-pprint-eval-last-expression}
@@ -542,6 +569,10 @@
 
 @end table
 
+If `C-M-x' or `C-x C-e' is given a numeric argument, it inserts the
+value into the current buffer at point, rather than displaying it in the
+echo area.
+
 @node Documentation, Programming Helpers, Lisp Evaluation, Commands
 @subsection Documentation
 
@@ -609,13 +640,16 @@
 function at point, if there is one.
 
 @kbditem{C-c C-m, slime-macroexpand-1}
-Macroexpand the expression at point once.
+Macroexpand the expression at point once.  If invoked with a prefix
+argument, use macroexpand instead of macroexpand-1.
 
 @kbditem{C-c M-m, slime-macroexpand-all}
 Fully macroexpand the expression at point.
 
 @kbditem{C-c C-t, slime-toggle-trace-fdefinition}
-Toggle tracing of the function at point.
+Toggle tracing of the function at point.  If invoked with a prefix
+argument, read additional information, like which particular method
+should be traced.
 
 @kbditem{C-c M-d, slime-disassemble-symbol}
 Disassemble the function definition of the symbol at point.
@@ -945,9 +979,6 @@
 @kbditem{i, sldb-inspect-in-frame}
 Inspect the result of evaluating an expression in the frame.
 
- at kbditem{l, sldb-list-locals}
-List the local variables and their bindings in the frame.
-
 @end table
 
 @node Restarts, Frame Navigation, Examining frames, Debugger
@@ -1192,6 +1223,16 @@
 structure (different ``mount points''). This is most common with
 @acronym{SMB}-based file sharing.
 
+ at item slime-net-coding-system
+If you want to transmit Unicode characters between Emacs and the Lisp
+system, you should customize this variable.  E.g., if you use SBCL, you
+can set @code{slime-net-coding-system} to @code{utf-8-unix}.  To
+actually display a Unicode character you also need apropriate fonts,
+otherwise the character will be rendered as a hollow box.  If you are
+using Allegro CL and GNU Emacs, you can also use @code{emacs-mule-unix}
+as coding system.  GNU Emacs has often nicer fonts for the later
+encoding.
+
 @end table
 
 @menu
@@ -1311,9 +1352,17 @@
 to handle all debugging in the Lisp image. This is for debugging
 multithreaded and callback-driven applications.
 
- 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}.
+ at item SWANK:*SLDB-PRINTER-BINDINGS*
+ at item SWANK:*MACROEXPAND-PRINTER-BINDINGS*
+ at item SWANK:*SWANK-PPRINT-BINDINGS*
+These variables can be used to customize the printer in various
+situations.  The values of the variables are association lists of
+printer variable names with the corresponding value.  E.g., to enable
+the pretty printer for formatting backtraces in @SLDB{}, you can use:
+
+ at example
+(push '(*print-pretty* . t) swank:*sldb-printer-bindings*).
+ at end example
 
 @item SWANK:*USE-DEDICATED-OUTPUT-STREAM*
 This variable controls an optimization for sending printed output from




More information about the slime-cvs mailing list