~ubuntu-branches/ubuntu/feisty/slime/feisty

« back to all changes in this revision

Viewing changes to doc/slime.texi

  • Committer: Bazaar Package Importer
  • Author(s): Peter Van Eynde
  • Date: 2006-12-05 10:35:50 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20061205103550-qh2ij11czkh5x7ns
Tags: 1:20061201-2
Fix stupid merge error that I missed. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
@end direntry
9
9
@c %**end of header
10
10
 
 
11
@set EDITION 2.0
 
12
@c @set UPDATED @today{}
 
13
@set UPDATED @code{$Date: 2006/11/22 06:27:38 $}
 
14
@set TITLE SLIME User Manual
 
15
@settitle @value{TITLE}, version @value{EDITION}
 
16
 
 
17
@titlepage
 
18
@title @value{TITLE}
 
19
@titlefont{version @value{EDITION}}
 
20
@sp 2
 
21
@c image{slime-small}
 
22
@sp 4
 
23
@subtitle Compiled: @value{UPDATED}
 
24
@end titlepage
 
25
 
11
26
@c Written by Luke Gorrie.
12
 
@c
 
27
@c 
13
28
@c This file has been placed in the public domain.
 
29
@c 
 
30
@c Modified by Jeff Cunningham.
14
31
 
15
32
@macro SLIME
16
33
@acronym{SLIME}
33
50
@code{\command\}@*
34
51
@end macro
35
52
 
36
 
@set EDITION 2.0
37
 
@set UPDATED @code{$Date: 2006/09/20 18:37:47 $}
38
 
 
39
 
@titlepage
40
 
@title SLIME User Manual
41
 
@subtitle The Superior Lisp Interaction Mode for Emacs
42
 
@subtitle @value{EDITION}, @value{UPDATED}
43
 
@author
44
 
@end titlepage
 
53
@macro kbdanchor{key, command}
 
54
@anchor{\command\}
 
55
@item \key\
 
56
@code{\command\}@*
 
57
@end macro
 
58
 
 
59
@macro kbdindex{key, command}
 
60
@item \key\
 
61
@xref{\command\}.
 
62
@end macro
 
63
 
 
64
@macro fcnanchor{name}
 
65
@anchor{\name\}
 
66
@item M-x
 
67
@code{\name\}@*
 
68
@end macro
 
69
 
 
70
@macro fcnindex{name}
 
71
@item \name\
 
72
@xref{\name\}.
 
73
@end macro
45
74
 
46
75
@c @setchapternewpage off
47
 
 
48
76
@contents
49
77
 
 
78
@c ----------------------- 
50
79
@node Top, Introduction, (dir), (dir)
51
80
 
52
81
@ifinfo
57
86
 
58
87
@end ifinfo
59
88
@menu
60
 
* Introduction::                
 
89
* Introduction::
61
90
* Getting started::             
62
 
* slime-mode::                  
 
91
* slime-mode::
63
92
* REPL::                        
64
93
* Debugger::                    
65
94
* Extras::                      
66
95
* Customization::               
67
96
* Tips and Tricks::             
68
97
* Credits::                     
 
98
* Index to Key Bindings::
 
99
* Index to Functions::                     
69
100
@end menu
70
101
 
 
102
@c ----------------------- 
71
103
@node Introduction, Getting started, Top, Top
72
104
@chapter Introduction
73
105
 
95
127
well-defined interface and implemented separately for each Lisp
96
128
implementation. This makes @SLIME{} readily portable.
97
129
 
 
130
@c ----------------------- 
98
131
@node Getting started, slime-mode, Introduction, Top
99
132
@chapter Getting started
100
133
 
107
140
* Running::                     
108
141
@end menu
109
142
 
 
143
@c ----------------------- 
110
144
@node Platforms, Downloading, Getting started, Getting started
111
145
@section Supported Platforms
112
146
 
144
178
compiler-note annotations, @acronym{XREF} support, and fancy debugger
145
179
commands (like ``restart frame'').
146
180
 
 
181
@c ----------------------- 
147
182
@node Downloading, Installation, Platforms, Getting started
148
183
@section Downloading SLIME
149
184
 
161
196
* CVS Incantations::            
162
197
@end menu
163
198
 
 
199
@c ----------------------- 
164
200
@node CVS, CVS Incantations, Downloading, Downloading
165
201
@subsection Downloading from CVS
166
202
 
186
222
* CVS Incantations::            
187
223
@end menu
188
224
 
 
225
@c ----------------------- 
189
226
@node CVS Incantations,  , CVS, Downloading
190
227
@subsection CVS incantations
191
228
 
217
254
cvs diff -rHEAD ChangeLog      # or: -rFAIRLY-STABLE
218
255
@end example
219
256
 
 
257
@c ----------------------- 
220
258
@node Installation, Running, Downloading, Getting started
221
259
@section Installation
222
260
 
241
279
the keymap for Lisp source files that may be confusing and may not
242
280
work correctly for a Lisp process started by @SLIME{}.
243
281
 
 
282
@c ----------------------- 
244
283
@node Running,  , Installation, Getting started
245
284
@section Running SLIME
246
285
 
252
291
 
253
292
At this point @SLIME{} is up and running and you can start exploring.
254
293
 
 
294
You can restart the @code{inferior-lisp} process using the function:
 
295
@table @kbd
 
296
@fcnanchor{slime-restart-inferior-lisp}
 
297
@end table
 
298
 
 
299
 
 
300
@c ----------------------- 
255
301
@node slime-mode, REPL, Getting started, Top
256
302
@chapter @code{slime-mode}
257
303
 
266
312
* Reader conditionals::         
267
313
@end menu
268
314
 
 
315
@c ----------------------- 
269
316
@node User-interface conventions, Commands, slime-mode, slime-mode
270
317
@section User-interface conventions
271
318
 
275
322
 
276
323
@menu
277
324
* Temporary buffers::           
278
 
* Key bindings::                
 
325
* About key bindings::                
279
326
* inferior-lisp::               
280
327
* Multithreading::              
281
328
@end menu
282
329
 
283
 
@node Temporary buffers, Key bindings, User-interface conventions, User-interface conventions
 
330
@c ----------------------- 
 
331
@node Temporary buffers, About key bindings, User-interface conventions, User-interface conventions
284
332
@subsection Temporary buffers
285
333
 
286
334
Some @SLIME{} commands create temporary buffers to display their
305
353
@SLIME{} commands available for describing symbols, looking up
306
354
function definitions, and so on.
307
355
 
308
 
@node Key bindings, inferior-lisp, Temporary buffers, User-interface conventions
309
 
@subsection Key bindings
 
356
@c ----------------------- 
 
357
@node About key bindings, inferior-lisp, Temporary buffers, User-interface conventions
 
358
@subsection About key bindings
310
359
 
311
360
In general we try to make our key bindings fit with the overall Emacs
312
361
style. We also have the following somewhat unusual convention of our
326
375
C-h} will actually list the bindings for all documentation commands.
327
376
This feature is just a bit too useful to clobber!
328
377
 
329
 
@node inferior-lisp, Multithreading, Key bindings, User-interface conventions
 
378
You can assign or change default key bindings using the @code{global-set-key}
 
379
function in your @file{~/.emacs} file like this:
 
380
@example
 
381
(global-set-key "\C-cs" 'slime-selector)
 
382
@end example
 
383
@noindent
 
384
which binds @kbd{C-c s} to the function @code{global-set-key}.
 
385
 
 
386
@c ----------------------- 
 
387
@node inferior-lisp, Multithreading, About key bindings, User-interface conventions
330
388
@subsection @code{*inferior-lisp*} buffer
331
389
 
332
390
@SLIME{} internally uses the @code{inferior-lisp} package to start
353
411
doesn't belong to @SLIME{}, and you should probably lookup our
354
412
equivalent.
355
413
 
 
414
@c ----------------------- 
356
415
@node Multithreading,  , inferior-lisp, User-interface conventions
357
416
@subsection Multithreading
358
417
 
379
438
       swank:*default-worker-thread-bindings*).
380
439
@end example
381
440
 
 
441
@c ----------------------- 
382
442
@node Commands, Semantic indentation, User-interface conventions, slime-mode
383
443
@section Commands
384
444
 
 
445
@acronym{SLIME} commands are divided into the following general
 
446
categories: @strong{Programming, Compilation, Evaluation, Recovery,
 
447
Inspector, and Profiling}, discussed in separate sections below. There
 
448
are also comprehensive indices to commands by function (@pxref{Index
 
449
to Functions}) and by function (@pxref{Index to Key Bindings}).
 
450
 
385
451
@menu
 
452
* Programming::         
386
453
* Compilation::                 
387
 
* Finding definitions::         
388
 
* Lisp Evaluation::             
389
 
* Documentation::               
390
 
* Programming Helpers::         
 
454
* Evaluation::             
391
455
* Recovery::                    
392
 
* Cross-reference::             
393
456
* Inspector::                   
394
457
* Profiling::                   
 
458
* Other::
395
459
@end menu
396
460
 
397
 
@node Compilation, Finding definitions, Commands, Commands
398
 
@subsection Compilation commands
399
 
 
400
 
@SLIME{} has fancy commands for compiling functions, files, and
401
 
packages. The fancy part is that notes and warnings offered by the
402
 
Lisp compiler are intercepted and annotated directly onto the
403
 
corresponding expressions in the Lisp source buffer. (Give it a try to
404
 
see what this means.)
405
 
 
406
 
@table @kbd
407
 
 
408
 
@kbditem{C-c C-k, slime-compile-and-load-file}
409
 
Compile and load the current buffer's source file.
410
 
 
411
 
@kbditem{C-c M-k, slime-compile-file}
412
 
