0.8.9.32:
authorRudi Schlatte <rudi@constantly.at>
Fri, 9 Apr 2004 16:04:48 +0000 (16:04 +0000)
committerRudi Schlatte <rudi@constantly.at>
Fri, 9 Apr 2004 16:04:48 +0000 (16:04 +0000)
* Documentation changes:

    - Document trace and require

    - Add variable index

    - Remove explicit links from @node lines, since makeinfo figures
      this out anyway and they would make automagic contrib/
      documentation inclusion harder.

    - add file TEXINFO-HINTS

* Documentation infractructure changes:

    - document functions etc. with package prefix; index without
      package prefix too (makeinfo seems to index the name with prefix
      without being asked, so we just lay back and enjoy it)

    - Move list-of-packages-to-extract-docstrings-from to Makefile

    - Escape Texinfo special characters in documentation bodies as well.

13 files changed:
doc/manual/Makefile
doc/manual/TEXINFO-HINTS [new file with mode: 0644]
doc/manual/backmatter.texinfo
doc/manual/beyond-ansi.texinfo
doc/manual/compiler.texinfo
doc/manual/debugger.texinfo
doc/manual/docstrings.lisp
doc/manual/docstrings.sh
doc/manual/efficiency.texinfo
doc/manual/ffi.texinfo
doc/manual/intro.texinfo
doc/manual/sbcl.texinfo
version.lisp-expr

index 48c5ec5..93f0be5 100644 (file)
@@ -8,9 +8,12 @@ PDFFILE=sbcl.pdf
 DVIFILE=sbcl.dvi
 INFOFILE=sbcl.info
 HTMLDIR=$(basename $(ROOTFILE))
 DVIFILE=sbcl.dvi
 INFOFILE=sbcl.info
 HTMLDIR=$(basename $(ROOTFILE))
-# The value of DOCSTRINGDIR has to end with a slash or you lose (it's
-# passed to Lisp's `pathname' function).
+# Place where generated documentation ends up. The value of
+# DOCSTRINGDIR has to end with a slash or you lose (it's passed to
+# Lisp's `pathname' function).
 DOCSTRINGDIR="docstrings/"
 DOCSTRINGDIR="docstrings/"
+# List of package names that documentation will be created for.
+PACKAGES=":COMMON-LISP :SB-ALIEN :SB-DEBUG :SB-EXT :SB-GRAY :SB-MOP :SB-PROFILE :SB-THREAD"
 
 
 ifeq ($(MAKEINFO),)
 
 
 ifeq ($(MAKEINFO),)
@@ -78,7 +81,7 @@ docstrings-stamp:
 
 .PHONY: clean
 clean: 
 
 .PHONY: clean
 clean: 
-       rm -f *~ *.bak *.orig \#*\# .\#* texput.log
+       rm -f *~ *.bak *.orig \#*\# .\#* texput.log *.fasl
        rm -rf $(HTMLDIR) $(DOCSTRINGDIR)
        rm -f $(PSFILE) $(PDFFILE) $(DVIFILE) html-stamp docstrings-stamp
        rm -f $(TMPFILES)
        rm -rf $(HTMLDIR) $(DOCSTRINGDIR)
        rm -f $(PSFILE) $(PDFFILE) $(DVIFILE) html-stamp docstrings-stamp
        rm -f $(TMPFILES)
diff --git a/doc/manual/TEXINFO-HINTS b/doc/manual/TEXINFO-HINTS
new file mode 100644 (file)
index 0000000..4bfcdcb
--- /dev/null
@@ -0,0 +1,14 @@
+-*- text -*-
+
+Some hints for editing the manual files.  Feel free to add anything
+that will save the next person some time.  Thanks!
+
+
+- There's no need for Next, Prev, etc. pointers in @node lines:
+  makeinfo will deduce these automatically when the line after @node
+  contains a sectioning command like @section, @subsection.  Hence,
+  texinfo-multiple-files-update should not be used either.
+
+- Don't create or update Menus by hand; use C-c C-u C-a
+  (texinfo-all-menus-update) instead.  (Doesn't work in sbcl.texinfo,
+  but this file is only changed when an entire chapter is added.)
index 061b214..c0cda39 100644 (file)
@@ -1,16 +1,22 @@
-@node Function Index, Concept Index, The Foreign Function Interface, Top
+@node Concept Index
+@comment  node-name,  next,  previous,  up
+@appendix Concept Index
+
+@printindex cp
+
+@node Function Index
 @comment  node-name,  next,  previous,  up
 @appendix Function Index
      
 @printindex fn
 
 @comment  node-name,  next,  previous,  up
 @appendix Function Index
      
 @printindex fn
 
-@node Concept Index, Colophon, Function Index, Top
+@node Variable Index
 @comment  node-name,  next,  previous,  up
 @comment  node-name,  next,  previous,  up
-@appendix Concept Index
-
-@printindex cp
+@appendix Variable Index
+     
+@printindex vr
 
 
-@node Colophon,  , Concept Index, Top
+@node Colophon
 @comment  node-name,  next,  previous,  up
 @unnumbered Colophon
 
 @comment  node-name,  next,  previous,  up
 @unnumbered Colophon
 
index c8f3abb..424217b 100644 (file)
@@ -1,4 +1,4 @@
-@node  Beyond The ANSI Standard, The Foreign Function Interface, Efficiency, Top
+@node  Beyond The ANSI Standard
 @comment  node-name,  next,  previous,  up
 @chapter Beyond The ANSI Standard
 
 @comment  node-name,  next,  previous,  up
 @chapter Beyond The ANSI Standard
 
@@ -14,7 +14,7 @@ violates the standard.
 * Extensions::                  
 @end menu
 
 * Extensions::                  
 @end menu
 
-@node Non-Conformance With The ANSI Standard, Idiosyncrasies, Beyond The ANSI Standard, Beyond The ANSI Standard
+@node Non-Conformance With The ANSI Standard
 @comment  node-name,  next,  previous,  up
 @section Non-Conformance With The ANSI Standard
 
 @comment  node-name,  next,  previous,  up
 @section Non-Conformance With The ANSI Standard
 
@@ -27,7 +27,7 @@ through the sbcl-help or sbcl-devel mailings lists.  For mailing list
 addresses, @ref{More SBCL Information}.
 
 
 addresses, @ref{More SBCL Information}.
 
 
-@node Idiosyncrasies, Extensions, Non-Conformance With The ANSI Standard, Beyond The ANSI Standard
+@node Idiosyncrasies
 @comment  node-name,  next,  previous,  up
 @section Idiosyncrasies
 
 @comment  node-name,  next,  previous,  up
 @section Idiosyncrasies
 
@@ -107,7 +107,7 @@ wrapped in @code{eval-when}, and ideally should be suppressed in that
 case, but still isn't as of SBCL 0.7.6.)
 
 
 case, but still isn't as of SBCL 0.7.6.)
 
 
-@node  Extensions,  , Idiosyncrasies, Beyond The ANSI Standard
+@node  Extensions
 @comment  node-name,  next,  previous,  up
 @section Extensions
 
 @comment  node-name,  next,  previous,  up
 @section Extensions
 
@@ -126,7 +126,7 @@ it still has quite a few.
 * Efficiency Hacks::            
 @end menu
 
 * Efficiency Hacks::            
 @end menu
 
-@node  Things Which Might Be In The Next ANSI Standard, Threading, Extensions, Extensions
+@node  Things Which Might Be In The Next ANSI Standard
 @comment  node-name,  next,  previous,  up
 @subsection Things Which Might Be In The Next ANSI Standard
 
 @comment  node-name,  next,  previous,  up
 @subsection Things Which Might Be In The Next ANSI Standard
 
@@ -171,7 +171,7 @@ requested order from a user-supplied primary method.
 @end itemize
 
 
 @end itemize
 
 
-@node  Threading, Support For Unix, Things Which Might Be In The Next ANSI Standard, Extensions
+@node  Threading
 @comment  node-name,  next,  previous,  up
 @subsection Threading (a.k.a Multiprocessing)
 
 @comment  node-name,  next,  previous,  up
 @subsection Threading (a.k.a Multiprocessing)
 
@@ -286,7 +286,7 @@ Lisp session makes a new POSIX session, so that pressing
 this has been found to be embarrassing.
 
 
 this has been found to be embarrassing.
 
 
-@node  Support For Unix, Customization Hooks for Users, Threading, Extensions
+@node  Support For Unix
 @comment  node-name,  next,  previous,  up
 @subsection Support For Unix
 
 @comment  node-name,  next,  previous,  up
 @subsection Support For Unix
 
