diff options
Diffstat (limited to 'scm.info')
-rw-r--r-- | scm.info | 1088 |
1 files changed, 548 insertions, 540 deletions
@@ -1,24 +1,24 @@ 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. | - | +This manual is for SCM (version 5e4, November 2007), and algorithmic | +language Scheme implementation. + +Copyright (C) 1990-2007 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. @@ -27,27 +27,27 @@ END-INFO-DIR-ENTRY File: scm.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir) -SCM | -*** | +SCM +*** -This manual is for SCM (version 5e3, October 2006), and algorithmic | -language Scheme implementation. | +This manual is for SCM (version 5e4, November 2007), and algorithmic | +language Scheme implementation. -Copyright (C) 1990-2006 Free Software Foundation, Inc. | +Copyright (C) 1990-2007 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: @@ -104,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. `slib: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. @@ -256,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 @@ -377,7 +377,7 @@ File: scm.info, Node: Making SCM, Next: SLIB, Prev: Installing SCM, Up: Inst The SCM distribution has "Makefile" which contains rules for making "scmlit", a "bare-bones" version of SCM sufficient for running `build'. `build' is used to compile (or create scripts to compile) full -featured versions. +featured versions (*note Building SCM::). | Makefiles are not portable to the majority of platforms. If `Makefile' works for you, good; If not, I don't want to hear about it. If you @@ -406,18 +406,16 @@ 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/slib3a4.tar.gz | - - * ftp.gnu.org:/pub/gnu/jacal/slib3a4.tar.gz | + * swiss.csail.mit.edu:/pub/scm/slib3a5.tar.gz | - * ftp.cs.indiana.edu:/pub/scheme-repository/imp/slib3a4.tar.gz | + * ftp.gnu.org:/pub/gnu/jacal/slib3a5.tar.gz | -Unpack SLIB (`tar xzf slib3a4.tar.gz' or `unzip -ao slib3a4.zip') in an | +Unpack SLIB (`tar xzf slib3a5.tar.gz' or `unzip -ao slib3a5.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 `Init5e3.scm' is | +(this is the same directory as where the file `Init5e4.scm' is | installed). `require.scm' should have the contents: (define (library-vicinity) "/usr/local/lib/slib/") @@ -489,7 +487,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 "Init5e3.scm"'>>scmflags.h | + echo '#define IMPLINIT "Init5e4.scm"'>>scmflags.h | echo '#define BIGNUMS'>>scmflags.h echo '#define FLOATS'>>scmflags.h echo '#define ARRAYS'>>scmflags.h @@ -508,7 +506,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 "Init5e3.scm"'>>scmflags.h | + echo '#define IMPLINIT "Init5e4.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 @@ -549,20 +547,20 @@ the SCM command line options. amiga-dice-c m68000 amiga dcc amiga-gcc m68000 amiga gcc amiga-sas m68000 amiga lc - atari-st-gcc m68000 atari.st gcc - atari-st-turbo-c m68000 atari.st tcc + atari-st-gcc m68000 atari-st gcc | + atari-st-turbo-c m68000 atari-st tcc | borland-c i8086 ms-dos bcc darwin powerpc unix cc djgpp i386 ms-dos gcc - freebsd i386 unix cc + freebsd *unknown* unix cc | gcc *unknown* unix gcc gnu-win32 i386 unix gcc highc i386 ms-dos hc386 hp-ux hp-risc hp-ux cc irix mips irix gcc - linux i386 linux gcc + linux *unknown* linux gcc | linux-aout i386 linux gcc - linux-ia64 ia64 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 @@ -642,7 +640,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 `Init5e3.scm'. SCM tries several likely | + initialization file `Init5e4.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. @@ -725,6 +723,9 @@ the SCM command line options. "byte" Treating strings as byte-vectors. + "byte-number" | + Byte/number conversions | + | "careful-interrupt-masking" Define this for extra checking of interrupt masking and some simple checks for proper use of malloc and free. This is for @@ -756,18 +757,18 @@ the SCM command line options. For the "curses" screen management package. "debug" - Turns on the features `cautious' and | - `careful-interrupt-masking'; 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. | - | + "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. @@ -854,7 +855,7 @@ the SCM command line options. "socket" BSD "socket" interface. Socket addr functions require inexacts or bignums for 32-bit precision. - | + "tick-interrupts" Use if you want the ticks and ticks-interrupt functions. @@ -900,7 +901,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/Init5e3.scm"'>>scmflags.h | + echo '#define IMPLINIT "/home/jaffer/scm/Init5e4.scm"'>>scmflags.h | echo '#define COMPILED_INITS init_foo();'>>scmflags.h echo '#define BIGNUMS'>>scmflags.h echo '#define FLOATS'>>scmflags.h @@ -916,7 +917,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/Init5e3.scm"'>>scmflags.h | + echo '#define IMPLINIT "/home/jaffer/scm/Init5e4.scm"'>>scmflags.h | echo '#define BIGNUMS'>>scmflags.h echo '#define FLOATS'>>scmflags.h echo '#define ARRAYS'>>scmflags.h @@ -943,9 +944,9 @@ format. For notes about porting to MS-Windows and finishing the port to VMS *Note VMS Dynamic Linking::. "DLD" is a library package of C functions that performs "dynamic link -editing" on Linux, VAX (Ultrix), Sun 3 (SunOS 3.4 and 4.0), -SPARCstation (SunOS 4.0), Sequent Symmetry (Dynix), and Atari ST. It is -available from: +editing" on GNU/Linux, VAX (Ultrix), Sun 3 (SunOS 3.4 and 4.0), | +SPARCstation (SunOS 4.0), Sequent Symmetry (Dynix), and Atari ST. It | +is available from: | * ftp.gnu.org:pub/gnu/dld-3.3.tar.gz @@ -1036,36 +1037,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. | - | - | +The `dscm4' and `dscm5' targets in the SCM `Makefile' save images from +`udscm4' and `udscm5' executables respectively. + +Recent GNU/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 @@ -1107,11 +1108,12 @@ lines or add a `#define FLAG' line to `scmfig.h' or the beginning of AMIGA SAS/C 5.10 or Dice C on AMIGA __amigaos__ Gnu CC on AMIGA atarist ATARI-ST under Gnu CC + __DragonflyBSD__ DragonflyBSD | __FreeBSD__ FreeBSD GNUDOS DJGPP (obsolete in version 1.08) __GO32__ DJGPP (future?) hpux HP-UX - linux Linux + linux GNU/Linux | macintosh Macintosh (THINK_C and __MWERKS__ define) MCH_AMIGA Aztec_c 5.2a on AMIGA __MACH__ Apple Darwin @@ -1121,6 +1123,7 @@ lines or add a `#define FLAG' line to `scmfig.h' or the beginning of __MSDOS__ Turbo C, Borland C, and DJGPP __NetBSD__ NetBSD nosve Control Data NOS/VE + __OpenBSD__ OpenBSD | SVR2 System V Revision 2. sun SunOS __SVR4 SunOS @@ -1224,17 +1227,17 @@ remove <FLAG> in scmfig.h and Do so and recompile files. recompile scm. add <FLAG> in scmfig.h and recompile scm. -ERROR: Init5e3.scm not found. Assign correct IMPLINIT in makefile | +ERROR: Init5e4.scm not found. Assign correct IMPLINIT in makefile | or scmfig.h. Define environment variable SCM_INIT_PATH to be the full - pathname of Init5e3.scm. | + pathname of Init5e4.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 - Init5e3.scm to point to library or | + Init5e4.scm to point to library or | remove. Make sure the value of (library-vicinity) has a trailing @@ -1294,13 +1297,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. `Init5e3.scm'). | +output files. `Init5e4.scm'). | Spaces or control characters appear Check character defines in in symbol names. `scmfig.h'. Negative numbers turn positive. Check SRS in `scmfig.h'. -;ERROR: bignum: numerical overflow Increase NUMDIGS_MAX in `scmfig.h' | - and recompile. | -VMS: Couldn't unwind stack. #define CHEAP_CONTINUATIONS 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. @@ -1368,7 +1371,8 @@ File: scm.info, Node: Invoking SCM, Next: SCM Options, Prev: Operational Feat ================ scm [-a kbytes] [-muvbiq] [-version] [-help] - [[-]-no-init-file] [-p int] [-r feature] [-h feature] + [[-]-no-init-file] [--no-symbol-case-fold] | + [-p int] [-r feature] [-h feature] | [-d filename] [-f filename] [-l filename] [-c expression] [-e expression] [-o dumpname] [-- | - | -s] [filename] [arguments ...] @@ -1379,7 +1383,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 `Init5e3.scm') in platform-dependent directories relative | +file (usually `Init5e4.scm') in platform-dependent directories relative | to this directory. See *Note File-System Habitat:: for a blow-by-blow description. @@ -1388,12 +1392,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, 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. | +command line, or if `scm' is being invoked as a script, `Init5e4.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. -`Init5e3.scm' then looks for command input from one of three sources: | +`Init5e4.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. @@ -1421,6 +1425,9 @@ The options are processed in the order specified on the command line. -- Command Option: --no-init-file Inhibits the loading of `ScmInit.scm' as described above. + -- Command Option: -no-symbol-case-fold | + Symbol (and identifier) names will be case sensitive. | + | -- Command Option: --help prints usage information and URI; then exit. @@ -1554,13 +1561,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 `Init5e3.scm' in the source directory. | + The default is the file `Init5e4.scm' in the source directory. | -- Environment Variable: SCHEME_LIBRARY_PATH is the [SLIB] Scheme library directory. -- Environment Variable: HOME - is the directory where `Init5e3.scm' will look for the user | + is the directory where `Init5e4.scm' will look for the user | initialization file `ScmInit.scm'. -- Environment Variable: EDITOR @@ -1684,8 +1691,8 @@ File: scm.info, Node: Debugging Scheme Code, Next: Debugging Continuations, P 3.8 Debugging Scheme Code ========================= -The `cautious' option of `build' (*note Build Options::) supports | -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 @@ -1705,11 +1712,11 @@ debugging in Scheme. | with <C-c>, inspect or modify top-level values, trace or untrace procedures, and continue execution with `(continue)'. -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'. | +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. @@ -1979,13 +1986,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 `Init5e3.scm'. | + containing the arguments. `warn' is defined in `Init5e4.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 `Init5e3.scm'. | + defined in `Init5e4.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 @@ -2003,7 +2010,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 `Init5e3.scm' for an example of the use | + and `#f' otherwise. See `Init5e4.scm' for an example of the use | of `stack-trace'. @@ -2028,10 +2035,10 @@ 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 `Init5e3.scm': | +For instance, `open-input-file' is defined as follows in `Init5e4.scm': | (define (open-input-file str) - (or (open-file str OPEN_READ) + (or (open-file str open_read) | (and (procedure? could-not-open) (could-not-open) #f) (error "OPEN-INPUT-FILE couldn't open file " str))) @@ -2077,7 +2084,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 `Init5e3.scm' for details. | + more complicated; see `Init5e4.scm' for details. | -- Function: abort Resumes the top level Read-Eval-Print loop. @@ -2111,8 +2118,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; the interpreter checks | - stack depth periodically. | + notifications of heap growth printed; the interpreter checks + stack depth periodically. >= 4 a garbage collection summary is printed after each top level @@ -2132,7 +2139,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. `5e3') of SCM. | + Contains the version string (e.g. `5e4') of SCM. | 3.12.1 Executable path ---------------------- @@ -2744,8 +2751,8 @@ File: scm.info, Node: Opening and Closing, Next: Port Properties, Prev: Files reading, writing, and both reading and writing respectively. Both input and output functions can be used with io-ports. An end - of file must be read or a file-set-position done on the port - between a read operation and a write operation or vice-versa. + of file must be read or a two-argument file-position done on the | + port between a read operation and a write operation or vice-versa. | -- Function: _ionbf modestr Returns a version of MODESTR which when `open-file' is called with @@ -2794,6 +2801,17 @@ File: scm.info, Node: Port Properties, Next: Port Redirection, Prev: Opening Returns the filename PORT was opened with. If PORT is not open to a file the result is unspecified. + -- Function: file-position port | + -- Function: file-position port #f | + Returns the current position of the character in PORT which will | + next be read or written. If PORT is open to a non-file then `#f' | + is returned. | + | + -- Function: file-position port k | + Sets the current position in PORT which will next be read or | + written. If successful, `#f' is returned. If PORT is open to a | + non-file, then `file-position' returns `#f'. | + | -- Function: port-line port -- Function: port-column port If PORT is a tracked port, return the current line (column) number, @@ -3050,13 +3068,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?' 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?', *Note Require: (slib)Require. | + For more information on `provided?', *Note Require: (slib)Require. -- Read syntax: #- feature form is equivalent to `#+(not feature) expression'. @@ -3707,7 +3725,7 @@ of load and ([SLIB]) require specified here are supported. The The LIB1 ... pathnames specify additional libraries which may be needed for object files not produced by the Hobbit compiler. For - instance, crs is linked on Linux by + instance, crs is linked on GNU/Linux by | (load (in-vicinity (implementation-vicinity) "crs.o") (usr:lib "ncurses") (usr:lib "c")) @@ -3908,35 +3926,35 @@ operations: (r5rs)Numerical operations. -- Function: atanh z Return the inverse hyperbolic sine, cosine, and tangent of Z - -- 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 | + -- 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: real-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: real-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 | - `real-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 @@ -4193,7 +4211,7 @@ SCM has some extra functions in feature `array-for-each': -- Function: array-equal? array0 array1 ... Returns `#t' iff all arguments are arrays with the same shape, the same type, and have corresponding elements which are either - `equal?' or `array-equal?'. This function differs from `equal?' + `equal?' or `array-equal?'. This function differs from `equal?' in that a one dimensional shared array may be ARRAY-EQUAL? but not EQUAL? to a vector or uniform vector. @@ -4309,18 +4327,7 @@ I/O: (slib)Line I/O, and the following functions are defined: -- Function: getpid Returns the process ID of the current process. - - -- Function: file-position port - Returns the current position of the character in PORT which will - next be read or written. If PORT is not open to a file the result - is unspecified. - - -- Function: file-set-position port integer - Sets the current position in PORT which will next be read or - written. If PORT is not open to a file the action of - `file-set-position' is unspecified. The result of - `file-set-position' is unspecified. - + | -- Function: try-create-file name modes perms If the file with name NAME already exists, return `#f', otherwise try to create and open the file like `try-open-file', *Note Files @@ -4383,7 +4390,7 @@ I/O: (slib)Line I/O, and the following functions are defined: "Link.scm" "Macro.scm" "Transcen.scm" - "Init5e3.scm" | + "Init5e4.scm" | -- Function: mkdir path mode The `mkdir' function creates a new, empty directory whose name is @@ -5626,9 +5633,9 @@ sockets for multiple connections without input blocking. (next (cdr con-list))) (else (for-each (lambda (con) - (file-set-position con 0) + (file-position con 0) | (write-char c con) - (file-set-position con 0)) + (file-position con 0)) connections) (cons con (next (cdr con-list))))))) (else (cons con (next (cdr con-list))))))))))))) @@ -5654,9 +5661,9 @@ you can use a client written in scheme: (ct (and actives (memq (current-input-port) actives) (read-char)))) (cond ((or (eof-object? cs) (eof-object? ct)) (close-port con)) (else (cond (cs (display cs))) - (cond (ct (file-set-position con 0) + (cond (ct (file-position con 0) | (display ct con) - (file-set-position con 0))) + (file-position con 0))) | (go))))) (cond (con (display "Connecting to ") (display (getpeername con)) @@ -5968,34 +5975,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_Vbool | + -- Header: tc7_Vbool uniform vector of booleans (bit-vector) - -- Header: tc7_VfixZ32 | + -- Header: tc7_VfixZ32 uniform vector of integers - -- Header: tc7_VfixN32 | + -- Header: tc7_VfixN32 uniform vector of non-negative integers - -- Header: tc7_VfixN16 | - uniform vector of non-negative short integers | - | - -- Header: tc7_VfixZ16 | + -- Header: tc7_VfixN16 + uniform vector of non-negative short integers + + -- Header: tc7_VfixZ16 uniform vector of short integers - -- Header: tc7_VfixN8 | - uniform vector of non-negative bytes | - | - -- Header: tc7_VfixZ8 | - uniform vector of signed bytes | - | - -- Header: tc7_VfloR32 | + -- 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_VfloR64 | + -- Header: tc7_VfloR64 uniform vector of double precision inexact real numbers - -- Header: tc7_VfloC64 | + -- Header: tc7_VfloC64 uniform vector of double precision inexact complex numbers -- Header: tc7_contin @@ -6052,11 +6059,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', `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. | + `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. @@ -6237,8 +6244,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, - Vbool, VfixZ32, VfixN32, VfloR32, VfloR64, or VfloC64) 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 @@ -6268,34 +6275,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........... -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........... | +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.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 | + 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)().......... @@ -6397,7 +6404,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 @@ -6722,12 +6729,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 `slib: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 `Init5e3.scm' which loads `Ifoo.scm' if your | + 8. put an `if' into `Init5e4.scm' which loads `Ifoo.scm' if your | package is included: (if (defined? twiddle-bits!) @@ -7027,7 +7034,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 "Init5e3_scm"), and the directory separator string | + (default "Init5e4_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. @@ -7150,7 +7157,7 @@ Here is a minimal embedding program `libtest.c': -| dld_find_executable(./libtest): /home/jaffer/scm/libtest - implpath: /home/jaffer/scm/Init5e3.scm | + implpath: /home/jaffer/scm/Init5e4.scm | This is libtest_init_user_scm hello world @@ -7166,7 +7173,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 - `Init5e3.scm'. | + `Init5e4.scm'. | -- Function: int scm_ldprog (char *FILE) Loads the Scheme source file `(in-vicinity (program-vicinity) @@ -7586,7 +7593,7 @@ File: scm.info, Node: Executable Pathname, Next: Script Support, Prev: File-S 6.3.2 Executable Pathname ------------------------- -For purposes of finding `Init5e3.scm', dumping an executable, and | +For purposes of finding `Init5e4.scm', dumping an executable, and | dynamic linking, a SCM session needs the pathname of its executable image. @@ -7831,24 +7838,24 @@ with a VMS system needs to finish and debug it. File: scm.info, Node: Index, Prev: The Implementation, Up: Top -Index | -***** | +Index +***** -Procedure and Macro Index | -========================= | +Procedure and Macro Index +************************* * Menu: * #!: Unix Scheme Scripts. (line 40) * #': Common-Lisp Read Syntax. - (line 49) | + (line 49) * #+: Common-Lisp Read Syntax. (line 16) * #-: Common-Lisp Read Syntax. - (line 25) | + (line 25) * #.: Common-Lisp Read Syntax. - (line 38) | + (line 38) * #;text-till-end-of-line: Documentation and Comments. (line 31) * #?column: Load Syntax. (line 12) @@ -7857,58 +7864,59 @@ Procedure and Macro Index | * #\token: Common-Lisp Read Syntax. (line 7) * #|: Common-Lisp Read Syntax. - (line 28) | -* $atan2: Numeric. (line 59) | -* -: SCM Options. (line 108) -* ---: SCM Options. (line 109) -* ---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 142) | -* ---libraries=: Build Options. (line 104) | -* ---linker-options=: Build Options. (line 122) | + (line 28) +* $atan2: Numeric. (line 59) +* -: SCM Options. (line 111) +* ---: SCM Options. (line 112) +* ---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 23) +* ---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 138) | -* ---outname=: Build Options. (line 98) | +* ---object-files=: Build Options. (line 138) +* ---outname=: Build Options. (line 98) * ---platform=: Build Options. (line 12) -* ---scheme-initial=: Build Options. (line 126) | -* ---type=: Build Options. (line 147) | -* ---version: SCM Options. (line 23) -* --batch-dialect=: Build Options. (line 165) | -* --script-name=: Build Options. (line 187) | +* ---scheme-initial=: Build Options. (line 126) +* ---type=: Build Options. (line 147) +* ---version: SCM Options. (line 26) +* --batch-dialect=: Build Options. (line 165) +* --no-symbol-case-fold: SCM Options. (line 20) +* --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 133) | -* -d: SCM Options. (line 42) -* -D: Build Options. (line 111) | -* -e: SCM Options. (line 45) -* -f: SCM Options. (line 37) -* -F: Build Options. (line 191) | -* -f: Build Options. (line 69) | -* -h <1>: SCM Options. (line 33) -* -h: Build Options. (line 164) | -* -i <1>: SCM Options. (line 88) -* -i: Build Options. (line 141) | -* -j: Build Options. (line 137) | -* -l <1>: SCM Options. (line 36) -* -l: Build Options. (line 103) | -* -m: SCM Options. (line 75) +* -b: SCM Options. (line 101) +* -c <1>: SCM Options. (line 49) +* -c: Build Options. (line 133) +* -d: SCM Options. (line 45) +* -D: Build Options. (line 111) +* -e: SCM Options. (line 48) +* -f: SCM Options. (line 40) +* -F: Build Options. (line 191) +* -f: Build Options. (line 69) +* -h <1>: SCM Options. (line 36) +* -h: Build Options. (line 164) +* -i <1>: SCM Options. (line 91) +* -i: Build Options. (line 141) +* -j: Build Options. (line 137) +* -l <1>: SCM Options. (line 39) +* -l: Build Options. (line 103) +* -m: SCM Options. (line 78) * -no-init-file: SCM Options. (line 16) -* -o <1>: SCM Options. (line 52) -* -o: Build Options. (line 97) | -* -p <1>: SCM Options. (line 62) +* -o <1>: SCM Options. (line 55) +* -o: Build Options. (line 97) +* -p <1>: SCM Options. (line 65) * -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 125) | -* -t: Build Options. (line 146) | -* -u: SCM Options. (line 82) -* -v: SCM Options. (line 66) -* -w: Build Options. (line 186) | +* -q: SCM Options. (line 74) +* -r: SCM Options. (line 29) +* -s <1>: SCM Options. (line 106) +* -s: Build Options. (line 125) +* -t: Build Options. (line 146) +* -u: SCM Options. (line 85) +* -v: SCM Options. (line 69) +* -w: Build Options. (line 186) * @apply: Environment Frames. (line 54) * @copy-tree: Storage. (line 16) * @macroexpand1: Syntactic Hooks for Hygienic Macros. @@ -7917,7 +7925,7 @@ Procedure and Macro Index | * _ionbf: Opening and Closing. (line 28) * _tracked: Opening and Closing. (line 35) * abort: Internal State. (line 15) -* access: I/O-Extensions. (line 181) +* access: I/O-Extensions. (line 170) * acct: Unix Extensions. (line 34) * acons: Storage. (line 21) * acosh: Numeric. (line 33) @@ -7959,25 +7967,25 @@ Procedure and Macro Index | * CAR: Cells. (line 23) * cbreak: Terminal Mode Setting. (line 12) -* CCLO_LENGTH: Header Cells. (line 110) | +* CCLO_LENGTH: Header Cells. (line 110) * CDR: Cells. (line 24) * char: Type Conversions. (line 27) -* char-ready: Port Properties. (line 39) +* char-ready: Port Properties. (line 50) * char-ready? <1>: Socket. (line 66) -* char-ready?: Port Properties. (line 37) +* char-ready?: Port Properties. (line 48) * char:sharp: Modifying Read Syntax. (line 23) * CHARS: Header Cells. (line 35) -* chdir: I/O-Extensions. (line 145) +* chdir: I/O-Extensions. (line 134) * CHEAP_CONTINUATIONS: Continuations. (line 37) -* chmod: I/O-Extensions. (line 160) +* chmod: I/O-Extensions. (line 149) * chown: Posix Extensions. (line 255) * clearok: Output Options Setting. (line 11) * close-port <1>: Window Manipulation. (line 24) * close-port <2>: Posix Extensions. (line 35) * close-port: Opening and Closing. (line 55) -* closedir: I/O-Extensions. (line 101) +* closedir: I/O-Extensions. (line 90) * CLOSEDP: Ptob Cells. (line 43) * CLOSUREP: Cells. (line 49) * CODE: Cells. (line 52) @@ -7988,7 +7996,7 @@ Procedure and Macro Index | * cosh: Numeric. (line 28) * could-not-open: Interrupts. (line 66) * current-error-port: Port Redirection. (line 7) -* current-input-port: Port Properties. (line 43) +* current-input-port: Port Properties. (line 54) * current-time: Time. (line 24) * default-input-port: Line Editing. (line 21) * default-output-port: Line Editing. (line 25) @@ -7998,11 +8006,11 @@ Procedure and Macro Index | * defmacro: Defmacro. (line 6) * defsyntax: Macro Primitives. (line 36) * defvar: Define and Set. (line 13) -* directory-for-each: I/O-Extensions. (line 105) +* directory-for-each: I/O-Extensions. (line 94) * display: Output. (line 9) * dld_find_executable: Executable Pathname. (line 18) * dump: Dump. (line 33) -* duplicate-port: I/O-Extensions. (line 78) +* duplicate-port: I/O-Extensions. (line 67) * dyn:call: Dynamic Linking. (line 79) * dyn:link: Dynamic Linking. (line 71) * dyn:main-call: Dynamic Linking. (line 91) @@ -8021,17 +8029,16 @@ Procedure and Macro Index | * eval: Eval and Load. (line 21) * eval-string: Eval and Load. (line 24) * exec-self: Internal State. (line 27) -* execl: I/O-Extensions. (line 207) -* execlp: I/O-Extensions. (line 208) -* execpath: Internal State. (line 79) | -* execv: I/O-Extensions. (line 218) -* execvp: I/O-Extensions. (line 219) +* execl: I/O-Extensions. (line 196) +* execlp: I/O-Extensions. (line 197) +* execpath: Internal State. (line 79) +* execv: I/O-Extensions. (line 207) +* execvp: I/O-Extensions. (line 208) * exit: SCM Session. (line 19) * extended-environment: Syntactic Hooks for Hygienic Macros. (line 113) -* file-position: I/O-Extensions. (line 56) -* file-set-position: I/O-Extensions. (line 61) -* fileno: I/O-Extensions. (line 177) +* file-position: Port Properties. (line 18) +* fileno: I/O-Extensions. (line 166) * final_scm: Embedding SCM. (line 117) * find_impl_file: File-System Habitat. (line 35) * force-output: Window Manipulation. (line 30) @@ -8044,8 +8051,8 @@ Procedure and Macro Index | * frame-trace: Debugging Continuations. (line 10) * free_continuation: Continuations. (line 79) -* freshline: Port Properties. (line 26) -* gc: Internal State. (line 58) | +* freshline: Port Properties. (line 37) +* gc: Internal State. (line 58) * gc-hook: Storage. (line 28) * gc_mark: Marking Cells. (line 27) * GCCDR: Marking Cells. (line 15) @@ -8053,7 +8060,7 @@ Procedure and Macro Index | * gentemp: Defmacro. (line 6) * get-internal-real-time: Time. (line 17) * get-internal-run-time: Time. (line 10) -* getcwd: I/O-Extensions. (line 150) +* getcwd: I/O-Extensions. (line 139) * getegid: Posix Extensions. (line 63) * geteuid: Posix Extensions. (line 66) * getgid: Posix Extensions. (line 60) @@ -8110,7 +8117,7 @@ Procedure and Macro Index | * integer->line-number: Line Numbers. (line 37) * INUM: Immediates. (line 26) * INUMP: Immediates. (line 21) -* isatty?: Port Properties. (line 33) +* isatty?: Port Properties. (line 44) * ISYMCHARS: Immediates. (line 93) * ISYMNUM: Immediates. (line 89) * ISYMP: Immediates. (line 86) @@ -8137,7 +8144,7 @@ Procedure and Macro Index | * macroexpand-1: Defmacro. (line 6) * main: Embedding SCM. (line 12) * makargvfrmstrs: Type Conversions. (line 76) -* makcclo: Header Cells. (line 105) | +* makcclo: Header Cells. (line 105) * make-arbiter: Process Synchronization. (line 35) * make-edited-line-port: Line Editing. (line 29) @@ -8159,7 +8166,7 @@ Procedure and Macro Index | * MAKSPCSYM: Immediates. (line 97) * mark_locations: Marking Cells. (line 33) * milli-alarm: Interrupts. (line 30) -* mkdir: I/O-Extensions. (line 131) +* mkdir: I/O-Extensions. (line 120) * mknod: Unix Extensions. (line 43) * must_free: Allocating memory. (line 43) * must_free_argv: Type Conversions. (line 84) @@ -8196,7 +8203,7 @@ Procedure and Macro Index | * open-output-pipe: Posix Extensions. (line 22) * open-pipe: Posix Extensions. (line 10) * open-ports: Opening and Closing. (line 48) -* opendir: I/O-Extensions. (line 88) +* opendir: I/O-Extensions. (line 77) * OPENP: Ptob Cells. (line 42) * OPFPORTP: Ptob Cells. (line 54) * OPINFPORTP: Ptob Cells. (line 55) @@ -8213,19 +8220,19 @@ Procedure and Macro Index | * pi/: Numeric. (line 24) * pipe: Posix Extensions. (line 40) * port-closed?: Port Properties. (line 7) -* port-column: Port Properties. (line 19) +* port-column: Port Properties. (line 30) * port-filename: Port Properties. (line 14) -* port-line: Port Properties. (line 18) +* port-line: Port Properties. (line 29) * port-type: Port Properties. (line 10) * PORTP: Ptob Cells. (line 33) * pp: Debugging Scheme Code. - (line 75) | + (line 75) * pprint: Debugging Scheme Code. - (line 62) | + (line 62) * print: Debugging Scheme Code. - (line 54) | + (line 54) * print-args: Debugging Scheme Code. - (line 80) | + (line 80) * procedure->identifier-macro: Macro Primitives. (line 14) * procedure->macro: Macro Primitives. (line 12) * procedure->memoizing-macro: Macro Primitives. (line 13) @@ -8235,38 +8242,38 @@ Procedure and Macro Index | * profile-alarm: Interrupts. (line 32) * profile-alarm-interrupt: Interrupts. (line 52) * program-arguments: SCM Session. (line 30) -* putenv: I/O-Extensions. (line 223) +* putenv: I/O-Extensions. (line 212) * qase: Define and Set. (line 45) * quit: SCM Session. (line 17) * raw: Terminal Mode Setting. (line 28) * read-char <1>: Input. (line 7) -* read-char: Port Properties. (line 40) +* read-char: Port Properties. (line 51) * read-for-load: Line Numbers. (line 47) * read-numbered: Line Numbers. (line 26) * read:sharp: Modifying Read Syntax. (line 7) -* readdir: I/O-Extensions. (line 92) +* readdir: I/O-Extensions. (line 81) * 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) | +* 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) +* redirect-port!: I/O-Extensions. (line 72) * refresh: Window Manipulation. (line 29) * regcomp: Regular Expression Pattern Matching. (line 12) @@ -8286,20 +8293,20 @@ Procedure and Macro Index | (line 52) * release-arbiter: Process Synchronization. (line 43) -* rename-file: I/O-Extensions. (line 155) +* rename-file: I/O-Extensions. (line 144) * renamed-identifier: Syntactic Hooks for Hygienic Macros. (line 26) * renaming-transformer: Syntactic Hooks for Hygienic Macros. (line 142) -* reopen-file: I/O-Extensions. (line 74) +* reopen-file: I/O-Extensions. (line 63) * require: Dynamic Linking. (line 11) * resetty: Terminal Mode Setting. (line 58) * restart: Internal State. (line 18) * restore_signals: Embedding SCM. (line 90) -* rewinddir: I/O-Extensions. (line 97) -* rmdir: I/O-Extensions. (line 140) -* room: Internal State. (line 62) | +* rewinddir: I/O-Extensions. (line 86) +* rmdir: I/O-Extensions. (line 129) +* room: Internal State. (line 62) * savetty: Terminal Mode Setting. (line 59) * scalar->array: Array Mapping. (line 51) @@ -8381,11 +8388,11 @@ Procedure and Macro Index | * touchline: Window Manipulation. (line 55) * touchwin: Window Manipulation. (line 54) * trace: Debugging Scheme Code. - (line 37) | + (line 37) * transpose-array: Conventional Arrays. (line 21) * try-arbiter: Process Synchronization. (line 39) -* try-create-file: I/O-Extensions. (line 67) +* try-create-file: I/O-Extensions. (line 56) * try-load <1>: Line Numbers. (line 12) * try-load: Eval and Load. (line 7) * try-open-file: Opening and Closing. (line 8) @@ -8395,16 +8402,16 @@ Procedure and Macro Index | * TYP7: Cells. (line 28) * UCHARS: Header Cells. (line 36) * ulong2num: Type Conversions. (line 11) -* umask: I/O-Extensions. (line 172) +* umask: I/O-Extensions. (line 161) * uname: Posix Extensions. (line 172) * unctrl: Curses Miscellany. (line 30) * uniform-array-read!: Uniform Array. (line 67) * uniform-array-write: Uniform Array. (line 79) * untrace: Debugging Scheme Code. - (line 45) | + (line 45) * user-interrupt: Interrupts. (line 49) * usr:lib: Dynamic Linking. (line 18) -* utime: I/O-Extensions. (line 167) +* utime: I/O-Extensions. (line 156) * vector-set-length!: Storage. (line 7) * VECTORP: Header Cells. (line 16) * VELTS: Header Cells. (line 21) @@ -8414,7 +8421,7 @@ Procedure and Macro Index | * vms-debug: SCM Session. (line 41) * void: Sweeping the Heap. (line 15) * wadd: Output. (line 11) -* wait-for-input: Port Properties. (line 55) +* wait-for-input: Port Properties. (line 66) * waitpid: Posix Extensions. (line 124) * warn: Errors. (line 109) * wclear: Output. (line 41) @@ -8436,7 +8443,7 @@ Procedure and Macro Index | * x:lib: Dynamic Linking. (line 23) Variable Index -============== | +************** * Menu: @@ -8448,7 +8455,7 @@ Variable Index * *interactive*: SCM Variables. (line 36) * *load-pathname*: Eval and Load. (line 15) * *load-reader*: Line Numbers. (line 50) -* *scm-version*: Internal State. (line 67) | +* *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. @@ -8481,7 +8488,7 @@ Variable Index * UNSPECIFIED: Immediates. (line 78) Type Index -========== | +********** * Menu: @@ -8539,40 +8546,40 @@ Type Index * tc3_closure: Cells. (line 39) * tc3_cons: Cells. (line 32) * tc7_asubr: Subr Cells. (line 12) -* tc7_contin: Header Cells. (line 85) | +* tc7_contin: Header Cells. (line 85) * tc7_cxr: Subr Cells. (line 22) -* tc7_lsubr: Subr Cells. (line 63) | -* tc7_lsubr_2: Subr Cells. (line 60) | +* tc7_lsubr: Subr Cells. (line 63) +* tc7_lsubr_2: Subr Cells. (line 60) * tc7_msymbol: Header Cells. (line 29) -* tc7_rpsubr: Subr Cells. (line 48) | -* tc7_specfun: Header Cells. (line 88) | +* 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 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_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) | +* 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) - | + Concept Index -============= | +************* * Menu: @@ -8586,32 +8593,33 @@ Concept Index * #!.bat: MS-DOS Compatible Scripts. (line 8) * array <1>: Conventional Arrays. (line 9) -* 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) | +* 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) +* byte-number: Build Options. (line 211) * callbacks: Callbacks. (line 6) -* careful-interrupt-masking: Build Options. (line 211) | -* cautious: Build Options. (line 217) | -* cheap-continuations: Build Options. (line 226) | -* compiled-closure: Build Options. (line 235) | +* careful-interrupt-masking: Build Options. (line 214) +* cautious: Build Options. (line 220) +* cheap-continuations: Build Options. (line 229) +* compiled-closure: Build Options. (line 238) * continuations: Continuations. (line 6) -* curses: Build Options. (line 238) | -* debug: Build Options. (line 241) | -* differ: Build Options. (line 246) | +* curses: Build Options. (line 241) +* debug: Build Options. (line 244) +* differ: Build Options. (line 249) * documentation string: Documentation and Comments. (line 13) -* dont-memoize-locals: Build Options. (line 249) | -* dump: Build Options. (line 254) | -* dynamic-linking: Build Options. (line 257) | +* dont-memoize-locals: Build Options. (line 252) +* dump: Build Options. (line 257) +* dynamic-linking: Build Options. (line 260) * ecache: Memory Management for Environments. (line 6) -* edit-line: Build Options. (line 260) | +* edit-line: Build Options. (line 263) * Embedding SCM: Embedding SCM. (line 6) -* engineering-notation: Build Options. (line 263) | +* engineering-notation: Build Options. (line 266) * environments: Memory Management for Environments. (line 6) * exchanger: Process Synchronization. @@ -8621,186 +8629,186 @@ Concept Index (line 13) * foo.c: Compiling and Linking Custom Files. (line 13) -* generalized-c-arguments: Build Options. (line 268) | +* generalized-c-arguments: Build Options. (line 271) * graphics: Packages. (line 23) * hobbit: Packages. (line 23) -* i/o-extensions: Build Options. (line 271) | +* i/o-extensions: Build Options. (line 274) * IEEE: Bibliography. (line 7) -* inexact: Build Options. (line 275) | +* inexact: Build Options. (line 278) * JACAL: Bibliography. (line 49) -* lit: Build Options. (line 278) | -* macro: Build Options. (line 281) | +* lit: Build Options. (line 281) +* macro: Build Options. (line 284) * memory management: Memory Management for Environments. (line 6) -* mysql: Build Options. (line 285) | -* no-heap-shrink: Build Options. (line 288) | +* mysql: Build Options. (line 288) +* no-heap-shrink: Build Options. (line 291) * NO_ENV_CACHE: Memory Management for Environments. (line 89) -* none: Build Options. (line 293) | +* none: Build Options. (line 296) * posix: Posix Extensions. (line 6) * Posix: Posix Extensions. (line 6) -* posix: Build Options. (line 296) | +* posix: Build Options. (line 299) * R4RS: Bibliography. (line 11) * R5RS: Bibliography. (line 18) -* reckless: Build Options. (line 301) | -* record: Build Options. (line 306) | -* regex: Build Options. (line 310) | -* rev2-procedures: Build Options. (line 313) | +* reckless: Build Options. (line 304) +* record: Build Options. (line 309) +* regex: Build Options. (line 313) +* rev2-procedures: Build Options. (line 316) * rope <1>: Type Conversions. (line 6) * rope: Callbacks. (line 6) * SchemePrimer: Bibliography. (line 39) -* SICP: Build Options. (line 319) | -* sicp: Build Options. (line 317) | +* SICP: Build Options. (line 322) +* sicp: Build Options. (line 320) * SICP: Bibliography. (line 30) * signals: Signals. (line 6) * Simply: Bibliography. (line 35) -* single-precision-only: Build Options. (line 331) | +* single-precision-only: Build Options. (line 334) * SLIB: Bibliography. (line 43) -* socket: Build Options. (line 337) | -* tick-interrupts: Build Options. (line 341) | -* turtlegr: Build Options. (line 344) | +* socket: Build Options. (line 340) +* tick-interrupts: Build Options. (line 344) +* turtlegr: Build Options. (line 347) * unix: Unix Extensions. (line 6) * Unix: Unix Extensions. (line 6) -* unix: Build Options. (line 348) | -* wb: Build Options. (line 352) | -* windows: Build Options. (line 355) | +* unix: Build Options. (line 351) +* wb: Build Options. (line 355) +* windows: Build Options. (line 358) * X: Packages. (line 23) * x <1>: Packages. (line 23) -* x: Build Options. (line 358) | +* x: Build Options. (line 361) * xlib: Packages. (line 23) * Xlib: Packages. (line 23) -* xlib: Build Options. (line 361) | +* xlib: Build Options. (line 364) * xlibscm: Packages. (line 23) * Xlibscm: Packages. (line 23) Tag Table: -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 +Node: Top1099 +Node: Overview2318 +Node: SCM Features2633 +Node: SCM Authors4656 +Node: Copying5557 +Node: The SCM License5886 +Node: SIOD copyright9810 +Node: Bibliography11163 +Node: Installing SCM13039 +Node: Making SCM13558 +Node: SLIB14544 +Node: Building SCM16379 +Node: Invoking Build16961 +Node: Build Options19298 +Node: Compiling and Linking Custom Files32922 +Node: Installing Dynamic Linking34918 +Node: Configure Module Catalog36795 +Node: Saving Images38803 +Node: Automatic C Preprocessor Definitions40567 +Node: Problems Compiling44555 +Node: Problems Linking46216 +Node: Problems Running46489 +Node: Testing48607 +Node: Reporting Problems51876 +Node: Operational Features52728 +Node: Invoking SCM53124 +Node: SCM Options54916 +Node: Invocation Examples59525 +Node: SCM Variables60485 +Node: SCM Session61965 +Node: Editing Scheme Code63496 +Node: Debugging Scheme Code65514 +Node: Debugging Continuations69779 +Node: Errors72339 +Node: Memoized Expressions76657 +Node: Internal State79064 +Node: Scripting82290 +Node: Unix Scheme Scripts82594 +Node: MS-DOS Compatible Scripts85626 +Node: Unix Shell Scripts87481 +Node: The Language89622 +Node: Standards Compliance90244 +Node: Storage92667 +Node: Time95147 +Node: Interrupts96163 +Node: Process Synchronization99796 +Node: Files and Ports101325 +Node: Opening and Closing101666 +Node: Port Properties104184 +Node: Port Redirection107750 +Node: Soft Ports109242 +Node: Eval and Load111024 +Node: Line Numbers112440 +Node: Lexical Conventions114863 +Node: Common-Lisp Read Syntax115125 +Node: Load Syntax117112 +Node: Documentation and Comments117732 +Node: Modifying Read Syntax118956 +Node: Syntax120679 +Node: Define and Set121583 +Node: Defmacro125117 +Node: Syntax-Rules126197 +Node: Macro Primitives128003 +Node: Environment Frames129642 +Node: Syntactic Hooks for Hygienic Macros132062 +Node: Packages139036 +Node: Dynamic Linking139916 +Node: Dump144630 +Node: Numeric148651 +Node: Arrays150467 +Node: Conventional Arrays150685 +Node: Uniform Array154224 +Node: Bit Vectors159036 +Node: Array Mapping160344 +Node: Records163037 +Node: I/O-Extensions163909 +Node: Posix Extensions172155 +Node: Unix Extensions181707 +Node: Sequence Comparison183608 +Node: Regular Expression Pattern Matching183938 +Node: Line Editing187916 +Node: Curses189277 +Node: Output Options Setting190212 +Node: Terminal Mode Setting192879 +Node: Window Manipulation195980 +Node: Output199465 +Node: Input203117 +Node: Curses Miscellany204161 +Node: Sockets205602 +Node: Host and Other Inquiries205965 +Node: Internet Addresses and Socket Names209106 +Node: Socket210679 +Node: SCMDB217950 +Node: The Implementation218188 +Node: Data Types218451 +Node: Immediates219280 +Node: Cells223662 +Node: Header Cells225780 +Node: Subr Cells229076 +Node: Ptob Cells231373 +Node: Smob Cells232942 +Node: Data Type Representations236165 +Node: Operations241044 +Node: Garbage Collection241638 +Node: Marking Cells242271 +Node: Sweeping the Heap244392 +Node: Memory Management for Environments245354 +Node: Signals249923 +Node: C Macros251484 +Node: Changing Scm252621 +Node: Defining Subrs257085 +Node: Defining Smobs258945 +Node: Defining Ptobs262002 +Node: Allocating memory263191 +Node: Embedding SCM265521 +Node: Callbacks273235 +Node: Type Conversions275056 +Node: Continuations279105 +Node: Evaluation283343 +Node: Program Self-Knowledge288526 +Node: File-System Habitat288780 +Node: Executable Pathname292393 +Node: Script Support294031 +Node: Improvements To Make295366 +Node: VMS Dynamic Linking297584 +Node: Index302297 End Tag Table |