X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Fmanual%2Fbeyond-ansi.texinfo;h=a00ae6a402c95407ed5c08e7c524728bc2430fe5;hb=53f576d7d796e37a9c51c3c3296341458f046c44;hp=2bb0ec6a04abb6913d934a2611ea1eaf81a5b371;hpb=968bb35fbaf4d60b63fa6967bc36029bd5b12701;p=sbcl.git diff --git a/doc/manual/beyond-ansi.texinfo b/doc/manual/beyond-ansi.texinfo index 2bb0ec6..a00ae6a 100644 --- a/doc/manual/beyond-ansi.texinfo +++ b/doc/manual/beyond-ansi.texinfo @@ -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-array-storage-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