1.0.23.17: new function: SIMPLE-ARRAY-VECTOR
[sbcl.git] / doc / manual / beyond-ansi.texinfo
index 2bb0ec6..c2937d5 100644 (file)
@@ -7,14 +7,15 @@ ANSI standard. SBCL doesn't support as many extensions as CMUCL, but
 it still has quite a few.  @xref{Contributed Modules}.
 
 @menu
-* Garbage Collection::          
-* Metaobject Protocol::         
-* Support For Unix::            
-* Customization Hooks for Users::  
-* Tools To Help Developers::    
-* Resolution of Name Conflicts::  
-* Stale Extensions::            
-* Efficiency Hacks::            
+* Garbage Collection::
+* Metaobject Protocol::
+* Support For Unix::
+* Customization Hooks for Users::
+* Tools To Help Developers::
+* Resolution of Name Conflicts::
+* Miscellaneous Extensions::
+* Stale Extensions::
+* Efficiency Hacks::
 @end menu
 
 @node  Garbage Collection
@@ -43,7 +44,7 @@ with AMOP; present exceptions to this (as distinct from current bugs)
 are:
 
 @itemize
-  
+
 @item
 @findex compute-effective-method
 @findex sb-mop:compute-effective-method
@@ -67,7 +68,7 @@ the standardized classes before @code{t} appearing in the class
 precedence list of @code{generic-function} and
 @code{standard-generic-function}, as required by section 1.4.4.5 of the
 ANSI specification.
-  
+
 @item
 @findex ensure-generic-function
 @findex generic-function-declarations
@@ -249,16 +250,50 @@ between classes and proper names and between lists of the form
 @comment  node-name,  next,  previous,  up
 @section Support For Unix
 
+@menu
+* Command-line arguments::
+* Querying the process environment::
+* Running external programs::
+@end menu
+
+@node Command-line arguments
+@subsection Command-line arguments
+@vindex sb-ext:*posix-argv*
+@vindex *posix-argv*
+
 The UNIX command line can be read from the variable
-@code{sb-ext:*posix-argv*}. The UNIX environment can be queried with
-the @code{sb-ext:posix-getenv} function.
+@code{sb-ext:*posix-argv*}.
+
+@node Querying the process environment
+@subsection Querying the process environment
+
+The UNIX environment can be queried with the
+@code{sb-ext:posix-getenv} function.
 
 @include fun-sb-ext-posix-getenv.texinfo
 
+@node Running external programs
+@subsection Running external programs
+
 External programs can be run with @code{sb-ext:run-program}.
+@footnote{In SBCL versions prior to 1.0.13, @code{sb-ext:run-program}
+searched for executables in a manner somewhat incompatible with other
+languages.  As of this version, SBCL uses the system library routine
+@code{execvp(3)}, and no longer contains the function,
+@code{find-executable-in-search-path}, which implemented the old
+search.  Users who need this function may find it
+in @file{run-program.lisp} versions 1.67 and earlier in SBCL's CVS
+repository here
+@url{http://sbcl.cvs.sourceforge.net/sbcl/sbcl/src/code/run-program.lisp?view=log}. However,
+we caution such users that this search routine finds executables that
+system library routines do not.}
 
 @include fun-sb-ext-run-program.texinfo
 
+When @code{sb-ext:run-program} is called with @code{wait} equal to
+NIL, an instance of class @var{sb-ext:process} is returned.  The
+following functions are available for use with processes:
+
 @include fun-sb-ext-process-p.texinfo
 
 @include fun-sb-ext-process-input.texinfo
@@ -303,9 +338,19 @@ mechanisms as follows:
 @include fun-common-lisp-ed.texinfo
 @include var-sb-ext-star-ed-functions-star.texinfo
 
+Conditions of type @code{warning} and @code{style-warning} are
+sometimes signaled at runtime, especially during execution of Common
+Lisp defining forms such as @code{defun}, @code{defmethod}, etc.  To
+muffle these warnings at runtime, SBCL provides a variable
+@code{sb-ext:*muffled-warnings*}:
+
+@include var-sb-ext-star-muffled-warnings-star.texinfo
+
 @node Tools To Help Developers
 @comment  node-name,  next,  previous,  up
 @section Tools To Help Developers
+@findex trace
+@findex inspect
 
 SBCL provides a profiler and other extensions to the ANSI @code{trace}
 facility.  For more information, see @ref{Macro common-lisp:trace}.
@@ -318,6 +363,10 @@ the @code{inspect} prompt.
 
 @node Resolution of Name Conflicts
 @section Resolution of Name Conflicts
+@tindex sb-ext:name-conflict
+@tindex name-conflict
+@findex sb-ext:name-conflict-symbols
+@findex name-conflict-symbols
 
 The ANSI standard (section 11.1.1.2.5) requires that name conflicts in
 packages be resolvable in favour of any of the conflicting symbols.  In
@@ -327,6 +376,12 @@ the @code{sb-ext:resolve-conflict} restart should be invoked with one
 argument, which should be a member of the list returned by the condition
 accessor @code{sb-ext:name-conflict-symbols}.
 
+@node    Miscellaneous Extensions
+@comment  node-name,  next,  previous,  up
+@section Miscellaneous Extensions
+
+@include fun-sb-ext-simple-array-vector.texinfo
+
 @node Stale Extensions
 @comment  node-name,  next,  previous,  up
 @section Stale Extensions
@@ -383,5 +438,5 @@ to it. This is appropriate for functions like @code{sqrt}, but
 is @emph{not} appropriate for functions like @code{aref},
 which can change their return values when the underlying data are
 changed.
-@c <!-- FIXME: This declaration does not seem to be supported in the 
+@c <!-- FIXME: This declaration does not seem to be supported in the
 @c      current compiler. -->