~ chicken-core (chicken-5) d6a0ccf7b8a309939f1c0689ec7c0afe59ba6699


commit d6a0ccf7b8a309939f1c0689ec7c0afe59ba6699
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Tue Feb 9 17:02:34 2016 +1300
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Tue Mar 8 22:52:35 2016 +1300

    Documentation updates

diff --git a/manual/Parameters b/manual/Parameters
index fc2ce1a5..f4ebd9ed 100644
--- a/manual/Parameters
+++ b/manual/Parameters
@@ -157,15 +157,6 @@ The name of the currently executing program. This is equivalent to
 {{-script}} option in interpreted scripts.
 
 
-=== repl-prompt
-
-<parameter>(repl-prompt)</parameter>
-
-A procedure that should evaluate to a string that will be printed before reading
-interactive input from the user in a read-eval-print loop. Defaults to
-{{(lambda () "#;N> ")}}.
-
-
 === reset-handler
 
 <parameter>(reset-handler)</parameter>
diff --git a/manual/Unit eval b/manual/Unit eval
index 4b61e775..053cb3ce 100644
--- a/manual/Unit eval	
+++ b/manual/Unit eval	
@@ -37,7 +37,6 @@ all expressions have been read.
 A compiled file can only be loaded once. Subsequent attempts to load the
 same file have no effect.
 
-
 ==== load-relative
 
 <procedure>(load-relative FILE [EVALPROC])</procedure>
