From 50eb784bfcf15ee3c6b0b53d747db92673395040 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:34 -0800 Subject: Import Upstream version 5e3 --- scm.info | 865 ++++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 461 insertions(+), 404 deletions(-) (limited to 'scm.info') diff --git a/scm.info b/scm.info index 59f4f8a..cb7ebef 100644 --- a/scm.info +++ b/scm.info @@ -1,5 +1,24 @@ -This is scm.info, produced by makeinfo version 4.7 from scm.texi. - +This is scm.info, produced by makeinfo version 4.8 from scm.texi. + +This manual is for SCM (version 5e3, October 2006), and algorithmic | +language Scheme implementation. | + | +Copyright (C) 1990-2006 Free Software Foundation, Inc. | + | + Permission is granted to make and distribute verbatim copies of | + this manual provided the copyright notice and this permission | + notice are preserved on all copies. | + | + Permission is granted to copy and distribute modified versions of | + this manual under the conditions for verbatim copying, provided | + that the entire resulting derived work is distributed under the | + terms of a permission notice identical to this one. | + | + Permission is granted to copy and distribute translations of this | + manual into another language, under the above conditions for | + modified versions, except that this permission notice may be | + stated in a translation approved by the author. | + | INFO-DIR-SECTION The Algorithmic Language Scheme START-INFO-DIR-ENTRY * SCM: (scm). A Scheme interpreter. @@ -8,27 +27,27 @@ END-INFO-DIR-ENTRY  File: scm.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir) -This manual documents the SCM Scheme implementation. SCM version -5e2 was released February 2006. The most recent information about SCM | -can be found on SCM's "WWW" home page: | +SCM | +*** | - `http://swiss.csail.mit.edu/~jaffer/SCM' +This manual is for SCM (version 5e3, October 2006), and algorithmic | +language Scheme implementation. | -Copyright (C) 1990-1999 Free Software Foundation +Copyright (C) 1990-2006 Free Software Foundation, Inc. | -Permission is granted to make and distribute verbatim copies of this -manual provided the copyright notice and this permission notice are -preserved on all copies. + Permission is granted to make and distribute verbatim copies of | + this manual provided the copyright notice and this permission | + notice are preserved on all copies. | -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. + Permission is granted to copy and distribute modified versions of | + this manual under the conditions for verbatim copying, provided | + that the entire resulting derived work is distributed under the | + terms of a permission notice identical to this one. | -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions, -except that this permission notice may be stated in a translation -approved by the author. + Permission is granted to copy and distribute translations of this | + manual into another language, under the above conditions for | + modified versions, except that this permission notice may be | + stated in a translation approved by the author. | * Menu: @@ -85,8 +104,8 @@ File: scm.info, Node: SCM Features, Next: SCM Authors, Prev: Overview, Up: O `copy-tree', `acons', and `eval'. * `Char-code-limit', `most-positive-fixnum', `most-negative-fixnum', - `and internal-time-units-per-second' constants. `*Features*' and - `*load-pathname*' variables. + `and internal-time-units-per-second' constants. `slib:features' | + and `*load-pathname*' variables. | * Arrays and bit-vectors. String ports and software emulation ports. I/O extensions providing ANSI C and POSIX.1 facilities. @@ -237,7 +256,7 @@ File: scm.info, Node: SIOD copyright, Prev: The SCM License, Up: Copying -------------------- - COPYRIGHT (c) 1989 BY + COPYRIGHT (C) 1989 BY | PARADIGM ASSOCIATES INCORPORATED, CAMBRIDGE, MASSACHUSETTS. ALL RIGHTS RESERVED @@ -387,18 +406,18 @@ SLIB is not _neccessary_ to run SCM, I strongly suggest you obtain and install it. Bug reports about running SCM without SLIB have very low priority. SLIB is available from the same sites as SCM: - * swiss.csail.mit.edu:/pub/scm/slib3a3.tar.gz | + * swiss.csail.mit.edu:/pub/scm/slib3a4.tar.gz | - * ftp.gnu.org:/pub/gnu/jacal/slib3a3.tar.gz | + * ftp.gnu.org:/pub/gnu/jacal/slib3a4.tar.gz | - * ftp.cs.indiana.edu:/pub/scheme-repository/imp/slib3a3.tar.gz | + * ftp.cs.indiana.edu:/pub/scheme-repository/imp/slib3a4.tar.gz | -Unpack SLIB (`tar xzf slib3a3.tar.gz' or `unzip -ao slib3a3.zip') in an | +Unpack SLIB (`tar xzf slib3a4.tar.gz' or `unzip -ao slib3a4.zip') in an | appropriate directory for your system; both `tar' and `unzip' will create the directory `slib'. Then create a file `require.scm' in the SCM "implementation-vicinity" -(this is the same directory as where the file `Init5e2.scm' is | +(this is the same directory as where the file `Init5e3.scm' is | installed). `require.scm' should have the contents: (define (library-vicinity) "/usr/local/lib/slib/") @@ -470,7 +489,7 @@ script with the `arrays', `inexact', and `bignums' options as defaults. # unix (linux) script created by SLIB/batch # ================ Write file with C defines rm -f scmflags.h - echo '#define IMPLINIT "Init5e2.scm"'>>scmflags.h | + echo '#define IMPLINIT "Init5e3.scm"'>>scmflags.h | echo '#define BIGNUMS'>>scmflags.h echo '#define FLOATS'>>scmflags.h echo '#define ARRAYS'>>scmflags.h @@ -489,7 +508,7 @@ in the `-p' or `--platform=' option. # unix (darwin) script created by SLIB/batch # ================ Write file with C defines rm -f scmflags.h - echo '#define IMPLINIT "Init5e2.scm"'>>scmflags.h | + echo '#define IMPLINIT "Init5e3.scm"'>>scmflags.h | # ================ Compile C source files cc -O3 -c continue.c scm.c scmmain.c findexec.c script.c time.c repl.c scl.c eval.c sys.c subr.c debug.c unif.c rope.c # ================ Link C object files @@ -543,6 +562,7 @@ the SCM command line options. irix mips irix gcc linux i386 linux gcc linux-aout i386 linux gcc + linux-ia64 ia64 linux gcc | microsoft-c i8086 ms-dos cl microsoft-c-nt i386 ms-dos cl microsoft-quick-c i8086 ms-dos qcl @@ -622,7 +642,7 @@ the SCM command line options. -- Build Option: -s PATHNAME -- Build Option: --scheme-initial=PATHNAME specifies that PATHNAME should be the default location of the SCM - initialization file `Init5e2.scm'. SCM tries several likely | + initialization file `Init5e3.scm'. SCM tries several likely | locations before resorting to PATHNAME (*note File-System Habitat::). If not specified, the current directory (where build is building) is used. @@ -736,13 +756,18 @@ the SCM command line options. For the "curses" screen management package. "debug" - Turns on the features `cautious', - `careful-interrupt-masking', and `stack-limit'; uses `-g' - flags for debugging SCM source code. + Turns on the features `cautious' and | + `careful-interrupt-masking'; uses `-g' flags for debugging | + SCM source code. | "differ" Sequence comparison + "dont-memoize-locals" | + SCM normally converts references to local variables to ILOCs, | + which make programs run faster. If SCM is badly broken, try | + using this option to disable the MEMOIZE_LOCALS feature. | + | "dump" Convert a running scheme program into an executable file. @@ -829,14 +854,7 @@ the SCM command line options. "socket" BSD "socket" interface. Socket addr functions require inexacts or bignums for 32-bit precision. - - "stack-limit" - Use to enable checking for stack overflow. Define value of - the C preprocessor variable STACK_LIMIT to be the size to - which SCM should allow the stack to grow. STACK_LIMIT should - be less than the maximum size the hardware can support, as - not every routine checks the stack. - + | "tick-interrupts" Use if you want the ticks and ticks-interrupt functions. @@ -882,7 +900,7 @@ link your file at compile time, use the `-c' and `-i' options to build: -| #! /bin/sh rm -f scmflags.h - echo '#define IMPLINIT "/home/jaffer/scm/Init5e2.scm"'>>scmflags.h | + echo '#define IMPLINIT "/home/jaffer/scm/Init5e3.scm"'>>scmflags.h | echo '#define COMPILED_INITS init_foo();'>>scmflags.h echo '#define BIGNUMS'>>scmflags.h echo '#define FLOATS'>>scmflags.h @@ -898,7 +916,7 @@ To make a dynamically loadable object file use the `-t dll' option: -| #! /bin/sh rm -f scmflags.h - echo '#define IMPLINIT "/home/jaffer/scm/Init5e2.scm"'>>scmflags.h | + echo '#define IMPLINIT "/home/jaffer/scm/Init5e3.scm"'>>scmflags.h | echo '#define BIGNUMS'>>scmflags.h echo '#define FLOATS'>>scmflags.h echo '#define ARRAYS'>>scmflags.h @@ -1018,6 +1036,36 @@ No modifications to the emacs source code were required to use or `unexelf.c' don't work for you, try using the appropriate `unex*.c' file from emacs. +The `dscm4' and `dscm5' targets in the SCM `Makefile' save images from | +`udscm4' and `udscm5' executables respectively. | + | +Recent Linux innovations interfere with `dump'. For: | + | +Fedora-Core-1 | + Remove the `#' from the line `#SETARCH = setarch i386' in the | + `Makefile'. | + | +Fedora-Core-3 | + `http://jamesthornton.com/writing/emacs-compile.html' writes: [For | + FC3] combreloc has become the default for recent GNU ld, which | + breaks the unexec/undump on all versions of both Emacs and | + XEmacs... | + | + Override by adding the following to `udscm5.opt': | + `--linker-options="-z nocombreloc"' | + | +Kernels later than 2.6.11 | + `http://www.opensubscriber.com/message/emacs-devel@gnu.org/1007118.html' | + mentions the "exec-shield" feature. Kernels later than 2.6.11 | + must do (as root): | + | + echo 0 > /proc/sys/kernel/randomize_va_space | + | + before dumping. `Makefile' has this `randomize_va_space' stuffing | + scripted for targets `dscm4' and `dscm5'. You must either set | + `randomize_va_space' to 0 or run as root to dump. | + | + |  File: scm.info, Node: Automatic C Preprocessor Definitions, Next: Problems Compiling, Prev: Saving Images, Up: Installing SCM @@ -1037,7 +1085,7 @@ lines or add a `#define FLAG' line to `scmfig.h' or the beginning of ARM_ULIB Huw Rogers free unix library for acorn archimedes AZTEC_C Aztec_C 5.2a __CYGWIN__ Cygwin - __CYGWIN32__ Cygwin | + __CYGWIN32__ Cygwin _DCC Dice C on AMIGA __GNUC__ Gnu CC (and DJGPP) __EMX__ Gnu C port (gcc/emx 0.8e) to OS/2 2.0 @@ -1067,7 +1115,7 @@ lines or add a `#define FLAG' line to `scmfig.h' or the beginning of macintosh Macintosh (THINK_C and __MWERKS__ define) MCH_AMIGA Aztec_c 5.2a on AMIGA __MACH__ Apple Darwin - __MINGW32__ MinGW - Minimalist GNU for Windows | + __MINGW32__ MinGW - Minimalist GNU for Windows MSDOS Microsoft C 5.10 and 6.00A _MSDOS Microsoft CLARM and CLTHUMB compilers. __MSDOS__ Turbo C, Borland C, and DJGPP @@ -1109,7 +1157,7 @@ lines or add a `#define FLAG' line to `scmfig.h' or the beginning of sequent Sequent computer tahoe CCI Tahoe processor vax VAX processor - __x86_64 AMD Opteron | + __x86_64 AMD Opteron  File: scm.info, Node: Problems Compiling, Next: Problems Linking, Prev: Automatic C Preprocessor Definitions, Up: Installing SCM @@ -1176,17 +1224,17 @@ remove in scmfig.h and Do so and recompile files. recompile scm. add in scmfig.h and recompile scm. -ERROR: Init5e2.scm not found. Assign correct IMPLINIT in makefile | +ERROR: Init5e3.scm not found. Assign correct IMPLINIT in makefile | or scmfig.h. Define environment variable SCM_INIT_PATH to be the full - pathname of Init5e2.scm. | + pathname of Init5e3.scm. | WARNING: require.scm not found. Define environment variable SCHEME_LIBRARY_PATH to be the full pathname of the scheme library [SLIB]. Change library-vicinity in - Init5e2.scm to point to library or | + Init5e3.scm to point to library or | remove. Make sure the value of (library-vicinity) has a trailing @@ -1246,11 +1294,13 @@ Some symbol names print incorrectly. Change memory model option to C than HEAP_SEG_SIZE). ERROR: Rogue pointer in Heap. See above under machine crashes. Newlines don't appear correctly in Check file mode (define OPEN_... in -output files. `Init5e2.scm'). | +output files. `Init5e3.scm'). | Spaces or control characters appear Check character defines in in symbol names. `scmfig.h'. Negative numbers turn positive. Check SRS in `scmfig.h'. -VMS: Couldn't unwind stack. #define CHEAP_CONTIUATIONS in +;ERROR: bignum: numerical overflow Increase NUMDIGS_MAX in `scmfig.h' | + and recompile. | +VMS: Couldn't unwind stack. #define CHEAP_CONTINUATIONS in | `scmfig.h'. VAX: botched longjmp. @@ -1329,7 +1379,7 @@ variable SCM_INIT_PATH. If SCM_INIT_PATH is not defined or if the file it names is not present, `scm' tries to find the directory containing the executable file. If it is able to locate the executable, `scm' looks for the initialization -file (usually `Init5e2.scm') in platform-dependent directories relative | +file (usually `Init5e3.scm') in platform-dependent directories relative | to this directory. See *Note File-System Habitat:: for a blow-by-blow description. @@ -1338,12 +1388,12 @@ compile parameter IMPLINIT (defined in the makefile or `scmfig.h') is tried. Unless the option `-no-init-file' or `--no-init-file' occurs in the -command line, `Init5e2.scm' checks to see if there is file | -`ScmInit.scm' in the path specified by the environment variable HOME -(or in the current directory if HOME is undefined). If it finds such a -file it is loaded. +command line, or if `scm' is being invoked as a script, `Init5e3.scm' | +checks to see if there is file `ScmInit.scm' in the path specified by | +the environment variable HOME (or in the current directory if HOME is | +undefined). If it finds such a file, then it is loaded. | -`Init5e2.scm' then looks for command input from one of three sources: | +`Init5e3.scm' then looks for command input from one of three sources: | From an option on the command line, from a file named on the command line, or from standard input. @@ -1504,13 +1554,13 @@ File: scm.info, Node: SCM Variables, Next: SCM Session, Prev: Invocation Exam -- Environment Variable: SCM_INIT_PATH is the pathname where `scm' will look for its initialization code. - The default is the file `Init5e2.scm' in the source directory. | + The default is the file `Init5e3.scm' in the source directory. | -- Environment Variable: SCHEME_LIBRARY_PATH is the [SLIB] Scheme library directory. -- Environment Variable: HOME - is the directory where `Init5e2.scm' will look for the user | + is the directory where `Init5e3.scm' will look for the user | initialization file `ScmInit.scm'. -- Environment Variable: EDITOR @@ -1634,8 +1684,8 @@ File: scm.info, Node: Debugging Scheme Code, Next: Debugging Continuations, P 3.8 Debugging Scheme Code ========================= -The `cautious' and `stack-limit' options of `build' (*note Build -Options::) support debugging in Scheme. +The `cautious' option of `build' (*note Build Options::) supports | +debugging in Scheme. | "CAUTIOUS" If SCM is built with the `CAUTIOUS' flag, then when an error @@ -1655,15 +1705,11 @@ Options::) support debugging in Scheme. with , inspect or modify top-level values, trace or untrace procedures, and continue execution with `(continue)'. -"STACK_LIMIT" - If SCM is built with the `STACK_LIMIT' flag, the interpreter will - check stack size periodically. If the size of stack exceeds a - certain amount (default is `HEAP_SEG_SIZE/2'), SCM generates a - `segment violation' interrupt. - - The usefulness of `STACK_LIMIT' depends on the user. I don't use - it; but the user I added this feature for got primarily this type - of error. +If `verbose' (*note verbose: Internal State.) is called with an | +argument greater than 2, then the interpreter will check stack size | +periodically. If the size of stack in use exceeds the C #define | +`STACK_LIMIT' (default is `HEAP_SEG_SIZE'), SCM generates a `stack' | +`segment violation'. | There are several SLIB macros which so useful that SCM automatically loads the appropriate module from SLIB if they are invoked. @@ -1933,13 +1979,13 @@ warnings and errors. -- Function: warn arg1 arg2 arg3 ... Alias for *Note slib:warn: (slib)System. Outputs an error message - containing the arguments. `warn' is defined in `Init5e2.scm'. | + containing the arguments. `warn' is defined in `Init5e3.scm'. | -- Function: error arg1 arg2 arg3 ... Alias for *Note slib:error: (slib)System. Outputs an error message containing the arguments, aborts evaluation of the current form and resumes the top level read-eval-print loop. `Error' is - defined in `Init5e2.scm'. | + defined in `Init5e3.scm'. | If SCM is built with the `CAUTIOUS' flag, then when an error occurs, a "stack trace" of certain pending calls are printed as part of the @@ -1957,7 +2003,7 @@ with Lisp systems. -- Function: stack-trace Prints information describing the stack of partially evaluated expressions. `stack-trace' returns `#t' if any lines were printed - and `#f' otherwise. See `Init5e2.scm' for an example of the use | + and `#f' otherwise. See `Init5e3.scm' for an example of the use | of `stack-trace'.  @@ -1982,7 +2028,7 @@ a convenient aid to locating bugs and untested expressions. * The names of identifiers which are not lexiallly bound but defined at top-level have #@ prepended. -For instance, `open-input-file' is defined as follows in `Init5e2.scm': | +For instance, `open-input-file' is defined as follows in `Init5e3.scm': | (define (open-input-file str) (or (open-file str OPEN_READ) @@ -2031,7 +2077,7 @@ File: scm.info, Node: Internal State, Next: Scripting, Prev: Memoized Express *INTERACTIVE* is controlled directly by the command-line options `-b', `-i', and `-s' (*note Invoking SCM::). If none of these options are specified, the rules to determine interactivity are - more complicated; see `Init5e2.scm' for details. | + more complicated; see `Init5e3.scm' for details. | -- Function: abort Resumes the top level Read-Eval-Print loop. @@ -2065,7 +2111,8 @@ File: scm.info, Node: Internal State, Next: Scripting, Prev: Memoized Express >= 3 the CPU time is printed after each top level form evaluated; - notifications of heap growth printed. + notifications of heap growth printed; the interpreter checks | + stack depth periodically. | >= 4 a garbage collection summary is printed after each top level @@ -2085,7 +2132,7 @@ File: scm.info, Node: Internal State, Next: Scripting, Prev: Memoized Express #t)' also gives the hexadecimal heap segment and stack bounds. -- Constant: *scm-version* - Contains the version string (e.g. `5e2') of SCM. | + Contains the version string (e.g. `5e3') of SCM. | 3.12.1 Executable path ---------------------- @@ -3003,14 +3050,13 @@ File: scm.info, Node: Common-Lisp Read Syntax, Next: Load Syntax, Prev: Lexic `m-' prefixes may be combined. -- Read syntax: #+ feature form - If feature is `provided?' (by `*features*') then FORM is read as a - scheme expression. If not, then FORM is treated as whitespace. + If feature is `provided?' then FORM is read as a scheme | + expression. If not, then FORM is treated as whitespace. | Feature is a boolean expression composed of symbols and `and', `or', and `not' of boolean expressions. - For more information on `provided?' and `*features*', *Note - Require: (slib)Require. + For more information on `provided?', *Note Require: (slib)Require. | -- Read syntax: #- feature form is equivalent to `#+(not feature) expression'. @@ -3710,7 +3756,7 @@ an example of their use. -- Function: dyn:main-call name link-token arg1 ... LINK-TOKEN should be the value returned by a call to `dyn:link'. NAME should be the name of C function of 2 arguments, `(int argc, - const char **argv)', defined in the file named FILENAME which was | + const char **argv)', defined in the file named FILENAME which was succesfully `dyn:link'ed in the current SCM session. The `dyn:main-call' procedure calls the C function corresponding to NAME with `argv' style arguments, such as are given to C `main' @@ -3862,36 +3908,35 @@ operations: (r5rs)Numerical operations. -- Function: atanh z Return the inverse hyperbolic sine, cosine, and tangent of Z - -- Function: $sqrt x - -- Function: $abs x - -- Function: $exp x - -- Function: $log x - -- Function: $sin x - -- Function: $cos x - -- Function: $tan x - -- Function: $asin x - -- Function: $acos x - -- Function: $atan x - -- Function: $sinh x - -- Function: $cosh x - -- Function: $tanh x - -- Function: $asinh x - -- Function: $acosh x - -- Function: $atanh x + -- Function: real-sqrt x | + -- Function: real-exp x | + -- Function: real-ln x | + -- Function: real-sin x | + -- Function: real-cos x | + -- Function: real-tan x | + -- Function: real-asin x | + -- Function: real-acos x | + -- Function: real-atan x | + -- Function: real-sinh x | + -- Function: real-cosh x | + -- Function: real-tanh x | + -- Function: real-asinh x | + -- Function: real-acosh x | + -- Function: real-atanh x | Real-only versions of these popular functions. The argument X must be a real number. It is an error if the value which should be returned by a call to these procedures is _not_ real. - -- Function: $log10 x + -- Function: real-log10 x | Real-only base 10 logarithm. -- Function: $atan2 y x Computes `(angle (make-rectangular x y))' for real numbers Y and X. - -- Function: $expt x1 x2 + -- Function: real-expt x1 x2 | Returns real number X1 raised to the real power X2. It is an - error if the value which should be returned by a call to `$expt' - is not real. + error if the value which should be returned by a call to | + `real-expt' is not real. |  File: scm.info, Node: Arrays, Next: Records, Prev: Numeric, Up: Packages @@ -4338,7 +4383,7 @@ I/O: (slib)Line I/O, and the following functions are defined: "Link.scm" "Macro.scm" "Transcen.scm" - "Init5e2.scm" | + "Init5e3.scm" | -- Function: mkdir path mode The `mkdir' function creates a new, empty directory whose name is @@ -5923,25 +5968,34 @@ memory allocated by `malloc'. Returns the C array of `char's or as `unsigned char's holding the elements of string X or its length, respectively. - -- Header: tc7_bvect + -- Header: tc7_Vbool | uniform vector of booleans (bit-vector) - -- Header: tc7_ivect + -- Header: tc7_VfixZ32 | uniform vector of integers - -- Header: tc7_uvect + -- Header: tc7_VfixN32 | uniform vector of non-negative integers - -- Header: tc7_svect + -- Header: tc7_VfixN16 | + uniform vector of non-negative short integers | + | + -- Header: tc7_VfixZ16 | uniform vector of short integers - -- Header: tc7_fvect + -- Header: tc7_VfixN8 | + uniform vector of non-negative bytes | + | + -- Header: tc7_VfixZ8 | + uniform vector of signed bytes | + | + -- Header: tc7_VfloR32 | uniform vector of short inexact real numbers - -- Header: tc7_dvect + -- Header: tc7_VfloR64 | uniform vector of double precision inexact real numbers - -- Header: tc7_cvect + -- Header: tc7_VfloC64 | uniform vector of double precision inexact complex numbers -- Header: tc7_contin @@ -5998,10 +6052,11 @@ type `SCM'. enabled, the `CDR' should be a function which takes and returns type `double'. Conversions are handled in the interpreter. - `floor', `ceiling', `truncate', `round', `$sqrt', `$abs', `$exp', - `$log', `$sin', `$cos', `$tan', `$asin', `$acos', `$atan', - `$sinh', `$cosh', `$tanh', `$asinh', `$acosh', `$atanh', and - `exact->inexact' are defined this way. + `floor', `ceiling', `truncate', `round', `real-sqrt', `real-exp', | + `real-ln', `real-sin', `real-cos', `real-tan', `real-asin', | + `real-acos', `real-atan', `real-sinh', `real-cosh', `real-tanh', | + `real-asinh', `real-acosh', `real-atanh', and `exact->inexact' are | + defined this way. | If the `CDR' is `0' (`NULL'), the name string of the procedure is used to control traversal of its list structure argument. @@ -6182,7 +6237,8 @@ Defining Smobs::). These are the initial smobs: Conventional Arrays have a pointer to a vector for their `CDR'. Uniform Arrays have a pointer to a Uniform Vector type (string, - bvect, ivect, uvect, fvect, dvect, or cvect) in their `CDR'. + Vbool, VfixZ32, VfixN32, VfloR32, VfloR64, or VfloC64) in their | + `CDR'. |  File: scm.info, Node: Data Type Representations, Prev: Smob Cells, Up: Data Types @@ -6212,32 +6268,34 @@ ssymbol .........long length....G0000101 ..........char *chars........... msymbol .........long length....G0000111 ..........char *chars........... string .........long length....G0001101 ..........char *chars........... vector .........long length....G0001111 ...........SCM **elts........... -bvect .........long length....G0010101 ..........long *words........... - spare G0010111 -ivect .........long length....G0011101 ..........long *words........... -uvect .........long length....G0011111 ......unsigned long *words...... - spare G0100101 -svect .........long length....G0100111 ........ short *words........... -fvect .........long length....G0101101 .........float *words........... -dvect .........long length....G0101111 ........double *words........... -cvect .........long length....G0110101 ........double *words........... - -contin .........long length....G0111101 .............*regs.............. -specfun ................xxxxxxxxG1111111 ...........SCM name............. -cclo ..short length..xxxxxx10G1111111 ...........SCM **elts........... +Vbool .........long length....G0010101 ..........long *words........... | + spare 00010111 | +VfixN8 .........long length....G0011101 ......unsigned char *words...... | +VfixZ8 .........long length....G0011111 ..........char *words........... | +VfixN16 .........long length....G0100101 ......unsigned short *words..... | +VfixZ16 .........long length....G0100111 ........ short *words........... | +VfixN32 .........long length....G0101101 ......unsigned long *words...... | +VfixZ32 .........long length....G0101111 ..........long *words........... | +VfloR32 .........long length....G0110101 .........float *words........... | +VfloC32 .........long length....G0110111 .........float *words........... | +VfloR64 .........long length....G0111101 ........double *words........... | +VfloC64 .........long length....G0111111 ........double *words........... | + + spare 01000101 | +contin .........long length....G1001101 .............*regs.............. | +specfun ................xxxxxxxxG1001111 ...........SCM name............. | +cclo ..short length..xxxxxx10G1001111 ...........SCM **elts........... | PTOBs - port int portnum.CwroxxxxxxxxG0110111 ..........FILE *stream.......... - socket int portnum.C001xxxxxxxxG0110111 ..........FILE *stream.......... - inport int portnum.C011xxxxxxxxG0110111 ..........FILE *stream.......... -outport int portnum.0101xxxxxxxxG0110111 ..........FILE *stream.......... - ioport int portnum.C111xxxxxxxxG0110111 ..........FILE *stream.......... -fport int portnum.C 00000000G0110111 ..........FILE *stream.......... -pipe int portnum.C 00000001G0110111 ..........FILE *stream.......... -strport 00000000000.0 00000010G0110111 ..........FILE *stream.......... -sfport int portnum.C 00000011G0110111 ..........FILE *stream.......... - SUBRs - spare 010001x1 - spare 010011x1 + port int portnum.CwroxxxxxxxxG1000111 ..........FILE *stream.......... | + socket int portnum.C001xxxxxxxxG1000111 ..........FILE *stream.......... | + inport int portnum.C011xxxxxxxxG1000111 ..........FILE *stream.......... | +outport int portnum.0101xxxxxxxxG1000111 ..........FILE *stream.......... | + ioport int portnum.C111xxxxxxxxG1000111 ..........FILE *stream.......... | +fport int portnum.C 00000000G1000111 ..........FILE *stream.......... | +pipe int portnum.C 00000001G1000111 ..........FILE *stream.......... | +strport 00000000000.0 00000010G1000111 ..........FILE *stream.......... | +sfport int portnum.C 00000011G1000111 ..........FILE *stream.......... | + SUBRs | subr_0 ..........int hpoff.....01010101 ...........SCM (*f)()........... subr_1 ..........int hpoff.....01010111 ...........SCM (*f)()........... cxr ..........int hpoff.....01011101 .........double (*f)().......... @@ -6339,7 +6397,7 @@ symbols, "symhash". mark bit in OBJ, then calls `gc_mark()' on any SCM components of OBJ. The last call to `gc_mark()' is tail-called (looped). - -- Function: void mark_locations (STACKITEM X[], sizet LEN)) + -- Function: void mark_locations (STACKITEM X[], sizet LEN) | The function `mark_locations' is used for marking segments of C-stack or saved segments of C-stack (marked continuations). The argument LEN is the size of the stack in units of size @@ -6664,12 +6722,12 @@ To add a package of new procedures to scm (see `crs.c' for example): add_feature("foo"); - will append a symbol `'foo' to the (list) value of `*features*'. + will append a symbol `'foo' to the (list) value of `slib:features'. | 7. put any scheme code which needs to be run as part of your package into `Ifoo.scm'. - 8. put an `if' into `Init5e2.scm' which loads `Ifoo.scm' if your | + 8. put an `if' into `Init5e3.scm' which loads `Ifoo.scm' if your | package is included: (if (defined? twiddle-bits!) @@ -6969,7 +7027,7 @@ SCM, then you can replace `scm_find_implpath'. environment variable is defined, its value will be returned from `scm_find_implpath'. Otherwise find_impl_file() is called with the arguments EXECPATH, GENERIC_NAME (default "scm"), INIT_FILE_NAME - (default "Init5e2_scm"), and the directory separator string | + (default "Init5e3_scm"), and the directory separator string | DIRSEP. If find_impl_file() returns 0 and IMPLINIT is defined, then a copy of the string IMPLINIT is returned. @@ -7072,7 +7130,7 @@ Here is a minimal embedding program `libtest.c': int main(argc, argv) int argc; - const char **argv; | + const char **argv; { SCM retval; char *implpath, *execpath; @@ -7092,7 +7150,7 @@ Here is a minimal embedding program `libtest.c': -| dld_find_executable(./libtest): /home/jaffer/scm/libtest - implpath: /home/jaffer/scm/Init5e2.scm | + implpath: /home/jaffer/scm/Init5e3.scm | This is libtest_init_user_scm hello world @@ -7108,7 +7166,7 @@ The source code for these routines are found in `rope.c'. -- Function: int scm_ldfile (char *FILE) Loads the Scheme source file FILE. Returns 0 if successful, non-0 if not. This function is used to load SCM's initialization file - `Init5e2.scm'. | + `Init5e3.scm'. | -- Function: int scm_ldprog (char *FILE) Loads the Scheme source file `(in-vicinity (program-vicinity) @@ -7528,7 +7586,7 @@ File: scm.info, Node: Executable Pathname, Next: Script Support, Prev: File-S 6.3.2 Executable Pathname ------------------------- -For purposes of finding `Init5e2.scm', dumping an executable, and | +For purposes of finding `Init5e3.scm', dumping an executable, and | dynamic linking, a SCM session needs the pathname of its executable image. @@ -7547,7 +7605,7 @@ the full pathname for the associated executable file. for the first occurrence. Thus, it is advisable to invoke `dld_init' as: - main (int argc, const char **argv) | + main (int argc, const char **argv) { ... if (dld_init (dld_find_executable (argv[0]))) { @@ -7773,23 +7831,24 @@ with a VMS system needs to finish and debug it.  File: scm.info, Node: Index, Prev: The Implementation, Up: Top -Procedure and Macro Index -************************* +Index | +***** | -This is an alphabetical list of all the procedures and macros in SCM. +Procedure and Macro Index | +========================= | [index] * Menu: * #!: Unix Scheme Scripts. (line 40) * #': Common-Lisp Read Syntax. - (line 50) + (line 49) | * #+: Common-Lisp Read Syntax. (line 16) * #-: Common-Lisp Read Syntax. - (line 26) + (line 25) | * #.: Common-Lisp Read Syntax. - (line 39) + (line 38) | * #;text-till-end-of-line: Documentation and Comments. (line 31) * #?column: Load Syntax. (line 12) @@ -7798,76 +7857,58 @@ This is an alphabetical list of all the procedures and macros in SCM. * #\token: Common-Lisp Read Syntax. (line 7) * #|: Common-Lisp Read Syntax. - (line 29) -* $abs: Numeric. (line 38) -* $acos: Numeric. (line 45) -* $acosh: Numeric. (line 51) -* $asin: Numeric. (line 44) -* $asinh: Numeric. (line 50) -* $atan: Numeric. (line 46) -* $atan2: Numeric. (line 60) -* $atanh: Numeric. (line 52) -* $cos: Numeric. (line 42) -* $cosh: Numeric. (line 48) -* $exp: Numeric. (line 39) -* $expt: Numeric. (line 63) -* $log: Numeric. (line 40) -* $log10: Numeric. (line 57) -* $sin: Numeric. (line 41) -* $sinh: Numeric. (line 47) -* $sqrt: Numeric. (line 37) -* $tan: Numeric. (line 43) -* $tanh: Numeric. (line 49) + (line 28) | +* $atan2: Numeric. (line 59) | * -: SCM Options. (line 108) * ---: SCM Options. (line 109) -* ---c-source-files=: Build Options. (line 133) -* ---compiler-options=: Build Options. (line 118) -* ---defines=: Build Options. (line 111) -* ---features=: Build Options. (line 191) +* ---c-source-files=: Build Options. (line 134) | +* ---compiler-options=: Build Options. (line 119) | +* ---defines=: Build Options. (line 112) | +* ---features=: Build Options. (line 192) | * ---help: SCM Options. (line 20) -* ---initialization=: Build Options. (line 141) -* ---libraries=: Build Options. (line 103) -* ---linker-options=: Build Options. (line 121) +* ---initialization=: Build Options. (line 142) | +* ---libraries=: Build Options. (line 104) | +* ---linker-options=: Build Options. (line 122) | * ---no-init-file: SCM Options. (line 17) -* ---object-files=: Build Options. (line 137) -* ---outname=: Build Options. (line 97) +* ---object-files=: Build Options. (line 138) | +* ---outname=: Build Options. (line 98) | * ---platform=: Build Options. (line 12) -* ---scheme-initial=: Build Options. (line 125) -* ---type=: Build Options. (line 146) +* ---scheme-initial=: Build Options. (line 126) | +* ---type=: Build Options. (line 147) | * ---version: SCM Options. (line 23) -* --batch-dialect=: Build Options. (line 164) -* --script-name=: Build Options. (line 186) +* --batch-dialect=: Build Options. (line 165) | +* --script-name=: Build Options. (line 187) | * -a: SCM Options. (line 9) * -b: SCM Options. (line 98) * -c <1>: SCM Options. (line 46) -* -c: Build Options. (line 132) +* -c: Build Options. (line 133) | * -d: SCM Options. (line 42) -* -D: Build Options. (line 110) +* -D: Build Options. (line 111) | * -e: SCM Options. (line 45) * -f: SCM Options. (line 37) -* -F: Build Options. (line 190) -* -f: Build Options. (line 68) +* -F: Build Options. (line 191) | +* -f: Build Options. (line 69) | * -h <1>: SCM Options. (line 33) -* -h: Build Options. (line 163) +* -h: Build Options. (line 164) | * -i <1>: SCM Options. (line 88) -* -i: Build Options. (line 140) -* -j: Build Options. (line 136) +* -i: Build Options. (line 141) | +* -j: Build Options. (line 137) | * -l <1>: SCM Options. (line 36) -* -l: Build Options. (line 102) +* -l: Build Options. (line 103) | * -m: SCM Options. (line 75) * -no-init-file: SCM Options. (line 16) * -o <1>: SCM Options. (line 52) -* -o: Build Options. (line 96) +* -o: Build Options. (line 97) | * -p <1>: SCM Options. (line 62) * -p: Build Options. (line 11) * -q: SCM Options. (line 71) * -r: SCM Options. (line 26) * -s <1>: SCM Options. (line 103) -* -s: Build Options. (line 124) -* -t: Build Options. (line 145) +* -s: Build Options. (line 125) | +* -t: Build Options. (line 146) | * -u: SCM Options. (line 82) * -v: SCM Options. (line 66) -* -w: Build Options. (line 185) +* -w: Build Options. (line 186) | * @apply: Environment Frames. (line 54) * @copy-tree: Storage. (line 16) * @macroexpand1: Syntactic Hooks for Hygienic Macros. @@ -7918,7 +7959,7 @@ This is an alphabetical list of all the procedures and macros in SCM. * CAR: Cells. (line 23) * cbreak: Terminal Mode Setting. (line 12) -* CCLO_LENGTH: Header Cells. (line 101) +* CCLO_LENGTH: Header Cells. (line 110) | * CDR: Cells. (line 24) * char: Type Conversions. (line 27) * char-ready: Port Properties. (line 39) @@ -7982,7 +8023,7 @@ This is an alphabetical list of all the procedures and macros in SCM. * exec-self: Internal State. (line 27) * execl: I/O-Extensions. (line 207) * execlp: I/O-Extensions. (line 208) -* execpath: Internal State. (line 78) +* execpath: Internal State. (line 79) | * execv: I/O-Extensions. (line 218) * execvp: I/O-Extensions. (line 219) * exit: SCM Session. (line 19) @@ -8004,7 +8045,7 @@ This is an alphabetical list of all the procedures and macros in SCM. (line 10) * free_continuation: Continuations. (line 79) * freshline: Port Properties. (line 26) -* gc: Internal State. (line 57) +* gc: Internal State. (line 58) | * gc-hook: Storage. (line 28) * gc_mark: Marking Cells. (line 27) * GCCDR: Marking Cells. (line 15) @@ -8096,7 +8137,7 @@ This is an alphabetical list of all the procedures and macros in SCM. * macroexpand-1: Defmacro. (line 6) * main: Embedding SCM. (line 12) * makargvfrmstrs: Type Conversions. (line 76) -* makcclo: Header Cells. (line 96) +* makcclo: Header Cells. (line 105) | * make-arbiter: Process Synchronization. (line 35) * make-edited-line-port: Line Editing. (line 29) @@ -8178,13 +8219,13 @@ This is an alphabetical list of all the procedures and macros in SCM. * port-type: Port Properties. (line 10) * PORTP: Ptob Cells. (line 33) * pp: Debugging Scheme Code. - (line 79) + (line 75) | * pprint: Debugging Scheme Code. - (line 66) + (line 62) | * print: Debugging Scheme Code. - (line 58) + (line 54) | * print-args: Debugging Scheme Code. - (line 84) + (line 80) | * procedure->identifier-macro: Macro Primitives. (line 14) * procedure->macro: Macro Primitives. (line 12) * procedure->memoizing-macro: Macro Primitives. (line 13) @@ -8207,6 +8248,23 @@ This is an alphabetical list of all the procedures and macros in SCM. (line 7) * readdir: I/O-Extensions. (line 92) * readlink: Unix Extensions. (line 19) +* real-acos: Numeric. (line 44) | +* real-acosh: Numeric. (line 50) | +* real-asin: Numeric. (line 43) | +* real-asinh: Numeric. (line 49) | +* real-atan: Numeric. (line 45) | +* real-atanh: Numeric. (line 51) | +* real-cos: Numeric. (line 41) | +* real-cosh: Numeric. (line 47) | +* real-exp: Numeric. (line 38) | +* real-expt: Numeric. (line 62) | +* real-ln: Numeric. (line 39) | +* real-log10: Numeric. (line 56) | +* real-sin: Numeric. (line 40) | +* real-sinh: Numeric. (line 46) | +* real-sqrt: Numeric. (line 37) | +* real-tan: Numeric. (line 42) | +* real-tanh: Numeric. (line 48) | * record-printer-set!: Records. (line 10) * redirect-port!: I/O-Extensions. (line 83) * refresh: Window Manipulation. (line 29) @@ -8241,7 +8299,7 @@ This is an alphabetical list of all the procedures and macros in SCM. * restore_signals: Embedding SCM. (line 90) * rewinddir: I/O-Extensions. (line 97) * rmdir: I/O-Extensions. (line 140) -* room: Internal State. (line 61) +* room: Internal State. (line 62) | * savetty: Terminal Mode Setting. (line 59) * scalar->array: Array Mapping. (line 51) @@ -8323,7 +8381,7 @@ This is an alphabetical list of all the procedures and macros in SCM. * touchline: Window Manipulation. (line 55) * touchwin: Window Manipulation. (line 54) * trace: Debugging Scheme Code. - (line 41) + (line 37) | * transpose-array: Conventional Arrays. (line 21) * try-arbiter: Process Synchronization. (line 39) @@ -8343,7 +8401,7 @@ This is an alphabetical list of all the procedures and macros in SCM. * uniform-array-read!: Uniform Array. (line 67) * uniform-array-write: Uniform Array. (line 79) * untrace: Debugging Scheme Code. - (line 49) + (line 45) | * user-interrupt: Interrupts. (line 49) * usr:lib: Dynamic Linking. (line 18) * utime: I/O-Extensions. (line 167) @@ -8378,9 +8436,7 @@ This is an alphabetical list of all the procedures and macros in SCM. * x:lib: Dynamic Linking. (line 23) Variable Index -************** - -This is an alphabetical list of all the global variables in SCM. +============== | [index] * Menu: @@ -8392,7 +8448,7 @@ This is an alphabetical list of all the global variables in SCM. * *interactive*: SCM Variables. (line 36) * *load-pathname*: Eval and Load. (line 15) * *load-reader*: Line Numbers. (line 50) -* *scm-version*: Internal State. (line 66) +* *scm-version*: Internal State. (line 67) | * *slib-load-reader*: Line Numbers. (line 51) * *syntax-rules*: SCM Variables. (line 30) * af_inet: Host and Other Inquiries. @@ -8425,9 +8481,7 @@ This is an alphabetical list of all the global variables in SCM. * UNSPECIFIED: Immediates. (line 78) Type Index -********** - -This is an alphabetical list of data types and feature names in SCM. +========== | [index] * Menu: @@ -8485,39 +8539,40 @@ This is an alphabetical list of data types and feature names in SCM. * tc3_closure: Cells. (line 39) * tc3_cons: Cells. (line 32) * tc7_asubr: Subr Cells. (line 12) -* tc7_bvect: Header Cells. (line 55) -* tc7_contin: Header Cells. (line 76) -* tc7_cvect: Header Cells. (line 73) +* tc7_contin: Header Cells. (line 85) | * tc7_cxr: Subr Cells. (line 22) -* tc7_dvect: Header Cells. (line 70) -* tc7_fvect: Header Cells. (line 67) -* tc7_ivect: Header Cells. (line 58) -* tc7_lsubr: Subr Cells. (line 62) -* tc7_lsubr_2: Subr Cells. (line 59) +* tc7_lsubr: Subr Cells. (line 63) | +* tc7_lsubr_2: Subr Cells. (line 60) | * tc7_msymbol: Header Cells. (line 29) -* tc7_rpsubr: Subr Cells. (line 47) -* tc7_specfun: Header Cells. (line 79) +* tc7_rpsubr: Subr Cells. (line 48) | +* tc7_specfun: Header Cells. (line 88) | * tc7_ssymbol: Header Cells. (line 26) * tc7_string: Header Cells. (line 41) * tc7_subr_0: Subr Cells. (line 16) * tc7_subr_1: Subr Cells. (line 19) -* tc7_subr_1o: Subr Cells. (line 51) -* tc7_subr_2: Subr Cells. (line 44) -* tc7_subr_2o: Subr Cells. (line 55) -* tc7_subr_3: Subr Cells. (line 41) -* tc7_svect: Header Cells. (line 64) -* tc7_uvect: Header Cells. (line 61) +* tc7_subr_1o: Subr Cells. (line 52) | +* tc7_subr_2: Subr Cells. (line 45) | +* tc7_subr_2o: Subr Cells. (line 56) | +* tc7_subr_3: Subr Cells. (line 42) | +* tc7_Vbool: Header Cells. (line 55) | * tc7_vector: Header Cells. (line 13) +* tc7_VfixN16: Header Cells. (line 64) | +* tc7_VfixN32: Header Cells. (line 61) | +* tc7_VfixN8: Header Cells. (line 70) | +* tc7_VfixZ16: Header Cells. (line 67) | +* tc7_VfixZ32: Header Cells. (line 58) | +* tc7_VfixZ8: Header Cells. (line 73) | +* tc7_VfloC64: Header Cells. (line 82) | +* tc7_VfloR32: Header Cells. (line 76) | +* tc7_VfloR64: Header Cells. (line 79) | * tc_dblc: Smob Cells. (line 33) * tc_dblr: Smob Cells. (line 30) * tc_free_cell: Smob Cells. (line 15) * turtle-graphics: Dynamic Linking. (line 56) * unexec: Dump. (line 6) - -This is an alphabetical list of concepts introduced in this manual. - + | Concept Index -************* +============= | [index] * Menu: @@ -8531,29 +8586,32 @@ Concept Index * #!.bat: MS-DOS Compatible Scripts. (line 8) * array <1>: Conventional Arrays. (line 9) -* array: Build Options. (line 195) -* array-for-each: Build Options. (line 198) -* arrays: Build Options. (line 201) -* bignums: Build Options. (line 204) -* byte: Build Options. (line 207) +* array: Build Options. (line 196) | +* array-for-each: Build Options. (line 199) | +* arrays: Build Options. (line 202) | +* bignums: Build Options. (line 205) | +* build: Building SCM. (line 6) | +* build.scm: Building SCM. (line 6) | +* byte: Build Options. (line 208) | * callbacks: Callbacks. (line 6) -* careful-interrupt-masking: Build Options. (line 210) -* cautious: Build Options. (line 216) -* cheap-continuations: Build Options. (line 225) -* compiled-closure: Build Options. (line 234) +* careful-interrupt-masking: Build Options. (line 211) | +* cautious: Build Options. (line 217) | +* cheap-continuations: Build Options. (line 226) | +* compiled-closure: Build Options. (line 235) | * continuations: Continuations. (line 6) -* curses: Build Options. (line 237) -* debug: Build Options. (line 240) -* differ: Build Options. (line 245) +* curses: Build Options. (line 238) | +* debug: Build Options. (line 241) | +* differ: Build Options. (line 246) | * documentation string: Documentation and Comments. (line 13) -* dump: Build Options. (line 248) -* dynamic-linking: Build Options. (line 251) +* dont-memoize-locals: Build Options. (line 249) | +* dump: Build Options. (line 254) | +* dynamic-linking: Build Options. (line 257) | * ecache: Memory Management for Environments. (line 6) -* edit-line: Build Options. (line 254) +* edit-line: Build Options. (line 260) | * Embedding SCM: Embedding SCM. (line 6) -* engineering-notation: Build Options. (line 257) +* engineering-notation: Build Options. (line 263) | * environments: Memory Management for Environments. (line 6) * exchanger: Process Synchronization. @@ -8563,187 +8621,186 @@ Concept Index (line 13) * foo.c: Compiling and Linking Custom Files. (line 13) -* generalized-c-arguments: Build Options. (line 262) +* generalized-c-arguments: Build Options. (line 268) | * graphics: Packages. (line 23) * hobbit: Packages. (line 23) -* i/o-extensions: Build Options. (line 265) +* i/o-extensions: Build Options. (line 271) | * IEEE: Bibliography. (line 7) -* inexact: Build Options. (line 269) +* inexact: Build Options. (line 275) | * JACAL: Bibliography. (line 49) -* lit: Build Options. (line 272) -* macro: Build Options. (line 275) +* lit: Build Options. (line 278) | +* macro: Build Options. (line 281) | * memory management: Memory Management for Environments. (line 6) -* mysql: Build Options. (line 279) -* no-heap-shrink: Build Options. (line 282) +* mysql: Build Options. (line 285) | +* no-heap-shrink: Build Options. (line 288) | * NO_ENV_CACHE: Memory Management for Environments. (line 89) -* none: Build Options. (line 287) +* none: Build Options. (line 293) | * posix: Posix Extensions. (line 6) * Posix: Posix Extensions. (line 6) -* posix: Build Options. (line 290) +* posix: Build Options. (line 296) | * R4RS: Bibliography. (line 11) * R5RS: Bibliography. (line 18) -* reckless: Build Options. (line 295) -* record: Build Options. (line 300) -* regex: Build Options. (line 304) -* rev2-procedures: Build Options. (line 307) +* reckless: Build Options. (line 301) | +* record: Build Options. (line 306) | +* regex: Build Options. (line 310) | +* rev2-procedures: Build Options. (line 313) | * rope <1>: Type Conversions. (line 6) * rope: Callbacks. (line 6) * SchemePrimer: Bibliography. (line 39) -* SICP: Build Options. (line 313) -* sicp: Build Options. (line 311) +* SICP: Build Options. (line 319) | +* sicp: Build Options. (line 317) | * SICP: Bibliography. (line 30) * signals: Signals. (line 6) * Simply: Bibliography. (line 35) -* single-precision-only: Build Options. (line 325) +* single-precision-only: Build Options. (line 331) | * SLIB: Bibliography. (line 43) -* socket: Build Options. (line 331) -* stack-limit: Build Options. (line 335) -* tick-interrupts: Build Options. (line 342) -* turtlegr: Build Options. (line 345) +* socket: Build Options. (line 337) | +* tick-interrupts: Build Options. (line 341) | +* turtlegr: Build Options. (line 344) | * unix: Unix Extensions. (line 6) * Unix: Unix Extensions. (line 6) -* unix: Build Options. (line 349) -* wb: Build Options. (line 353) -* windows: Build Options. (line 356) +* unix: Build Options. (line 348) | +* wb: Build Options. (line 352) | +* windows: Build Options. (line 355) | * X: Packages. (line 23) * x <1>: Packages. (line 23) -* x: Build Options. (line 359) +* x: Build Options. (line 358) | * xlib: Packages. (line 23) * Xlib: Packages. (line 23) -* xlib: Build Options. (line 362) +* xlib: Build Options. (line 361) | * xlibscm: Packages. (line 23) * Xlibscm: Packages. (line 23)  Tag Table: -Node: Top203 -Node: Overview1498 -Node: SCM Features1813 -Node: SCM Authors3833 -Node: Copying4734 -Node: The SCM License5063 -Node: SIOD copyright8987 -Node: Bibliography10340 -Node: Installing SCM12216 -Node: Making SCM12735 -Node: SLIB13660 -Node: Building SCM15576 -Node: Invoking Build16158 -Node: Build Options18495 -Node: Compiling and Linking Custom Files31870 -Node: Installing Dynamic Linking33866 -Node: Configure Module Catalog35652 -Node: Saving Images37660 -Node: Automatic C Preprocessor Definitions38343 -Node: Problems Compiling42241 -Node: Problems Linking43902 -Node: Problems Running44175 -Node: Testing46293 -Node: Reporting Problems49437 -Node: Operational Features50289 -Node: Invoking SCM50685 -Node: SCM Options52339 -Node: Invocation Examples56708 -Node: SCM Variables57668 -Node: SCM Session59148 -Node: Editing Scheme Code60679 -Node: Debugging Scheme Code62697 -Node: Debugging Continuations67109 -Node: Errors69669 -Node: Memoized Expressions73987 -Node: Internal State76351 -Node: Scripting79518 -Node: Unix Scheme Scripts79822 -Node: MS-DOS Compatible Scripts82854 -Node: Unix Shell Scripts84709 -Node: The Language86850 -Node: Standards Compliance87472 -Node: Storage89895 -Node: Time92375 -Node: Interrupts93391 -Node: Process Synchronization97024 -Node: Files and Ports98553 -Node: Opening and Closing98894 -Node: Port Properties101385 -Node: Port Redirection104071 -Node: Soft Ports105563 -Node: Eval and Load107345 -Node: Line Numbers108761 -Node: Lexical Conventions111184 -Node: Common-Lisp Read Syntax111446 -Node: Load Syntax113473 -Node: Documentation and Comments114093 -Node: Modifying Read Syntax115317 -Node: Syntax117040 -Node: Define and Set117944 -Node: Defmacro121478 -Node: Syntax-Rules122558 -Node: Macro Primitives124364 -Node: Environment Frames126003 -Node: Syntactic Hooks for Hygienic Macros128423 -Node: Packages135397 -Node: Dynamic Linking136277 -Node: Dump140961 -Node: Numeric144982 -Node: Arrays146748 -Node: Conventional Arrays146966 -Node: Uniform Array150505 -Node: Bit Vectors155317 -Node: Array Mapping156625 -Node: Records159319 -Node: I/O-Extensions160191 -Node: Posix Extensions168823 -Node: Unix Extensions178375 -Node: Sequence Comparison180276 -Node: Regular Expression Pattern Matching180606 -Node: Line Editing184584 -Node: Curses185945 -Node: Output Options Setting186880 -Node: Terminal Mode Setting189547 -Node: Window Manipulation192648 -Node: Output196133 -Node: Input199785 -Node: Curses Miscellany200829 -Node: Sockets202270 -Node: Host and Other Inquiries202633 -Node: Internet Addresses and Socket Names205774 -Node: Socket207347 -Node: SCMDB214580 -Node: The Implementation214818 -Node: Data Types215081 -Node: Immediates215910 -Node: Cells220292 -Node: Header Cells222410 -Node: Subr Cells225492 -Node: Ptob Cells227733 -Node: Smob Cells229302 -Node: Data Type Representations232510 -Node: Operations237171 -Node: Garbage Collection237765 -Node: Marking Cells238398 -Node: Sweeping the Heap240520 -Node: Memory Management for Environments241482 -Node: Signals246051 -Node: C Macros247612 -Node: Changing Scm248749 -Node: Defining Subrs253210 -Node: Defining Smobs255070 -Node: Defining Ptobs258127 -Node: Allocating memory259316 -Node: Embedding SCM261646 -Node: Callbacks269411 -Node: Type Conversions271232 -Node: Continuations275281 -Node: Evaluation279519 -Node: Program Self-Knowledge284702 -Node: File-System Habitat284956 -Node: Executable Pathname288569 -Node: Script Support290242 -Node: Improvements To Make291577 -Node: VMS Dynamic Linking293795 -Node: Index298508 +Node: Top1723 +Node: Overview3323 +Node: SCM Features3638 +Node: SCM Authors5713 +Node: Copying6614 +Node: The SCM License6943 +Node: SIOD copyright10867 +Node: Bibliography12253 +Node: Installing SCM14129 +Node: Making SCM14648 +Node: SLIB15573 +Node: Building SCM17489 +Node: Invoking Build18071 +Node: Build Options20408 +Node: Compiling and Linking Custom Files34079 +Node: Installing Dynamic Linking36075 +Node: Configure Module Catalog37861 +Node: Saving Images39869 +Node: Automatic C Preprocessor Definitions42952 +Node: Problems Compiling46727 +Node: Problems Linking48388 +Node: Problems Running48661 +Node: Testing50779 +Node: Reporting Problems54096 +Node: Operational Features54948 +Node: Invoking SCM55344 +Node: SCM Options57078 +Node: Invocation Examples61447 +Node: SCM Variables62407 +Node: SCM Session63887 +Node: Editing Scheme Code65418 +Node: Debugging Scheme Code67436 +Node: Debugging Continuations71888 +Node: Errors74448 +Node: Memoized Expressions78766 +Node: Internal State81130 +Node: Scripting84409 +Node: Unix Scheme Scripts84713 +Node: MS-DOS Compatible Scripts87745 +Node: Unix Shell Scripts89600 +Node: The Language91741 +Node: Standards Compliance92363 +Node: Storage94786 +Node: Time97266 +Node: Interrupts98282 +Node: Process Synchronization101915 +Node: Files and Ports103444 +Node: Opening and Closing103785 +Node: Port Properties106276 +Node: Port Redirection108962 +Node: Soft Ports110454 +Node: Eval and Load112236 +Node: Line Numbers113652 +Node: Lexical Conventions116075 +Node: Common-Lisp Read Syntax116337 +Node: Load Syntax118369 +Node: Documentation and Comments118989 +Node: Modifying Read Syntax120213 +Node: Syntax121936 +Node: Define and Set122840 +Node: Defmacro126374 +Node: Syntax-Rules127454 +Node: Macro Primitives129260 +Node: Environment Frames130899 +Node: Syntactic Hooks for Hygienic Macros133319 +Node: Packages140293 +Node: Dynamic Linking141173 +Node: Dump145848 +Node: Numeric149869 +Node: Arrays152669 +Node: Conventional Arrays152887 +Node: Uniform Array156426 +Node: Bit Vectors161238 +Node: Array Mapping162546 +Node: Records165240 +Node: I/O-Extensions166112 +Node: Posix Extensions174744 +Node: Unix Extensions184296 +Node: Sequence Comparison186197 +Node: Regular Expression Pattern Matching186527 +Node: Line Editing190505 +Node: Curses191866 +Node: Output Options Setting192801 +Node: Terminal Mode Setting195468 +Node: Window Manipulation198569 +Node: Output202054 +Node: Input205706 +Node: Curses Miscellany206750 +Node: Sockets208191 +Node: Host and Other Inquiries208554 +Node: Internet Addresses and Socket Names211695 +Node: Socket213268 +Node: SCMDB220501 +Node: The Implementation220739 +Node: Data Types221002 +Node: Immediates221831 +Node: Cells226213 +Node: Header Cells228331 +Node: Subr Cells232539 +Node: Ptob Cells234935 +Node: Smob Cells236504 +Node: Data Type Representations239806 +Node: Operations244944 +Node: Garbage Collection245538 +Node: Marking Cells246171 +Node: Sweeping the Heap248311 +Node: Memory Management for Environments249273 +Node: Signals253842 +Node: C Macros255403 +Node: Changing Scm256540 +Node: Defining Subrs261011 +Node: Defining Smobs262871 +Node: Defining Ptobs265928 +Node: Allocating memory267117 +Node: Embedding SCM269447 +Node: Callbacks277161 +Node: Type Conversions278982 +Node: Continuations283031 +Node: Evaluation287269 +Node: Program Self-Knowledge292452 +Node: File-System Habitat292706 +Node: Executable Pathname296319 +Node: Script Support297957 +Node: Improvements To Make299292 +Node: VMS Dynamic Linking301510 +Node: Index306223  End Tag Table -- cgit v1.2.3