Compile (but don't load) the current buffer's source file.
413
 
 
414
 
@kbditem{C-c C-c, slime-compile-defun}
415
 
Compile the top-level form at point.
416
 
 
417
 
@end table
418
 
 
419
 
The annotations are indicated as underlining on source forms. The
420
 
compiler message associated with an annotation can be read either by
421
 
placing the mouse over the text or with the selection commands below.
422
 
 
423
 
@table @kbd
424
 
 
425
 
@item M-n
426
 
@itemx M-p
427
 
@code{slime-next-note, slime-previous-note}@*
428
 
These commands move the point between compiler notes and display the new note.
429
 
 
430
 
@kbditem{C-c M-c, slime-remove-notes}
431
 
Remove all annotations from the buffer.
432
 
 
433
 
@end table
434
 
 
435
 
@node Finding definitions, Lisp Evaluation, Compilation, Commands
436
 
@subsection Finding definitions (``Meta-Point'').
437
 
 
438
 
The familiar @kbd{M-.} command is provided. For generic functions this
439
 
command finds all methods, and with some systems it does other fancy
440
 
things (like tracing structure accessors to their @code{DEFSTRUCT}
441
 
definition).
442
 
 
443
 
@table @kbd
444
 
 
445
 
@kbditem{M-., slime-edit-definition}
446
 
Go to the definition of the symbol at point.
447
 
 
448
 
@item M-,
449
 
@code{slime-pop-find-definition-stack}
450
 
Go back from a definition found with @kbd{M-.}. This gives multi-level
451
 
backtracking when @kbd{M-.} has been used several times.
452
 
 
453
 
@end table
454
 
 
455
 
@node Lisp Evaluation, Documentation, Finding definitions, Commands
456
 
@subsection Lisp Evaluation
457
 
 
458
 
These commands each evaluate a Lisp expression in a different way. By
459
 
default they show their results in a message, but a prefix argument
460
 
causes the results to be printed in the @REPL{} instead.
461
 
 
462
 
@table @kbd
463
 
 
464
 
@kbditem{C-M-x, slime-eval-defun}
465
 
Evaluate top-level form.
466
 
 
467
 
@kbditem{C-x C-e, slime-eval-last-expression}
468
 
Evaluate the expression before point.
469
 
 
470
 
@kbditem{C-c C-p, slime-pprint-eval-last-expression}
471
 
Evaluate the expression before point and pretty-print the result.
472
 
 
473
 
@kbditem{C-c C-r, slime-eval-region}
474
 
Evaluate the region.
475
 
 
476
 
@kbditem{C-c :, slime-interactive-eval}
477
 
Evaluate an expression read from the minibuffer.
478
 
 
479
 
@anchor{slime-scratch}
480
 
@item M-x slime-scratch
481
 
Create a @file{*slime-scratch*} buffer. In this
482
 
buffer you can enter Lisp expressions and evaluate them with
483
 
@kbd{C-j}, like in Emacs's @file{*scratch*} buffer.
484
 
 
485
 
@end table
486
 
 
487
 
If `C-M-x' or `C-x C-e' is given a numeric argument, it inserts the
488
 
value into the current buffer at point, rather than displaying it in the
489
 
echo area.
490
 
 
491
 
@node Documentation, Programming Helpers, Lisp Evaluation, Commands
492
 
@subsection Documentation
493
 
 
494
 
@SLIME{}'s online documentation commands follow the example of Emacs
495
 
Lisp. The commands all share the common prefix @kbd{C-c C-d} and allow
496
 
the final key to be modified or unmodified (@xref{Key bindings}.)
497
 
 
498
 
@table @kbd
499
 
 
500
 
@kbditem{C-c C-d d, slime-describe-symbol}
501
 
Describe the symbol at point.
502
 
 
503
 
@kbditem{C-c C-d a, slime-apropos}
504
 
Apropos search. Search Lisp symbol names for a substring match and
505
 
present their documentation strings. By default the external symbols
506
 
of all packages are searched. With a prefix argument you can choose a
507
 
specific package and whether to include unexported symbols.
508
 
 
509
 
@kbditem{C-c C-d z, slime-apropos-all}
510
 
Like @code{slime-apropos} but also includes internal symbols by default.
511
 
 
512
 
@kbditem{C-c C-d p, slime-apropos-package}
513
 
Show apropos results of all symbols in a package. This command is for
514
 
browsing a package at a high-level. With package-name completion it
515
 
also serves as a rudimentary Smalltalk-ish image-browser.
516
 
 
517
 
@kbditem{C-c C-d h, slime-hyperspec-lookup}
518
 
Lookup the symbol at point in the @cite{Common Lisp Hyperspec}. This
519
 
uses the familiar @file{hyperspec.el} to show the appropriate section
520
 
in a web browser. The Hyperspec is found either on the Web or in
521
 
@code{common-lisp-hyperspec-root}, and the browser is selected by
522
 
@code{browse-url-browser-function}.
523
 
 
524
 
@kbditem{C-c C-d ~, common-lisp-hyperspec-format}
525
 
Lookup a format character in the @cite{Common Lisp Hyperspec}.
526
 
@end table
527
 
 
528
 
@node Programming Helpers, Recovery, Documentation, Commands
529
 
@subsection Programming Helpers
 
461
@c ----------------------- 
 
462
@node Programming, Compilation, , Commands
 
463
@subsection Programming commands
 
464
 
 
465
Programming commands are divided into the following categories:
 
466
@strong{Completion, Documentation, Coss-reference, Finding
 
467
definitions, Macro-expansion, and Disassembly}, discussed in
 
468
separate sections below.
530
469
 
531
470
@menu
532
471
* Completion::                  
533
 
* Macro Expansion::             
534
 
* Accessing Documentation::     
 
472
* Closure::               
 
473
* Indentation::               
 
474
* Documentation::               
 
475
* Cross-reference::             
 
476
* Finding definitions::         
 
477
* Macro-expansion::             
535
478
* Disassembly::                 
536
479
@end menu
537
480
 
538
 
@node Completion, Macro Expansion, Programming Helpers, Programming Helpers
539
 
@subsubsection Completion
 
481
@c ----------------------- 
 
482
@node Completion, Closure, , Programming
 
483
@subsubsection Completion commands
 
484
 
 
485
Completion commands are used to complete a symbol or form based on
 
486
what is already present at point. Classical completion assumes an
 
487
exact prefix and gives choices only where branches may occur. Fuzzy
 
488
completion tries harder.
540
489
 
541
490
@table @kbd
542
 
@kbditem{M-TAB, slime-complete-symbol}
 
491
@anchor{slime-complete-symbol}
 
492
@itemx M-TAB
 
493
@item C-c C-i
 
494
@item C-M-i
 
495
@code{slime-complete-symbol}@*
543
496
Complete the symbol at point. Note that three styles of completion are
544
 
available in @SLIME{}, and the default differs from normal Emacs
545
 
completion. @xref{Emacs-side customization}.
546
 
 
547
 
@anchor{slime-fuzzy-complete-symbol}
548
 
@kbditem{C-c M-i, slime-fuzzy-complete-symbol}
549
 
Presents a list of likely completions to choose from for an
550
 
abbreviation at point.  This is a third completion method and it is
551
 
very different from the more traditional completion to which
552
 
@command{slime-complete-symbol} defaults.  It attempts to complete a
553
 
symbol all at once, instead of in pieces.  For example, ``mvb'' will
554
 
find ``@code{multiple-value-bind}'' and ``norm-df'' will find
555
 
``@code{least-positive-normalized-double-float}''.  This can also be
556
 
selected as the method of completion used for
557
 
@code{slime-complete-symbol}.
558
 
 
559
 
@kbditem{C-c C-s, slime-complete-form} 
 
497
available in @SLIME{}, and the default differs from normal Emacs 
 
498
completion (@pxref{slime-complete-symbol-function}). 
 
499
@xref{Emacs-side customization}.
 
500
 
 
501
@kbdanchor{C-c C-s, slime-complete-form} 
560
502
Looks up and inserts into the current buffer the argument list for the
561
503
function at point, if there is one.  More generally, the command
562
504
completes an incomplete form with a template for the missing arguments.
583
525
(make-instance 'foo <C-c C-s>
584
526
  --inserts--> :bar bar :blub blub initargs...)
585
527
@end example
586
 
@end table
587
 
 
588
 
@node Macro Expansion, Accessing Documentation, Completion, Programming Helpers
589
 
@subsubsection Macro Expansion
590
 
 
591
 
@xref{slime-macroexpansion-minor-mode}.
592
 
 
593
 
@table @kbd
594
 
@kbditem{C-c C-m, slime-macroexpand-1}
595
 
Macroexpand the expression at point once.  If invoked with a prefix
596
 
argument, use macroexpand instead of macroexpand-1.
597
 
 
598
 
@kbditem{C-c M-m, slime-macroexpand-all}
599
 
Fully macroexpand the expression at point.
600
 
 
601
 
@kbditem{C-c C-t, slime-toggle-trace-fdefinition}
602
 
Toggle tracing of the function at point.  If invoked with a prefix
603
 
argument, read additional information, like which particular method
604
 
should be traced.
605
 
@end table
606
 
 
607
 
@node Accessing Documentation, Disassembly, Macro Expansion, Programming Helpers
608
 
@subsubsection Accessing Documentation
609
 
 
610
 
@table @kbd
611
 
@kbditem{SPC, slime-space}
612
 
The space key inserts a space and also looks up and displays the
 
528
 
 
529
@kbdanchor{C-c M-i, slime-fuzzy-complete-symbol}
 
530
Presents a list of likely completions to choose from for an
 
531
abbreviation at point.  This is a third completion method and it is
 
532
very different from the more traditional completion to which
 
533
@command{slime-complete-symbol} defaults.  It attempts to complete a
 
534
symbol all at once, instead of in pieces.  For example, ``mvb'' will
 
535
find ``@code{multiple-value-bind}'' and ``norm-df'' will find
 
536
``@code{least-positive-normalized-double-float}''.  This can also be
 
537
selected as the method of completion used for
 
538
@code{slime-complete-symbol}.
 
539
 
 
540
@fcnanchor{slime-fuzzy-completions-mode}
 
541
@fcnanchor{slime-fuzzy-abort}
 
542
@end table
 
543
 
 
544
 
 
545
@c ----------------------- 
 
546
@node Closure, Indentation, Completion, Programming
 
547
@subsubsection Closure commands
 
548
 
 
549
Closure commands are used to fill in missing parenthesis.  
 
550
 
 
551
@table @kbd
 
552
@kbdanchor{C-c C-q, slime-close-parens-at-point}
 
553
Closes parentheses at point to complete the top-level-form by inserting ')'
 
554
characters at until @code{beginning-of-defun} and @code{end-of-defun}
 
555
execute without errors, or @code{slime-close-parens-limit} is exceeded.
 
556
 
 
557
@kbdanchor{C-], slime-close-all-sexp}
 
558
Balance parentheses of open s-expressions at point.
 
559
Insert enough right-parentheses to balance unmatched left-parentheses.
 
560
Delete extra left-parentheses.  Reformat trailing parentheses 
 
561
Lisp-stylishly.
 
562
 
 
563
If @code{REGION} is true, operate on the region. Otherwise operate on
 
564
the top-level sexp before point.
 
565
@end table
 
566
 
 
567
 
 
568
@c ----------------------- 
 
569
@node Indentation, Documentation, Closure, Programming
 
570
@subsubsection Indentation commands
 
571
 
 
572
@table @kbd
 
573
@kbdanchor{C-c M-q, slime-reindent-defun}
 
574
Re-indents the current defun, or refills the current paragraph.
 
575
If point is inside a comment block, the text around point will be
 
576
treated as a paragraph and will be filled with @code{fill-paragraph}.
 
577
Otherwise, it will be treated as Lisp code, and the current defun
 
578
will be reindented.  If the current defun has unbalanced parens,
 
579
an attempt will be made to fix it before reindenting.
 
580
 
 
581
When given a prefix argument, the text around point will always
 
582
be treated as a paragraph.  This is useful for filling docstrings."
 
583
@end table
 
584
 
 
585
 
 
586
@c ----------------------- 
 
587
@node Documentation, Cross-reference, Indentation, Programming
 
588
@subsubsection Documentation commands
 
589
 
 
590
@SLIME{}'s online documentation commands follow the example of Emacs
 
591
Lisp. The commands all share the common prefix @kbd{C-c C-d} and allow
 
592
the final key to be modified or unmodified (@pxref{About key bindings}.)
 
593
 
 
594
@table @kbd
 
595
 
 
596
@kbdanchor{SPC, slime-space}
 
597
The space key inserts a space, but also looks up and displays the
613
598
argument list for the function at point, if there is one.
614
 
@end table
615
 
 
616
 
@node Disassembly,  , Accessing Documentation, Programming Helpers
617
 
@subsubsection Disassembly
618
 
 
619
 
@table @kbd
620
 
@kbditem{C-c M-d, slime-disassemble-symbol}
621
 
Disassemble the function definition of the symbol at point.
622
 
@end table
623
 
 
624
 
@node Recovery, Cross-reference, Programming Helpers, Commands
625
 
@subsection Abort/Recovery
626
 
 
627
 
@table @kbd
628
 
 
629
 
@kbditem{C-c C-b, slime-interrupt}
630
 
Interrupt Lisp (send @code{SIGINT}).
631
 
 
632
 
@kbditem{C-c ~, slime-sync-package-and-default-directory}
633
 
Synchronize the current package and working directory from Emacs to
634
 
Lisp.
635
 
 
636
 
@kbditem{C-c M-p, slime-repl-set-package}
637
 
Set the current package of the @acronym{REPL}.
638
 
 
639
 
@end table
640
 
 
641
 
@node Cross-reference, Inspector, Recovery, Commands
642
 
@subsection Cross-reference
 
599
 
 
600
@kbdanchor{C-c C-d d, slime-describe-symbol}
 
601
Describe the symbol at point.
 
602
 
 
603
@kbdanchor{C-c C-f, slime-describe-function}
 
604
Describe the function at point.
 
605
 
 
606
@kbdanchor{C-c C-d a, slime-apropos}
 
607
Perform an apropos search on Lisp symbol names for a regular expression
 
608
match and display their documentation strings. By default the external
 
609
symbols of all packages are searched. With a prefix argument you can choose a
 
610
specific package and whether to include unexported symbols.
 
611
 
 
612
@kbdanchor{C-c C-d z, slime-apropos-all}
 
613
Like @code{slime-apropos} but also includes internal symbols by default.
 
614
 
 
615
@kbdanchor{C-c C-d p, slime-apropos-package}
 
616
Show apropos results of all symbols in a package. This command is for
 
617
browsing a package at a high-level. With package-name completion it
 
618
also serves as a rudimentary Smalltalk-ish image-browser.
 
619
 
 
620
@kbdanchor{C-c C-d h, slime-hyperspec-lookup}
 
621
Lookup the symbol at point in the @cite{Common Lisp Hyperspec}. This
 
622
uses the familiar @file{hyperspec.el} to show the appropriate section
 
623
in a web browser. The Hyperspec is found either on the Web or in
 
624
@code{common-lisp-hyperspec-root}, and the browser is selected by
 
625
@code{browse-url-browser-function}.
 
626
 
 
627
Note: this is one case where @kbd{C-c C-d h} is @emph{not} the same as
 
628
@kbd{C-c C-d C-h}.
 
629
 
 
630
@kbdanchor{C-c C-d ~, common-lisp-hyperspec-format}
 
631
Lookup a @emph{format character} in the @cite{Common Lisp Hyperspec}.
 
632
@end table
 
633
 
 
634
 
 
635
@c ----------------------- 
 
636
@node Cross-reference, Finding definitions, Documentation, Programming
 
637
@subsubsection Cross-reference commands
643
638
 
644
639
@SLIME{}'s cross-reference commands are based on the support provided
645
640
by the Lisp system, which varies widely between Lisps. For systems
650
645
Each command operates on the symbol at point, or prompts if there is
651
646
none. With a prefix argument they always prompt. You can either enter
652
647
the key bindings as shown here or with the control modified on the
653
 
last key, @xref{Key bindings}.
 
648
last key, @xref{About key bindings}.
654
649
 
655
650
@table @kbd
656
 
 
657
 
@kbditem{C-c C-w c, slime-who-calls}
 
651
@kbdanchor{C-c C-w c, slime-who-calls}
658
652
Show function callers.
659
653
 
660
 
@kbditem{C-c C-w r, slime-who-references}
 
654
@kbdanchor{C-c C-w r, slime-who-references}
661
655
Show references to global variable.
662
656
 
663
 
@kbditem{C-c C-w b, slime-who-binds}
 
657
@kbdanchor{C-c C-w b, slime-who-binds}
664
658
Show bindings of a global variable.
665
659
 
666
 
@kbditem{C-c C-w s, slime-who-sets}
 
660
@kbdanchor{C-c C-w s, slime-who-sets}
667
661
Show assignments to a global variable.
668
662
 
669
 
@kbditem{C-c C-w m, slime-who-macroexpands}
 
663
@kbdanchor{C-c C-w m, slime-who-macroexpands}
670
664
Show expansions of a macro.
671
665
 
672
 
@item M-x slime-who-specializes
 
666
@fcnanchor{slime-who-specializes}
673
667
Show all known methods specialized on a class.
674
668
 
 
669
@fcnanchor{slime-goto-xref}
 
670
Goto the cross-referenced location at point.
 
671
 
675
672
@end table
676
673
 
677
674
There are also ``List callers/callees'' commands. These operate by
681
678
information is unavailable.
682
679
 
683
680
@table @kbd
684
 
@kbditem{C-c <, slime-list-callers}
 
681
@kbdanchor{C-c <, slime-list-callers}
685
682
List callers of a function.
686
 
@kbditem{C-c >, slime-list-callees}
 
683
 
 
684
@kbdanchor{C-c >, slime-list-callees}
687
685
List callees of a function.
688
 
@end table
689
 
 
690
 
@node Inspector, Profiling, Cross-reference, Commands
691
 
@subsection Inspector
 
686
 
 
687
@fcnanchor{slime-calls-who}
 
688
Show all known functions called by the function SYMBOL.
 
689
@end table
 
690
 
 
691
 
 
692
 
 
693
@c ----------------------- 
 
694
@node Finding definitions, Macro-expansion, Cross-reference, Programming
 
695
@subsubsection Finding definitions (``Meta-Point'' commands).
 
696
 
 
697
The familiar @kbd{M-.} command is provided. For generic functions this
 
698
command finds all methods, and with some systems it does other fancy
 
699
things (like tracing structure accessors to their @code{DEFSTRUCT}
 
700
definition).
 
701
 
 
702
@table @kbd
 
703
 
 
704
@kbdanchor{M-., slime-edit-definition}
 
705
Go to the definition of the symbol at point.
 
706
 
 
707
@anchor{slime-pop-find-definition-stack}
 
708
@item M-,
 