@@ -59,6 +58,7 @@ printed before evaluation by applying the expression to the value of this
 argument, which should be a one-argument procedure.
 
 See also the [[Parameters#load-verbose|load-verbose]] parameter.
+
 ==== load-library
 
 <procedure>(load-library UNIT [LIBRARYFILE])</procedure>
@@ -66,17 +66,15 @@ See also the [[Parameters#load-verbose|load-verbose]] parameter.
 On platforms that support dynamic loading, {{load-library}} loads
 the compiled library unit {{UNIT}} (which should be a symbol). If the
 string {{LIBRARYFILE}} is given, then the given shared library will
-be loaded and the toplevel code of the contained unit will be executed.
-If no {{LIBRARYFILE}} argument is given, then the following libraries
-are checked for the required unit:
-
-* a file named ''{{<UNIT>.so}}''
-* the files given in the parameter {{dynamic-load-libraries}}
+be loaded and the toplevel code of the specified unit will be executed.
+If no {{LIBRARYFILE}} argument is given, then the libraries given in the
+parameter {{dynamic-load-libraries}} are searched for the required unit.
+If the unit is not found, an error is signaled.
 
-If the unit is not found, an error is signaled. When the library unit
-can be successfully loaded, a feature-identifier named {{UNIT}}
-is registered. If the feature is already registered before loading,
-the {{load-library}} does nothing.
+Note that {{LIBRARYFILE}} is considered relative to the {{dlopen(3)}}
+search path by default. In order to use a file relative to the current
+working directory, a relative or absolute pathname must be used, i.e.
+{{LIBRARYFILE}} must contain at least one slash ({{"/"}}).
 
 ==== set-dynamic-load-mode!
 
@@ -96,27 +94,28 @@ Note that this procedure does not control the way Scheme variables are handled -
 this facility is mainly of interest when accessing foreign code.
 
 
-=== Read-eval-print loop
-
-==== repl
-
-<procedure>(repl [EVALUATOR])</procedure>
+=== Loading extension libraries
 
-Start a new read-eval-print loop. Sets the {{reset-handler}} so that
-any invocation of {{reset}} restarts the read-eval-print loop. Also
-changes the current exception-handler to display a message, write
-any arguments to the value of {{(current-error-port)}} and reset.
+This functionality is only available on platforms that support dynamic
+loading of compiled code. Currently Linux, BSD, Solaris, Windows (with
+Cygwin) and HP/UX are supported.
 
-If {{EVALUATOR}} is given, it should be a procedure of one argument that
-is used in place of {{eval}} to evaluate each entered expression.
+==== load-extension
 
-You can use {{quit}} to terminate the current read-eval-print loop.
+<procedure>(load-extension ID)</procedure>
 
+If the extension library {{ID}} is not already loaded into the
+system, then {{load-extension}} will look up the location of the shared
+extension library and load it. If {{ID}} names a library-unit of the
+base system, then it is loaded via {{load-library}}. If no extension
+library is available for the given ID, then an attempt is made to load
+the file {{ID.so}} or {{ID.scm}} (in that order) from one of the
+following locations:
 
-=== Loading extension libraries
+* the current directory
+* the current repository path (see {{repository-path}})
 
-This functionality is only available on platforms that support dynamic
-loading of compiled code. Currently Linux, BSD, Solaris, Windows (with Cygwin) and HP/UX are supported.
+{{ID}} should be a symbol.
 
 ==== repository-path
 
@@ -139,18 +138,23 @@ list registered in the extension repository, then the info-list is returned. Oth
 
 <procedure>(require ID ...)</procedure>
 
-If the extension library {{ID}} is not already loaded into the
-system, then {{require}} will lookup the location of the shared
-extension library and load it. If {{ID}} names a library-unit of
-the base system, then it is loaded via {{load-library}}. If no
-extension library is available for the given ID, then an attempt is
-made to load the file {{ID.so}} or {{ID.scm}} (in that order)
-from one of the following locations:
-
-* the current include path, which defaults to the pathnames given in {{CHICKEN_INCLUDE_PATH}}.
-* the current directory
+An alias for {{load-extension}} that allows multiple extension
+identifiers to be provided.
+
+==== provide
+
+<procedure>(require ID ...)</procedure>
+
+Registers the extension IDs {{ID ...}} as loaded. This is mainly
+intended to provide aliases for certain library identifiers.
+
+==== provided?
+
+procedure: (provided? ID ...)
+
+Returns {{#t}} if extension with the IDs {{ID ...}} are currently
+loaded, or {{#f}} otherwise.
 
-{{ID}} should be a string or a symbol.
 
 === System information
 
@@ -173,11 +177,6 @@ if the environment variable {{CHICKEN_PREFIX}} is set, then {{chicken-home}} wil
 Evaluates {{EXP}} and returns the result of the evaluation. The second argument is optional
 and defaults to the value of {{(interaction-environment)}}.
 
-'''Note''': if you want to eval an expression containing chicken special forms you must
-
-  (use chicken-syntax)
-
-before calling {{eval}}.
 
 ---
 Previous: [[Unit library]]
diff --git a/manual/Unit extras b/manual/Unit extras
index c1f2b142..63ea0b12 100644
--- a/manual/Unit extras	
+++ b/manual/Unit extras	
@@ -133,18 +133,6 @@ These procedures are provided by the {{(chicken io)}} module.
 Read/write a byte to the port given in {{PORT}}, which default to the values
 of {{(current-input-port)}} and {{(current-output-port)}}, respectively.
 
-==== read-all
-
-<procedure>(read-all [PORT [READER [MAXCOUNT]]])</procedure>
-
-Returns a list containing all toplevel expressions read from the given
-{{PORT}}. If no argument is given, input is read from the value of
-{{(current-input-port)}}. The {{READER}} argument specifies the
-procedure used to read expressions and defaults to {{read}}. The reader
-procedure will be called with a single argument (an input port). If
-{{MAXCOUNT}} is given then only up to {{MAXCOUNT}} expressions will be
-read in.
-
 
 ==== read-line
 ==== write-line
diff --git a/manual/Unit repl b/manual/Unit repl
index 19bd50de..d695317b 100644
--- a/manual/Unit repl	
+++ b/manual/Unit repl	
@@ -21,6 +21,15 @@ is used in place of {{eval}} to evaluate each entered expression.
 You can use {{quit}} to terminate the current read-eval-print loop.
 
 
+=== repl-prompt
+
+<parameter>(repl-prompt)</parameter>
+
+A procedure that should evaluate to a string that will be printed before
+reading interactive input from the user in a read-eval-print loop.
+Defaults to {{(lambda () "#;N> ")}}.
+
+
 ---
 Previous: [[Unit eval]]
 
diff --git a/manual/Using the interpreter b/manual/Using the interpreter
index 586a64ba..fc5ba765 100644
--- a/manual/Using the interpreter	
+++ b/manual/Using the interpreter	
@@ -299,13 +299,6 @@ instead. It should work on almost any system but is not as
 feature-rich as readline (e.g. it lacks reverse-i-search and
 auto-completion).
 
-The interpreter {{csi}} internally requires some routines from the
-{{ports}} and {{extras}} library units and loads them automatically
-on startup. These libraries are not automatically loaded in compiled
-code, so there is an inconsistency between code that is executed
-in {{csi}} versus code that is compiled and executed.
-
-
 ---
 Previous: [[Using the compiler]]
 
Trap