@@ -304,44 +304,39 @@ file on input is also supported.
 
 @include fun-sb-ext-quit.texinfo
 
 
 @include fun-sb-ext-quit.texinfo
 
-@node  Customization Hooks for Users, Tools To Help Developers, Support For Unix, Extensions
+@node  Customization Hooks for Users
 @comment  node-name,  next,  previous,  up
 @subsection Customization Hooks for Users
 
 @comment  node-name,  next,  previous,  up
 @subsection Customization Hooks for Users
 
-The behaviour of @code{require} when called with only one argument is
-implementation-defined.  In SBCL it calls functions on the
-user-settable list @code{sb-ext:*module-provider-functions*} - see the
-@code{require} documentation string for details.
-
 The toplevel repl prompt may be customized, and the function
 that reads user input may be replaced completely.
 @c <!-- FIXME but I don't currently remember how -->
 
 The toplevel repl prompt may be customized, and the function
 that reads user input may be replaced completely.
 @c <!-- FIXME but I don't currently remember how -->
 
+The behaviour of @code{require} when called with only one argument is
+implementation-defined.  In SBCL, @code{require} behaves in the
+following way:
+
+@include fun-common-lisp-require.texinfo
+
+@include var-sb-ext-star-module-provider-functions-star.texinfo
+
 
 
-@node  Tools To Help Developers, Interface To Low-Level SBCL Implementation, Customization Hooks for Users, Extensions
+@node  Tools To Help Developers
 @comment  node-name,  next,  previous,  up
 @subsection Tools To Help Developers
 
 @comment  node-name,  next,  previous,  up
 @subsection Tools To Help Developers
 
-SBCL provides a profiler and other extensions to the ANSI
-@code{trace} facility. See the online function documentation for
-@code{trace} for more information.
+SBCL provides a profiler and other extensions to the ANSI @code{trace}
+facility.  For more information, see @ref{macro-common-lisp-trace}.
 
 The debugger supports a number of options. Its documentation is
 
 The debugger supports a number of options. Its documentation is
-accessed by typing @kbd{help} at the debugger prompt.
-@c <!-- FIXME:
-@c      A true debugger section in the manual would be good. Start
-@c      with CMU CL's debugger section, but remember:
-@c      * no QUIT command (TOPLEVEL restart instead)
-@c      * no GO command (CONTINUE restart instead)
-@c      * Limitations of the x86 port of the debugger should be 
-@c      documented or fixed where possible.
-@c      * Discuss TRACE and its unification with PROFILE. -->
+accessed by typing @kbd{help} at the debugger prompt.  @xref{The
+Debugger}.
 
 Documentation for @code{inspect} is accessed by typing @kbd{help} at
 the @code{inspect} prompt.
 
 
 
 Documentation for @code{inspect} is accessed by typing @kbd{help} at
 the @code{inspect} prompt.
 
 
-@node  Interface To Low-Level SBCL Implementation, Efficiency Hacks, Tools To Help Developers, Extensions
+@node  Interface To Low-Level SBCL Implementation
 @comment  node-name,  next,  previous,  up
 @subsection Interface To Low-Level SBCL Implementation
 
 @comment  node-name,  next,  previous,  up
 @subsection Interface To Low-Level SBCL Implementation
 
@@ -373,7 +368,7 @@ list.
 @end quotation
 
 
 @end quotation
 
 
-@node  Efficiency Hacks,  , Interface To Low-Level SBCL Implementation, Extensions
+@node  Efficiency Hacks
 @comment  node-name,  next,  previous,  up
 @subsection Efficiency Hacks
 
 @comment  node-name,  next,  previous,  up
 @subsection Efficiency Hacks
 
index 367f6f6..835a4d5 100644 (file)
@@ -1,4 +1,4 @@
-@node  The Compiler, The Debugger, Introduction, Top
+@node  The Compiler
 @comment  node-name,  next,  previous,  up
 @chapter The Compiler
 
 @comment  node-name,  next,  previous,  up
 @chapter The Compiler
 
@@ -17,7 +17,7 @@ separate that they have their own chapter, @ref{Efficiency}.
 * Open Coding and Inline Expansion::  
 @end menu
 
 * Open Coding and Inline Expansion::  
 @end menu
 
-@node  Error Messages, Handling of Types, The Compiler, The Compiler
+@node  Error Messages
 @comment  node-name,  next,  previous,  up
 @section Error Messages
 @cindex Error messages, Compiler
 @comment  node-name,  next,  previous,  up
 @section Error Messages
 @cindex Error messages, Compiler
@@ -50,7 +50,7 @@ The main problem with this program is that it is trying to add
 * Read Errors::                 
 @end menu
 
 * Read Errors::                 
 @end menu
 
-@node  The Parts of the Error Message, The Original and Actual Source, Error Messages, Error Messages
+@node  The Parts of the Error Message
 @comment  node-name,  next,  previous,  up
 @subsection The Parts of the Error Message
 
 @comment  node-name,  next,  previous,  up
 @subsection The Parts of the Error Message
 
@@ -189,7 +189,7 @@ intervene between the original source and the actual source, then the
 processing path will also be omitted.
 
 
 processing path will also be omitted.
 
 
-@node  The Original and Actual Source, Error Severity, The Parts of the Error Message, Error Messages
+@node  The Original and Actual Source
 @comment  node-name,  next,  previous,  up
 @subsection The Original and Actual Source
 
 @comment  node-name,  next,  previous,  up
 @subsection The Original and Actual Source
 
@@ -289,7 +289,7 @@ was applied. The innermost actual source form was the symbol
 explanation, so the compiler backed out one level.
 
 
 explanation, so the compiler backed out one level.
 
 
-@node  Error Severity, Errors During Macroexpansion, The Original and Actual Source, Error Messages
+@node  Error Severity
 @comment  node-name,  next,  previous,  up
 @subsection Error Severity
 @cindex Severity of compiler errors
 @comment  node-name,  next,  previous,  up
 @subsection Error Severity
 @cindex Severity of compiler errors
@@ -307,7 +307,7 @@ condition classes, typically hints about how efficiency might be
 improved.
 
 
 improved.
 
 
-@node  Errors During Macroexpansion, Read Errors, Error Severity, Error Messages
+@node  Errors During Macroexpansion
 @comment  node-name,  next,  previous,  up
 @subsection Errors During Macroexpansion
 @cindex Macroexpansion, errors during
 @comment  node-name,  next,  previous,  up
 @subsection Errors During Macroexpansion
 @cindex Macroexpansion, errors during
@@ -336,7 +336,7 @@ DO step variable is not a symbol: (ATOM CURRENT)
 @end example
 
 
 @end example
 
 
-@node  Read Errors,  , Errors During Macroexpansion, Error Messages
+@node  Read Errors
 @comment  node-name,  next,  previous,  up
 @subsection Read Errors
 @cindex Read errors, compiler
 @comment  node-name,  next,  previous,  up
 @subsection Read Errors
 @cindex Read errors, compiler
@@ -394,7 +394,7 @@ offending character position and gives up on the entire source file.
 @c      _ -->
 
 
 @c      _ -->
 
 
-@node  Handling of Types, Compiler Policy, Error Messages, The Compiler
+@node  Handling of Types
 @comment  node-name,  next,  previous,  up
 @section The Compiler's Handling of Types
 
 @comment  node-name,  next,  previous,  up
 @section The Compiler's Handling of Types
 
@@ -434,7 +434,7 @@ types.
 @end menu
 
 
 @end menu
 
 
-@node  Type Errors at Compile Time, Precise Type Checking, Handling of Types, Handling of Types
+@node  Type Errors at Compile Time
 @comment  node-name,  next,  previous,  up
 @subsection Type Errors at Compile Time
 @cindex Compile time type errors
 @comment  node-name,  next,  previous,  up
 @subsection Type Errors at Compile Time
 @cindex Compile time type errors
@@ -491,7 +491,7 @@ can be used in a local declaration to inhibit type warnings in a code
 fragment that has spurious warnings.
 
 
 fragment that has spurious warnings.
 
 
-@node  Precise Type Checking, Weakened Type Checking, Type Errors at Compile Time, Handling of Types
+@node  Precise Type Checking
 @comment  node-name,  next,  previous,  up
 @subsection Precise Type Checking
 @cindex Precise type checking
 @comment  node-name,  next,  previous,  up
 @subsection Precise Type Checking
 @cindex Precise type checking
@@ -539,7 +539,7 @@ precisely as possible. This often involves the use of @code{or},
 @code{member}, and other list-style type specifiers.
 
 
 @code{member}, and other list-style type specifiers.
 
 