709
@code{slime-pop-find-definition-stack}
 
710
Go back to the point where @kbd{M-.} was invoked. This gives multi-level
 
711
backtracking when @kbd{M-.} has been used several times.
 
712
 
 
713
@kbdanchor{C-x 4 ., slime-edit-definition-other-window}
 
714
Like @code{slime-edit-definition} but switchs to the other window to edit the definition in.
 
715
 
 
716
@kbdanchor{C-x 5 ., slime-edit-definition-other-frame}
 
717
Like @code{slime-edit-definition} but opens another frame to edit the definition in.
 
718
 
 
719
@fcnanchor{slime-edit-definition-with-etags}
 
720
Use an ETAGS table to find definition at point.
 
721
@end table
 
722
 
 
723
@c ----------------------- 
 
724
@node Macro-expansion, Disassembly, Finding definitions, Programming
 
725
@subsubsection Macro-expansion commands
 
726
 
 
727
@table @kbd
 
728
@anchor{slime-macroexpand-1}
 
729
@item C-c C-m
 
730
@itemx C-c RET
 
731
@code{slime-macroexpand-1}@*
 
732
Macroexpand the expression at point once.  If invoked with a prefix
 
733
argument, use macroexpand instead of macroexpand-1.
 
734
 
 
735
@kbdanchor{C-c M-m, slime-macroexpand-all}
 
736
Fully macroexpand the expression at point.
 
737
 
 
738
@kbdanchor{C-c C-t, slime-toggle-trace-fdefinition}
 
739
Toggle tracing of the function at point.  If invoked with a prefix
 
740
argument, read additional information, like which particular method
 
741
should be traced.
 
742
 
 
743
@fcnanchor{slime-untrace-all}
 
744
Untrace all functions.
 
745
 
 
746
@end table
 
747
 
 
748
For additional minor-mode commands and discussion,
 
749
@pxref{slime-macroexpansion-minor-mode}.
 
750
 
 
751
 
 
752
@c ----------------------- 
 
753
@node Disassembly, , Macro-expansion, Programming
 
754
@subsubsection Disassembly commands
 
755
 
 
756
@table @kbd
 
757
 
 
758
@kbdanchor{C-c M-d, slime-disassemble-symbol}
 
759
Disassemble the function definition of the symbol at point.
 
760
@end table
 
761
 
 
762
@c ----------------------- 
 
763
@c ----------------------- 
 
764
@node Compilation, Evaluation, Programming, Commands
 
765
@subsection Compilation commands
 
766
 
 
767
@SLIME{} has fancy commands for compiling functions, files, and
 
768
packages. The fancy part is that notes and warnings offered by the
 
769
Lisp compiler are intercepted and annotated directly onto the
 
770
corresponding expressions in the Lisp source buffer. (Give it a try to
 
771
see what this means.)
 
772
 
 
773
@table @kbd
 
774
@kbdanchor{C-c C-c, slime-compile-defun}
 
775
Compile the top-level form at point.
 
776
@cindex compiling functions
 
777
 
 
778
@kbdanchor{C-c C-y, slime-call-defun}
 
779
Insert a call to the function defined around point into the REPL.
 
780
 
 
781
@kbdanchor{C-c C-k, slime-compile-and-load-file}
 
782
Compile and load the current buffer's source file.
 
783
 
 
784
@kbdanchor{C-c M-k, slime-compile-file}
 