-@node Weakened Type Checking, Getting Existing Programs to Run, Precise Type Checking, Handling of Types
+@node Weakened Type Checking
 @comment  node-name,  next,  previous,  up
 @subsection Weakened Type Checking
 @cindex Weakened type checking
 @comment  node-name,  next,  previous,  up
 @subsection Weakened Type Checking
 @cindex Weakened type checking
@@ -558,7 +558,7 @@ option believe any or all type declarations with either partial or
 nonexistent runtime checking.
 
 
 nonexistent runtime checking.
 
 
-@node  Getting Existing Programs to Run, Implementation Limitations, Weakened Type Checking, Handling of Types
+@node  Getting Existing Programs to Run
 @comment  node-name,  next,  previous,  up
 @subsection Getting Existing Programs to Run
 @cindex Existing programs, to run
 @comment  node-name,  next,  previous,  up
 @subsection Getting Existing Programs to Run
 @cindex Existing programs, to run
@@ -704,7 +704,7 @@ variable in the loop body.
 @c <!-- FIXME: <xref>ND-variables, once we crib the text from the 
 @c      CMU CL manual. -->
 
 @c <!-- FIXME: <xref>ND-variables, once we crib the text from the 
 @c      CMU CL manual. -->
 
-@node  Implementation Limitations,  , Getting Existing Programs to Run, Handling of Types
+@node  Implementation Limitations
 @comment  node-name,  next,  previous,  up
 @subsection Implementation Limitations
 
 @comment  node-name,  next,  previous,  up
 @subsection Implementation Limitations
 
@@ -740,7 +740,7 @@ These are important bugs, but are not necessarily easy to fix, so they
 may, alas, remain in the system for a while.
 
 
 may, alas, remain in the system for a while.
 
 
-@node Compiler Policy, Open Coding and Inline Expansion, Handling of Types, The Compiler
+@node Compiler Policy
 @comment  node-name,  next,  previous,  up
 @section Compiler Policy
 
 @comment  node-name,  next,  previous,  up
 @section Compiler Policy
 
@@ -942,7 +942,7 @@ is to slow the program by causing cache misses or swapping.
 @c      _-->
 
 
 @c      _-->
 
 
-@node  Open Coding and Inline Expansion,  , Compiler Policy, The Compiler
+@node  Open Coding and Inline Expansion
 @comment  node-name,  next,  previous,  up
 @section Open Coding and Inline Expansion
 @cindex Open-coding
 @comment  node-name,  next,  previous,  up
 @section Open Coding and Inline Expansion
 @cindex Open-coding
index 3713a9a..040c49c 100644 (file)
@@ -1,4 +1,4 @@
-@node  The Debugger, Efficiency, The Compiler, Top
+@node  The Debugger
 @comment  node-name,  next,  previous,  up
 @chapter The Debugger
 @cindex Debugger
 @comment  node-name,  next,  previous,  up
 @chapter The Debugger
 @cindex Debugger
@@ -37,7 +37,7 @@ indistinguishable from interpreted code debugging.
 * Function Tracing::            
 @end menu
 
 * Function Tracing::            
 @end menu
 
-@node  Starting the Debugger, The Debugger Command Loop, The Debugger, The Debugger
+@node  Starting the Debugger
 @comment  node-name,  next,  previous,  up
 @section Starting the Debugger
 
 @comment  node-name,  next,  previous,  up
 @section Starting the Debugger
 
@@ -79,7 +79,7 @@ top-level.  After printing its banner, the debugger prints the current
 frame and the debugger prompt.
 
 
 frame and the debugger prompt.
 
 
-@node  The Debugger Command Loop, Controlling Printing in the Debugger, Starting the Debugger, The Debugger
+@node  The Debugger Command Loop
 @comment  node-name,  next,  previous,  up
 @section The Debugger Command Loop
 @cindex Evaluation, in the debugger
 @comment  node-name,  next,  previous,  up
 @section The Debugger Command Loop
 @cindex Evaluation, in the debugger
@@ -117,7 +117,7 @@ current frame.  For more information on debugger variable access, see
 @ref{Variable Access}.
 
 
 @ref{Variable Access}.
 
 
-@node Controlling Printing in the Debugger, Stack Frames, The Debugger Command Loop, The Debugger
+@node Controlling Printing in the Debugger
 @comment  node-name,  next,  previous,  up
 @section Controlling Printing in the Debugger
 
 @comment  node-name,  next,  previous,  up
 @section Controlling Printing in the Debugger
 
@@ -140,7 +140,7 @@ initially.
 
 @end defvr
 
 
 @end defvr
 
-@node  Stack Frames, Variable Access, Controlling Printing in the Debugger, The Debugger
+@node  Stack Frames
 @comment  node-name,  next,  previous,  up
 @section Stack Frames
 @cindex Stack frames
 @comment  node-name,  next,  previous,  up
 @section Stack Frames
 @cindex Stack frames
@@ -176,7 +176,7 @@ another function, or because of an interrupt or error.
 * Unknown Locations and Interrupts::  
 @end menu
 
 * Unknown Locations and Interrupts::  
 @end menu
 
-@node  Stack Motion, How Arguments are Printed, Stack Frames, Stack Frames
+@node  Stack Motion
 @comment  node-name,  next,  previous,  up
 @subsection Stack Motion
 
 @comment  node-name,  next,  previous,  up
 @subsection Stack Motion
 
@@ -209,7 +209,7 @@ was entered.
 @end deffn
 
 
 @end deffn
 
 
-@node  How Arguments are Printed, Function Names, Stack Motion, Stack Frames
+@node  How Arguments are Printed
 @comment  node-name,  next,  previous,  up
 @subsection How Arguments are Printed
 
 @comment  node-name,  next,  previous,  up
 @subsection How Arguments are Printed
 
@@ -293,7 +293,7 @@ Printing of argument values is controlled by
 the Debugger}.
 
 
 the Debugger}.
 
 
-@node  Function Names, Funny Frames, How Arguments are Printed, Stack Frames
+@node  Function Names
 @comment  node-name,  next,  previous,  up
 @subsection Function Names
 
 @comment  node-name,  next,  previous,  up
 @subsection Function Names
 
@@ -320,7 +320,7 @@ that encloses or expanded into the lambda, or the outermost enclosing
 form if there is no @code{def@var{mumble}}.
 
 
 form if there is no @code{def@var{mumble}}.
 
 
-@node  Funny Frames, Debug Tail Recursion, Function Names, Stack Frames
+@node  Funny Frames
 @comment  node-name,  next,  previous,  up
 @subsection Funny Frames
 @cindex External entry points
 @comment  node-name,  next,  previous,  up
 @subsection Funny Frames
 @cindex External entry points
@@ -385,7 +385,7 @@ are present in the debugger, see @ref{Debugger Policy Control}.
 @c @ref{open-coding}
 
 
 @c @ref{open-coding}
 
 
-@node  Debug Tail Recursion, Unknown Locations and Interrupts, Funny Frames, Stack Frames
+@node  Debug Tail Recursion
 @comment  node-name,  next,  previous,  up
 @subsection Debug Tail Recursion
 @cindex Tail recursion
 @comment  node-name,  next,  previous,  up
 @subsection Debug Tail Recursion
 @cindex Tail recursion
@@ -435,7 +435,7 @@ optimization quality is greater than @code{2}.
 @c For a more thorough discussion of tail recursion, @ref{tail-recursion}.
 
 
 @c For a more thorough discussion of tail recursion, @ref{tail-recursion}.
 
 
-@node Unknown Locations and Interrupts,  , Debug Tail Recursion, Stack Frames
+@node Unknown Locations and Interrupts
 @comment  node-name,  next,  previous,  up
 @subsection Unknown Locations and Interrupts
 @cindex Unknown code locations
 @comment  node-name,  next,  previous,  up
 @subsection Unknown Locations and Interrupts
 @cindex Unknown code locations
@@ -483,7 +483,7 @@ when the real problem is that the current stack frame can't be
 located.  If this happens, return from the interrupt and try again.
 
 
 located.  If this happens, return from the interrupt and try again.
 
 
-@node Variable Access, Source Location Printing, Stack Frames, The Debugger
+@node Variable Access
 @comment  node-name,  next,  previous,  up
 @section Variable Access
 @cindex Debug variables
 @comment  node-name,  next,  previous,  up
 @section Variable Access
 @cindex Debug variables
@@ -545,7 +545,7 @@ that must unambiguously complete to the name of a valid variable.
 * Note On Lexical Variable Access::  
 @end menu
 
 * Note On Lexical Variable Access::  
 @end menu
 
-@node Variable Value Availability, Note On Lexical Variable Access, Variable Access, Variable Access
+@node Variable Value Availability
 @comment  node-name,  next,  previous,  up
 @subsection Variable Value Availability
 @cindex Availability of debug variables
 @comment  node-name,  next,  previous,  up
 @subsection Variable Value Availability
 @cindex Availability of debug variables
@@ -628,7 +628,7 @@ values to be available, and even then, values are only available at
 known locations.
 
 
 known locations.
 
 
-@node  Note On Lexical Variable Access,  , Variable Value Availability, Variable Access
+@node  Note On Lexical Variable Access
 @comment  node-name,  next,  previous,  up
 @subsection Note On Lexical Variable Access
 
 @comment  node-name,  next,  previous,  up
 @subsection Note On Lexical Variable Access
 
@@ -647,7 +647,7 @@ proved the variable could never take on.  This may result in bad
 things happening.
 
 
 things happening.
 
 
-@node Source Location Printing, Debugger Policy Control, Variable Access, The Debugger
+@node Source Location Printing
 @comment  node-name,  next,  previous,  up
 @section Source Location Printing
 @cindex Source location printing, debugger
 @comment  node-name,  next,  previous,  up
 @section Source Location Printing
 @cindex Source location printing, debugger
@@ -726,7 +726,7 @@ print:
 * Source Location Availability::  
 @end menu
 
 * Source Location Availability::  
 @end menu
 
-@node  How the Source is Found, Source Location Availability, Source Location Printing, Source Location Printing
+@node  How the Source is Found
 @comment  node-name,  next,  previous,  up
 @subsection How the Source is Found
 
 @comment  node-name,  next,  previous,  up
 @subsection How the Source is Found
 