785
Compile (but don't load) the current buffer's source file.
 
786
 
 
787
@kbdanchor{C-c C-l, slime-load-file}
 
788
Load a source file and compile if necessary, without loading into a buffer..
 
789
 
 
790
@kbdanchor{C-c C-z, slime-switch-to-output-buffer}
 
791
Select the output buffer, preferably in a different window.
 
792
 
 
793
@fcnanchor{slime-compile-region}
 
794
Compile region at point.
 
795
 
 
796
@fcnanchor{slime-compiler-macroexpand}
 
797
Display the compiler-macro expansion of sexp at point.
 
798
 
 
799
@fcnanchor{slime-compiler-macroexpand-1}
 
800
Display the compiler-macro expansion of sexp at point.
 
801
 
 
802
@fcnanchor{slime-compiler-notes-default-action-or-show-details}
 
803
Invoke the action at point, or show details.
 
804
 
 
805
@fcnanchor{slime-compiler-notes-default-action-or-show-details/mouse}
 
806
Invoke the action pointed at by the mouse, or show details.
 
807
 
 
808
@fcnanchor{slime-compiler-notes-mode}
 
809
 
 
810
@fcnanchor{slime-compiler-notes-quit}
 
811
 
 
812
@fcnanchor{slime-compiler-notes-show-details}
 
813
@end table
 
814
 
 
815
The annotations are indicated as underlining on source forms. The
 
816
compiler message associated with an annotation can be read either by
 
817
placing the mouse over the text or with the selection commands below.
 
818
 
 
819
@table @kbd
 
820
@kbdanchor{M-n, slime-next-note}
 
821
Move the point to the next compiler note and displays the note.
 
822
 
 
823
@kbdanchor{M-p, slime-previous-note}
 
824
Move the point to the previous compiler note and displays the note.
 
825
 
 
826
@kbdanchor{C-c M-c, slime-remove-notes}
 
827
Remove all annotations from the buffer.
 
828
@end table
 
829
 
 
830
@c ----------------------- 
 
831
@node Evaluation, Recovery, Compilation, Commands
 
832
@subsection Evaluation commands
 
833
 
 
834
These commands each evaluate a Lisp expression in a different way. By
 
835
default they show their results in a message, but a prefix argument
 
836
causes the results to be printed in the @REPL{} instead.
 
837
 
 
838
@table @kbd
 
839
 
 
840
@kbdanchor{C-M-x, slime-eval-defun}
 
841
Evaluate the current toplevel form.
 
842
Use @code{slime-re-evaluate-defvar} if the from starts with @code{(defvar}.
 
843
 
 
844
@kbdanchor{C-x C-e, slime-eval-last-expression}
 
845
Evaluate the expression before point.
 
846
@end table
 
847
 
 
848
If @kbd{C-M-x} or @kbd{C-x C-e} is given a numeric argument, it inserts the
 
849
value into the current buffer at point, rather than displaying it in the
 
850
echo area.
 
851
 
 
852
@table @kbd
 
853
@kbdanchor{C-c C-p, slime-pprint-eval-last-expression}
 
854
Evaluate the expression before point and pretty-print the result.
 
855
 
 
856
@kbdanchor{C-c C-r, slime-eval-region}
 
857
Evaluate the region.
 
858
 
 
859
@kbdanchor{C-x M-e, slime-eval-last-expression-display-output}
 
860
Display output buffer and evaluate the expression preceding point.
 
861
 
 
862
@kbdanchor{C-c :, slime-interactive-eval}
 
863
Evaluate an expression read from the minibuffer.
 
864
 
 
865
@kbdanchor{M-x, slime-scratch}
 
866
Create a @file{*slime-scratch*} buffer. In this
 
867
buffer you can enter Lisp expressions and evaluate them with
 
868
@kbd{C-j}, like in Emacs's @file{*scratch*} buffer.
 
869
 
 
870
@kbdanchor{C-c E, slime-edit-value}
 
871
Edit the value of a setf-able form in a new buffer @file{*Edit <form>*}.
 
872
The value is inserted into a temporary buffer for editing and then set
 
873
in Lisp when committed with @code{slime-edit-value-commit}.
 
874
 
 
875
@kbdanchor{C-c C-u, slime-undefine-function}
 
876
Unbind symbol for function at point.
 
877
@end table
 
878
 
 
879
 
 
880
@c ----------------------- 
 
881
@node Recovery, Inspector, Evaluation, Commands
 
882
@subsection Abort/Recovery commands
 
883
 
 
884
@table @kbd
 
885
@kbdanchor{C-c C-b, slime-interrupt}
 
886
Interrupt Lisp (send @code{SIGINT}).
 
887
 
 
888
@kbdanchor{C-c ~, slime-sync-package-and-default-directory}
 
889
Synchronize the current package and working directory from Emacs to
 
890
Lisp.
 
891
 
 
892
@kbdanchor{C-c M-p, slime-repl-set-package}
 
893
Set the current package of the @acronym{REPL}.
 
894
 
 
895
@end table
 
896
 
 
897
@c ----------------------- 
 
898
@node Inspector, Profiling, Recovery, Commands
 
899
@subsection Inspector commands
692
900
 
693
901
The @SLIME{} inspector is a very fancy Emacs-based alternative to the
694
902
standard @code{INSPECT} function. The inspector presents objects in
704
912
function in @file{swank-backend.lisp}.
705
913
 
706
914
@table @kbd
707
 
@kbditem{C-c I, slime-inspect}
 
915
 
 
916
@kbdanchor{C-c I, slime-inspect}
708
917
Inspect the value of an expression entered in the minibuffer.
 
918
 
709
919
@end table
710
920
 
711
921
The standard commands available in the inspector are:
712
922
 
713
923
@table @kbd
714
924
 
715
 
@kbditem{RET, slime-inspector-operate-on-point} 
 
925
@kbdanchor{RET, slime-inspector-operate-on-point} 
716
926
If point is on a value then recursivly call the inspcetor on that
717
927
value. If point is on an action then call that action.
718
928
 
719
 
@kbditem{d, slime-inspector-describe}
 
929
@kbdanchor{d, slime-inspector-describe}
720
930
Describe the slot at point.
721
931
 
722
 
@kbditem{l, slime-inspector-pop}
 
932
@kbdanchor{l, slime-inspector-pop}
723
933
Go back to the previous object (return from @kbd{RET}).
724
934
 
725
 
@kbditem{n, slime-inspector-next}
 
935
@kbdanchor{n, slime-inspector-next}
726
936
The inverse of @kbd{l}. Also bound to @kbd{SPC}.
727
937
 
728
 
@kbditem{q, slime-inspector-quit}
 
938
@kbdanchor{q, slime-inspector-quit}
729
939
Dismiss the inspector buffer.
730
940
 
731
 
@kbditem{M-RET, slime-inspector-copy-down} Evaluate the value under
 
941
@kbdanchor{M-RET, slime-inspector-copy-down} Evaluate the value under
732
942
point via the REPL (to set `*').
733
943
 
734
944
@end table
735
945
 
736
 
@node Profiling,  , Inspector, Commands
737
 
@subsection Profiling
 
946
@c ----------------------- 
 
947
@node Profiling, Other, Inspector, Commands
 
948
@subsection Profiling commands
738
949
 
739
950
@table @kbd
740
 
@item M-x slime-toggle-profile-fdefinition
 
951
@fcnanchor{slime-toggle-profile-fdefinition}
741
952
Toggle profiling of a function.
742
 
@item M-x slime-profile-package
 
953
@fcnanchor{slime-profile-package}
743
954
Profile all functions in a package.
744
 
@item M-x slime-unprofile-all
 
955
@fcnanchor{slime-unprofile-all}
745
956
Unprofile all functions.
746
 
@item M-x slime-profile-report
 
957
@fcnanchor{slime-profile-report}
747
958
Report profiler data.
748
 
@item M-x slime-profile-reset
 
959
@fcnanchor{slime-profile-reset}
749
960
Reset profiler data.
750
 
@end table
751
 
 
 
961
@fcnanchor{slime-profiled-functions}
 
962
Show list of currently profiled functions.
 
963
@end table
 
964
 
 
965
@c ----------------------- 
 
966
@node Other,  , Profiling, Commands
 
967
@subsection Shadowed Commands
 
968
 
 
969
@table @kbd
 
970
 
 
971
@kbdanchor{C-c C-a, slime-nop}
 
972
This key-binding is shadowed from lisp-inf.
 
973
@kbditem{C-c C-v, slime-nop}
 
974
This key-binding is shadowed from lisp-inf.
 
975
 
 
976
@end table
 
977
 
 
978
@c ----------------------- 
752
979
@node Semantic indentation, Reader conditionals, Commands, slime-mode
753
980
@section Semantic indentation
754
981
 
781
1008
A more subtle issue is that imperfect caching is used for the sake of
782
1009
performance. @footnote{@emph{Of course} we made sure it was actually too
783
1010
slow before making the ugly optimization.}
784
 
@c
 
1011
 
785
1012
In an ideal world, Lisp would automatically scan every symbol for
786
1013
indentation changes after each command from Emacs. However, this is too
787
1014
expensive to do every time. Instead Lisp usually just scans the symbols
794
1021
You can use @kbd{M-x slime-update-indentation} to force all symbols to
795
1022
be scanned for indentation information.
796
1023
 
 
1024
@c ----------------------- 
797
1025
@node Reader conditionals,  , Semantic indentation, slime-mode
798
1026
@section Reader conditional fontification
799
1027
 
801
1029
source buffers and ``grays out'' code that will be skipped for the
802
1030
current Lisp connection.
803
1031
 
 
1032
@c ----------------------- 
804
1033
@node REPL, Debugger, slime-mode, Top
805
1034
@chapter REPL: the ``top level''
806
1035
 
827
1056
* Shortcuts::                   
828
1057
@end menu
829
1058
 
 
1059
@c ----------------------- 
830
1060
@node REPL commands, Input Navigation, REPL, REPL
831
1061
@section REPL commands
832
1062
 
833
1063
@table @kbd
834
1064
 
835
 
@kbditem{RET, slime-repl-return}
 
1065
@kbdanchor{RET, slime-repl-return}
836
1066
Evaluate the current input in Lisp if it is complete. If incomplete,
837
1067
open a new line and indent. If a prefix argument is given then the
838
1068
input is evaluated without checking for completeness.
839
1069
 
840
 
@kbditem{C-RET, slime-repl-closing-return}
 
1070
@kbdanchor{C-RET, slime-repl-closing-return}
841
1071
Close any unmatched parenthesis and then evaluate the current input in
842
1072
Lisp. Also bound to @kbd{M-RET}.
843
1073
 
844
 
@kbditem{C-j, slime-repl-newline-and-indent}
 
1074
@kbdanchor{C-j, slime-repl-newline-and-indent}
845
1075
Open and indent a new line.
846
1076
 
 
1077
@c @anchor{slime-interrupt}
847
1078
@kbditem{C-c C-c, slime-interrupt}
848
1079
Interrupt the Lisp process with @code{SIGINT}.
849
1080
 
850
 
@kbditem{TAB, slime-complete-symbol}
851
 
Complete the symbol at point.
 
1081
@kbdanchor{C-c M-g, slime-quit}
 
1082
Quit slime. 
852
1083
 
853
 
@kbditem{C-c C-o, slime-repl-clear-output}
 
1084
@kbdanchor{C-c C-o, slime-repl-clear-output}
854
1085
Remove the output and result of the previous expression from the
855
1086
buffer.
856
1087
 
857
 
@kbditem{C-c C-t, slime-repl-clear-buffer}
 
1088
@kbdanchor{C-c C-t, slime-repl-clear-buffer}
858
1089
Clear the entire buffer, leaving only a prompt.
859
1090
 
860
1091
@end table
861
1092
 
 
1093
@c ----------------------- 
862
1094
@node Input Navigation, Shortcuts, REPL commands, REPL
863
1095
@section Input navigation
864
1096
 
865
1097
@table @kbd
866
1098
 
867
 
@kbditem{C-a, slime-repl-bol}
 
1099
@kbdanchor{C-a, slime-repl-bol}
868
1100
Go to the beginning of the line, but stop at the @REPL{} prompt.
869
1101
 
 
1102
@anchor{slime-repl-next-input}
 
1103
@anchor{slime-repl-next-matching-input}
 
1104
@anchor{slime-repl-previous-input}
 
1105
@anchor{slime-repl-previous-matching-input}
870
1106
@item M-n
871
1107
@itemx M-p
872
1108
@itemx M-s
875
1111
@code{slime-repl-@{next,previous@}-matching-input}@*
876
1112
@code{comint}-style input history commands.
877
1113
 
 
1114
@anchor{slime-repl-next-prompt}
 
1115
@anchor{slime-repl-previous-prompt}
878
1116
@item C-c C-n
879
1117
@itemx C-c C-p
880
1118
@code{slime-repl-next-prompt, slime-repl-previous-prompt}@*
881
1119
Move between the current and previous prompts in the @REPL{} buffer.
882
1120
 
 
1121
@anchor{slime-repl-beginning-of-defun}
 
1122
@anchor{slime-repl-end-of-defun}
883
1123
@item C-M-a
884
1124
@itemx C-M-e
885
1125
@code{slime-repl-beginning-of-defun, slime-repl-end-of-defun}
889
1129
 
890
1130
@end table
891
1131
 
 
1132
@c ----------------------- 
892
1133
@comment  node-name,  next,  previous,  up
893
1134
@node Shortcuts,  , Input Navigation, REPL
894
1135
@section Shortcuts
902
1143
currently documented in this manual, but you can use the @code{help}
903
1144
shortcut to list them interactively.
904
1145
 
 
1146
@c ----------------------- 
905
1147
@node Debugger, Extras, REPL, Top
906
1148
@chapter SLDB: the SLIME debugger
907
1149
 
921
1163
* Miscellaneous::               
922
1164
@end menu
923
1165
 
 
1166
@c ----------------------- 
924
1167
@node Examining frames, Restarts, Debugger, Debugger
925
1168
@section Examining frames
926
1169
 
927
1170
Commands for examining the stack frame at point.
928
1171
 
929
1172
@table @kbd
930
 
 
931
 
@kbditem{t, sldb-toggle-details}
 
1173
@kbdanchor{t, sldb-toggle-details}
932
1174
Toggle display of local variables and @code{CATCH} tags.
933
1175
 
934
 
@kbditem{v, sldb-show-source}
 
1176
@kbdanchor{v, sldb-show-source}
935
1177
View the frame's current source expression. The expression is
936
1178
presented in the Lisp source file's buffer.
937
1179
 
938
 
@kbditem{e, sldb-eval-in-frame}
 
1180
@kbdanchor{e, sldb-eval-in-frame}
939
1181
Evaluate an expression in the frame. The expression can refer to the
940
1182
available local variables in the frame.
941
1183
 
942
 
@kbditem{d, sldb-pprint-eval-in-frame}
 
1184
@kbdanchor{d, sldb-pprint-eval-in-frame}
943
1185
Evaluate an expression in the frame and pretty-print the result in a
944
1186
temporary buffer.
945
1187
 
946
 
@kbditem{D, sldb-disassemble}
 
1188
@kbdanchor{D, sldb-disassemble}
947
1189
Disassemble the frame's function. Includes information such as the
948
1190
instruction pointer within the frame.
949
1191
 
950
 
@kbditem{i, sldb-inspect-in-frame}
 
1192
@kbdanchor{i, sldb-inspect-in-frame}
951
1193
Inspect the result of evaluating an expression in the frame.
952
 
 
953
1194
@end table
954
1195
 
 
1196
@c ----------------------- 
955
1197
@node Restarts, Frame Navigation, Examining frames, Debugger
956
1198
@section Invoking restarts
957
1199
 
958
1200
@table @kbd
959
 
 
960
 
@kbditem{a, sldb-abort}
 
1201
@kbdanchor{a, sldb-abort}
961
1202
Invoke the @code{ABORT} restart.
962
1203
 
963
 
@kbditem{q, sldb-quit}
 
1204
@kbdanchor{q, sldb-quit}
964
1205
``Quit'' -- @code{THROW} to a tag that the top-level @SLIME{}
965
1206
request-loop catches.
966
1207
 
967
 
@kbditem{c, sldb-continue}
 
1208
@kbdanchor{c, sldb-continue}
968
1209
Invoke the @code{CONTINUE} restart.
969
1210
 
970
1211
@item 0 ... 9
971
1212
Invoke a restart by number.
972
 
 
973
1213
@end table
974
1214
 
975
1215
Restarts can also be invoked by pressing @kbd{RET} or @kbd{Mouse-2} on
976
1216
them in the buffer.
977
1217
 
 
1218
@c ----------------------- 
978
1219
@node Frame Navigation, Miscellaneous, Restarts, Debugger
979
1220
@section Navigating between frames
980
1221
 
981
1222
@table @kbd
982
 
 
983
1223
@item n
984
1224
@item p
985
1225
@code{sldb-down, sldb-up}@*
992
1232
frame and display the details and source code of the next. Sugared
993
1233
motion makes you see the details and source code for the current frame
994
1234
only.
995
 
 
996
1235
@end table
997
1236
 
 
1237
@c ----------------------- 
998
1238
@node Miscellaneous,  , Frame Navigation, Debugger
999
1239
@section Miscellaneous Commands
1000
1240
 
1001
1241
@table @kbd
1002
 
 
1003
 
@kbditem{r, sldb-restart-frame}
 
1242
@kbdanchor{r, sldb-restart-frame}
1004
1243
Restart execution of the frame with the same arguments it was
1005
1244
originally called with. (This command is not available in all
1006
1245
implementations.)
1007
1246
 
1008
 
@kbditem{R, sldb-return-from-frame}
 
1247
@kbdanchor{R, sldb-return-from-frame}
1009
1248
Return from the frame with a value entered in the minibuffer. (This
1010
1249
command is not available in all implementations.)
1011
1250
 
1012
 
@kbditem{s, sldb-step}
 
1251
@kbdanchor{s, sldb-step}
1013
1252
Step to the next expression in the frame. (This command is not
1014
1253
available in all implementations.)
1015
1254
 
1016
 
@kbditem{B, sldb-break-with-default-debugger}
 
1255
@kbdanchor{B, sldb-break-with-default-debugger}
1017
1256
Exit @SLDB{} and debug the condition using the Lisp system's default
1018
1257
debugger.
1019
1258
 
1020
 
@kbditem{:, slime-interactive-eval}
 
1259
@c @anchor{slime-interactive-eval}
 
1260
@kbditem{C-c :, slime-interactive-eval}
1021
1261
Evaluate an expression entered in the minibuffer.
1022
 
 
1023
1262
@end table
1024
1263
 
 
1264
@c ----------------------- 
1025
1265
@node Extras, Customization, Debugger, Top
1026
1266
@chapter Extras
1027
1267
 
1033
1273
* Typeout frames::              
1034
1274
@end menu
1035
1275
 
 
1276
@c ----------------------- 
1036
1277
@node slime-selector, slime-autodoc-mode, Extras, Extras
1037
1278
@section @code{slime-selector}
1038
1279
 
1055
1296
@end table
1056
1297
 
1057
1298
@code{slime-selector} doesn't have a key binding by default but we
1058
 
suggest that you assign it a global one. You can bind @kbd{C-c s} like
1059
 
this:
 
1299
suggest that you assign it a global one. You can bind it to @kbd{C-c s}
 
1300
like this:
1060
1301
 
1061
1302
@example
1062
1303
(global-set-key "\C-cs" 'slime-selector)
1063
1304
@end example
1064
1305
 
 
1306
@noindent
1065
1307
And then you can switch to the @REPL{} from anywhere with @kbd{C-c s
1066
1308
r}.
1067
1309
 
1068
1310
The macro @code{def-slime-selector-method} can be used to define new
1069
1311
buffers for @code{slime-selector} to find.
1070
1312
 
 
1313
@c ----------------------- 
1071
1314
@node slime-autodoc-mode, slime-macroexpansion-minor-mode, slime-selector, Extras
1072
1315
@section @code{slime-autodoc-mode}
1073
1316
 
1074
 
@code{slime-autodoc-mode} is an additional minor-mode for
1075
 
automatically showing information about symbols near the point. For
1076
 
function names the argument list is displayed and for global variables
1077
 
we show the value. This is a clone of @code{eldoc-mode} for Emacs
1078
 
Lisp.
 
1317
@table @kbd
 
1318
@kbditem{M-x, slime-autodoc-mode}
 
1319
Autodoc mode is an additional minor-mode for automatically showing
 
1320
information about symbols near the point. For function names the
 
1321
argument list is displayed, and for global variables, the value. 
 
1322
This is a clone of @code{eldoc-mode} for Emacs Lisp.
 
1323
@end table
1079
1324
 
1080
 
The mode can be enabled in the @code{slime-setup} call of your
 
1325
The mode can be enabled by default in the @code{slime-setup} call of your
1081
1326
@code{~/.emacs}:
1082
 
 
1083
1327
@example
1084
1328
(slime-setup :autodoc t)
1085
1329
@end example
1086
1330
 
 
1331
@c ----------------------- 
1087
1332
@node slime-macroexpansion-minor-mode, Multiple connections, slime-autodoc-mode, Extras
1088
1333
@section slime-macroexpansion-minor-mode
1089
1334
 
1092
1337
macroexpansion buffer).
1093
1338
 
1094
1339
@table @kbd
1095
 
@kbditem{C-c C-m, slime-macroexpand-1-inplace}
 
1340
@kbdanchor{C-c C-m, slime-macroexpand-1-inplace}
1096
1341
Just like slime-macroexpand-1 but the original form is replaced with the expansion.
1097
1342
 
 
1343
@c @anchor{slime-macroexpand-1-inplace}
1098
1344
@kbditem{g, slime-macroexpand-1-inplace}
1099
1345
The last macroexpansion is performed again, the current contents of
1100
1346
the macroexpansion buffer are replaced with the new expansion.
1101
1347
 
1102
 
@kbditem{q, slime-temp-buffer-quit}
 
1348
@kbdanchor{q, slime-temp-buffer-quit}
1103
1349
Close the expansion buffer.
 
1350
 
1104
1351
@end table
1105
1352
 
 
1353
@c ----------------------- 
1106
1354
@node Multiple connections, Typeout frames, slime-macroexpansion-minor-mode, Extras
1107
1355
@section Multiple connections
1108
1356
 
1128
1376
the ``connection list'' buffer:
1129
1377
 
1130
1378
@table @kbd
1131
 
@kbditem{C-c C-x c, slime-list-connections}
 
1379
@kbdanchor{C-c C-x c, slime-list-connections}
1132
1380
Pop up a buffer listing the established connections.
 
1381
 
 
1382
@kbdanchor{C-c C-x t, slime-list-threads}
 
1383
Pop up a buffer listing the current threads.
 
1384
 
 
1385
@fcnanchor{slime-abort-connection}
 
1386
Abort the current connection.
 
1387
 
 
1388
@fcnanchor{slime-restart-connection-at-point}
1133
1389
@end table
1134
1390
 
1135
1391
The buffer displayed by @code{slime-list-connections} gives a one-line
1141
1397
The commands available in the connection-list buffer are:
1142
1398
 
1143
1399
@table @kbd
1144
 
 
1145
 
@kbditem{RET, slime-goto-connection}
 
1400
@kbdanchor{RET, slime-goto-connection}
1146
1401
Pop to the @acronym{REPL} buffer of the connection at point.
1147
1402
 
1148
 
@kbditem{d, slime-connection-list-make-default}
 
1403
@kbdanchor{d, slime-connection-list-make-default}
1149
1404
Make the connection at point the ``default'' connection. It will then
1150
1405
be used for commands in @code{slime-mode} source buffers.
1151
1406
 
1152
 
@kbditem{g, slime-update-connection-list}
 
1407
@kbdanchor{g, slime-update-connection-list}
1153
1408
Update the connection list in the buffer.
1154
1409
 
1155
1410
@kbditem{q, slime-temp-buffer-quit}
1156
1411
Quit the connection list (kill buffer, restore window configuration).
1157
1412
 
 
1413
@fcnanchor{slime-connect}
 
1414
Connect to a running Swank server.
 
1415
 
 
1416
@fcnanchor{slime-disconnect}
 
1417
Disconnect all connextions.
 
1418
 
 
1419
@fcnanchor{slime-connection-list-mode}
 
1420
Connection-list. @acronym{SLIME} Connection List Mode.
1158
1421
@end table
1159
1422
 
 
1423
@c ----------------------- 
1160
1424
@node Typeout frames,  , Multiple connections, Extras
1161
1425
@section Typeout frames
1162
1426
 
1169
1433
expansions, and so on.
1170
1434
 
1171
1435
@table @kbd
1172
 
@item M-x slime-ensure-typeout-frame
 
1436
@fcnanchor{slime-ensure-typeout-frame}
1173
1437
Ensure that a typeout frame exists, creating one if necessary.
1174
1438
@end table
1175
1439
 
1176
1440
If the typeout frame is closed then the echo area will be used again
1177
1441
as usual.
1178
1442
 
1179
 
To have a typeout frame created automatically at startup you can use
1180
 
the @code{slime-connected-hook}:
 
1443
To have a typeout frame created automatically at startup you can add
 
1444
the @code{slime-connected-hook} to your @file{~/.emacs} file:
1181
1445
 
1182
1446
@example
1183
1447
(add-hook 'slime-connected-hook 'slime-ensure-typeout-frame)
1184
1448
@end example
1185
1449
 
 
1450
@c ----------------------- 
1186
1451
@node Customization, Tips and Tricks, Extras, Top
1187
1452
@chapter Customization
1188
1453
 
1191
1456
* Lisp-side::                   
1192
1457
@end menu
1193
1458
 
 
1459
@c ----------------------- 
1194
1460
@node Emacs-side customization, Lisp-side, Customization, Customization
1195
1461
@section Emacs-side
1196
1462
 
1212
1478
(threads) in your Lisp system. It causes any necessary initialization
1213
1479
to be performed during Lisp server startup.
1214
1480
 
 
1481
@anchor{slime-complete-symbol-function}
1215
1482
@item slime-complete-symbol-function
1216
1483
The function to use for completion of Lisp symbols. Three completion
1217
1484
styles are available. The default @code{slime-complete-symbol*}
1239
1506
completes in the usual Emacs way.  Finally, there is
1240
1507
@code{slime-fuzzy-complete-symbol}, which is quite different from both
1241
1508
of the above and tries to find best matches to an abbreviated symbol.
1242
 
It also has its own keybinding, defaulting to @kbd{C-c M-i}.
 
1509
It also has its own key binding, defaulting to @kbd{C-c M-i}.
1243
1510
@xref{slime-fuzzy-complete-symbol}, for more information.
1244
1511
 
1245
1512
@item slime-filename-translations
1268
1535
* Hooks::                       
1269
1536
@end menu
1270
1537
 
 
1538
@c ----------------------- 
1271
1539
@node Hooks,  , Emacs-side customization, Emacs-side customization
1272
1540
@subsection Hooks
1273
1541
 
1291
1559
 
1292
1560
@end table
1293
1561
 
 
1562
@c ----------------------- 
1294
1563
@node Lisp-side,  , Emacs-side customization, Customization
1295
1564
@section Lisp-side (Swank)
1296
1565
 
1304
1573
* Other configurables::         
1305
1574
@end menu
1306
1575
 
 
1576
@c ----------------------- 
1307
1577
@node Communication style, Other configurables, Lisp-side, Lisp-side
1308
1578
@subsection Communication style
1309
1579
 
1358
1628
also override the default by setting
1359
1629
@code{SWANK:*COMMUNICATION-STYLE*} in your Swank init file.
1360
1630
 
 
1631
@c ----------------------- 
1361
1632
@node Other configurables,  , Communication style, Lisp-side
1362
1633
@subsection Other configurables
1363
1634
 
1420
1691
 
1421
1692
@end table
1422
1693
 
 
1694
@c ----------------------- 
1423
1695
@node Tips and Tricks, Credits, Customization, Top
1424
1696
@chapter Tips and Tricks
1425
1697
 
1429
1701
* Auto-SLIME::                  
1430
1702
@end menu
1431
1703
 
 
1704
@c ----------------------- 
1432
1705
@node Connecting to a remote lisp
1433
1706
@section Connecting to a remote lisp
1434
1707
 
1435
 
One of the advantages to the way @SLIME{} is implemented is that we
 
1708
One of the advantages of the way @SLIME{} is implemented is that we
1436
1709
can easily run the Emacs side (slime.el) on one machine and the lisp
1437
1710
backend (swank) on another. The basic idea is to start up lisp on the
1438
1711
remote machine, load swank and wait for incoming slime connections. On
1446
1719
* Setting up pathname translations::  
1447
1720
@end menu
1448
1721
 
 
1722
@c ----------------------- 
1449
1723
@node Setting up the lisp image
1450
1724
@subsection Setting up the lisp image
1451
1725
 
1452
1726
 
1453
 
When you want to load swank without gonig through the normal, Emacs
 
1727
When you want to load swank without going through the normal, Emacs
1454
1728
based, process just load the @file{swank-loader.lisp} file. Just
1455
1729
execute
1456
1730
 
1460
1734
 
1461
1735
inside a running lisp image@footnote{@SLIME{} also provides an
1462
1736
@acronym{ASDF} system definiton which does the same thing}. Now all we
1463
 
need to do is startup our swank server. This example assumes we're
1464
 
using the default settings, if you need to do anything particular
1465
 
(like be able to reconnect to swank after you're done, look into
1466
 
@code{swank:create-server}'s other arguments).
 
1737
need to do is startup our swank server. The first example assumes we're
 
1738
using the default settings.
1467
1739
 
1468
1740
@example
1469
1741
(swank:create-server)
1480
1752
(setf swank:*use-dedicated-output-stream* nil)
1481
1753
@end example
1482
1754
 
 
1755
@c ----------------------- 
 
1756
=======
 
1757
If you need to do anything particular
 
1758
(like be able to reconnect to swank after you're done), look into
 
1759
@code{swank:create-server}'s other arguments. Some of these arguments
 
1760
are
 
1761
@table @code
 
1762
 
 
1763
@item :PORT
 
1764
Port number for the server to listen on (default: 4005).
 
1765
@item :STYLE
 
1766
See @xref{Communication style}.
 
1767
@item :DONT-CLOSE
 
1768
Boolean indicating if the server will continue to accept connections
 
1769
after the first one (default: @code{NIL}). For ``long-running'' lisp processes
 
1770
to which you want to be able to connect from time to time,
 
1771
specify @code{:dont-close t}
 
1772
@item :CODING-SYSTEM
 
1773
String designating the encoding to be used to communicate between the
 
1774
Emacs and Lisp.
 
1775
@end table
 
1776
 
 
1777
So the more complete example will be
 
1778
@example
 
1779
(swank:create-server :port 4005  :dont-close t :coding-system "utf-8-unix")
 
1780
@end example
 
1781
On the emacs side you will use something like
 
1782
@example
 
1783
(setq slime-net-coding-system 'utf-8-unix)
 
1784
(slime-connect "127.0.0.1" 4005))
 
1785
@end example
 
1786
to connect to this lisp image from the same machine.
 
1787
 
 
1788
 
 
1789
>>>>>>> 1.49
1483
1790
@node Setting up Emacs
1484
1791
@subsection Setting up Emacs
1485
1792
 
1507
1814
though we're connecting to a remote machine the ssh tunnel fools Emacs
1508
1815
into thinking it's actually @code{127.0.0.1}.
1509
1816
 
 
1817
@c ----------------------- 
1510
1818
@node Setting up pathname translations
1511
1819
@subsection Setting up pathname translations
1512
1820
 
1538
1846
      slime-filename-translations)
1539
1847
@end example
1540
1848
 
 
1849
@c ----------------------- 
1541
1850
@node Global IO Redirection
1542
1851
@section Globally redirecting all IO to the REPL
1543
1852
 
1562
1871
@code{swank::globally-redirect-io-to-connection} yourself, but you
1563
1872
shouldn't do that unless you know what you're doing.
1564
1873
 
 
1874
@c ----------------------- 
1565
1875
@node Auto-SLIME
1566
1876
@section Connecting to SLIME automatically
1567
1877
 
1568
 
To making @SLIME{} connect to your lisp whenever you open a lisp file
 
1878
To make @SLIME{} connect to your lisp whenever you open a lisp file
1569
1879
just add this to your @file{.emacs}:
1570
1880
 
1571
1881
@example
1575
1885
              (save-excursion (slime)))))
1576
1886
@end example
1577
1887
 
1578
 
@node Credits,  , Tips and Tricks, Top
 
1888
 
 
1889
@c ----------------------- 
 
1890
@node Credits, Index to Key Bindings, Tips and Tricks, Top
1579
1891
@chapter Credits
1580
1892
 
1581
1893
@emph{The soppy ending...}
1611
1923
LispWorks. Thanks also to Alain Picard and Memetrics for funding
1612
1924
Martin's initial work on the LispWorks backend!
1613
1925
 
 
1926
 
 
1927
@c ----------------------- 
 
1928
@node Index to Key Bindings, Index to Functions, Credits, Top
 
1929
@appendix Index to Key Bindings
 
1930
 
 
1931
@table @kbd
 
1932
@kbdindex{SPC, slime-space}
 
1933
@kbdindex{C-c RET, slime-macroexpand-1}
 
1934
@kbdindex{C-c :, slime-interactive-eval}
 
1935
@kbdindex{C-c <, slime-list-callers}
 
1936
@kbdindex{C-c >, slime-list-callees}
 
1937
@kbdindex{C-c E, slime-edit-value}
 
1938
@kbdindex{C-c I, slime-inspect}
 
1939
@kbdindex{C-c u, slime-undefine-function}
 
1940
@kbdindex{C-c ~, slime-sync-package-and-default-directory}
 
1941
@kbdindex{C-c C-], slime-close-all-sexp}
 
1942
@kbdindex{C-c C-a, slime-nop} 
 
1943
@kbdindex{C-c C-b, slime-interrupt}
 
1944
@kbdindex{C-c C-c, slime-compile-defun}
 
1945
@kbdindex{C-c C-d d, slime-describe-symbol}
 
1946
@kbdindex{C-c C-d ~, common-lisp-hyperspec-format}
 
1947
@kbdindex{C-c C-e, slime-interactive-eval}
 
1948
@kbdindex{C-c C-f, slime-describe-function}
 
1949
@kbdindex{C-c C-i, slime-complete-symbol}
 
1950
@kbdindex{C-c C-k, slime-compile-and-load-file}
 
1951
@kbdindex{C-c C-l, slime-load-file}
 
1952
@kbdindex{C-c C-m, slime-macroexpand-1}
 
1953
@kbdindex{C-c C-p, slime-pprint-eval-last-expression}
 
1954
@kbdindex{C-c C-q, slime-close-parens-at-point}
 
1955
@kbdindex{C-c C-r, slime-eval-region}
 
1956
@kbdindex{C-c C-s, slime-complete-form}
 
1957
@kbdindex{C-c C-t, slime-toggle-trace-fdefinition}
 
1958
@kbdindex{C-c C-v, slime-nop} 
 
1959
@kbdindex{C-c C-w s, slime-who-sets}
 
1960
@kbdindex{C-c C-x c, slime-list-connections}
 
1961
@kbdindex{C-c C-x t, slime-list-threads}
 
1962
@kbdindex{C-c C-y, slime-call-defun}
 
1963
@kbdindex{C-c C-z, slime-switch-to-output-buffer}
 
1964
@kbdindex{C-c M-c, slime-remove-notes}.
 
1965
@kbdindex{C-c M-d, slime-disassemble-symbol}
 
1966
@kbdindex{C-c M-i, slime-fuzzy-complete-symbol}
 
1967
@kbdindex{C-c M-g, slime-quit}
 
1968
@kbdindex{C-c M-k, slime-compile-file}
 
1969
@kbdindex{C-c M-m, slime-macroexpand-all}
 
1970
@kbdindex{C-c M-p, slime-repl-set-package}
 
1971
@kbdindex{C-c M-q, slime-reindent-defun}
 
1972
@kbdindex{C-x 4 ., slime-edit-definition-other-window}
 
1973
@kbdindex{C-x 5 ., slime-edit-definition-other-frame}
 
1974
@kbdindex{C-x C-e, slime-eval-last-expression}
 
1975
@kbdindex{C-x M-e, slime-eval-last-expression-display-output}
 
1976
@kbdindex{M-TAB, slime-complete-symbol}
 
1977
@kbdindex{M-*, slime-pop-find-definition-stack}
 
1978
@kbdindex{M-., slime-edit-definition}
 
1979
@kbdindex{M-\,, slime-pop-find-definition-stack}
 
1980
@kbdindex{M-n, slime-next-note}
 
1981
@kbdindex{M-p, slime-previous-note}
 
1982
@kbdindex{C-M-i, slime-complete-symbol}
 
1983
@kbdindex{C-M-x, slime-eval-defun}
 
1984
@end table
 
1985
 
 
1986
@c ----------------------- 
 
1987
@node Index to Functions,  , Index to Key Bindings, Top
 
1988
@appendix Index to Functions
 
1989
 
 
1990
@c Note: the functions commented out below are in slime.el but as
 
1991
@c yet unreferenced (and may or may not be -jkc-).  
 
1992
 
 
1993
@table @code
 
1994
@fcnindex{common-lisp-hyperspec-format}
 
1995
@c @fcnindex{sldb-mode-hook}
 
1996
@c @fcnindex{slime-mode-hook}
 
1997
@c @fcnindex{slime-repl-mode-hook}
 
1998
@c @fcnindex{compile}
 
1999
@c @fcnindex{compile-defun}
 
2000
@c @fcnindex{fboundp}
 
2001
@c @fcnindex{def-sldb-face}
 
2002
@c @fcnindex{def-sldb-faces}
 
2003
@c @fcnindex{def-slime-selector-method}
 
2004
@c @fcnindex{def-slime-test}
 
2005
@c @fcnindex{define-sldb-invoke-restart-key}
 
2006
@c @fcnindex{define-sldb-invoke-restart-keys}
 
2007
@c @fcnindex{define-slime-dialect}
 
2008
@c @fcnindex{defslime-repl-shortcut}
 
2009
@c @fcnindex{destructure-case}
 
2010
@c @fcnindex{in-sldb-face}
 
2011
@c @fcnindex{inferior-slime-closing-return}
 
2012
@c @fcnindex{inferior-slime-indent-line}
 
2013
@c @fcnindex{inferior-slime-input-complete-p}
 
2014
@c @fcnindex{inferior-slime-return}
 
2015
@fcnindex{sldb-abort}
 
2016
@c @fcnindex{sldb-activate}
 
2017
@c @fcnindex{sldb-add-face}
 
2018
@c @fcnindex{sldb-backward-frame}
 
2019
@c @fcnindex{sldb-beginning-of-backtrace}
 
2020
@c @fcnindex{sldb-break}
 
2021
@c @fcnindex{sldb-break-on-return}
 
2022
@fcnindex{sldb-break-with-default-debugger}
 
2023
@c @fcnindex{sldb-buffers}
 
2024
@c @fcnindex{sldb-catch-tags}
 
2025
@fcnindex{sldb-continue}
 
2026
@c @fcnindex{sldb-debugged-continuations}
 
2027
@c @fcnindex{sldb-default-action}
 
2028
@c @fcnindex{sldb-default-action/mouse}
 
2029
@c @fcnindex{sldb-delete-overlays}
 
2030
@c @fcnindex{sldb-details-down}
 
2031
@c @fcnindex{sldb-details-up}
 
2032
@fcnindex{sldb-disassemble}
 
2033
@c @fcnindex{sldb-dispatch-extras}
 
2034
@c @fcnindex{sldb-down}
 
2035
@c @fcnindex{sldb-end-of-backtrace}
 
2036
@fcnindex{sldb-eval-in-frame}
 
2037
@c @fcnindex{sldb-exit}
 
2038
@c @fcnindex{sldb-fetch-all-frames}
 
2039
@c @fcnindex{sldb-fetch-more-frames}
 
2040
@c @fcnindex{sldb-find-buffer}
 
2041
@c @fcnindex{sldb-format-reference-node}
 
2042
@c @fcnindex{sldb-format-reference-source}
 
2043
@c @fcnindex{sldb-forward-frame}
 
2044
@c @fcnindex{sldb-frame-details-visible-p}
 
2045
@c @fcnindex{sldb-frame-locals}
 
2046
@c @fcnindex{sldb-frame-number-at-point}
 
2047
@c @fcnindex{sldb-frame-region}
 
2048
@c @fcnindex{sldb-get-buffer}
 
2049
@c @fcnindex{sldb-get-default-buffer}
 
2050
@c @fcnindex{sldb-goto-last-frame}
 
2051
@c @fcnindex{sldb-help-summary}
 
2052
@c @fcnindex{sldb-hide-frame-details}
 
2053
@c @fcnindex{sldb-highlight-sexp}
 
2054
@c @fcnindex{sldb-insert-condition}
 
2055
@c @fcnindex{sldb-insert-frame}
 
2056
@c @fcnindex{sldb-insert-frames}
 
2057
@c @fcnindex{sldb-insert-locals}
 
2058
@c @fcnindex{sldb-insert-references}
 
2059
@c @fcnindex{sldb-insert-restarts}
 
2060
@c @fcnindex{sldb-inspect-condition}
 
2061
@fcnindex{sldb-inspect-in-frame}
 
2062
@c @fcnindex{sldb-inspect-var}
 
2063
@c @fcnindex{sldb-invoke-restart}
 
2064
@c @fcnindex{sldb-level}
 
2065
@c @fcnindex{sldb-list-catch-tags}
 
2066
@c @fcnindex{sldb-list-locals}
 
2067
@c @fcnindex{sldb-lookup-reference}
 
2068
@c @fcnindex{sldb-maybe-recenter-region}
 
2069
@c @fcnindex{sldb-next}
 
2070
@c @fcnindex{sldb-out}
 
2071
@fcnindex{sldb-pprint-eval-in-frame}
 
2072
@c @fcnindex{sldb-previous-frame-number}
 
2073
@c @fcnindex{sldb-print-condition}
 
2074
@c @fcnindex{sldb-prune-initial-frames}
 
2075
@fcnindex{sldb-quit}
 
2076
@c @fcnindex{sldb-reference-properties}
 
2077
@c @fcnindex{sldb-restart-at-point}
 
2078
@fcnindex{sldb-restart-frame}
 
2079
@fcnindex{sldb-return-from-frame}
 
2080
@c @fcnindex{sldb-setup}
 
2081
@c @fcnindex{sldb-show-frame-details}
 
2082
@c @fcnindex{sldb-show-frame-source}
 
2083
@fcnindex{sldb-show-source}
 
2084
@fcnindex{sldb-step}
 
2085
@c @fcnindex{sldb-sugar-move}
 
2086
@fcnindex{sldb-toggle-details}
 
2087
@c @fcnindex{sldb-up}
 
2088
@c @fcnindex{sldb-var-number-at-point}
 
2089
@c @fcnindex{sldb-xemacs-emulate-point-entered-hook}
 
2090
@c @fcnindex{sldb-xemacs-post-command-hook}
 
2091
@fcnindex{slime-abort-connection}
 
2092
@c @fcnindex{slime-accept-process-output}
 
2093
@c @fcnindex{slime-activate-font-lock-magic}
 
2094
@c @fcnindex{slime-add-face}
 
2095
@c @fcnindex{slime-add-presentation-properties}
 
2096
@c @fcnindex{slime-after-change-function}
 
2097
@c @fcnindex{slime-alistify}
 
2098
@fcnindex{slime-apropos}
 
2099
@fcnindex{slime-apropos-all}
 
2100
@fcnindex{slime-apropos-package}
 
2101
@c @fcnindex{slime-apropos-summary}                             [internal]
 
2102
@c @fcnindex{slime-arglist}
 
2103
@c @fcnindex{slime-arglist-specializers}
 
2104
@c @fcnindex{slime-at-top-level-p}
 
2105
@c @fcnindex{slime-autodoc}                                     [internal]
 
2106
@c @fcnindex{slime-autodoc-global-at-point}                     [internal]
 
2107
@c @fcnindex{slime-autodoc-message}                             [internal]
 
2108
@c @fcnindex{slime-autodoc-message-dimensions}                  [internal]
 
2109
@c @fcnindex{slime-autodoc-message-ok-p}                        [internal]
 
2110
@fcnindex{slime-autodoc-mode}
 
2111
@c @fcnindex{slime-autodoc-pre-command-refresh-echo-area}       [internal]
 
2112
@c @fcnindex{slime-autodoc-start-timer}                             ??
 
2113
@c @fcnindex{slime-autodoc-stop-timer}                          [internal]
 
2114
@c @fcnindex{slime-autodoc-thing-at-point}                      [internal]
 
2115
@c @fcnindex{slime-autodoc-timer-hook}                          [internal]
 
2116
@c @fcnindex{slime-background-activities-enabled-p}
 
2117
@c @fcnindex{slime-background-message}
 
2118
@c @fcnindex{slime-batch-test}
 
2119
@c @fcnindex{slime-beginning-of-comment}                        [internal]
 
2120
@c @fcnindex{slime-beginning-of-list}                           [internal]
 
2121
@c @fcnindex{slime-beginning-of-symbol}                         [internal]
 
2122
@c @fcnindex{slime-bogus-completion-alist}
 
2123
@c @fcnindex{slime-browse-classes}
 
2124
@c @fcnindex{slime-browse-xrefs}
 
2125
@c @fcnindex{slime-buffer-substring-with-reified-output}
 
2126
@c @fcnindex{slime-busy-p}
 
2127
@c @fcnindex{slime-bytecode-stale-p}
 
2128
@fcnindex{slime-call-defun}
 
2129
@c @fcnindex{slime-call-describer}
 
2130
@c @fcnindex{slime-call-with-browser-setup}
 
2131
@fcnindex{slime-calls-who}
 
2132
@c @fcnindex{slime-changelog-date}
 
2133
@c @fcnindex{slime-cheat-sheet}
 
2134
@c @fcnindex{slime-cheat-sheet-table}
 
2135
@c @fcnindex{slime-check}
 
2136
@c @fcnindex{slime-check-coding-system}
 
2137
@c @fcnindex{slime-check-connected}
 
2138
@c @fcnindex{slime-check-eval-in-emacs-enabled}
 
2139
@c @fcnindex{slime-check-sldb-level}
 
2140
@c @fcnindex{slime-check-top-level}
 
2141
@c @fcnindex{slime-choose-connection}
 
2142
@c @fcnindex{slime-choose-overlay-for-sexp}
 
2143
@c @fcnindex{slime-choose-overlay-region}
 
2144
@c @fcnindex{slime-cl-symbol-external-ref-p}
 
2145
@c @fcnindex{slime-cl-symbol-name}
 
2146
@c @fcnindex{slime-cl-symbol-package}
 
2147
@fcnindex{slime-close-all-sexp}
 
2148
@fcnindex{slime-close-parens-at-point}
 
2149
@c @fcnindex{slime-coding-system-cl-name}
 
2150
@c @fcnindex{slime-coding-system-mulibyte-p}
 
2151
@c @fcnindex{slime-compilation-finished}
 
2152
@c @fcnindex{slime-compilation-finished-continuation}
 
2153
@fcnindex{slime-compile-and-load-file}
 
2154
@fcnindex{slime-compile-defun}
 
2155
@fcnindex{slime-compile-file}
 
2156
@fcnindex{slime-compile-region}
 
2157
@c @fcnindex{slime-compile-string}                              [internal]
 
2158
@fcnindex{slime-compiler-macroexpand}
 
2159
@fcnindex{slime-compiler-macroexpand-1}
 
2160
@c @fcnindex{slime-compiler-notes}                              [internal]
 
2161
@fcnindex{slime-compiler-notes-default-action-or-show-details}
 
2162
@fcnindex{slime-compiler-notes-default-action-or-show-details/mouse}
 
2163
@fcnindex{slime-compiler-notes-quit}
 
2164
@fcnindex{slime-compiler-notes-show-details}
 
2165
@c @fcnindex{slime-compiler-notes-to-tree}                      [internal]
 
2166
@c @fcnindex{slime-complete-delay-restoration}                  [internal]
 
2167
@c @fcnindex{slime-complete-forget-window-configuration}        [internal]
 
2168
@fcnindex{slime-complete-form}
 
2169
@c @fcnindex{slime-complete-maybe-restore-window-configuration} [internal]
 
2170
@c @fcnindex{slime-complete-maybe-save-window-configuration}    [internal]
 
2171
@c @fcnindex{slime-complete-restore-window-configuration}       [internal]
 
2172
@fcnindex{slime-complete-symbol}
 
2173
@c @fcnindex{slime-complete-symbol*}                            [internal]
 
2174
@c @fcnindex{slime-complete-symbol*-fancy-bit}                  [internal]
 
2175
@c @fcnindex{slime-completion-window-active-p}                  [internal]
 
2176
@c @fcnindex{slime-completions}                                 [internal]
 
2177
@c @fcnindex{slime-completions-for-keyword}                     [internal]
 
2178
@fcnindex{slime-connect} 
 
2179
@c @fcnindex{slime-connected-p}                                 [internal]
 
2180
@c @fcnindex{slime-connection}                                  [internal]
 
2181
@c @fcnindex{slime-connection-at-point}                         [internal]
 
2182
@c @fcnindex{slime-connection-close-hook}                       [internal]
 
2183
@fcnindex{slime-connection-list-make-default}
 
2184
@fcnindex{slime-connection-list-mode}
 
2185
@c @fcnindex{slime-connection-port}                             [internal]
 
2186
@c @fcnindex{slime-control-modified-char}
 
2187
@c @fcnindex{slime-copy-or-inspect-presentation-at-mouse}
 
2188
@c @fcnindex{slime-copy-presentation-at-mouse}
 
2189
@c @fcnindex{slime-create-message-window}
 
2190
@c @fcnindex{slime-create-note-overlay}
 
2191
@c @fcnindex{slime-create-test-results-buffer}
 
2192
@c @fcnindex{slime-current-connection}                          [internal]
 
2193
@c @fcnindex{slime-current-package}                             [internal]
 
2194
@c @fcnindex{slime-def-connection-var}
 
2195
@c @fcnindex{slime-define-keys}
 
2196
@c @fcnindex{slime-defun-at-point}
 
2197
@c @fcnindex{slime-delete-hidden-outline-text}
 
2198
@fcnindex{slime-describe-function}
 
2199
@c @fcnindex{slime-describe-presentation-at-mouse}
 
2200
@fcnindex{slime-describe-symbol}
 
2201
@fcnindex{slime-disassemble-symbol}
 
2202
@fcnindex{slime-disconnect}
 
2203
@c @fcnindex{slime-dismiss-temp-buffer}
 
2204
@c @fcnindex{slime-dispatch-event}
 
2205
@c @fcnindex{slime-display-buffer-region}
 
2206
@c @fcnindex{slime-display-completion-list}
 
2207
@c @fcnindex{slime-display-eval-result}
 
2208
@c @fcnindex{slime-display-message}
 
2209
@c @fcnindex{slime-display-output-buffer}
 
2210
@c @fcnindex{slime-display-xref-buffer}
 
2211
@c @fcnindex{slime-documentation}
 
2212
@c @fcnindex{slime-draw-connection-list}
 
2213
@c @fcnindex{slime-easy-menu}
 
2214
@c @fcnindex{slime-echo-arglist}
 
2215
@c @fcnindex{slime-ed}
 
2216
@fcnindex{slime-edit-definition}
 
2217
@fcnindex{slime-edit-definition-other-frame}
 
2218
@fcnindex{slime-edit-definition-other-window}
 
2219
@fcnindex{slime-edit-definition-with-etags}
 
2220
@fcnindex{slime-edit-value}
 
2221
@c @fcnindex{slime-edit-value-callback}
 
2222
@c @fcnindex{slime-edit-value-commit}
 
2223
@c @fcnindex{slime-emacs-20-p}
 
2224
@c @fcnindex{slime-enclosing-operator-names}
 
2225
@c @fcnindex{slime-end-of-symbol}
 
2226
@c @fcnindex{slime-ensure-presentation-overlay}
 
2227
@c @fcnindex{slime-ensure-typeout-frame}
 
2228
@c @fcnindex{slime-etags-definitions}
 
2229
@c @fcnindex{slime-eval}
 
2230
@c @fcnindex{slime-eval-async}
 
2231
@c @fcnindex{slime-eval-buffer}
 
2232
@fcnindex{slime-eval-defun}
 
2233
@c @fcnindex{slime-eval-describe}
 
2234
@c @fcnindex{slime-eval-feature-conditional}
 
2235
@c @fcnindex{slime-eval-for-lisp}
 
2236
@fcnindex{slime-eval-last-expression}
 
2237
@fcnindex{slime-eval-last-expression-display-output}
 
2238
@c @fcnindex{slime-eval-macroexpand}
 
2239
@c @fcnindex{slime-eval-macroexpand-inplace}
 
2240
@c @fcnindex{slime-eval-print}
 
2241
@c @fcnindex{slime-eval-print-last-expression}
 
2242
@fcnindex{slime-eval-region}
 
2243
@c @fcnindex{slime-eval-with-transcript}
 
2244
@c @fcnindex{slime-events-buffer}
 
2245
@c @fcnindex{slime-execute-tests}
 
2246
@c @fcnindex{slime-expand-abbreviations-and-complete}
 
2247
@c @fcnindex{slime-expand-class-node}
 
2248
@c @fcnindex{slime-expand-xrefs}
 
2249
@c @fcnindex{slime-extract-context}
 
2250
@c @fcnindex{slime-face-inheritance-possible-p}
 
2251
@c @fcnindex{slime-fetch-browsable-xrefs}
 
2252
@c @fcnindex{slime-filter-buffers}
 
2253
@c @fcnindex{slime-find-asd}                            [internal]
 
2254
@c @fcnindex{slime-find-buffer-package}                 [internal]
 
2255
@c @fcnindex{slime-find-coding-system}                  [internal]
 
2256
@c @fcnindex{slime-find-connection-by-name}             [internal]
 
2257
@c @fcnindex{slime-find-filename-translators}           [internal]
 
2258
@c @fcnindex{slime-find-next-note}                      [internal]
 
2259
@c @fcnindex{slime-find-note}                           [internal]
 
2260
@c @fcnindex{slime-find-previous-note}                  [internal]
 
2261
@c @fcnindex{slime-first-change-hook}
 
2262
@c @fcnindex{slime-fontify-string}
 
2263
@c @fcnindex{slime-forward-blanks}
 
2264
@c @fcnindex{slime-forward-positioned-source-path}
 
2265
@c @fcnindex{slime-forward-reader-comment}
 
2266
@c @fcnindex{slime-forward-reader-conditional}
 
2267
@c @fcnindex{slime-forward-sexp}
 
2268
@c @fcnindex{slime-forward-source-path}
 
2269
@c @fcnindex{slime-frame-windows}
 
2270
@c @fcnindex{slime-from-lisp-filename}
 
2271
@fcnindex{slime-fuzzy-abort}
 
2272
@fcnindex{slime-fuzzy-complete-symbol}
 
2273
@fcnindex{slime-fuzzy-completions-mode}
 
2274
@c @fcnindex{slime-fuzzy-choices-buffer}                       [internal]
 
2275
@c @fcnindex{slime-fuzzy-completions}                          [internal]
 
2276
@c @fcnindex{slime-fuzzy-done}                                 [internal]
 
2277
@c @fcnindex{slime-fuzzy-insert}                               [internal]
 
2278
@c @fcnindex{slime-fuzzy-insert-completion-choice}             [internal]
 
2279
@c @fcnindex{slime-fuzzy-insert-from-point}                    [internal]
 
2280
@c @fcnindex{slime-fuzzy-maybe-restore-window-configuration}   [internal]
 
2281
@c @fcnindex{slime-fuzzy-next}                                    ???
 
2282
@c @fcnindex{slime-fuzzy-post-command-hook}                    [internal]
 
2283
@c @fcnindex{slime-fuzzy-prev}                                    ???
 
2284
@c @fcnindex{slime-fuzzy-save-window-configuration}            [internal]
 
2285
@c @fcnindex{slime-fuzzy-select}                                  ???
 
2286
@c @fcnindex{slime-fuzzy-select/mouse}                            ???
 
2287
@c @fcnindex{slime-fuzzy-selected}                              [internal]
 
2288
@c @fcnindex{slime-fuzzy-window-configuration-change}           [internal]
 
2289
@c @fcnindex{slime-fuzzy-window-configuration-change-add-hook}  [internal]
 
2290
@c @fcnindex{slime-generate-connection-name}
 
2291
@c @fcnindex{slime-get-arglist}                         [internal]
 
2292
@c @fcnindex{slime-get-cached-autodoc}                  [internal]
 
2293
@c @fcnindex{slime-get-fuzzy-buffer}                    [internal]
 
2294
@c @fcnindex{slime-global-variable-name-p}              [internal]
 
2295
@fcnindex{slime-goto-connection}
 
2296
@c @fcnindex{slime-goto-definition}                        ???
 
2297
@c @fcnindex{slime-goto-definition-other-window}        [internal]
 
2298
@c @fcnindex{slime-goto-location-buffer}                [internal]
 
2299
@c @fcnindex{slime-goto-location-position}              [internal]
 
2300
@c @fcnindex{slime-goto-next-xref}                      [internal]
 
2301
@c @fcnindex{slime-goto-source-location}                [internal]
 
2302
@fcnindex{slime-goto-xref}
 
2303
@c @fcnindex{slime-group-similar}
 
2304
@c @fcnindex{slime-handle-indentation-update}
 
2305
@c @fcnindex{slime-handle-repl-shortcut}
 
2306
@c @fcnindex{slime-hide-inferior-lisp-buffer}           [internal]
 
2307
@c @fcnindex{slime-highlight-edits}
 
2308
@c @fcnindex{slime-highlight-edits-compile-hook}
 
2309
@c @fcnindex{slime-highlight-edits-init-buffer}
 
2310
@c @fcnindex{slime-highlight-edits-reset-buffer}
 
2311
@c @fcnindex{slime-highlight-notes}
 
2312
@fcnindex{slime-hyperspec-lookup}
 
2313
@c @fcnindex{slime-in-expression-p}
 
2314
@c @fcnindex{slime-indent-and-complete-symbol}
 
2315
@c @fcnindex{slime-inferior-connect}                    [internal]
 
2316
@c @fcnindex{slime-inferior-lisp-args}                  [internal]
 
2317
@c @fcnindex{slime-init-command}
 
2318
@c @fcnindex{slime-init-connection-state}
 
2319
@c @fcnindex{slime-init-keymaps}
 
2320
@c @fcnindex{slime-init-output-buffer}
 
2321
@c @fcnindex{slime-init-xref-buffer}
 
2322
@c @fcnindex{slime-input-complete-p}
 
2323
@c @fcnindex{slime-insert-arglist}
 
2324
@c @fcnindex{slime-insert-balanced-comments}
 
2325
@c @fcnindex{slime-insert-presentation}
 
2326
@c @fcnindex{slime-insert-transcript-delimiter}
 
2327
@c @fcnindex{slime-insert-xrefs}
 
2328
@c @fcnindex{slime-inside-comment-p}
 
2329
@fcnindex{slime-inspect}
 
2330
@c @fcnindex{slime-inspect-presentation-at-mouse}
 
2331
@c @fcnindex{slime-inspector-buffer}
 
2332
@fcnindex{slime-inspector-copy-down}
 
2333
@fcnindex{slime-inspector-describe}
 
2334
@c @fcnindex{slime-inspector-fontify}
 
2335
@c @fcnindex{slime-inspector-insert-ispec}
 
2336
@fcnindex{slime-inspector-next}
 
2337
@c @fcnindex{slime-inspector-next-inspectable-object}
 
2338
@c @fcnindex{slime-inspector-operate-on-click}
 
2339
@fcnindex{slime-inspector-operate-on-point}
 
2340
@fcnindex{slime-inspector-pop}
 
2341
@c @fcnindex{slime-inspector-pprint}
 
2342
@c @fcnindex{slime-inspector-previous-inspectable-object}
 
2343
@fcnindex{slime-inspector-quit}
 
2344
@c @fcnindex{slime-inspector-reinspect}
 
2345
@fcnindex{slime-interactive-eval}
 
2346
@fcnindex{slime-interrupt}
 
2347
@c @fcnindex{slime-intersperse}
 
2348
@c @fcnindex{slime-io-speed-test}
 
2349
@c @fcnindex{slime-isearch}
 
2350
@c @fcnindex{slime-isearch-with-function}
 
2351
@c @fcnindex{slime-keys}
 
2352
@c @fcnindex{slime-kill-all-buffers}
 
2353
@c @fcnindex{slime-last-expression}
 
2354
@c @fcnindex{slime-length>}
 
2355
@c @fcnindex{slime-lisp-mode-hook}
 
2356
@c @fcnindex{slime-list-all-repl-shortcuts}
 
2357
@fcnindex{slime-list-callees}
 
2358
@fcnindex{slime-list-callers}
 
2359
@c @fcnindex{slime-list-compiler-notes}
 
2360
@fcnindex{slime-list-connections}
 
2361
@c @fcnindex{slime-list-repl-short-cuts}
 
2362
@fcnindex{slime-list-threads}
 
2363
@fcnindex{slime-load-file}
 
2364
@c @fcnindex{slime-load-file-set-package}
 
2365
@c @fcnindex{slime-load-system}
 
2366
@c @fcnindex{slime-log-event}
 
2367
@c @fcnindex{slime-lookup-lisp-implementation}
 
2368
@c @fcnindex{slime-lookup-shortcut}
 
2369
@fcnindex{slime-macroexpand-1}
 
2370
@fcnindex{slime-macroexpand-1-inplace}
 
2371
@c @fcnindex{slime-macroexpand-again}
 
2372
@fcnindex{slime-macroexpand-all}
 
2373
@c @fcnindex{slime-macroexpand-all-inplace}
 
2374
@c @fcnindex{slime-make-default-connection}
 
2375
@c @fcnindex{slime-make-net-buffer}
 
2376
@c @fcnindex{slime-make-tramp-file-name}
 
2377
@c @fcnindex{slime-make-typeout-frame}
 
2378
@c @fcnindex{slime-make-variables-buffer-local}
 
2379
@c @fcnindex{slime-mark-input-start}
 
2380
@c @fcnindex{slime-mark-output-end}
 
2381
@c @fcnindex{slime-mark-output-start}
 
2382
@c @fcnindex{slime-mark-presentation-end}
 
2383
@c @fcnindex{slime-mark-presentation-end-handler}
 
2384
@c @fcnindex{slime-mark-presentation-start}
 
2385
@c @fcnindex{slime-mark-presentation-start-handler}
 
2386
@c @fcnindex{slime-maybe-complete-as-filename}
 
2387
@c @fcnindex{slime-maybe-display-output-buffer}
 
2388
@c @fcnindex{slime-maybe-list-compiler-notes}
 
2389
@c @fcnindex{slime-maybe-show-xrefs-for-notes}
 
2390
@c @fcnindex{slime-maybe-start-lisp}
 
2391
@c @fcnindex{slime-menu-choices-for-presentation}
 
2392
@c @fcnindex{slime-merge-note-into-overlay}
 
2393
@c @fcnindex{slime-merge-notes}
 
2394
@c @fcnindex{slime-merge-notes-for-display}
 
2395
@c @fcnindex{slime-message}
 
2396
@c @fcnindex{slime-minibuffer-respecting-message}
 
2397
@c @fcnindex{slime-most-severe}
 
2398
@c @fcnindex{slime-net-close}
 
2399
@c @fcnindex{slime-net-connect}
 
2400
@c @fcnindex{slime-net-decode-length}
 
2401
@c @fcnindex{slime-net-encode-length}
 
2402
@c @fcnindex{slime-net-filter}
 
2403
@c @fcnindex{slime-net-have-input-p}
 
2404
@c @fcnindex{slime-net-read}
 
2405
@c @fcnindex{slime-net-send}
 
2406
@c @fcnindex{slime-net-sentinel}
 
2407
@c @fcnindex{slime-next-line/not-add-newlines}
 
2408
@c @fcnindex{slime-next-location}
 
2409
@fcnindex{slime-next-note}
 
2410
@fcnindex{slime-nop}
 
2411
@c @fcnindex{slime-note-at-point}
 
2412
@c @fcnindex{slime-note-count-string}
 
2413
@c @fcnindex{slime-note-has-location-p}
 
2414
@c @fcnindex{slime-note-overlay-p}
 
2415
@c @fcnindex{slime-note-overlays-at-point}
 
2416
@c @fcnindex{slime-note.location}
 
2417
@c @fcnindex{slime-note.message}
 
2418
@c @fcnindex{slime-note.references}
 
2419
@c @fcnindex{slime-note.severity}
 
2420
@c @fcnindex{slime-note.short-message}
 
2421
@c @fcnindex{slime-notes-in-same-location-p}
 
2422
@c @fcnindex{slime-one-line-ify}
 
2423
@c @fcnindex{slime-oneliner}
 
2424
@c @fcnindex{slime-only-whitespace-p}
 
2425
@c @fcnindex{slime-oos}
 
2426
@c @fcnindex{slime-open-inspector}
 
2427
@c @fcnindex{slime-open-stream-to-lisp}
 
2428
@c @fcnindex{slime-output-buffer}
 
2429
@c @fcnindex{slime-output-filter}
 
2430
@c @fcnindex{slime-overlay-note}
 
2431
@c @fcnindex{slime-parse-context}
 
2432
@c @fcnindex{slime-parse-context}
 
2433
@c @fcnindex{slime-parse-extended-operator-name}
 
2434
@c @fcnindex{slime-parse-extended-operator-name/apply}
 
2435
@c @fcnindex{slime-parse-extended-operator-name/cerror}
 
2436
@c @fcnindex{slime-parse-extended-operator-name/defmethod}
 
2437
@c @fcnindex{slime-parse-extended-operator-name/make-instance}
 
2438
@c @fcnindex{slime-parse-toplevel-form}
 
2439
@c @fcnindex{slime-pattern-path}
 
2440
@c @fcnindex{slime-ping}
 
2441
@c @fcnindex{slime-point-moves-p}
 
2442
@fcnindex{slime-pop-find-definition-stack}
 
2443
@c @fcnindex{slime-pop-to-other-window}
 
2444
@c @fcnindex{slime-post-command-hook}
 
2445
@fcnindex{slime-pprint-eval-last-expression}
 
2446
@c @fcnindex{slime-pprint-event}
 
2447
@c @fcnindex{slime-pre-command-hook}
 
2448
@c @fcnindex{slime-presentation-around-click}
 
2449
@c @fcnindex{slime-presentation-around-or-before-point}
 
2450
@c @fcnindex{slime-presentation-around-point}
 
2451
@c @fcnindex{slime-presentation-expression}
 
2452
@c @fcnindex{slime-presentation-menu}
 
2453
@c @fcnindex{slime-presentation-start-p}
 
2454
@c @fcnindex{slime-presentation-stop-p}
 
2455
@c @fcnindex{slime-presentation-whole-p}
 
2456
@c @fcnindex{slime-presentations-around-point}
 
2457
@c @fcnindex{slime-preserve-zmacs-region}
 
2458
@c @fcnindex{slime-pretty-lambdas}
 
2459
@c @fcnindex{slime-pretty-package-name}
 
2460
@c @fcnindex{slime-pretty-print-presentation-at-mouse}
 
2461
@fcnindex{slime-previous-note}
 
2462
@c @fcnindex{slime-prin1-to-string}
 
2463
@c @fcnindex{slime-print-apropos}
 
2464
@c @fcnindex{slime-print-check-error}
 
2465
@c @fcnindex{slime-print-check-failed}
 
2466
@c @fcnindex{slime-print-check-ok}
 
2467
@c @fcnindex{slime-process}
 
2468
@c @fcnindex{slime-process-available-input}
 
2469
@fcnindex{slime-profile-package}
 
2470
@fcnindex{slime-profile-report}
 
2471
@fcnindex{slime-profile-reset}
 
2472
@fcnindex{slime-profiled-functions}
 
2473
@c @fcnindex{slime-propertize-region}
 
2474
@c @fcnindex{slime-property-bounds}
 
2475
@c @fcnindex{slime-property-position}
 
2476
@c @fcnindex{slime-push-definition-stack}
 
2477
@c @fcnindex{slime-qualify-cl-symbol}
 
2478
@c @fcnindex{slime-qualify-cl-symbol-name}
 
2479
@fcnindex{slime-quit}
 
2480
@c @fcnindex{slime-quit-connection-at-point}
 
2481
@c @fcnindex{slime-quit-lisp}
 
2482
@c @fcnindex{slime-quit-sentinel}
 
2483
@c @fcnindex{slime-random-words-of-encouragement}
 
2484
@c @fcnindex{slime-re-evaluate-defvar}
 
2485
@c @fcnindex{slime-read-from-minibuffer}
 
2486
@c @fcnindex{slime-read-interactive-args}
 
2487
@c @fcnindex{slime-read-object}
 
2488
@c @fcnindex{slime-read-package-name}
 
2489
@c @fcnindex{slime-read-port-and-connect}
 
2490
@c @fcnindex{slime-read-swank-port}
 
2491
@c @fcnindex{slime-read-symbol-name}
 
2492
@c @fcnindex{slime-read-system-name}
 
2493
@c @fcnindex{slime-read-test-name}
 
2494
@c @fcnindex{slime-reading-p}
 
2495
@c @fcnindex{slime-recenter-window}
 
2496
@c @fcnindex{slime-recently-visited-buffer}
 
2497
@c @fcnindex{slime-recompile-bytecode}
 
2498
@c @fcnindex{slime-region-for-defun-at-point}
 
2499
@c @fcnindex{slime-reify-old-output}
 
2500
@fcnindex{slime-reindent-defun}
 
2501
@c @fcnindex{slime-reinitialize-inferior-lisp-p}        [internal]
 
2502
@c @fcnindex{slime-remove-balanced-comments}
 
2503
@c @fcnindex{slime-remove-edits}
 
2504
@fcnindex{slime-remove-notes}
 
2505
@c @fcnindex{slime-remove-old-overlays}
 
2506
@c @fcnindex{slime-remove-presentation-properties}
 
2507
@c @fcnindex{slime-repl}
 
2508
@c @fcnindex{slime-repl-abort-read}
 
2509
@c @fcnindex{slime-repl-add-to-input-history}
 
2510
@c @fcnindex{slime-repl-at-prompt-end-p}
 
2511
@fcnindex{slime-repl-beginning-of-defun}
 
2512
@fcnindex{slime-repl-bol}
 
2513
@c @fcnindex{slime-repl-buffer}
 
2514
@c @fcnindex{slime-repl-call-with-handler}
 
2515
@fcnindex{slime-repl-clear-buffer}
 
2516
@fcnindex{slime-repl-clear-output}
 
2517
@fcnindex{slime-repl-closing-return}
 
2518
@c @fcnindex{slime-repl-current-input}
 
2519
@c @fcnindex{slime-repl-delete-current-input}
 
2520
@fcnindex{slime-repl-end-of-defun}
 
2521
@c @fcnindex{slime-repl-eol}
 
2522
@c @fcnindex{slime-repl-eval-string}
 
2523
@c @fcnindex{slime-repl-find-prompt}
 
2524
@c @fcnindex{slime-repl-grab-old-input}
 
2525
@c @fcnindex{slime-repl-grab-old-output}
 
2526
@c @fcnindex{slime-repl-history-replace}
 
2527
@c @fcnindex{slime-repl-in-input-area-p}
 
2528
@c @fcnindex{slime-repl-input-line-beginning-position}
 
2529
@c @fcnindex{slime-repl-insert-prompt}
 
2530
@c @fcnindex{slime-repl-insert-result}
 
2531
@c @fcnindex{slime-repl-kill-input}
 
2532
@c @fcnindex{slime-repl-load-history}
 
2533
@c @fcnindex{slime-repl-matching-input-regexp}
 
2534
@c @fcnindex{slime-repl-merge-histories}
 
2535
@c @fcnindex{slime-repl-mode}
 
2536
@c @fcnindex{slime-repl-move-output-mark-before-prompt}
 
2537
@fcnindex{slime-repl-newline-and-indent}
 
2538
@fcnindex{slime-repl-next-input}
 
2539
@fcnindex{slime-repl-next-matching-input}
 
2540
@fcnindex{slime-repl-next-prompt}
 
2541
@c @fcnindex{slime-repl-position-in-history}
 
2542
@fcnindex{slime-repl-previous-input}
 
2543
@fcnindex{slime-repl-previous-matching-input}
 
2544
@fcnindex{slime-repl-previous-prompt}
 
2545
@c @fcnindex{slime-repl-read-break}
 
2546
@c @fcnindex{slime-repl-read-history}
 
2547
@c @fcnindex{slime-repl-read-history-filename}
 
2548
@c @fcnindex{slime-repl-read-string}
 
2549
@c @fcnindex{slime-repl-recenter-if-needed}
 
2550
@c @fcnindex{slime-repl-replace-input}
 
2551
@fcnindex{slime-repl-return}
 
2552
@c @fcnindex{slime-repl-return-string}
 
2553
@c @fcnindex{slime-repl-safe-load-history}
 
2554
@c @fcnindex{slime-repl-safe-save-merged-history}
 
2555
@c @fcnindex{slime-repl-save-all-histories}
 
2556
@c @fcnindex{slime-repl-save-history}
 
2557
@c @fcnindex{slime-repl-save-merged-history}
 
2558
@c @fcnindex{slime-repl-send-input}
 
2559
@c @fcnindex{slime-repl-send-string}
 
2560
@fcnindex{slime-repl-set-package}
 
2561
@c @fcnindex{slime-repl-show-abort}
 
2562
@c @fcnindex{slime-repl-show-maximum-output}
 
2563
@c @fcnindex{slime-repl-update-banner}
 
2564
@c @fcnindex{slime-reset}
 
2565
@c @fcnindex{slime-reset-repl-markers}
 
2566
@fcnindex{slime-restart-connection-at-point}
 
2567
@fcnindex{slime-restart-inferior-lisp}
 
2568
@c @fcnindex{slime-restart-sentinel}                    [internal]
 
2569
@c @fcnindex{slime-run-one-test}
 
2570
@c @fcnindex{slime-run-tests}
 
2571
@c @fcnindex{slime-run-when-idle}
 
2572
@c @fcnindex{slime-safe-encoding-p}
 
2573
@c @fcnindex{slime-same-line-p}
 
2574
@c @fcnindex{slime-save-some-lisp-buffers}
 
2575
@c @fcnindex{slime-scheme-mode-hook}
 
2576
@fcnindex{slime-scratch}
 
2577
@c @fcnindex{slime-scratch-buffer}
 
2578
@c @fcnindex{slime-search-call-site}
 
2579
@c @fcnindex{slime-search-method-location}
 
2580
@c @fcnindex{slime-search-property-change-fn}
 
2581
@c @fcnindex{slime-search-suppressed-forms}
 
2582
@c @fcnindex{slime-secret}
 
2583
@c @fcnindex{slime-select-connection}
 
2584
@fcnindex{slime-selector}
 
2585
@c @fcnindex{slime-send}
 
2586
@c @fcnindex{slime-send-sigint}
 
2587
@c @fcnindex{slime-set-connection-info}
 
2588
@c @fcnindex{slime-set-default-directory}
 
2589
@c @fcnindex{slime-set-inferior-process}
 
2590
@c @fcnindex{slime-set-package}
 
2591
@c @fcnindex{slime-set-state}
 
2592
@c @fcnindex{slime-set-truncate-lines}
 
2593
@c @fcnindex{slime-setup-command-hooks}
 
2594
@c @fcnindex{slime-setup-connection}
 
2595
@c @fcnindex{slime-setup-first-change-hook}
 
2596
@c @fcnindex{slime-severity-face}
 
2597
@c @fcnindex{slime-severity-label}
 
2598
@c @fcnindex{slime-sexp-at-point}
 
2599
@c @fcnindex{slime-sexp-at-point-or-error}
 
2600
@c @fcnindex{slime-shared-lisp-mode-hook}
 
2601
@c @fcnindex{slime-show-apropos}
 
2602
@c @fcnindex{slime-show-buffer-position}
 
2603
@c @fcnindex{slime-show-definitions}
 
2604
@c @fcnindex{slime-show-description}
 
2605
@c @fcnindex{slime-show-last-output}
 
2606
@c @fcnindex{slime-show-last-output-region}
 
2607
@c @fcnindex{slime-show-note}
 
2608
@c @fcnindex{slime-show-note-counts}
 
2609
@c @fcnindex{slime-show-source-location}
 
2610
@c @fcnindex{slime-show-xref}
 
2611
@c @fcnindex{slime-show-xrefs}
 
2612
@c @fcnindex{slime-simple-complete-symbol}
 
2613
@c @fcnindex{slime-simple-completions}
 
2614
@c @fcnindex{slime-sldb-level=}
 
2615
@fcnindex{slime-space}
 
2616
@c @fcnindex{slime-start-and-load}
 
2617
@c @fcnindex{slime-start-lisp}
 
2618
@c @fcnindex{slime-start-swank-server}
 
2619
@c @fcnindex{slime-swank-port-file}
 
2620
@fcnindex{slime-switch-to-output-buffer}
 
2621
@c @fcnindex{slime-switch-to-scratch-buffer}
 
2622
@c @fcnindex{slime-symbol-at-point}
 
2623
@c @fcnindex{slime-symbol-end-pos}
 
2624
@c @fcnindex{slime-symbol-name-at-point}
 
2625
@c @fcnindex{slime-symbol-start-pos}
 
2626
@c @fcnindex{slime-sync}
 
2627
@fcnindex{slime-sync-package-and-default-directory}
 
2628
@c @fcnindex{slime-sync-to-top-level}
 
2629
@fcnindex{slime-temp-buffer-quit}
 
2630
@c @fcnindex{slime-temporarily-highlight-note}
 
2631
@c @fcnindex{slime-test-expect}
 
2632
@c @fcnindex{slime-test-failure}
 
2633
@c @fcnindex{slime-test-heading}
 
2634
@c @fcnindex{slime-test-message}
 
2635
@c @fcnindex{slime-test-should-fail-p}
 
2636
@c @fcnindex{slime-thread-attach}
 
2637
@c @fcnindex{slime-thread-debug}
 
2638
@c @fcnindex{slime-thread-insert}
 
2639
@c @fcnindex{slime-thread-kill}
 
2640
@c @fcnindex{slime-thread-quit}
 
2641
@c @fcnindex{slime-to-feature-keyword}
 
2642
@c @fcnindex{slime-to-lisp-filename}
 
2643
@fcnindex{slime-toggle-profile-fdefinition}
 
2644
@fcnindex{slime-toggle-trace-fdefinition}
 
2645
@c @fcnindex{slime-trace-query}
 
2646
@c @fcnindex{slime-tree-at-point}
 
2647
@c @fcnindex{slime-tree-decoration}
 
2648
@c @fcnindex{slime-tree-default-printer}
 
2649
@c @fcnindex{slime-tree-delete}
 
2650
@c @fcnindex{slime-tree-for-note}
 
2651
@c @fcnindex{slime-tree-for-severity}
 
2652
@c @fcnindex{slime-tree-indent-item}
 
2653
@c @fcnindex{slime-tree-insert}
 
2654
@c @fcnindex{slime-tree-insert-decoration}
 
2655
@c @fcnindex{slime-tree-insert-list}
 
2656
@c @fcnindex{slime-tree-insert-references}
 
2657
@c @fcnindex{slime-tree-leaf-p}
 
2658
@c @fcnindex{slime-tree-print-with-references}
 
2659
@c @fcnindex{slime-tree-toggle}
 
2660
@c @fcnindex{slime-typeout-active-p}
 
2661
@c @fcnindex{slime-typeout-message}
 
2662
@fcnindex{slime-undefine-function}
 
2663
@c @fcnindex{slime-underline-color}
 
2664
@fcnindex{slime-unprofile-all}
 
2665
@fcnindex{slime-untrace-all}
 
2666
@c @fcnindex{slime-update-autodoc-cache}
 
2667
@fcnindex{slime-update-connection-list}
 
2668
@c @fcnindex{slime-update-indentation}                  ???
 
2669
@c @fcnindex{slime-update-modeline-package}
 
2670
@c @fcnindex{slime-urge-bytecode-recompile}
 
2671
@c @fcnindex{slime-use-sigint-for-interrupt}
 
2672
@c @fcnindex{slime-user-first-name}
 
2673
@c @fcnindex{slime-visit-source-path}
 
2674
@c @fcnindex{slime-wait-condition}
 
2675
@fcnindex{slime-who-binds}
 
2676
@fcnindex{slime-who-calls}
 
2677
@fcnindex{slime-who-macroexpands}
 
2678
@fcnindex{slime-who-references}
 
2679
@fcnindex{slime-who-sets}
 
2680
@fcnindex{slime-who-specializes}
 
2681
@c @fcnindex{slime-window-config-fingerprint}
 
2682
@c @fcnindex{slime-with-output-end-mark}
 
2683
@c @fcnindex{slime-with-rigid-indentation}
 
2684
@c @fcnindex{slime-write-string}
 
2685
@c @fcnindex{slime-xref}
 
2686
@c @fcnindex{slime-xref-buffer}
 
2687
@c @fcnindex{slime-xref-cleanup}
 
2688
@end table
 
2689
 
1614
2690
@bye