@@ -783,7 +783,7 @@ into something different, or if a read-macro ever returns the same
 @code{##} in perverted ways, you don't need to worry about this.
 
 
 @code{##} in perverted ways, you don't need to worry about this.
 
 
-@node  Source Location Availability,  , How the Source is Found, Source Location Printing
+@node  Source Location Availability
 @comment  node-name,  next,  previous,  up
 @subsection Source Location Availability
 @cindex Debug optimization quality
 @comment  node-name,  next,  previous,  up
 @subsection Source Location Availability
 @cindex Debug optimization quality
@@ -835,7 +835,7 @@ next conditional (but watch out because the compiler may have changed the
 program on you.)
 
 
 program on you.)
 
 
-@node Debugger Policy Control, Exiting Commands, Source Location Printing, The Debugger
+@node Debugger Policy Control
 @comment  node-name,  next,  previous,  up
 @section Debugger Policy Control
 @cindex Policy, debugger
 @comment  node-name,  next,  previous,  up
 @section Debugger Policy Control
 @cindex Policy, debugger
@@ -923,7 +923,7 @@ but the call is to an optimized local version of the function, not to
 the original function.
 
 
 the original function.
 
 
-@node  Exiting Commands, Information Commands, Debugger Policy Control, The Debugger
+@node  Exiting Commands
 @comment  node-name,  next,  previous,  up
 @section Exiting Commands
 
 @comment  node-name,  next,  previous,  up
 @section Exiting Commands
 
@@ -958,7 +958,7 @@ is of the same type as SBCL expects the stack frame to return.
 @end deffn
 
 
 @end deffn
 
 
-@node  Information Commands, Function Tracing, Exiting Commands, The Debugger
+@node  Information Commands
 @comment  node-name,  next,  previous,  up
 @section Information Commands
 
 @comment  node-name,  next,  previous,  up
 @section Information Commands
 
@@ -1137,7 +1137,7 @@ Displays all the frames from the current to the bottom.  Only shows
 @c @end example
 
 
 @c @end example
 
 
-@node  Function Tracing,  , Information Commands, The Debugger
+@node  Function Tracing
 @comment  node-name,  next,  previous,  up
 @section Function Tracing
 @cindex Tracing
 @comment  node-name,  next,  previous,  up
 @section Function Tracing
 @cindex Tracing
@@ -1148,16 +1148,17 @@ their results whenever they are called.  Options allow conditional
 printing of the trace information and conditional breakpoints on
 function entry or exit.
 
 printing of the trace information and conditional breakpoints on
 function entry or exit.
 
-@comment rudi 2004-03-26: The docstring for `trace' is quite comprehensive,
-@comment so refer to it (see also ``OAOO'')
-The docstrings for @code{trace} and @code{untrace} explain SBCL's
-tracing facility.
+@include macro-common-lisp-trace.texinfo
 
 
-@comment FIXME rudi 2004-03-26: revive the documentation of variables
-@comment describing trace behaviour: *trace-encapsulate-default*,
-@comment *max-trace-indentation* and friends.  Some of these are
-@comment mentioned (perhaps under different names) in the cmucl
-@comment manual.
+@include macro-common-lisp-untrace.texinfo
+
+@include var-sb-debug-star-trace-indentation-step-star.texinfo
+
+@include var-sb-debug-star-max-trace-indentation-star.texinfo
+
+@include var-sb-debug-star-trace-encapsulate-default-star.texinfo
+
+@include var-sb-debug-star-trace-values-star.texinfo
 
 @comment FIXME rudi 2004-03-26: encapsulate is (per TODO file as of
 @comment 0.8.9) in a state of flux.  When it's sorted out, revive the
 
 @comment FIXME rudi 2004-03-26: encapsulate is (per TODO file as of
 @comment 0.8.9) in a state of flux.  When it's sorted out, revive the
index 5e6f39d..717c9eb 100644 (file)
@@ -1,9 +1,16 @@
 ;;;; -*- lisp -*-
 
 ;;;; -*- lisp -*-
 
-;;;; (c) 2004 Rudi Schlatte <rudi@constantly.at>
-;;;; Use it as you wish, send changes back to me if you like.
+;;;; A docstring extractor for the sbcl manual.  Creates
+;;;; @include-ready documentation from the docstrings of exported
+;;;; symbols of specified packages.
+
+;;;; This software is part of the SBCL software system. SBCL is in the
+;;;; public domain and is provided with absolutely no warranty. See
+;;;; the COPYING file for more information.
+
+;;;; Written by Rudi Schlatte <rudi@constantly.at>
+
 
 
-#+sbcl
 (eval-when (:compile-toplevel :load-toplevel :execute)
   (require 'sb-introspect))
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
   (require 'sb-introspect))
 
              (package "package")
              (setf "setf-expander")
              (structure "struct")
              (package "package")
              (setf "setf-expander")
              (structure "struct")
-             (type (let ((class (find-class symbol)))
+             (type (let ((class (ignore-errors (find-class symbol))))
                     (etypecase class
                       (structure-class "struct")
                       (standard-class "class")
                     (etypecase class
                       (structure-class "struct")
                       (standard-class "class")
   (ecase kind
     (compiler-macro "@deffn {Compiler Macro}")
     (function (cond
   (ecase kind
     (compiler-macro "@deffn {Compiler Macro}")
     (function (cond
-               ((macro-function symbol) "@defmac")
-               ((special-operator-p symbol) "@defspec")
-               (t "@defun")))
+               ((macro-function symbol) "@deffn Macro")
+               ((special-operator-p symbol) "@deffn {Special Operator}")
+               (t "@deffn Function")))
     (method-combination "@deffn {Method Combination}")
     (method-combination "@deffn {Method Combination}")
-    (package "@deffn Package")
+    (package "@defvr Package")
     (setf "@deffn {Setf Expander}")
     (structure "@deftp Structure")
     (setf "@deffn {Setf Expander}")
     (structure "@deftp Structure")
-    (type (let ((class (find-class symbol)))
+    (type (let ((class (ignore-errors (find-class symbol))))
            (etypecase class
              (structure-class "@deftp Structure")
              (standard-class "@deftp Class")
            (etypecase class
              (structure-class "@deftp Structure")
              (standard-class "@deftp Class")
              ((or built-in-class null) "@deftp Type"))))
     (variable (if (constantp symbol)
                   "@defvr Constant"
              ((or built-in-class null) "@deftp Type"))))
     (variable (if (constantp symbol)
                   "@defvr Constant"
-                  "@defvar"))))
+                  "@defvr Variable"))))
+
+(defun def-index (symbol kind)
+  (case kind
+    ((compiler-macro function method-combination)
+     (format nil "@findex ~A" (texinfoify symbol)))
+    ((structure type)
+     (format nil "@tindex ~A" (texinfoify symbol)))
+    (variable
+     (format nil "@vindex ~A" (texinfoify symbol)))))
 
 (defparameter *arglist-keywords*
   '(&allow-other-keys &aux &body &environment &key &optional &rest &whole))
 
 (defparameter *arglist-keywords*
   '(&allow-other-keys &aux &body &environment &key &optional &rest &whole))
       (list
        (format s "(~{~A~^ ~})" (mapcar #'texinfoify-arglist-part part))))))
 
       (list
        (format s "(~{~A~^ ~})" (mapcar #'texinfoify-arglist-part part))))))
 
-(defun def-rest (symbol kind)
+(defun def-arglist (symbol kind)
   (case kind
     (function
      (format nil "~{~A~^ ~}" (mapcar #'texinfoify-arglist-part
                                      (argument-list symbol))))))
 
 (defun def-end (symbol kind)
   (case kind
     (function
      (format nil "~{~A~^ ~}" (mapcar #'texinfoify-arglist-part
                                      (argument-list symbol))))))
 
 (defun def-end (symbol kind)
+  (declare (ignore symbol))
   (ecase kind
   (ecase kind
-    (compiler-macro "@end deffn")
-    (function (cond
-               ((macro-function symbol) "@end defmac")
-               ((special-operator-p symbol) "@end defspec")
-               (t "@end defun")))
-    (method-combination "@end deffn")
-    (package "@end deffn")
-    (setf "@end deffn")
-    (type "@end deftp")
-    (variable (if (constantp symbol)
-                  "@end defvr"
-                  "@defvar"))))
+    ((compiler-macro function method-combination setf) "@end deffn")
+    ((package variable) "@end defvr")
+    ((structure type) "@end deftp"))
+  )
 
 (defun make-info-file (package &optional filename)
   "Create a file containing all available documentation for the
 
 (defun make-info-file (package &optional filename)
   "Create a file containing all available documentation for the
     (with-open-file (out filename :direction :output
                          :if-does-not-exist :create :if-exists :supersede)
       (loop for (symbol kind docstring) in docs
     (with-open-file (out filename :direction :output
                          :if-does-not-exist :create :if-exists :supersede)
       (loop for (symbol kind docstring) in docs
-           do (format out "~&@anchor{~A}~%~A ~A~@[ ~A~]~%~A~%~A~%~%"
+           do (format out "~&@anchor{~A}~%~A ~A:~A~@[ ~A~]~%~A~&~A~%~A~%~%"
                       (unique-name symbol package kind)
                       (def-begin symbol kind)
                       (unique-name symbol package kind)
                       (def-begin symbol kind)
+                      (texinfoify (package-name package))
                       (texinfoify symbol)
                       (texinfoify symbol)
-                      (def-rest symbol kind)
-                      docstring
+                      (def-arglist symbol kind)
+                      (def-index symbol kind)
+                      (texinfoify docstring)
                       (def-end symbol kind))))
     filename))
 
                       (def-end symbol kind))))
     filename))
 
                               directory)
                              :direction :output
                              :if-does-not-exist :create :if-exists :supersede)
                               directory)
                              :direction :output
                              :if-does-not-exist :create :if-exists :supersede)
-              (format out "~&@anchor{~A}~%~A ~A~@[ ~A~]~%~A~%~A~%~%"
+              (format out "~&@anchor{~A}~%~A ~A:~A~@[ ~A~]~%~A~&~A~%~A~%~%"
                       (unique-name symbol package kind)
                       (def-begin symbol kind)
                       (unique-name symbol package kind)
                       (def-begin symbol kind)
+                      (texinfoify (package-name package))
                       (texinfoify symbol)
                       (texinfoify symbol)
-                      (def-rest symbol kind)
-                      docstring
+                      (def-arglist symbol kind)
+                      (def-index symbol kind)
+                      (texinfoify docstring)
                       (def-end symbol kind)))))
     directory))
                       (def-end symbol kind)))))
     directory))
index 4b499a9..e85747c 100644 (file)
@@ -22,13 +22,14 @@ else
 SBCL="${1:-`which sbcl`}"
 fi
 
 SBCL="${1:-`which sbcl`}"
 fi
 
-# List of package names that documentation will be created for.
-PACKAGES=":SB-ALIEN :SB-EXT :SB-GRAY :SB-MOP :SB-PROFILE :SB-THREAD"
-
 # Output directory.  This has to end with a slash (it's interpreted by
 # Output directory.  This has to end with a slash (it's interpreted by
-# Lisp's `pathname' function) or you lose.
+# Lisp's `pathname' function) or you lose.  This is normally set from
+# Makefile.
 DOCSTRINGDIR="${DOCSTRINGDIR:-docstrings/}"
 
 DOCSTRINGDIR="${DOCSTRINGDIR:-docstrings/}"
 
+# List of package names that documentation will be created for.  This
+# is normally set from Makefile.
+PACKAGES="${PACKAGES:-:COMMON-LISP :SB-ALIEN :SB-DEBUG :SB-EXT :SB-GRAY :SB-MOP :SB-PROFILE :SB-THREAD}"
 
 echo /creating docstring snippets from SBCL=\'$SBCL\' for packages \'$PACKAGES\'
 echo "(progn (load \"docstrings.lisp\") (docstrings-to-texinfo \"$DOCSTRINGDIR\" $PACKAGES) (sb-ext:quit))" | $SBCL --noinform --sysinit /dev/null --userinit /dev/null --noprint --disable-debugger
 
 echo /creating docstring snippets from SBCL=\'$SBCL\' for packages \'$PACKAGES\'
 echo "(progn (load \"docstrings.lisp\") (docstrings-to-texinfo \"$DOCSTRINGDIR\" $PACKAGES) (sb-ext:quit))" | $SBCL --noinform --sysinit /dev/null --userinit /dev/null --noprint --disable-debugger
index 7559abf..775ac4f 100644 (file)
@@ -1,4 +1,4 @@
-@node Efficiency, Beyond The ANSI Standard, The Debugger, Top
+@node Efficiency
 @comment  node-name,  next,  previous,  up
 @chapter Efficiency
 
 @comment  node-name,  next,  previous,  up
 @chapter Efficiency
 
@@ -122,7 +122,7 @@ examples (some straightforward, some less so).
 * Modular arithmetic::          
 @end menu
 
 * Modular arithmetic::          
 @end menu
 
-@node  Dynamic-extent allocation, Modular arithmetic, Efficiency, Efficiency
+@node  Dynamic-extent allocation
 @comment  node-name,  next,  previous,  up
 @section Dynamic-extent allocation
 @cindex Dynamic-extent declaration
 @comment  node-name,  next,  previous,  up
 @section Dynamic-extent allocation
 @cindex Dynamic-extent declaration
@@ -197,7 +197,7 @@ closure, even when the closure is not declared @code{dynamic-extent}.
 
 @end itemize
 
 
 @end itemize
 
-@node  Modular arithmetic,  , Dynamic-extent allocation, Efficiency
+@node  Modular arithmetic
 @comment  node-name,  next,  previous,  up
 @section Modular arithmetic
 @cindex Modular arithmetic
 @comment  node-name,  next,  previous,  up
 @section Modular arithmetic
 @cindex Modular arithmetic
index 68d5cce..feed6a8 100644 (file)
@@ -1,4 +1,4 @@
-@node    The Foreign Function Interface, Function Index, Beyond The ANSI Standard, Top
+@node    The Foreign Function Interface
 @comment  node-name,  next,  previous,  up
 @chapter The Foreign Function Interface
 
 @comment  node-name,  next,  previous,  up
 @chapter The Foreign Function Interface
 
@@ -29,7 +29,7 @@ notably in the name of the @code{SB-ALIEN} package.
 * Step-By-Step Example of the Foreign Function Interface::  
 @end menu
 
 * Step-By-Step Example of the Foreign Function Interface::  
 @end menu
 
-@node  Introduction to the Foreign Function Interface, Foreign Types, The Foreign Function Interface, The Foreign Function Interface
+@node  Introduction to the Foreign Function Interface
 @comment  node-name,  next,  previous,  up
 @section Introduction to the Foreign Function Interface
 @c AKA "Introduction to Aliens" in the CMU CL manual
 @comment  node-name,  next,  previous,  up
 @section Introduction to the Foreign Function Interface
 @c AKA "Introduction to Aliens" in the CMU CL manual
@@ -79,7 +79,7 @@ raw pointer to the foreign data within an @code{alien-value} object.
 The type language and operations on foreign types are
 intentionally similar to those of the C language.
 
 The type language and operations on foreign types are
 intentionally similar to those of the C language.
 
-@node  Foreign Types, Operations On Foreign Values, Introduction to the Foreign Function Interface, The Foreign Function Interface
+@node  Foreign Types
 @comment  node-name,  next,  previous,  up
 @section Foreign Types
 @c AKA "Alien Types" in the CMU CL manual
 @comment  node-name,  next,  previous,  up
 @section Foreign Types
 @c AKA "Alien Types" in the CMU CL manual
@@ -109,7 +109,7 @@ has the corresponding SBCL @acronym{FFI} type
 * Foreign Type Specifiers::     
 @end menu
 
 * Foreign Type Specifiers::     
 @end menu
 
-@node  Defining Foreign Types, Foreign Types and Lisp Types, Foreign Types, Foreign Types
+@node  Defining Foreign Types
 @comment  node-name,  next,  previous,  up
 @subsection Defining Foreign Types
 
 @comment  node-name,  next,  previous,  up
 @subsection Defining Foreign Types
 
@@ -127,7 +127,7 @@ An anonymous structure or union type is specified by using the name
 inherently named, but can be given named abbreviations using the
 @code{define-alien-type} macro.
 
 inherently named, but can be given named abbreviations using the
 @code{define-alien-type} macro.
 
-@node  Foreign Types and Lisp Types, Foreign Type Specifiers, Defining Foreign Types, Foreign Types
+@node  Foreign Types and Lisp Types
 @comment  node-name,  next,  previous,  up
 @subsection Foreign Types and Lisp Types
 
 @comment  node-name,  next,  previous,  up
 @subsection Foreign Types and Lisp Types
 
@@ -153,7 +153,7 @@ to Lisp floats.  When @code{type-of} is called on an alien value that
 is not automatically converted to a Lisp value, then it will return an
 @code{alien} type specifier.
 
 is not automatically converted to a Lisp value, then it will return an
 @code{alien} type specifier.
 
-@node  Foreign Type Specifiers,  , Foreign Types and Lisp Types, Foreign Types
+@node  Foreign Type Specifiers
 @comment  node-name,  next,  previous,  up
 @subsection Foreign Type Specifiers
 
 @comment  node-name,  next,  previous,  up
 @subsection Foreign Type Specifiers
 
@@ -323,7 +323,7 @@ specifiers as foreign type specifiers: @code{sb-alien:char},
 
 @end itemize
 
 
 @end itemize
 
-@node  Operations On Foreign Values, Foreign Variables, Foreign Types, The Foreign Function Interface
+@node  Operations On Foreign Values
 @comment  node-name,  next,  previous,  up
 @section Operations On Foreign Values
 @c AKA "Alien Operations" in the CMU CL manual
 @comment  node-name,  next,  previous,  up
 @section Operations On Foreign Values
 @c AKA "Alien Operations" in the CMU CL manual
@@ -338,11 +338,12 @@ to dynamically allocate and free foreign variables.
 * Foreign Dynamic Allocation::  
 @end menu
 
 * Foreign Dynamic Allocation::  
 @end menu
 
-@node  Accessing Foreign Values, Coercing Foreign Values, Operations On Foreign Values, Operations On Foreign Values
+@node  Accessing Foreign Values
 @comment  node-name,  next,  previous,  up
 @subsection Accessing Foreign Values
 
 @defun sb-alien:deref @var{pointer-or-array} &rest @var{indices}
 @comment  node-name,  next,  previous,  up
 @subsection Accessing Foreign Values
 
 @defun sb-alien:deref @var{pointer-or-array} &rest @var{indices}
+@findex deref
 
 The @code{sb-alien:deref} function returns the value pointed to by a
 foreign pointer, or the value of a foreign array element. When
 
 The @code{sb-alien:deref} function returns the value pointed to by a
 foreign pointer, or the value of a foreign array element. When
@@ -352,11 +353,11 @@ the size of the type pointed to. When dereferencing an array, the
 number of indices must be the same as the number of dimensions in the
 array type. @code{deref} can be set with @code{setf} to assign a new
 value.
 number of indices must be the same as the number of dimensions in the
 array type. @code{deref} can be set with @code{setf} to assign a new
 value.
-
 @end defun
 
 @defun sb-alien:slot @var{struct-or-union} &rest @var{slot-names}
 @end defun
 
 @defun sb-alien:slot @var{struct-or-union} &rest @var{slot-names}
-  
+@findex slot
+
 The @code{sb-alien:slot} function extracts the value of the slot named
 @var{slot-name} from a foreign @code{struct} or @code{union}. If
 @var{struct-or-union} is a pointer to a structure or union, then it is
 The @code{sb-alien:slot} function extracts the value of the slot named
 @var{slot-name} from a foreign @code{struct} or @code{union}. If
 @var{struct-or-union} is a pointer to a structure or union, then it is
@@ -378,12 +379,14 @@ used with caution; corrupting the Lisp heap or other memory with
 @acronym{SAP}s is trivial.
 
 @defun sb-sys:int-sap @var{machine-address}
 @acronym{SAP}s is trivial.
 
 @defun sb-sys:int-sap @var{machine-address}
+@findex int-sap
 
 Creates a @acronym{SAP} pointing at the virtual address
 @var{machine-address}.
 @end defun
 
 @defun sb-sys:sap-ref-32 @var{sap} @var{offset}
 
 Creates a @acronym{SAP} pointing at the virtual address
 @var{machine-address}.
 @end defun
 
 @defun sb-sys:sap-ref-32 @var{sap} @var{offset}
+@findex sap-ref-32
 
 Access the value of the memory location at @var{offset} bytes from
 @var{sap}.  This form may also be used with @code{setf} to alter the
 
 Access the value of the memory location at @var{offset} bytes from
 @var{sap}.  This form may also be used with @code{setf} to alter the
@@ -391,6 +394,7 @@ memory at that location.
 @end defun
 
 @defun sb-sys:sap= @var{sap1} @var{sap2}
 @end defun
 
 @defun sb-sys:sap= @var{sap1} @var{sap2}
+@findex sap=
 
 Compare @var{sap1} and @var{sap2} for equality.
 @end defun
 
 Compare @var{sap1} and @var{sap2} for equality.
 @end defun
@@ -404,12 +408,13 @@ use @code{apropos} and @code{describe} for more details
 @end lisp
 
 
 @end lisp
 
 
-@node  Coercing Foreign Values, Foreign Dynamic Allocation, Accessing Foreign Values, Operations On Foreign Values
+@node  Coercing Foreign Values
 @comment  node-name,  next,  previous,  up
 @subsection Coercing Foreign Values
 
 @defun sb-alien:addr @var{alien-expr}
 @comment  node-name,  next,  previous,  up
 @subsection Coercing Foreign Values
 
 @defun sb-alien:addr @var{alien-expr}
-  
+@findex addr
+
 The @code{sb-alien:addr} macro returns a pointer to the location
 specified by @var{alien-expr}, which must be either a foreign
 variable, a use of @code{sb-alien:deref}, a use of
 The @code{sb-alien:addr} macro returns a pointer to the location
 specified by @var{alien-expr}, which must be either a foreign
 variable, a use of @code{sb-alien:deref}, a use of
@@ -417,7 +422,8 @@ variable, a use of @code{sb-alien:deref}, a use of
 @end defun
 
 @defun sb-alien:cast @var{foreign-value} @var{new-type}
 @end defun
 
 @defun sb-alien:cast @var{foreign-value} @var{new-type}
-  
+@findex cast
+
 The @code{sb-alien:cast} macro converts @var{foreign-value} to a new
 foreign value with the specified @var{new-type}. Both types, old and
 new, must be foreign pointer, array or function types.  Note that the
 The @code{sb-alien:cast} macro converts @var{foreign-value} to a new
 foreign value with the specified @var{new-type}. Both types, old and
 new, must be foreign pointer, array or function types.  Note that the
@@ -426,7 +432,8 @@ argument, but it does refer to the same foreign data bits.
 @end defun
 
 @defun sb-alien:sap-alien @var{sap} @var{type}
 @end defun
 
 @defun sb-alien:sap-alien @var{sap} @var{type}
-  
+@findex sap-alien
+
 The @code{sb-alien:sap-alien} function converts @var{sap} (a system
 area pointer) to a foreign value with the specified
 @var{type}. @var{type} is not evaluated.  </para>
 The @code{sb-alien:sap-alien} function converts @var{sap} (a system
 area pointer) to a foreign value with the specified
 @var{type}. @var{type} is not evaluated.  </para>
@@ -435,6 +442,7 @@ The @var{type} must be some foreign pointer, array, or record type.
 @end defun
 
 @defun sb-alien:alien-sap @var{foreign-value} @var{type}
 @end defun
 
 @defun sb-alien:alien-sap @var{foreign-value} @var{type}
+@findex alien-sap
 
 The @code{sb-alien:alien-sap} function returns the @acronym{SAP} which
 points to @var{alien-value}'s data.
 
 The @code{sb-alien:alien-sap} function returns the @acronym{SAP} which
 points to @var{alien-value}'s data.
@@ -444,7 +452,7 @@ record type.
 @end defun
 
 
 @end defun
 
 
-@node  Foreign Dynamic Allocation,  , Coercing Foreign Values, Operations On Foreign Values
+@node  Foreign Dynamic Allocation
 @comment  node-name,  next,  previous,  up
 @subsection Foreign Dynamic Allocation
 
 @comment  node-name,  next,  previous,  up
 @subsection Foreign Dynamic Allocation
 
@@ -457,7 +465,8 @@ Lisp @code{sb-alien:make-alien}, or for Lisp code to call
 code.
 
 @defmac sb-alien:make-alien @var{type} @var{size}
 code.
 
 @defmac sb-alien:make-alien @var{type} @var{size}
-  
+@findex make-alien
+
 The @code{sb-alien:make-alien} macro
 returns a dynamically allocated foreign value of the specified
 @var{type} (which is not evaluated.)  The allocated memory is not
 The @code{sb-alien:make-alien} macro
 returns a dynamically allocated foreign value of the specified
 @var{type} (which is not evaluated.)  The allocated memory is not
@@ -494,6 +503,7 @@ result pointing to the first one.
 @end defmac
 
 @defun sb-alien:free-alien @var{foreign-value}
 @end defmac
 
 @defun sb-alien:free-alien @var{foreign-value}
+@findex free-alien
 
 The @code{sb-alien:free-alien} function
 frees the storage for @var{foreign-value}, 
 
 The @code{sb-alien:free-alien} function
 frees the storage for @var{foreign-value}, 
@@ -504,7 +514,7 @@ See also the @code{sb-alien:with-alien} macro, which allocates foreign
 values on the stack.
 @end defun
 
 values on the stack.
 @end defun
 
-@node  Foreign Variables, Foreign Data Structure Examples, Operations On Foreign Values, The Foreign Function Interface
+@node  Foreign Variables
 @comment  node-name,  next,  previous,  up
 @section Foreign Variables
 @c AKA "Alien Variables" in the CMU CL manual
 @comment  node-name,  next,  previous,  up
 @section Foreign Variables
 @c AKA "Alien Variables" in the CMU CL manual
@@ -517,11 +527,12 @@ are supported.
 * External Foreign Variables::  
 @end menu
 
 * External Foreign Variables::  
 @end menu
 
-@node  Local Foreign Variables, External Foreign Variables, Foreign Variables, Foreign Variables
+@node  Local Foreign Variables
 @comment  node-name,  next,  previous,  up
 @subsection Local Foreign Variables
 
 @defmac sb-alien:with-alien @var{var-definitions} &body @var{body}
 @comment  node-name,  next,  previous,  up
 @subsection Local Foreign Variables
 
 @defmac sb-alien:with-alien @var{var-definitions} &body @var{body}
+@findex with-alien
 
 The @code{with-alien} macro establishes local foreign variables with
 the specified alien types and names.  This form is analogous to
 
 The @code{with-alien} macro establishes local foreign variables with
 the specified alien types and names.  This form is analogous to
@@ -549,7 +560,7 @@ defined foreign structure type @var{foo} can be referenced by its name
 using @code{(struct @var{foo})}.
 @end defmac
 
 using @code{(struct @var{foo})}.
 @end defmac
 
-@node  External Foreign Variables,  , Local Foreign Variables, Foreign Variables
+@node  External Foreign Variables
 @comment  node-name,  next,  previous,  up
 @subsection External Foreign Variables
 
 @comment  node-name,  next,  previous,  up
 @subsection External Foreign Variables
 
@@ -580,6 +591,7 @@ specified by using a list of the form
 @end itemize
 
 @defmac sb-alien:define-alien-variable @var{name} @var{type}
 @end itemize
 
 @defmac sb-alien:define-alien-variable @var{name} @var{type}
+@findex define-alien-variable
 
 The @code{define-alien-variable} macro defines @var{name} as an
 external foreign variable of the specified foreign @code{type}.
 
 The @code{define-alien-variable} macro defines @var{name} as an
 external foreign variable of the specified foreign @code{type}.
@@ -606,6 +618,7 @@ For example, to access a C-level counter @var{foo}, one could write
 @end defmac
 
 @defun sb-alien:get-errno
 @end defmac
 
 @defun sb-alien:get-errno
+@findex get-errno
 
 Since in modern C libraries, the @code{errno} ``variable'' is typically
 no longer a variable, but some bizarre artificial construct
 
 Since in modern C libraries, the @code{errno} ``variable'' is typically
 no longer a variable, but some bizarre artificial construct
@@ -616,6 +629,7 @@ the operator @code{sb-alien:get-errno} to allow Lisp code to read it.
 @end defun
 
 @defmac sb-alien:extern-alien @var{name} @var{type}
 @end defun
 
 @defmac sb-alien:extern-alien @var{name} @var{type}
+@findex extern-alien
 
 The @code{extern-alien} macro returns an alien with the specified
 @var{type} which points to an externally defined value.  @var{name} is
 
 The @code{extern-alien} macro returns an alien with the specified
 @var{type} which points to an externally defined value.  @var{name} is
@@ -623,7 +637,7 @@ not evaluated, and may be either a string or a symbol.  @var{type} is
 an unevaluated alien type specifier.
 @end defmac
 
 an unevaluated alien type specifier.
 @end defmac
 
-@node  Foreign Data Structure Examples, Loading Unix Object Files, Foreign Variables, The Foreign Function Interface
+@node  Foreign Data Structure Examples
 @comment  node-name,  next,  previous,  up
 @section Foreign Data Structure Examples
 @c AKA "Alien Data Structure Example" in the CMU CL manual
 @comment  node-name,  next,  previous,  up
 @section Foreign Data Structure Examples
 @c AKA "Alien Data Structure Example" in the CMU CL manual
@@ -697,7 +711,7 @@ which can be manipulated in Lisp like this:
 (setq my-struct (slot my-struct 'n))
 @end lisp
 
 (setq my-struct (slot my-struct 'n))
 @end lisp
 
-@node  Loading Unix Object Files, Foreign Function Calls, Foreign Data Structure Examples, The Foreign Function Interface
+@node  Loading Unix Object Files
 @comment  node-name,  next,  previous,  up
 @section Loading Unix Object Files
 
 @comment  node-name,  next,  previous,  up
 @section Loading Unix Object Files
 
@@ -732,7 +746,7 @@ is loaded.
 @end quotation
 
 
 @end quotation
 
 
-@node  Foreign Function Calls, Step-By-Step Example of the Foreign Function Interface, Loading Unix Object Files, The Foreign Function Interface
+@node  Foreign Function Calls
 @comment  node-name,  next,  previous,  up
 @section Foreign Function Calls
 
 @comment  node-name,  next,  previous,  up
 @section Foreign Function Calls
 
@@ -759,11 +773,12 @@ the only documentation.  Users of a Lisp built with the
 * Calling Lisp From C::         
 @end menu
 
 * Calling Lisp From C::         
 @end menu
 
-@node  The alien-funcall Primitive, The define-alien-routine Macro, Foreign Function Calls, Foreign Function Calls
+@node  The alien-funcall Primitive
 @comment  node-name,  next,  previous,  up
 @subsection The @code{alien-funcall} Primitive
 
 @defun sb-alien:alien-funcall @var{alien-function} &rest @var{arguments}
 @comment  node-name,  next,  previous,  up
 @subsection The @code{alien-funcall} Primitive
 
 @defun sb-alien:alien-funcall @var{alien-function} &rest @var{arguments}
+@findex alien-funcall
 
 The @code{alien-funcall} function is the foreign function call
 primitive: @var{alien-function} is called with the supplied
 
 The @code{alien-funcall} function is the foreign function call
 primitive: @var{alien-function} is called with the supplied
@@ -812,11 +827,12 @@ the @code{(* (struct foo))} objects filled in by the foreign call:
       result)))
 @end lisp
 
       result)))
 @end lisp
 
-@node  The define-alien-routine Macro, define-alien-routine Example, The alien-funcall Primitive, Foreign Function Calls
+@node  The define-alien-routine Macro
 @comment  node-name,  next,  previous,  up
 @subsection The @code{define-alien-routine} Macro
 
 @defmac sb-alien:define-alien-routine @var{name} @var{result-type} &rest @var{arg-specifiers}
 @comment  node-name,  next,  previous,  up
 @subsection The @code{define-alien-routine} Macro
 
 @defmac sb-alien:define-alien-routine @var{name} @var{result-type} &rest @var{arg-specifiers}
+@findex define-alien-routine
 
 The @code{define-alien-routine} macro is a convenience for
 automatically generating Lisp interfaces to simple foreign functions.
 
 The @code{define-alien-routine} macro is a convenience for
 automatically generating Lisp interfaces to simple foreign functions.
@@ -890,7 +906,7 @@ representations, avoiding consing.)
 
 @end defmac
 
 
 @end defmac
 
-@node  define-alien-routine Example, Calling Lisp From C, The define-alien-routine Macro, Foreign Function Calls
+@node  define-alien-routine Example
 @comment  node-name,  next,  previous,  up
 @subsection @code{define-alien-routine} Example
 
 @comment  node-name,  next,  previous,  up
 @subsection @code{define-alien-routine} Example
 
@@ -921,7 +937,7 @@ This can be described by the following call to
 The Lisp function @code{cfoo} will have two arguments (@var{str} and
 @var{a}) and two return values (@var{a} and @var{i}).
 
 The Lisp function @code{cfoo} will have two arguments (@var{str} and
 @var{a}) and two return values (@var{a} and @var{i}).
 
-@node  Calling Lisp From C,  , define-alien-routine Example, Foreign Function Calls
+@node  Calling Lisp From C
 @comment  node-name,  next,  previous,  up
 @subsection Calling Lisp From C
 
 @comment  node-name,  next,  previous,  up
 @subsection Calling Lisp From C
 
@@ -1099,7 +1115,7 @@ call.
 @c -->
 
 
 @c -->
 
 
-@node  Step-By-Step Example of the Foreign Function Interface,  , Foreign Function Calls, The Foreign Function Interface
+@node  Step-By-Step Example of the Foreign Function Interface
 @comment  node-name,  next,  previous,  up
 @section Step-By-Step Example of the Foreign Function Interface
 
 @comment  node-name,  next,  previous,  up
 @section Step-By-Step Example of the Foreign Function Interface
 
index 8a98d73..0dc84bd 100644 (file)
@@ -1,4 +1,4 @@
-@node Introduction, The Compiler, Top, Top
+@node Introduction
 @comment  node-name,  next,  previous,  up
 @chapter Introduction
 
 @comment  node-name,  next,  previous,  up
 @chapter Introduction
 
@@ -13,7 +13,7 @@ Lisp.
 * Overview::                    
 @end menu
 
 * Overview::                    
 @end menu
 
-@node More Common Lisp Information, More SBCL Information, Introduction, Introduction
+@node More Common Lisp Information
 @comment  node-name,  next,  previous,  up
 @section Where To Go For More Information about Common Lisp in General
 
 @comment  node-name,  next,  previous,  up
 @section Where To Go For More Information about Common Lisp in General
 
@@ -56,7 +56,7 @@ culture shock.
 @end itemize
 
 
 @end itemize
 
 
-@node More SBCL Information, Overview, More Common Lisp Information, Introduction
+@node More SBCL Information
 @comment  node-name,  next,  previous,  up
 @section Where To Go For More Information About SBCL
 
 @comment  node-name,  next,  previous,  up
 @section Where To Go For More Information About SBCL
 
@@ -111,7 +111,7 @@ distribution.
 @end itemize
   
 
 @end itemize
   
 
-@node Overview,  , More SBCL Information, Introduction
+@node Overview
 @comment  node-name,  next,  previous,  up
 @section Overview Of SBCL, How It Works And Where It Came From
 
 @comment  node-name,  next,  previous,  up
 @section Overview Of SBCL, How It Works And Where It Came From
 
index 10e9736..9937ce4 100644 (file)
@@ -9,7 +9,14 @@
 @set VERSION 0.8.9
 @set UPDATED 2 April 2004
 @set UPDATE-MONTH April 2004
 @set VERSION 0.8.9
 @set UPDATED 2 April 2004
 @set UPDATE-MONTH April 2004
-     
+
+@c for install-info
+@dircategory Software development
+@direntry
+* sbcl: (sbcl).           The Steel Bank Common Lisp compiler
+@end direntry
+
+
 
 @copying
 
 
 @copying
 
@@ -45,9 +52,9 @@ provided with absolutely no warranty. See the @file{COPYING} and
 
 @ifnottex
 
 
 @ifnottex
 
-@node Top, Introduction, (dir), (dir)
+@node Top
 @comment  node-name,  next,  previous,  up
 @comment  node-name,  next,  previous,  up
-@top SBCL
+@top sbcl
 
 @insertcopying
 
 
 @insertcopying
 
@@ -58,131 +65,10 @@ provided with absolutely no warranty. See the @file{COPYING} and
 * Efficiency::                  
 * Beyond The ANSI Standard::    
 * The Foreign Function Interface::  
 * Efficiency::                  
 * Beyond The ANSI Standard::    
 * The Foreign Function Interface::  
-* Function Index::              
 * Concept Index::
 * Concept Index::
+* Function Index::              
+* Variable Index::              
 * Colophon::
 * Colophon::
-
-@detailmenu
- --- The Detailed Node Listing ---
-
-Introduction
-
-* More Common Lisp Information::  
-* More SBCL Information::       
-* Overview::                    
-
-The Compiler
-
-* Error Messages::              
-* Handling of Types::           
-* Compiler Policy::             
-* Open Coding and Inline Expansion::  
-
-Error Messages
-
-* The Parts of the Error Message::  
-* The Original and Actual Source::  
-* Error Severity::              
-* Errors During Macroexpansion::  
-* Read Errors::                 
-
-The Compiler's Handling of Types
-
-* Implementation Limitations::  
-* Type Errors at Compile Time::  
-* Precise Type Checking::       
-* Weakened Type Checking::      
-* Getting Existing Programs to Run::  
-
-The Debugger
-
-* Starting the Debugger::       
-* The Debugger Command Loop::   
-* Controlling Printing in the Debugger::  
-* Stack Frames::                
-* Variable Access::             
-* Source Location Printing::    
-* Debugger Policy Control::     
-* Exiting Commands::            
-* Information Commands::        
-* Function Tracing::            
-
-Stack Frames
-
-* Stack Motion::                
-* How Arguments are Printed::   
-* Function Names::              
-* Funny Frames::                
-* Debug Tail Recursion::        
-* Unknown Locations and Interrupts::  
-
-Variable Access
-
-* Variable Value Availability::  
-* Note On Lexical Variable Access::  
-
-Source Location Printing
-
-* How the Source is Found::     
-* Source Location Availability::  
-
-Efficiency
-
-* Dynamic-extent allocation::   
-* Modular arithmetic::          
-
-Beyond The ANSI Standard
-
-* Non-Conformance With The ANSI Standard::  
-* Idiosyncrasies::              
-* Extensions::                  
-
-Extensions
-
-* Things Which Might Be In The Next ANSI Standard::  
-* Threading::                   
-* Support For Unix::            
-* Customization Hooks for Users::  
-* Tools To Help Developers::    
-* Interface To Low-Level SBCL Implementation::  
-* Efficiency Hacks::            
-
-The Foreign Function Interface
-
-* Introduction to the Foreign Function Interface::  
-* Foreign Types::               
-* Operations On Foreign Values::  
-* Foreign Variables::           
-* Foreign Data Structure Examples::  
-* Loading Unix Object Files::   
-* Foreign Function Calls::      
-* Step-By-Step Example of the Foreign Function Interface::  
-
-Foreign Types
-
-* Defining Foreign Types::      
-* Foreign Types and Lisp Types::  
-* Foreign Type Specifiers::     
-
-Operations On Foreign Values
-
-* Accessing Foreign Values::    
-* Coercing Foreign Values::     
-* Foreign Dynamic Allocation::  
-
-Foreign Variables
-
-* Local Foreign Variables::     
-* External Foreign Variables::  
-
-Foreign Function Calls
-
-* The alien-funcall Primitive::  
-* The define-alien-routine Macro::  
-* define-alien-routine Example::  
-* Calling Lisp From C::         
-
-@end detailmenu
 @end menu
 
 @end ifnottex
 @end menu
 
 @end ifnottex
index dcd8ec4..0a5d23f 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.9.31"
+"0.8.9.32"