summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/maint/guile.texi2283
-rw-r--r--doc/ref/api-compound.texi258
-rw-r--r--doc/ref/api-memory.texi5
-rw-r--r--doc/ref/api-scheduling.texi31
-rw-r--r--doc/ref/api-undocumented.texi137
-rw-r--r--doc/ref/new-docstrings.texi271
6 files changed, 1570 insertions, 1415 deletions
diff --git a/doc/maint/guile.texi b/doc/maint/guile.texi
index c712474ae..b606d5e42 100644
--- a/doc/maint/guile.texi
+++ b/doc/maint/guile.texi
@@ -209,7 +209,7 @@ instead of explicitely creating an async object.
@end deffn
system-async-mark
-@c snarfed from async.c:222
+@c snarfed from async.c:296
@deffn {Scheme Procedure} system-async-mark proc [thread]
@deffnx {C Function} scm_system_async_mark_for_thread (proc, thread)
Mark @var{proc} (a procedure with zero arguments) for future execution
@@ -224,7 +224,7 @@ signal handlers.
@end deffn
noop
-@c snarfed from async.c:253
+@c snarfed from async.c:335
@deffn {Scheme Procedure} noop . args
@deffnx {C Function} scm_noop (args)
Do nothing. When called without arguments, return @code{#f},
@@ -232,21 +232,21 @@ otherwise return the first argument.
@end deffn
unmask-signals
-@c snarfed from async.c:268
+@c snarfed from async.c:350
@deffn {Scheme Procedure} unmask-signals
@deffnx {C Function} scm_unmask_signals ()
Unmask signals. The returned value is not specified.
@end deffn
mask-signals
-@c snarfed from async.c:286
+@c snarfed from async.c:370
@deffn {Scheme Procedure} mask-signals
@deffnx {C Function} scm_mask_signals ()
Mask signals. The returned value is not specified.
@end deffn
call-with-blocked-asyncs
-@c snarfed from async.c:319
+@c snarfed from async.c:404
@deffn {Scheme Procedure} call-with-blocked-asyncs proc
@deffnx {C Function} scm_call_with_blocked_asyncs (proc)
Call @var{proc} with no arguments and block the execution
@@ -256,7 +256,7 @@ it is running. Return the value returned by @var{proc}.
@end deffn
call-with-unblocked-asyncs
-@c snarfed from async.c:343
+@c snarfed from async.c:430
@deffn {Scheme Procedure} call-with-unblocked-asyncs proc
@deffnx {C Function} scm_call_with_unblocked_asyncs (proc)
Call @var{proc} with no arguments and unblock the execution
@@ -478,6 +478,23 @@ Return the uppercase character version of @var{chr}.
Return the lowercase character version of @var{chr}.
@end deffn
+ with-continuation-barrier
+@c snarfed from continuations.c:406
+@deffn {Scheme Procedure} with-continuation-barrier proc
+@deffnx {C Function} scm_with_continuation_barrier (proc)
+Call @var{proc} and return its result. Do not allow the invocation of
+continuations that would leave or enter the dynamic extent of the call
+to @code{with-continuation-barrier}. Such an attempt causes an error
+to be signaled.
+
+Throws (such as errors) that are not caught from within @var{proc} are
+caught by @code{with-continuation-barrier}. In that case, a short
+message is printed to the current error port and @code{#f} is returned.
+
+Thus, @code{with-continuation-barrier} returns exactly once.
+
+@end deffn
+
debug-options-interface
@c snarfed from debug.c:53
@deffn {Scheme Procedure} debug-options-interface [setting]
@@ -568,19 +585,19 @@ Return @code{#t} iff deprecated features should be included in public interfaces
@end deffn
substring-move-left!
-@c snarfed from deprecated.c:71
+@c snarfed from deprecated.c:72
@deffn {Scheme Procedure} substring-move-left!
implemented by the C function "scm_substring_move_x"
@end deffn
substring-move-right!
-@c snarfed from deprecated.c:73
+@c snarfed from deprecated.c:74
@deffn {Scheme Procedure} substring-move-right!
implemented by the C function "scm_substring_move_x"
@end deffn
c-registered-modules
-@c snarfed from deprecated.c:176
+@c snarfed from deprecated.c:177
@deffn {Scheme Procedure} c-registered-modules
@deffnx {C Function} scm_registered_modules ()
Return a list of the object code modules that have been imported into
@@ -591,7 +608,7 @@ has been passed to scm_register_module_xxx.
@end deffn
c-clear-registered-modules
-@c snarfed from deprecated.c:197
+@c snarfed from deprecated.c:198
@deffn {Scheme Procedure} c-clear-registered-modules
@deffnx {C Function} scm_clear_registered_modules ()
Destroy the list of modules registered with the current Guile process.
@@ -602,7 +619,7 @@ only by module bookkeeping operations.
@end deffn
close-all-ports-except
-@c snarfed from deprecated.c:340
+@c snarfed from deprecated.c:341
@deffn {Scheme Procedure} close-all-ports-except . ports
@deffnx {C Function} scm_close_all_ports_except (ports)
[DEPRECATED] Close all open file ports used by the interpreter
@@ -614,21 +631,21 @@ Use port-for-each instead.
@end deffn
variable-set-name-hint!
-@c snarfed from deprecated.c:357
+@c snarfed from deprecated.c:358
@deffn {Scheme Procedure} variable-set-name-hint! var hint
@deffnx {C Function} scm_variable_set_name_hint (var, hint)
Do not use this function.
@end deffn
builtin-variable
-@c snarfed from deprecated.c:370
+@c snarfed from deprecated.c:371
@deffn {Scheme Procedure} builtin-variable name
@deffnx {C Function} scm_builtin_variable (name)
Do not use this function.
@end deffn
sloppy-memq
-@c snarfed from deprecated.c:444
+@c snarfed from deprecated.c:445
@deffn {Scheme Procedure} sloppy-memq x lst
@deffnx {C Function} scm_sloppy_memq (x, lst)
This procedure behaves like @code{memq}, but does no type or error checking.
@@ -637,7 +654,7 @@ not for high-level Scheme programs.
@end deffn
sloppy-memv
-@c snarfed from deprecated.c:464
+@c snarfed from deprecated.c:465
@deffn {Scheme Procedure} sloppy-memv x lst
@deffnx {C Function} scm_sloppy_memv (x, lst)
This procedure behaves like @code{memv}, but does no type or error checking.
@@ -646,7 +663,7 @@ not for high-level Scheme programs.
@end deffn
sloppy-member
-@c snarfed from deprecated.c:484
+@c snarfed from deprecated.c:485
@deffn {Scheme Procedure} sloppy-member x lst
@deffnx {C Function} scm_sloppy_member (x, lst)
This procedure behaves like @code{member}, but does no type or error checking.
@@ -655,7 +672,7 @@ not for high-level Scheme programs.
@end deffn
read-and-eval!
-@c snarfed from deprecated.c:506
+@c snarfed from deprecated.c:507
@deffn {Scheme Procedure} read-and-eval! [port]
@deffnx {C Function} scm_read_and_eval_x (port)
Read a form from @var{port} (standard input by default), and evaluate it
@@ -665,7 +682,7 @@ signalled.
@end deffn
string->obarray-symbol
-@c snarfed from deprecated.c:796
+@c snarfed from deprecated.c:824
@deffn {Scheme Procedure} string->obarray-symbol o s [softp]
@deffnx {C Function} scm_string_to_obarray_symbol (o, s, softp)
Intern a new symbol in @var{obarray}, a symbol table, with name
@@ -684,7 +701,7 @@ table; instead, simply return @code{#f}.
@end deffn
intern-symbol
-@c snarfed from deprecated.c:834
+@c snarfed from deprecated.c:862
@deffn {Scheme Procedure} intern-symbol o s
@deffnx {C Function} scm_intern_symbol (o, s)
Add a new symbol to @var{obarray} with name @var{string}, bound to an
@@ -693,7 +710,7 @@ with this name is already present.
@end deffn
unintern-symbol
-@c snarfed from deprecated.c:876
+@c snarfed from deprecated.c:904
@deffn {Scheme Procedure} unintern-symbol o s
@deffnx {C Function} scm_unintern_symbol (o, s)
Remove the symbol with name @var{string} from @var{obarray}. This
@@ -702,7 +719,7 @@ otherwise.
@end deffn
symbol-binding
-@c snarfed from deprecated.c:921
+@c snarfed from deprecated.c:949
@deffn {Scheme Procedure} symbol-binding o s
@deffnx {C Function} scm_symbol_binding (o, s)
Look up in @var{obarray} the symbol whose name is @var{string}, and
@@ -712,7 +729,7 @@ use the global symbol table. If @var{string} is not interned in
@end deffn
symbol-bound?
-@c snarfed from deprecated.c:974
+@c snarfed from deprecated.c:1002
@deffn {Scheme Procedure} symbol-bound? o s
@deffnx {C Function} scm_symbol_bound_p (o, s)
Return @code{#t} if @var{obarray} contains a symbol with name
@@ -724,7 +741,7 @@ value.
@end deffn
symbol-set!
-@c snarfed from deprecated.c:1001
+@c snarfed from deprecated.c:1029
@deffn {Scheme Procedure} symbol-set! o s v
@deffnx {C Function} scm_symbol_set_x (o, s, v)
Find the symbol in @var{obarray} whose name is @var{string}, and rebind
@@ -733,7 +750,7 @@ in @var{obarray}.
@end deffn
gentemp
-@c snarfed from deprecated.c:1034
+@c snarfed from deprecated.c:1062
@deffn {Scheme Procedure} gentemp [prefix [obarray]]
@deffnx {C Function} scm_gentemp (prefix, obarray)
Create a new symbol with a name unique in an obarray.
@@ -1062,7 +1079,7 @@ bindings change.
@end deffn
make-leaf-environment
-@c snarfed from environments.c:1015
+@c snarfed from environments.c:1017
@deffn {Scheme Procedure} make-leaf-environment
@deffnx {C Function} scm_make_leaf_environment ()
Create a new leaf environment, containing no bindings.
@@ -1071,7 +1088,7 @@ will be mutable.
@end deffn
leaf-environment?
-@c snarfed from environments.c:1038
+@c snarfed from environments.c:1040
@deffn {Scheme Procedure} leaf-environment? object
@deffnx {C Function} scm_leaf_environment_p (object)
Return @code{#t} if object is a leaf environment, or @code{#f}
@@ -1079,7 +1096,7 @@ otherwise.
@end deffn
make-eval-environment
-@c snarfed from environments.c:1403
+@c snarfed from environments.c:1405
@deffn {Scheme Procedure} make-eval-environment local imported
@deffnx {C Function} scm_make_eval_environment (local, imported)
Return a new environment object eval whose bindings are the
@@ -1106,7 +1123,7 @@ In typical use, @var{local} will be a finite environment, and
@end deffn
eval-environment?
-@c snarfed from environments.c:1440
+@c snarfed from environments.c:1442
@deffn {Scheme Procedure} eval-environment? object
@deffnx {C Function} scm_eval_environment_p (object)
Return @code{#t} if object is an eval environment, or @code{#f}
@@ -1114,35 +1131,35 @@ otherwise.
@end deffn
eval-environment-local
-@c snarfed from environments.c:1450
+@c snarfed from environments.c:1452
@deffn {Scheme Procedure} eval-environment-local env
@deffnx {C Function} scm_eval_environment_local (env)
Return the local environment of eval environment @var{env}.
@end deffn
eval-environment-set-local!
-@c snarfed from environments.c:1462
+@c snarfed from environments.c:1464
@deffn {Scheme Procedure} eval-environment-set-local! env local
@deffnx {C Function} scm_eval_environment_set_local_x (env, local)
Change @var{env}'s local environment to @var{local}.
@end deffn
eval-environment-imported
-@c snarfed from environments.c:1488
+@c snarfed from environments.c:1490
@deffn {Scheme Procedure} eval-environment-imported env
@deffnx {C Function} scm_eval_environment_imported (env)
Return the imported environment of eval environment @var{env}.
@end deffn
eval-environment-set-imported!
-@c snarfed from environments.c:1500
+@c snarfed from environments.c:1502
@deffn {Scheme Procedure} eval-environment-set-imported! env imported
@deffnx {C Function} scm_eval_environment_set_imported_x (env, imported)
Change @var{env}'s imported environment to @var{imported}.
@end deffn
make-import-environment
-@c snarfed from environments.c:1823
+@c snarfed from environments.c:1825
@deffn {Scheme Procedure} make-import-environment imports conflict_proc
@deffnx {C Function} scm_make_import_environment (imports, conflict_proc)
Return a new environment @var{imp} whose bindings are the union
@@ -1173,7 +1190,7 @@ if one of its imported environments changes.
@end deffn
import-environment?
-@c snarfed from environments.c:1852
+@c snarfed from environments.c:1854
@deffn {Scheme Procedure} import-environment? object
@deffnx {C Function} scm_import_environment_p (object)
Return @code{#t} if object is an import environment, or
@@ -1181,7 +1198,7 @@ Return @code{#t} if object is an import environment, or
@end deffn
import-environment-imports
-@c snarfed from environments.c:1863
+@c snarfed from environments.c:1865
@deffn {Scheme Procedure} import-environment-imports env
@deffnx {C Function} scm_import_environment_imports (env)
Return the list of environments imported by the import
@@ -1189,7 +1206,7 @@ environment @var{env}.
@end deffn
import-environment-set-imports!
-@c snarfed from environments.c:1876
+@c snarfed from environments.c:1878
@deffn {Scheme Procedure} import-environment-set-imports! env imports
@deffnx {C Function} scm_import_environment_set_imports_x (env, imports)
Change @var{env}'s list of imported environments to
@@ -1197,7 +1214,7 @@ Change @var{env}'s list of imported environments to
@end deffn
make-export-environment
-@c snarfed from environments.c:2143
+@c snarfed from environments.c:2145
@deffn {Scheme Procedure} make-export-environment private signature
@deffnx {C Function} scm_make_export_environment (private, signature)
Return a new environment @var{exp} containing only those
@@ -1247,7 +1264,7 @@ if the bindings in private change.
@end deffn
export-environment?
-@c snarfed from environments.c:2178
+@c snarfed from environments.c:2180
@deffn {Scheme Procedure} export-environment? object
@deffnx {C Function} scm_export_environment_p (object)
Return @code{#t} if object is an export environment, or
@@ -1255,61 +1272,135 @@ Return @code{#t} if object is an export environment, or
@end deffn
export-environment-private
-@c snarfed from environments.c:2188
+@c snarfed from environments.c:2190
@deffn {Scheme Procedure} export-environment-private env
@deffnx {C Function} scm_export_environment_private (env)
Return the private environment of export environment @var{env}.
@end deffn
export-environment-set-private!
-@c snarfed from environments.c:2200
+@c snarfed from environments.c:2202
@deffn {Scheme Procedure} export-environment-set-private! env private
@deffnx {C Function} scm_export_environment_set_private_x (env, private)
Change the private environment of export environment @var{env}.
@end deffn
export-environment-signature
-@c snarfed from environments.c:2222
+@c snarfed from environments.c:2224
@deffn {Scheme Procedure} export-environment-signature env
@deffnx {C Function} scm_export_environment_signature (env)
Return the signature of export environment @var{env}.
@end deffn
export-environment-set-signature!
-@c snarfed from environments.c:2296
+@c snarfed from environments.c:2298
@deffn {Scheme Procedure} export-environment-set-signature! env signature
@deffnx {C Function} scm_export_environment_set_signature_x (env, signature)
Change the signature of export environment @var{env}.
@end deffn
eq?
-@c snarfed from eq.c:47
+@c snarfed from eq.c:81
@deffn {Scheme Procedure} eq? x y
-Return @code{#t} iff @var{x} references the same object as @var{y}.
-@code{eq?} is similar to @code{eqv?} except that in some cases it is
-capable of discerning distinctions finer than those detectable by
-@code{eqv?}.
+Return @code{#t} if @var{x} and @var{y} are the same object,
+except for numbers and characters. For example,
+
+@example
+(define x (vector 1 2 3))
+(define y (vector 1 2 3))
+
+(eq? x x) @result{} #t
+(eq? x y) @result{} #f
+@end example
+
+Numbers and characters are not equal to any other object, but
+the problem is they're not necessarily @code{eq?} to themselves
+either. This is even so when the number comes directly from a
+variable,
+
+@example
+(let ((n (+ 2 3)))
+ (eq? n n)) @result{} *unspecified*
+@end example
+
+Generally @code{eqv?} should be used when comparing numbers or
+characters. @code{=} or @code{char=?} can be used too.
+
+It's worth noting that end-of-list @code{()}, @code{#t},
+@code{#f}, a symbol of a given name, and a keyword of a given
+name, are unique objects. There's just one of each, so for
+instance no matter how @code{()} arises in a program, it's the
+same object and can be compared with @code{eq?},
+
+@example
+(define x (cdr '(123)))
+(define y (cdr '(456)))
+(eq? x y) @result{} #t
+
+(define x (string->symbol "foo"))
+(eq? x 'foo) @result{} #t
+@end example
@end deffn
eqv?
-@c snarfed from eq.c:71
+@c snarfed from eq.c:116
@deffn {Scheme Procedure} eqv? x y
-The @code{eqv?} procedure defines a useful equivalence relation on objects.
-Briefly, it returns @code{#t} if @var{x} and @var{y} should normally be
-regarded as the same object. This relation is left slightly open to
-interpretation, but works for comparing immediate integers, characters,
-and inexact numbers.
+Return @code{#t} if @var{x} and @var{y} are the same object, or
+for characters and numbers the same value.
+
+On objects except characters and numbers, @code{eqv?} is the
+same as @code{eq?}, it's true if @var{x} and @var{y} are the
+same object.
+
+If @var{x} and @var{y} are numbers or characters, @code{eqv?}
+compares their type and value. An exact number is not
+@code{eqv?} to an inexact number (even if their value is the
+same).
+
+@example
+(eqv? 3 (+ 1 2)) @result{} #t
+(eqv? 1 1.0) @result{} #f
+@end example
@end deffn
equal?
-@c snarfed from eq.c:138
+@c snarfed from eq.c:212
@deffn {Scheme Procedure} equal? x y
-Return @code{#t} iff @var{x} and @var{y} are recursively @code{eqv?} equivalent.
-@code{equal?} recursively compares the contents of pairs,
-vectors, and strings, applying @code{eqv?} on other objects such as
-numbers and symbols. A rule of thumb is that objects are generally
-@code{equal?} if they print the same. @code{equal?} may fail to
-terminate if its arguments are circular data structures.
+Return @code{#t} if @var{x} and @var{y} are the same type, and
+their contents or value are equal.
+
+For a pair, string, vector or array, @code{equal?} compares the
+contents, and does so using using the same @code{equal?}
+recursively, so a deep structure can be traversed.
+
+@example
+(equal? (list 1 2 3) (list 1 2 3)) @result{} #t
+(equal? (list 1 2 3) (vector 1 2 3)) @result{} #f
+@end example
+
+For other objects, @code{equal?} compares as per @code{eqv?},
+which means characters and numbers are compared by type and
+value (and like @code{eqv?}, exact and inexact numbers are not
+@code{equal?}, even if their value is the same).
+
+@example
+(equal? 3 (+ 1 2)) @result{} #t
+(equal? 1 1.0) @result{} #f
+@end example
+
+Hash tables are currently only compared as per @code{eq?}, so
+two different tables are not @code{equal?}, even if their
+contents are the same.
+
+@code{equal?} does not support circular data structures, it may
+go into an infinite loop if asked to compare two circular lists
+or similar.
+
+New application-defined object types (Smobs) have an
+@code{equalp} handler which is called by @code{equal?}. This
+lets an application traverse the contents or control what is
+considered @code{equal?} for two such objects. If there's no
+handler, the default is to just compare as per @code{eq?}.
@end deffn
scm-error
@@ -1342,7 +1433,7 @@ must be an integer value.
@end deffn
apply:nconc2last
-@c snarfed from eval.c:4690
+@c snarfed from eval.c:4686
@deffn {Scheme Procedure} apply:nconc2last lst
@deffnx {C Function} scm_nconc2last (lst)
Given a list (@var{arg1} @dots{} @var{args}), this function
@@ -1355,7 +1446,7 @@ destroys its argument, so use with care.
@end deffn
force
-@c snarfed from eval.c:5600
+@c snarfed from eval.c:5598
@deffn {Scheme Procedure} force promise
@deffnx {C Function} scm_force (promise)
If the promise @var{x} has not been computed yet, compute and
@@ -1364,7 +1455,7 @@ value.
@end deffn
promise?
-@c snarfed from eval.c:5623
+@c snarfed from eval.c:5621
@deffn {Scheme Procedure} promise? obj
@deffnx {C Function} scm_promise_p (obj)
Return true if @var{obj} is a promise, i.e. a delayed computation
@@ -1372,7 +1463,7 @@ Return true if @var{obj} is a promise, i.e. a delayed computation
@end deffn
cons-source
-@c snarfed from eval.c:5635
+@c snarfed from eval.c:5633
@deffn {Scheme Procedure} cons-source xorig x y
@deffnx {C Function} scm_cons_source (xorig, x, y)
Create and return a new pair whose car and cdr are @var{x} and @var{y}.
@@ -1381,7 +1472,7 @@ with the new pair.
@end deffn
copy-tree
-@c snarfed from eval.c:5792
+@c snarfed from eval.c:5790
@deffn {Scheme Procedure} copy-tree obj
@deffnx {C Function} scm_copy_tree (obj)
Recursively copy the data tree that is bound to @var{obj}, and return a
@@ -1400,18 +1491,20 @@ the current module.
@end deffn
eval
-@c snarfed from eval.c:5947
-@deffn {Scheme Procedure} eval exp module
-@deffnx {C Function} scm_eval (exp, module)
+@c snarfed from eval.c:5922
+@deffn {Scheme Procedure} eval exp module_or_state
+@deffnx {C Function} scm_eval (exp, module_or_state)
Evaluate @var{exp}, a list representing a Scheme expression,
-in the top-level environment specified by @var{module}.
+in the top-level environment specified by
+@var{module_or_state}.
While @var{exp} is evaluated (using @code{primitive-eval}),
-@var{module} is made the current module. The current module
-is reset to its previous value when @var{eval} returns.
+@var{module_or_state} is made the current module when
+it is a module, or the current dynamic state when it is
+a dynamic state.Example: (eval '(+ 1 2) (interaction-environment))
@end deffn
eval-options-interface
-@c snarfed from eval.c:3090
+@c snarfed from eval.c:3086
@deffn {Scheme Procedure} eval-options-interface [setting]
@deffnx {C Function} scm_eval_options_interface (setting)
Option interface for the evaluation options. Instead of using
@@ -1420,7 +1513,7 @@ this procedure directly, use the procedures @code{eval-enable},
@end deffn
evaluator-traps-interface
-@c snarfed from eval.c:3108
+@c snarfed from eval.c:3104
@deffn {Scheme Procedure} evaluator-traps-interface [setting]
@deffnx {C Function} scm_evaluator_traps (setting)
Option interface for the evaluator trap options.
@@ -1487,7 +1580,7 @@ well. For example,
@end deffn
program-arguments
-@c snarfed from feature.c:56
+@c snarfed from feature.c:57
@deffn {Scheme Procedure} program-arguments
@deffnx {Scheme Procedure} command-line
@deffnx {C Function} scm_program_arguments ()
@@ -1498,20 +1591,20 @@ options like @code{-e} and @code{-l}.
@end deffn
make-fluid
-@c snarfed from fluids.c:100
+@c snarfed from fluids.c:257
@deffn {Scheme Procedure} make-fluid
@deffnx {C Function} scm_make_fluid ()
Return a newly created fluid.
-Fluids are objects of a certain type (a smob) that can hold one SCM
-value per dynamic root. That is, modifications to this value are
-only visible to code that executes within the same dynamic root as
-the modifying code. When a new dynamic root is constructed, it
-inherits the values from its parent. Because each thread executes
-in its own dynamic root, you can use fluids for thread local storage.
+Fluids are objects that can hold one
+value per dynamic state. That is, modifications to this value are
+only visible to code that executes with the same dynamic state as
+the modifying code. When a new dynamic state is constructed, it
+inherits the values from its parent. Because each thread normally executes
+with its own dynamic state, you can use fluids for thread local storage.
@end deffn
fluid?
-@c snarfed from fluids.c:113
+@c snarfed from fluids.c:278
@deffn {Scheme Procedure} fluid? obj
@deffnx {C Function} scm_fluid_p (obj)
Return @code{#t} iff @var{obj} is a fluid; otherwise, return
@@ -1519,7 +1612,7 @@ Return @code{#t} iff @var{obj} is a fluid; otherwise, return
@end deffn
fluid-ref
-@c snarfed from fluids.c:124
+@c snarfed from fluids.c:301
@deffn {Scheme Procedure} fluid-ref fluid
@deffnx {C Function} scm_fluid_ref (fluid)
Return the value associated with @var{fluid} in the current
@@ -1528,14 +1621,14 @@ dynamic root. If @var{fluid} has not been set, then return
@end deffn
fluid-set!
-@c snarfed from fluids.c:140
+@c snarfed from fluids.c:320
@deffn {Scheme Procedure} fluid-set! fluid value
@deffnx {C Function} scm_fluid_set_x (fluid, value)
Set the value associated with @var{fluid} in the current dynamic root.
@end deffn
with-fluids*
-@c snarfed from fluids.c:206
+@c snarfed from fluids.c:390
@deffn {Scheme Procedure} with-fluids* fluids values thunk
@deffnx {C Function} scm_with_fluids (fluids, values, thunk)
Set @var{fluids} to @var{values} temporary, and call @var{thunk}.
@@ -1545,13 +1638,52 @@ one after another. @var{thunk} must be a procedure with no argument.
@end deffn
with-fluid*
-@c snarfed from fluids.c:245
+@c snarfed from fluids.c:429
@deffn {Scheme Procedure} with-fluid* fluid value thunk
@deffnx {C Function} scm_with_fluid (fluid, value, thunk)
Set @var{fluid} to @var{value} temporarily, and call @var{thunk}.
@var{thunk} must be a procedure with no argument.
@end deffn
+ make-dynamic-state
+@c snarfed from fluids.c:482
+@deffn {Scheme Procedure} make-dynamic-state [parent]
+@deffnx {C Function} scm_make_dynamic_state (parent)
+Return a copy of the dynamic state object @var{parent}
+or of the current dynamic state when @var{parent} is omitted.
+@end deffn
+
+ dynamic-state?
+@c snarfed from fluids.c:509
+@deffn {Scheme Procedure} dynamic-state? obj
+@deffnx {C Function} scm_dynamic_state_p (obj)
+Return @code{#t} if @var{obj} is a dynamic state object;
+return @code{#f} otherwise
+@end deffn
+
+ current-dynamic-state
+@c snarfed from fluids.c:524
+@deffn {Scheme Procedure} current-dynamic-state
+@deffnx {C Function} scm_current_dynamic_state ()
+Return the current dynamic state object.
+@end deffn
+
+ set-current-dynamic-state
+@c snarfed from fluids.c:534
+@deffn {Scheme Procedure} set-current-dynamic-state state
+@deffnx {C Function} scm_set_current_dynamic_state (state)
+Set the current dynamic state object to @var{state}
+and return the previous current dynamic state object.
+@end deffn
+
+ with-dynamic-state
+@c snarfed from fluids.c:576
+@deffn {Scheme Procedure} with-dynamic-state state proc
+@deffnx {C Function} scm_with_dynamic_state (state, proc)
+Call @var{proc} while @var{state} is the current dynamic
+state object.
+@end deffn
+
setvbuf
@c snarfed from fports.c:137
@deffn {Scheme Procedure} setvbuf port mode [size]
@@ -1634,8 +1766,15 @@ return @var{x}, otherwise just return the previously computed
value.
@end deffn
+ gc-live-object-stats
+@c snarfed from gc.c:292
+@deffn {Scheme Procedure} gc-live-object-stats
+@deffnx {C Function} scm_gc_live_object_stats ()
+Return an alist of statistics of the current live objects.
+@end deffn
+
gc-stats
-@c snarfed from gc.c:283
+@c snarfed from gc.c:309
@deffn {Scheme Procedure} gc-stats
@deffnx {C Function} scm_gc_stats ()
Return an association list of statistics about Guile's current
@@ -1644,7 +1783,7 @@ use of storage.
@end deffn
object-address
-@c snarfed from gc.c:419
+@c snarfed from gc.c:445
@deffn {Scheme Procedure} object-address obj
@deffnx {C Function} scm_object_address (obj)
Return an integer that for the lifetime of @var{obj} is uniquely
@@ -1652,15 +1791,22 @@ returned by this function for @var{obj}
@end deffn
gc
-@c snarfed from gc.c:430
+@c snarfed from gc.c:456
@deffn {Scheme Procedure} gc
@deffnx {C Function} scm_gc ()
Scans all of SCM objects and reclaims for further use those that are
no longer accessible.
@end deffn
+ class-of
+@c snarfed from goops.c:165
+@deffn {Scheme Procedure} class-of x
+@deffnx {C Function} scm_class_of (x)
+Return the class of @var{x}.
+@end deffn
+
%compute-slots
-@c snarfed from goops.c:265
+@c snarfed from goops.c:406
@deffn {Scheme Procedure} %compute-slots class
@deffnx {C Function} scm_sys_compute_slots (class)
Return a list consisting of the names of all slots belonging to
@@ -1669,7 +1815,7 @@ its superclasses.
@end deffn
get-keyword
-@c snarfed from goops.c:356
+@c snarfed from goops.c:497
@deffn {Scheme Procedure} get-keyword key l default_value
@deffnx {C Function} scm_get_keyword (key, l, default_value)
Determine an associated value for the keyword @var{key} from
@@ -1681,7 +1827,7 @@ If @var{l} does not hold a value for @var{key}, the value
@end deffn
%initialize-object
-@c snarfed from goops.c:379
+@c snarfed from goops.c:520
@deffn {Scheme Procedure} %initialize-object obj initargs
@deffnx {C Function} scm_sys_initialize_object (obj, initargs)
Initialize the object @var{obj} with the given arguments
@@ -1689,147 +1835,147 @@ Initialize the object @var{obj} with the given arguments
@end deffn
%prep-layout!
-@c snarfed from goops.c:477
+@c snarfed from goops.c:618
@deffn {Scheme Procedure} %prep-layout! class
@deffnx {C Function} scm_sys_prep_layout_x (class)
@end deffn
%inherit-magic!
-@c snarfed from goops.c:576
+@c snarfed from goops.c:717
@deffn {Scheme Procedure} %inherit-magic! class dsupers
@deffnx {C Function} scm_sys_inherit_magic_x (class, dsupers)
@end deffn
instance?
-@c snarfed from goops.c:816
+@c snarfed from goops.c:957
@deffn {Scheme Procedure} instance? obj
@deffnx {C Function} scm_instance_p (obj)
Return @code{#t} if @var{obj} is an instance.
@end deffn
class-name
-@c snarfed from goops.c:831
+@c snarfed from goops.c:972
@deffn {Scheme Procedure} class-name obj
@deffnx {C Function} scm_class_name (obj)
Return the class name of @var{obj}.
@end deffn
class-direct-supers
-@c snarfed from goops.c:841
+@c snarfed from goops.c:982
@deffn {Scheme Procedure} class-direct-supers obj
@deffnx {C Function} scm_class_direct_supers (obj)
Return the direct superclasses of the class @var{obj}.
@end deffn
class-direct-slots
-@c snarfed from goops.c:851
+@c snarfed from goops.c:992
@deffn {Scheme Procedure} class-direct-slots obj
@deffnx {C Function} scm_class_direct_slots (obj)
Return the direct slots of the class @var{obj}.
@end deffn
class-direct-subclasses
-@c snarfed from goops.c:861
+@c snarfed from goops.c:1002
@deffn {Scheme Procedure} class-direct-subclasses obj
@deffnx {C Function} scm_class_direct_subclasses (obj)
Return the direct subclasses of the class @var{obj}.
@end deffn
class-direct-methods
-@c snarfed from goops.c:871
+@c snarfed from goops.c:1012
@deffn {Scheme Procedure} class-direct-methods obj
@deffnx {C Function} scm_class_direct_methods (obj)
Return the direct methods of the class @var{obj}
@end deffn
class-precedence-list
-@c snarfed from goops.c:881
+@c snarfed from goops.c:1022
@deffn {Scheme Procedure} class-precedence-list obj
@deffnx {C Function} scm_class_precedence_list (obj)
Return the class precedence list of the class @var{obj}.
@end deffn
class-slots
-@c snarfed from goops.c:891
+@c snarfed from goops.c:1032
@deffn {Scheme Procedure} class-slots obj
@deffnx {C Function} scm_class_slots (obj)
Return the slot list of the class @var{obj}.
@end deffn
class-environment
-@c snarfed from goops.c:901
+@c snarfed from goops.c:1042
@deffn {Scheme Procedure} class-environment obj
@deffnx {C Function} scm_class_environment (obj)
Return the environment of the class @var{obj}.
@end deffn
generic-function-name
-@c snarfed from goops.c:912
+@c snarfed from goops.c:1053
@deffn {Scheme Procedure} generic-function-name obj
@deffnx {C Function} scm_generic_function_name (obj)
Return the name of the generic function @var{obj}.
@end deffn
generic-function-methods
-@c snarfed from goops.c:957
+@c snarfed from goops.c:1098
@deffn {Scheme Procedure} generic-function-methods obj
@deffnx {C Function} scm_generic_function_methods (obj)
Return the methods of the generic function @var{obj}.
@end deffn
method-generic-function
-@c snarfed from goops.c:970
+@c snarfed from goops.c:1111
@deffn {Scheme Procedure} method-generic-function obj
@deffnx {C Function} scm_method_generic_function (obj)
Return the generic function for the method @var{obj}.
@end deffn
method-specializers
-@c snarfed from goops.c:980
+@c snarfed from goops.c:1121
@deffn {Scheme Procedure} method-specializers obj
@deffnx {C Function} scm_method_specializers (obj)
Return specializers of the method @var{obj}.
@end deffn
method-procedure
-@c snarfed from goops.c:990
+@c snarfed from goops.c:1131
@deffn {Scheme Procedure} method-procedure obj
@deffnx {C Function} scm_method_procedure (obj)
Return the procedure of the method @var{obj}.
@end deffn
accessor-method-slot-definition
-@c snarfed from goops.c:1000
+@c snarfed from goops.c:1141
@deffn {Scheme Procedure} accessor-method-slot-definition obj
@deffnx {C Function} scm_accessor_method_slot_definition (obj)
Return the slot definition of the accessor @var{obj}.
@end deffn
%tag-body
-@c snarfed from goops.c:1010
+@c snarfed from goops.c:1151
@deffn {Scheme Procedure} %tag-body body
@deffnx {C Function} scm_sys_tag_body (body)
Internal GOOPS magic---don't use this function!
@end deffn
make-unbound
-@c snarfed from goops.c:1025
+@c snarfed from goops.c:1166
@deffn {Scheme Procedure} make-unbound
@deffnx {C Function} scm_make_unbound ()
Return the unbound value.
@end deffn
unbound?
-@c snarfed from goops.c:1034
+@c snarfed from goops.c:1175
@deffn {Scheme Procedure} unbound? obj
@deffnx {C Function} scm_unbound_p (obj)
Return @code{#t} if @var{obj} is unbound.
@end deffn
assert-bound
-@c snarfed from goops.c:1044
+@c snarfed from goops.c:1185
@deffn {Scheme Procedure} assert-bound value obj
@deffnx {C Function} scm_assert_bound (value, obj)
Return @var{value} if it is bound, and invoke the
@@ -1837,7 +1983,7 @@ Return @var{value} if it is bound, and invoke the
@end deffn
@@assert-bound-ref
-@c snarfed from goops.c:1056
+@c snarfed from goops.c:1197
@deffn {Scheme Procedure} @@assert-bound-ref obj index
@deffnx {C Function} scm_at_assert_bound_ref (obj, index)
Like @code{assert-bound}, but use @var{index} for accessing
@@ -1845,14 +1991,14 @@ the value from @var{obj}.
@end deffn
%fast-slot-ref
-@c snarfed from goops.c:1068
+@c snarfed from goops.c:1209
@deffn {Scheme Procedure} %fast-slot-ref obj index
@deffnx {C Function} scm_sys_fast_slot_ref (obj, index)
Return the slot value with index @var{index} from @var{obj}.
@end deffn
%fast-slot-set!
-@c snarfed from goops.c:1082
+@c snarfed from goops.c:1223
@deffn {Scheme Procedure} %fast-slot-set! obj index value
@deffnx {C Function} scm_sys_fast_slot_set_x (obj, index, value)
Set the slot with index @var{index} in @var{obj} to
@@ -1860,35 +2006,35 @@ Set the slot with index @var{index} in @var{obj} to
@end deffn
slot-ref-using-class
-@c snarfed from goops.c:1219
+@c snarfed from goops.c:1360
@deffn {Scheme Procedure} slot-ref-using-class class obj slot_name
@deffnx {C Function} scm_slot_ref_using_class (class, obj, slot_name)
@end deffn
slot-set-using-class!
-@c snarfed from goops.c:1238
+@c snarfed from goops.c:1379
@deffn {Scheme Procedure} slot-set-using-class! class obj slot_name value
@deffnx {C Function} scm_slot_set_using_class_x (class, obj, slot_name, value)
@end deffn
slot-bound-using-class?
-@c snarfed from goops.c:1252
+@c snarfed from goops.c:1393
@deffn {Scheme Procedure} slot-bound-using-class? class obj slot_name
@deffnx {C Function} scm_slot_bound_using_class_p (class, obj, slot_name)
@end deffn
slot-exists-using-class?
-@c snarfed from goops.c:1267
+@c snarfed from goops.c:1408
@deffn {Scheme Procedure} slot-exists-using-class? class obj slot_name
@deffnx {C Function} scm_slot_exists_using_class_p (class, obj, slot_name)
@end deffn
slot-ref
-@c snarfed from goops.c:1283
+@c snarfed from goops.c:1424
@deffn {Scheme Procedure} slot-ref obj slot_name
@deffnx {C Function} scm_slot_ref (obj, slot_name)
Return the value from @var{obj}'s slot with the name
@@ -1896,14 +2042,14 @@ Return the value from @var{obj}'s slot with the name
@end deffn
slot-set!
-@c snarfed from goops.c:1300
+@c snarfed from goops.c:1441
@deffn {Scheme Procedure} slot-set! obj slot_name value
@deffnx {C Function} scm_slot_set_x (obj, slot_name, value)
Set the slot named @var{slot_name} of @var{obj} to @var{value}.
@end deffn
slot-bound?
-@c snarfed from goops.c:1317
+@c snarfed from goops.c:1458
@deffn {Scheme Procedure} slot-bound? obj slot_name
@deffnx {C Function} scm_slot_bound_p (obj, slot_name)
Return @code{#t} if the slot named @var{slot_name} of @var{obj}
@@ -1911,14 +2057,14 @@ is bound.
@end deffn
slot-exists?
-@c snarfed from goops.c:1335
+@c snarfed from goops.c:1476
@deffn {Scheme Procedure} slot-exists? obj slot_name
@deffnx {C Function} scm_slot_exists_p (obj, slot_name)
Return @code{#t} if @var{obj} has a slot named @var{slot_name}.
@end deffn
%allocate-instance
-@c snarfed from goops.c:1374
+@c snarfed from goops.c:1515
@deffn {Scheme Procedure} %allocate-instance class initargs
@deffnx {C Function} scm_sys_allocate_instance (class, initargs)
Create a new instance of class @var{class} and initialize it
@@ -1926,63 +2072,63 @@ from the arguments @var{initargs}.
@end deffn
%set-object-setter!
-@c snarfed from goops.c:1444
+@c snarfed from goops.c:1585
@deffn {Scheme Procedure} %set-object-setter! obj setter
@deffnx {C Function} scm_sys_set_object_setter_x (obj, setter)
@end deffn
%modify-instance
-@c snarfed from goops.c:1469
+@c snarfed from goops.c:1610
@deffn {Scheme Procedure} %modify-instance old new
@deffnx {C Function} scm_sys_modify_instance (old, new)
@end deffn
%modify-class
-@c snarfed from goops.c:1495
+@c snarfed from goops.c:1636
@deffn {Scheme Procedure} %modify-class old new
@deffnx {C Function} scm_sys_modify_class (old, new)
@end deffn
%invalidate-class
-@c snarfed from goops.c:1519
+@c snarfed from goops.c:1660
@deffn {Scheme Procedure} %invalidate-class class
@deffnx {C Function} scm_sys_invalidate_class (class)
@end deffn
%invalidate-method-cache!
-@c snarfed from goops.c:1641
+@c snarfed from goops.c:1782
@deffn {Scheme Procedure} %invalidate-method-cache! gf
@deffnx {C Function} scm_sys_invalidate_method_cache_x (gf)
@end deffn
generic-capability?
-@c snarfed from goops.c:1667
+@c snarfed from goops.c:1808
@deffn {Scheme Procedure} generic-capability? proc
@deffnx {C Function} scm_generic_capability_p (proc)
@end deffn
enable-primitive-generic!
-@c snarfed from goops.c:1680
+@c snarfed from goops.c:1821
@deffn {Scheme Procedure} enable-primitive-generic! . subrs
@deffnx {C Function} scm_enable_primitive_generic_x (subrs)
@end deffn
primitive-generic-generic
-@c snarfed from goops.c:1701
+@c snarfed from goops.c:1842
@deffn {Scheme Procedure} primitive-generic-generic subr
@deffnx {C Function} scm_primitive_generic_generic (subr)
@end deffn
make
-@c snarfed from goops.c:2069
+@c snarfed from goops.c:2208
@deffn {Scheme Procedure} make . args
@deffnx {C Function} scm_make (args)
Make a new object. @var{args} must contain the class and
@@ -1990,21 +2136,21 @@ all necessary initialization information.
@end deffn
find-method
-@c snarfed from goops.c:2158
+@c snarfed from goops.c:2297
@deffn {Scheme Procedure} find-method . l
@deffnx {C Function} scm_find_method (l)
@end deffn
%method-more-specific?
-@c snarfed from goops.c:2178
+@c snarfed from goops.c:2317
@deffn {Scheme Procedure} %method-more-specific? m1 m2 targs
@deffnx {C Function} scm_sys_method_more_specific_p (m1, m2, targs)
@end deffn
%goops-loaded
-@c snarfed from goops.c:2793
+@c snarfed from goops.c:2943
@deffn {Scheme Procedure} %goops-loaded
@deffnx {C Function} scm_sys_goops_loaded ()
Announce that GOOPS is loaded and perform initialization
@@ -2066,7 +2212,7 @@ objects guarded by @var{guardian}.
@end deffn
hashq
-@c snarfed from hash.c:176
+@c snarfed from hash.c:183
@deffn {Scheme Procedure} hashq key size
@deffnx {C Function} scm_hashq (key, size)
Determine a hash value for @var{key} that is suitable for
@@ -2082,7 +2228,7 @@ different values, since @code{foo} will be garbage collected.
@end deffn
hashv
-@c snarfed from hash.c:212
+@c snarfed from hash.c:219
@deffn {Scheme Procedure} hashv key size
@deffnx {C Function} scm_hashv (key, size)
Determine a hash value for @var{key} that is suitable for
@@ -2098,7 +2244,7 @@ different values, since @code{foo} will be garbage collected.
@end deffn
hash
-@c snarfed from hash.c:235
+@c snarfed from hash.c:242
@deffn {Scheme Procedure} hash key size
@deffnx {C Function} scm_hash (key, size)
Determine a hash value for @var{key} that is suitable for
@@ -2108,7 +2254,7 @@ integer in the range 0 to @var{size} - 1.
@end deffn
make-hash-table
-@c snarfed from hashtab.c:308
+@c snarfed from hashtab.c:333
@deffn {Scheme Procedure} make-hash-table [n]
@deffnx {C Function} scm_make_hash_table (n)
Make a hash table with optional minimum number of buckets @var{n}
@@ -2116,7 +2262,7 @@ Make a hash table with optional minimum number of buckets @var{n}
@end deffn
make-weak-key-hash-table
-@c snarfed from hashtab.c:327
+@c snarfed from hashtab.c:352
@deffn {Scheme Procedure} make-weak-key-hash-table [n]
@deffnx {Scheme Procedure} make-weak-value-hash-table size
@deffnx {Scheme Procedure} make-doubly-weak-hash-table size
@@ -2130,7 +2276,7 @@ would modify regular hash tables. (@pxref{Hash Tables})
@end deffn
make-weak-value-hash-table
-@c snarfed from hashtab.c:342
+@c snarfed from hashtab.c:367
@deffn {Scheme Procedure} make-weak-value-hash-table [n]
@deffnx {C Function} scm_make_weak_value_hash_table (n)
Return a hash table with weak values with @var{size} buckets.
@@ -2138,7 +2284,7 @@ Return a hash table with weak values with @var{size} buckets.
@end deffn
make-doubly-weak-hash-table
-@c snarfed from hashtab.c:359
+@c snarfed from hashtab.c:384
@deffn {Scheme Procedure} make-doubly-weak-hash-table n
@deffnx {C Function} scm_make_doubly_weak_hash_table (n)
Return a hash table with weak keys and values with @var{size}
@@ -2146,14 +2292,14 @@ buckets. (@pxref{Hash Tables})
@end deffn
hash-table?
-@c snarfed from hashtab.c:378
+@c snarfed from hashtab.c:403
@deffn {Scheme Procedure} hash-table? obj
@deffnx {C Function} scm_hash_table_p (obj)
Return @code{#t} if @var{obj} is a hash table.
@end deffn
weak-key-hash-table?
-@c snarfed from hashtab.c:392
+@c snarfed from hashtab.c:417
@deffn {Scheme Procedure} weak-key-hash-table? obj
@deffnx {Scheme Procedure} weak-value-hash-table? obj
@deffnx {Scheme Procedure} doubly-weak-hash-table? obj
@@ -2164,28 +2310,28 @@ nor a weak value hash table.
@end deffn
weak-value-hash-table?
-@c snarfed from hashtab.c:402
+@c snarfed from hashtab.c:427
@deffn {Scheme Procedure} weak-value-hash-table? obj
@deffnx {C Function} scm_weak_value_hash_table_p (obj)
Return @code{#t} if @var{obj} is a weak value hash table.
@end deffn
doubly-weak-hash-table?
-@c snarfed from hashtab.c:412
+@c snarfed from hashtab.c:437
@deffn {Scheme Procedure} doubly-weak-hash-table? obj
@deffnx {C Function} scm_doubly_weak_hash_table_p (obj)
Return @code{#t} if @var{obj} is a doubly weak hash table.
@end deffn
hash-clear!
-@c snarfed from hashtab.c:549
+@c snarfed from hashtab.c:591
@deffn {Scheme Procedure} hash-clear! table
@deffnx {C Function} scm_hash_clear_x (table)
Remove all items from TABLE (without triggering a resize).
@end deffn
hashq-get-handle
-@c snarfed from hashtab.c:566
+@c snarfed from hashtab.c:608
@deffn {Scheme Procedure} hashq-get-handle table key
@deffnx {C Function} scm_hashq_get_handle (table, key)
This procedure returns the @code{(key . value)} pair from the
@@ -2195,7 +2341,7 @@ Uses @code{eq?} for equality testing.
@end deffn
hashq-create-handle!
-@c snarfed from hashtab.c:578
+@c snarfed from hashtab.c:620
@deffn {Scheme Procedure} hashq-create-handle! table key init
@deffnx {C Function} scm_hashq_create_handle_x (table, key, init)
This function looks up @var{key} in @var{table} and returns its handle.
@@ -2204,7 +2350,7 @@ associates @var{key} with @var{init}.
@end deffn
hashq-ref
-@c snarfed from hashtab.c:591
+@c snarfed from hashtab.c:633
@deffn {Scheme Procedure} hashq-ref table key [dflt]
@deffnx {C Function} scm_hashq_ref (table, key, dflt)
Look up @var{key} in the hash table @var{table}, and return the
@@ -2214,7 +2360,7 @@ is supplied). Uses @code{eq?} for equality testing.
@end deffn
hashq-set!
-@c snarfed from hashtab.c:605
+@c snarfed from hashtab.c:647
@deffn {Scheme Procedure} hashq-set! table key val
@deffnx {C Function} scm_hashq_set_x (table, key, val)
Find the entry in @var{table} associated with @var{key}, and
@@ -2222,7 +2368,7 @@ store @var{value} there. Uses @code{eq?} for equality testing.
@end deffn
hashq-remove!
-@c snarfed from hashtab.c:617
+@c snarfed from hashtab.c:659
@deffn {Scheme Procedure} hashq-remove! table key
@deffnx {C Function} scm_hashq_remove_x (table, key)
Remove @var{key} (and any value associated with it) from
@@ -2230,7 +2376,7 @@ Remove @var{key} (and any value associated with it) from
@end deffn
hashv-get-handle
-@c snarfed from hashtab.c:633
+@c snarfed from hashtab.c:675
@deffn {Scheme Procedure} hashv-get-handle table key
@deffnx {C Function} scm_hashv_get_handle (table, key)
This procedure returns the @code{(key . value)} pair from the
@@ -2240,7 +2386,7 @@ Uses @code{eqv?} for equality testing.
@end deffn
hashv-create-handle!
-@c snarfed from hashtab.c:645
+@c snarfed from hashtab.c:687
@deffn {Scheme Procedure} hashv-create-handle! table key init
@deffnx {C Function} scm_hashv_create_handle_x (table, key, init)
This function looks up @var{key} in @var{table} and returns its handle.
@@ -2249,7 +2395,7 @@ associates @var{key} with @var{init}.
@end deffn
hashv-ref
-@c snarfed from hashtab.c:659
+@c snarfed from hashtab.c:701
@deffn {Scheme Procedure} hashv-ref table key [dflt]
@deffnx {C Function} scm_hashv_ref (table, key, dflt)
Look up @var{key} in the hash table @var{table}, and return the
@@ -2259,7 +2405,7 @@ is supplied). Uses @code{eqv?} for equality testing.
@end deffn
hashv-set!
-@c snarfed from hashtab.c:673
+@c snarfed from hashtab.c:715
@deffn {Scheme Procedure} hashv-set! table key val
@deffnx {C Function} scm_hashv_set_x (table, key, val)
Find the entry in @var{table} associated with @var{key}, and
@@ -2267,7 +2413,7 @@ store @var{value} there. Uses @code{eqv?} for equality testing.
@end deffn
hashv-remove!
-@c snarfed from hashtab.c:684
+@c snarfed from hashtab.c:726
@deffn {Scheme Procedure} hashv-remove! table key
@deffnx {C Function} scm_hashv_remove_x (table, key)
Remove @var{key} (and any value associated with it) from
@@ -2275,7 +2421,7 @@ Remove @var{key} (and any value associated with it) from
@end deffn
hash-get-handle
-@c snarfed from hashtab.c:699
+@c snarfed from hashtab.c:741
@deffn {Scheme Procedure} hash-get-handle table key
@deffnx {C Function} scm_hash_get_handle (table, key)
This procedure returns the @code{(key . value)} pair from the
@@ -2285,7 +2431,7 @@ Uses @code{equal?} for equality testing.
@end deffn
hash-create-handle!
-@c snarfed from hashtab.c:711
+@c snarfed from hashtab.c:753
@deffn {Scheme Procedure} hash-create-handle! table key init
@deffnx {C Function} scm_hash_create_handle_x (table, key, init)
This function looks up @var{key} in @var{table} and returns its handle.
@@ -2294,7 +2440,7 @@ associates @var{key} with @var{init}.
@end deffn
hash-ref
-@c snarfed from hashtab.c:724
+@c snarfed from hashtab.c:766
@deffn {Scheme Procedure} hash-ref table key [dflt]
@deffnx {C Function} scm_hash_ref (table, key, dflt)
Look up @var{key} in the hash table @var{table}, and return the
@@ -2304,7 +2450,7 @@ is supplied). Uses @code{equal?} for equality testing.
@end deffn
hash-set!
-@c snarfed from hashtab.c:739
+@c snarfed from hashtab.c:781
@deffn {Scheme Procedure} hash-set! table key val
@deffnx {C Function} scm_hash_set_x (table, key, val)
Find the entry in @var{table} associated with @var{key}, and
@@ -2313,7 +2459,7 @@ testing.
@end deffn
hash-remove!
-@c snarfed from hashtab.c:751
+@c snarfed from hashtab.c:793
@deffn {Scheme Procedure} hash-remove! table key
@deffnx {C Function} scm_hash_remove_x (table, key)
Remove @var{key} (and any value associated with it) from
@@ -2321,7 +2467,7 @@ Remove @var{key} (and any value associated with it) from
@end deffn
hashx-get-handle
-@c snarfed from hashtab.c:804
+@c snarfed from hashtab.c:846
@deffn {Scheme Procedure} hashx-get-handle hash assoc table key
@deffnx {C Function} scm_hashx_get_handle (hash, assoc, table, key)
This behaves the same way as the corresponding
@@ -2333,7 +2479,7 @@ table size. @code{assoc} must be an associator function, like
@end deffn
hashx-create-handle!
-@c snarfed from hashtab.c:823
+@c snarfed from hashtab.c:865
@deffn {Scheme Procedure} hashx-create-handle! hash assoc table key init
@deffnx {C Function} scm_hashx_create_handle_x (hash, assoc, table, key, init)
This behaves the same way as the corresponding
@@ -2345,7 +2491,7 @@ table size. @code{assoc} must be an associator function, like
@end deffn
hashx-ref
-@c snarfed from hashtab.c:846
+@c snarfed from hashtab.c:888
@deffn {Scheme Procedure} hashx-ref hash assoc table key [dflt]
@deffnx {C Function} scm_hashx_ref (hash, assoc, table, key, dflt)
This behaves the same way as the corresponding @code{ref}
@@ -2360,7 +2506,7 @@ equivalent to @code{hashx-ref hashq assq table key}.
@end deffn
hashx-set!
-@c snarfed from hashtab.c:872
+@c snarfed from hashtab.c:914
@deffn {Scheme Procedure} hashx-set! hash assoc table key val
@deffnx {C Function} scm_hashx_set_x (hash, assoc, table, key, val)
This behaves the same way as the corresponding @code{set!}
@@ -2375,7 +2521,7 @@ equivalent to @code{hashx-set! hashq assq table key}.
@end deffn
hash-fold
-@c snarfed from hashtab.c:974
+@c snarfed from hashtab.c:1016
@deffn {Scheme Procedure} hash-fold proc init table
@deffnx {C Function} scm_hash_fold (proc, init, table)
An iterator over hash-table elements.
@@ -2389,7 +2535,7 @@ table into an a-list of key-value pairs.
@end deffn
hash-for-each
-@c snarfed from hashtab.c:995
+@c snarfed from hashtab.c:1037
@deffn {Scheme Procedure} hash-for-each proc table
@deffnx {C Function} scm_hash_for_each (proc, table)
An iterator over hash-table elements.
@@ -2399,7 +2545,7 @@ and value are successive pairs from the hash table TABLE.
@end deffn
hash-for-each-handle
-@c snarfed from hashtab.c:1012
+@c snarfed from hashtab.c:1054
@deffn {Scheme Procedure} hash-for-each-handle proc table
@deffnx {C Function} scm_hash_for_each_handle (proc, table)
An iterator over hash-table elements.
@@ -2407,7 +2553,7 @@ Applies PROC successively on all hash table handles.
@end deffn
hash-map->list
-@c snarfed from hashtab.c:1038
+@c snarfed from hashtab.c:1080
@deffn {Scheme Procedure} hash-map->list proc table
@deffnx {C Function} scm_hash_map_to_list (proc, table)
An iterator over hash-table elements.
@@ -2947,7 +3093,7 @@ Linear-update variant of @code{filter}.
@end deffn
primitive-load
-@c snarfed from load.c:94
+@c snarfed from load.c:72
@deffn {Scheme Procedure} primitive-load filename
@deffnx {C Function} scm_primitive_load (filename)
Load the file named @var{filename} and evaluate its contents in
@@ -2960,7 +3106,7 @@ documentation for @code{%load-hook} later in this section.
@end deffn
%package-data-dir
-@c snarfed from load.c:134
+@c snarfed from load.c:117
@deffn {Scheme Procedure} %package-data-dir
@deffnx {C Function} scm_sys_package_data_dir ()
Return the name of the directory where Scheme packages, modules and
@@ -2969,7 +3115,7 @@ libraries are kept. On most Unix systems, this will be
@end deffn
%library-dir
-@c snarfed from load.c:146
+@c snarfed from load.c:129
@deffn {Scheme Procedure} %library-dir
@deffnx {C Function} scm_sys_library_dir ()
Return the directory where the Guile Scheme library files are installed.
@@ -2977,7 +3123,7 @@ E.g., may return "/usr/share/guile/1.3.5".
@end deffn
%site-dir
-@c snarfed from load.c:158
+@c snarfed from load.c:141
@deffn {Scheme Procedure} %site-dir
@deffnx {C Function} scm_sys_site_dir ()
Return the directory where the Guile site files are installed.
@@ -2985,7 +3131,7 @@ E.g., may return "/usr/share/guile/site".
@end deffn
parse-path
-@c snarfed from load.c:183
+@c snarfed from load.c:166
@deffn {Scheme Procedure} parse-path path [tail]
@deffnx {C Function} scm_parse_path (path, tail)
Parse @var{path}, which is expected to be a colon-separated
@@ -2995,7 +3141,7 @@ is returned.
@end deffn
search-path
-@c snarfed from load.c:310
+@c snarfed from load.c:293
@deffn {Scheme Procedure} search-path path filename [extensions]
@deffnx {C Function} scm_search_path (path, filename, extensions)
Search @var{path} for a directory containing a file named
@@ -3008,7 +3154,7 @@ concatenated with each @var{extension}.
@end deffn
%search-load-path
-@c snarfed from load.c:447
+@c snarfed from load.c:430
@deffn {Scheme Procedure} %search-load-path filename
@deffnx {C Function} scm_sys_search_load_path (filename)
Search @var{%load-path} for the file named @var{filename},
@@ -3021,7 +3167,7 @@ will try each extension automatically.
@end deffn
primitive-load-path
-@c snarfed from load.c:468
+@c snarfed from load.c:451
@deffn {Scheme Procedure} primitive-load-path filename
@deffnx {C Function} scm_primitive_load_path (filename)
Search @var{%load-path} for the file named @var{filename} and
@@ -3133,35 +3279,35 @@ evaluate expressions dynamically typed by the user.
@end deffn
env-module
-@c snarfed from modules.c:261
+@c snarfed from modules.c:266
@deffn {Scheme Procedure} env-module env
@deffnx {C Function} scm_env_module (env)
Return the module of @var{ENV}, a lexical environment.
@end deffn
standard-eval-closure
-@c snarfed from modules.c:337
+@c snarfed from modules.c:342
@deffn {Scheme Procedure} standard-eval-closure module
@deffnx {C Function} scm_standard_eval_closure (module)
Return an eval closure for the module @var{module}.
@end deffn
standard-interface-eval-closure
-@c snarfed from modules.c:348
+@c snarfed from modules.c:353
@deffn {Scheme Procedure} standard-interface-eval-closure module
@deffnx {C Function} scm_standard_interface_eval_closure (module)
Return a interface eval closure for the module @var{module}. Such a closure does not allow new bindings to be added.
@end deffn
module-import-interface
-@c snarfed from modules.c:394
+@c snarfed from modules.c:399
@deffn {Scheme Procedure} module-import-interface module sym
@deffnx {C Function} scm_module_import_interface (module, sym)
@end deffn
%get-pre-modules-obarray
-@c snarfed from modules.c:611
+@c snarfed from modules.c:616
@deffn {Scheme Procedure} %get-pre-modules-obarray
@deffnx {C Function} scm_get_pre_modules_obarray ()
Return the obarray that is used for all new bindings before the module system is booted. The first call to @code{set-current-module} will boot the module system.
@@ -3229,7 +3375,7 @@ Return the absolute value of @var{x}.
@end deffn
logand
-@c snarfed from numbers.c:1200
+@c snarfed from numbers.c:1201
@deffn {Scheme Procedure} logand n1 n2
Return the bitwise AND of the integer arguments.
@@ -3241,7 +3387,7 @@ Return the bitwise AND of the integer arguments.
@end deffn
logior
-@c snarfed from numbers.c:1276
+@c snarfed from numbers.c:1277
@deffn {Scheme Procedure} logior n1 n2
Return the bitwise OR of the integer arguments.
@@ -3253,7 +3399,7 @@ Return the bitwise OR of the integer arguments.
@end deffn
logxor
-@c snarfed from numbers.c:1352
+@c snarfed from numbers.c:1353
@deffn {Scheme Procedure} logxor n1 n2
Return the bitwise XOR of the integer arguments. A bit is
set in the result if it is set in an odd number of arguments.
@@ -3266,24 +3412,28 @@ set in the result if it is set in an odd number of arguments.
@end deffn
logtest
-@c snarfed from numbers.c:1423
+@c snarfed from numbers.c:1428
@deffn {Scheme Procedure} logtest j k
@deffnx {C Function} scm_logtest (j, k)
-@lisp
-(logtest j k) @equiv{} (not (zero? (logand j k)))
+Test whether @var{j} and @var{k} have any 1 bits in common.
+This is equivalent to @code{(not (zero? (logand j k)))}, but
+without actually calculating the @code{logand}, just testing
+for non-zero.
+@lisp
(logtest #b0100 #b1011) @result{} #f
(logtest #b0100 #b0111) @result{} #t
@end lisp
@end deffn
logbit?
-@c snarfed from numbers.c:1494
+@c snarfed from numbers.c:1501
@deffn {Scheme Procedure} logbit? index j
@deffnx {C Function} scm_logbit_p (index, j)
-@lisp
-(logbit? index j) @equiv{} (logtest (integer-expt 2 index) j)
+Test whether bit number @var{index} in @var{j} is set.
+@var{index} starts from 0 for the least significant bit.
+@lisp
(logbit? 0 #b1101) @result{} #t
(logbit? 1 #b1101) @result{} #f
(logbit? 2 #b1101) @result{} #t
@@ -3293,7 +3443,7 @@ set in the result if it is set in an odd number of arguments.
@end deffn
lognot
-@c snarfed from numbers.c:1528
+@c snarfed from numbers.c:1535
@deffn {Scheme Procedure} lognot n
@deffnx {C Function} scm_lognot (n)
Return the integer which is the ones-complement of the integer
@@ -3308,7 +3458,7 @@ argument.
@end deffn
modulo-expt
-@c snarfed from numbers.c:1573
+@c snarfed from numbers.c:1580
@deffn {Scheme Procedure} modulo-expt n k m
@deffnx {C Function} scm_modulo_expt (n, k, m)
Return @var{n} raised to the integer exponent
@@ -3321,22 +3471,26 @@ Return @var{n} raised to the integer exponent
@end deffn
integer-expt
-@c snarfed from numbers.c:1678
+@c snarfed from numbers.c:1689
@deffn {Scheme Procedure} integer-expt n k
@deffnx {C Function} scm_integer_expt (n, k)
-Return @var{n} raised to the exact integer exponent
-@var{k}.
+Return @var{n} raised to the power @var{k}. @var{k} must be an
+exact integer, @var{n} can be any number.
+
+Negative @var{k} is supported, and results in @math{1/n^abs(k)}
+in the usual way. @math{@var{n}^0} is 1, as usual, and that
+includes @math{0^0} is 1.
@lisp
-(integer-expt 2 5)
- @result{} 32
-(integer-expt -3 3)
- @result{} -27
+(integer-expt 2 5) @result{} 32
+(integer-expt -3 3) @result{} -27
+(integer-expt 5 -3) @result{} 1/125
+(integer-expt 0 0) @result{} 1
@end lisp
@end deffn
ash
-@c snarfed from numbers.c:1768
+@c snarfed from numbers.c:1779
@deffn {Scheme Procedure} ash n cnt
@deffnx {C Function} scm_ash (n, cnt)
Return @var{n} shifted left by @var{cnt} bits, or shifted right
@@ -3361,7 +3515,7 @@ shift dropping bits.
@end deffn
bit-extract
-@c snarfed from numbers.c:1808
+@c snarfed from numbers.c:1870
@deffn {Scheme Procedure} bit-extract n start end
@deffnx {C Function} scm_bit_extract (n, start, end)
Return the integer composed of the @var{start} (inclusive)
@@ -3377,7 +3531,7 @@ through @var{end} (exclusive) bits of @var{n}. The
@end deffn
logcount
-@c snarfed from numbers.c:1887
+@c snarfed from numbers.c:1949
@deffn {Scheme Procedure} logcount n
@deffnx {C Function} scm_logcount (n)
Return the number of bits in integer @var{n}. If integer is
@@ -3396,7 +3550,7 @@ representation are counted. If 0, 0 is returned.
@end deffn
integer-length
-@c snarfed from numbers.c:1935
+@c snarfed from numbers.c:1997
@deffn {Scheme Procedure} integer-length n
@deffnx {C Function} scm_integer_length (n)
Return the number of bits necessary to represent @var{n}.
@@ -3412,7 +3566,7 @@ Return the number of bits necessary to represent @var{n}.
@end deffn
number->string
-@c snarfed from numbers.c:2275
+@c snarfed from numbers.c:2337
@deffn {Scheme Procedure} number->string n [radix]
@deffnx {C Function} scm_number_to_string (n, radix)
Return a string holding the external representation of the
@@ -3421,7 +3575,7 @@ inexact, a radix of 10 will be used.
@end deffn
string->number
-@c snarfed from numbers.c:2972
+@c snarfed from numbers.c:3034
@deffn {Scheme Procedure} string->number string [radix]
@deffnx {C Function} scm_string_to_number (string, radix)
Return a number of the maximally precise representation
@@ -3435,7 +3589,7 @@ syntactically valid notation for a number, then
@end deffn
number?
-@c snarfed from numbers.c:3035
+@c snarfed from numbers.c:3097
@deffn {Scheme Procedure} number? x
@deffnx {C Function} scm_number_p (x)
Return @code{#t} if @var{x} is a number, @code{#f}
@@ -3443,7 +3597,7 @@ otherwise.
@end deffn
complex?
-@c snarfed from numbers.c:3048
+@c snarfed from numbers.c:3110
@deffn {Scheme Procedure} complex? x
@deffnx {C Function} scm_complex_p (x)
Return @code{#t} if @var{x} is a complex number, @code{#f}
@@ -3454,7 +3608,7 @@ rational or integer number.
@end deffn
real?
-@c snarfed from numbers.c:3061
+@c snarfed from numbers.c:3123
@deffn {Scheme Procedure} real? x
@deffnx {C Function} scm_real_p (x)
Return @code{#t} if @var{x} is a real number, @code{#f}
@@ -3464,7 +3618,7 @@ fulfilled if @var{x} is an integer number.
@end deffn
rational?
-@c snarfed from numbers.c:3074
+@c snarfed from numbers.c:3136
@deffn {Scheme Procedure} rational? x
@deffnx {C Function} scm_rational_p (x)
Return @code{#t} if @var{x} is a rational number, @code{#f}
@@ -3474,7 +3628,7 @@ fulfilled if @var{x} is an integer number.
@end deffn
integer?
-@c snarfed from numbers.c:3097
+@c snarfed from numbers.c:3159
@deffn {Scheme Procedure} integer? x
@deffnx {C Function} scm_integer_p (x)
Return @code{#t} if @var{x} is an integer number, @code{#f}
@@ -3482,7 +3636,7 @@ else.
@end deffn
inexact?
-@c snarfed from numbers.c:3123
+@c snarfed from numbers.c:3185
@deffn {Scheme Procedure} inexact? x
@deffnx {C Function} scm_inexact_p (x)
Return @code{#t} if @var{x} is an inexact number, @code{#f}
@@ -3490,35 +3644,35 @@ else.
@end deffn
truncate
-@c snarfed from numbers.c:4970
+@c snarfed from numbers.c:5033
@deffn {Scheme Procedure} truncate x
@deffnx {C Function} scm_truncate_number (x)
Round the number @var{x} towards zero.
@end deffn
round
-@c snarfed from numbers.c:4986
+@c snarfed from numbers.c:5049
@deffn {Scheme Procedure} round x
@deffnx {C Function} scm_round_number (x)
Round the number @var{x} towards the nearest integer. When it is exactly halfway between two integers, round towards the even one.
@end deffn
floor
-@c snarfed from numbers.c:5012
+@c snarfed from numbers.c:5075
@deffn {Scheme Procedure} floor x
@deffnx {C Function} scm_floor (x)
Round the number @var{x} towards minus infinity.
@end deffn
ceiling
-@c snarfed from numbers.c:5043
+@c snarfed from numbers.c:5106
@deffn {Scheme Procedure} ceiling x
@deffnx {C Function} scm_ceiling (x)
Round the number @var{x} towards infinity.
@end deffn
$expt
-@c snarfed from numbers.c:5152
+@c snarfed from numbers.c:5215
@deffn {Scheme Procedure} $expt x y
@deffnx {C Function} scm_sys_expt (x, y)
Return @var{x} raised to the power of @var{y}. This
@@ -3526,7 +3680,7 @@ procedure does not accept complex arguments.
@end deffn
$atan2
-@c snarfed from numbers.c:5168
+@c snarfed from numbers.c:5231
@deffn {Scheme Procedure} $atan2 x y
@deffnx {C Function} scm_sys_atan2 (x, y)
Return the arc tangent of the two arguments @var{x} and
@@ -3537,7 +3691,7 @@ procedure does not accept complex arguments.
@end deffn
make-rectangular
-@c snarfed from numbers.c:5196
+@c snarfed from numbers.c:5259
@deffn {Scheme Procedure} make-rectangular real imaginary
@deffnx {C Function} scm_make_rectangular (real, imaginary)
Return a complex number constructed of the given @var{real} and
@@ -3545,56 +3699,49 @@ Return a complex number constructed of the given @var{real} and
@end deffn
make-polar
-@c snarfed from numbers.c:5220
+@c snarfed from numbers.c:5283
@deffn {Scheme Procedure} make-polar x y
@deffnx {C Function} scm_make_polar (x, y)
Return the complex number @var{x} * e^(i * @var{y}).
@end deffn
inexact->exact
-@c snarfed from numbers.c:5423
+@c snarfed from numbers.c:5486
@deffn {Scheme Procedure} inexact->exact z
@deffnx {C Function} scm_inexact_to_exact (z)
Return an exact number that is numerically closest to @var{z}.
@end deffn
rationalize
-@c snarfed from numbers.c:5460
+@c snarfed from numbers.c:5523
@deffn {Scheme Procedure} rationalize x err
@deffnx {C Function} scm_rationalize (x, err)
Return an exact number that is within @var{err} of @var{x}.
@end deffn
- class-of
-@c snarfed from objects.c:62
-@deffn {Scheme Procedure} class-of x
-@deffnx {C Function} scm_class_of (x)
-Return the class of @var{x}.
-@end deffn
-
entity?
-@c snarfed from objects.c:332
+@c snarfed from objects.c:192
@deffn {Scheme Procedure} entity? obj
@deffnx {C Function} scm_entity_p (obj)
Return @code{#t} if @var{obj} is an entity.
@end deffn
operator?
-@c snarfed from objects.c:341
+@c snarfed from objects.c:201
@deffn {Scheme Procedure} operator? obj
@deffnx {C Function} scm_operator_p (obj)
Return @code{#t} if @var{obj} is an operator.
@end deffn
valid-object-procedure?
-@c snarfed from objects.c:357
+@c snarfed from objects.c:217
@deffn {Scheme Procedure} valid-object-procedure? proc
@deffnx {C Function} scm_valid_object_procedure_p (proc)
Return @code{#t} iff @var{proc} is a procedure that can be used with @code{set-object-procedure}. It is always valid to use a closure constructed by @code{lambda}.
@end deffn
set-object-procedure!
-@c snarfed from objects.c:379
+@c snarfed from objects.c:239
@deffn {Scheme Procedure} set-object-procedure! obj proc
@deffnx {C Function} scm_set_object_procedure_x (obj, proc)
Set the object procedure of @var{obj} to @var{proc}.
@@ -3602,7 +3749,7 @@ Set the object procedure of @var{obj} to @var{proc}.
@end deffn
make-class-object
-@c snarfed from objects.c:439
+@c snarfed from objects.c:299
@deffn {Scheme Procedure} make-class-object metaclass layout
@deffnx {C Function} scm_make_class_object (metaclass, layout)
Create a new class object of class @var{metaclass}, with the
@@ -3610,7 +3757,7 @@ slot layout specified by @var{layout}.
@end deffn
make-subclass-object
-@c snarfed from objects.c:454
+@c snarfed from objects.c:314
@deffn {Scheme Procedure} make-subclass-object class layout
@deffnx {C Function} scm_make_subclass_object (class, layout)
Create a subclass object of @var{class}, with the slot layout
@@ -3680,7 +3827,7 @@ by @code{set-cdr!} is unspecified.
@end deffn
char-ready?
-@c snarfed from ports.c:242
+@c snarfed from ports.c:244
@deffn {Scheme Procedure} char-ready? [port]
@deffnx {C Function} scm_char_ready_p (port)
Return @code{#t} if a character is ready on input @var{port}
@@ -3700,7 +3847,7 @@ interactive port that has no ready characters.
@end deffn
drain-input
-@c snarfed from ports.c:319
+@c snarfed from ports.c:321
@deffn {Scheme Procedure} drain-input port
@deffnx {C Function} scm_drain_input (port)
This procedure clears a port's input buffers, similar
@@ -3720,7 +3867,7 @@ for further input.
@end deffn
current-input-port
-@c snarfed from ports.c:347
+@c snarfed from ports.c:354
@deffn {Scheme Procedure} current-input-port
@deffnx {C Function} scm_current_input_port ()
Return the current input port. This is the default port used
@@ -3729,7 +3876,7 @@ returns the @dfn{standard input} in Unix and C terminology.
@end deffn
current-output-port
-@c snarfed from ports.c:359
+@c snarfed from ports.c:366
@deffn {Scheme Procedure} current-output-port
@deffnx {C Function} scm_current_output_port ()
Return the current output port. This is the default port used
@@ -3739,7 +3886,7 @@ Unix and C terminology.
@end deffn
current-error-port
-@c snarfed from ports.c:369
+@c snarfed from ports.c:376
@deffn {Scheme Procedure} current-error-port
@deffnx {C Function} scm_current_error_port ()
Return the port to which errors and warnings should be sent (the
@@ -3747,7 +3894,7 @@ Return the port to which errors and warnings should be sent (the
@end deffn
current-load-port
-@c snarfed from ports.c:379
+@c snarfed from ports.c:386
@deffn {Scheme Procedure} current-load-port
@deffnx {C Function} scm_current_load_port ()
Return the current-load-port.
@@ -3755,7 +3902,7 @@ The load port is used internally by @code{primitive-load}.
@end deffn
set-current-input-port
-@c snarfed from ports.c:392
+@c snarfed from ports.c:399
@deffn {Scheme Procedure} set-current-input-port port
@deffnx {Scheme Procedure} set-current-output-port port
@deffnx {Scheme Procedure} set-current-error-port port
@@ -3766,28 +3913,28 @@ so that they use the supplied @var{port} for input or output.
@end deffn
set-current-output-port
-@c snarfed from ports.c:405
+@c snarfed from ports.c:412
@deffn {Scheme Procedure} set-current-output-port port
@deffnx {C Function} scm_set_current_output_port (port)
Set the current default output port to @var{port}.
@end deffn
set-current-error-port
-@c snarfed from ports.c:419
+@c snarfed from ports.c:426
@deffn {Scheme Procedure} set-current-error-port port
@deffnx {C Function} scm_set_current_error_port (port)
Set the current default error port to @var{port}.
@end deffn
port-revealed
-@c snarfed from ports.c:639
+@c snarfed from ports.c:624
@deffn {Scheme Procedure} port-revealed port
@deffnx {C Function} scm_port_revealed (port)
Return the revealed count for @var{port}.
@end deffn
set-port-revealed!
-@c snarfed from ports.c:652
+@c snarfed from ports.c:637
@deffn {Scheme Procedure} set-port-revealed! port rcount
@deffnx {C Function} scm_set_port_revealed_x (port, rcount)
Sets the revealed count for a port to a given value.
@@ -3795,7 +3942,7 @@ The return value is unspecified.
@end deffn
port-mode
-@c snarfed from ports.c:713
+@c snarfed from ports.c:698
@deffn {Scheme Procedure} port-mode port
@deffnx {C Function} scm_port_mode (port)
Return the port modes associated with the open port @var{port}.
@@ -3805,7 +3952,7 @@ used only during port creation are not retained.
@end deffn
close-port
-@c snarfed from ports.c:750
+@c snarfed from ports.c:735
@deffn {Scheme Procedure} close-port port
@deffnx {C Function} scm_close_port (port)
Close the specified port object. Return @code{#t} if it
@@ -3817,7 +3964,7 @@ descriptors.
@end deffn
close-input-port
-@c snarfed from ports.c:780
+@c snarfed from ports.c:765
@deffn {Scheme Procedure} close-input-port port
@deffnx {C Function} scm_close_input_port (port)
Close the specified input port object. The routine has no effect if
@@ -3829,7 +3976,7 @@ which can close file descriptors.
@end deffn
close-output-port
-@c snarfed from ports.c:795
+@c snarfed from ports.c:780
@deffn {Scheme Procedure} close-output-port port
@deffnx {C Function} scm_close_output_port (port)
Close the specified output port object. The routine has no effect if
@@ -3841,7 +3988,7 @@ which can close file descriptors.
@end deffn
port-for-each
-@c snarfed from ports.c:841
+@c snarfed from ports.c:826
@deffn {Scheme Procedure} port-for-each proc
@deffnx {C Function} scm_port_for_each (proc)
Apply @var{proc} to each port in the Guile port table
@@ -3853,7 +4000,7 @@ have no effect as far as @var{port-for-each} is concerned.
@end deffn
input-port?
-@c snarfed from ports.c:859
+@c snarfed from ports.c:844
@deffn {Scheme Procedure} input-port? x
@deffnx {C Function} scm_input_port_p (x)
Return @code{#t} if @var{x} is an input port, otherwise return
@@ -3862,7 +4009,7 @@ Return @code{#t} if @var{x} is an input port, otherwise return
@end deffn
output-port?
-@c snarfed from ports.c:870
+@c snarfed from ports.c:855
@deffn {Scheme Procedure} output-port? x
@deffnx {C Function} scm_output_port_p (x)
Return @code{#t} if @var{x} is an output port, otherwise return
@@ -3871,7 +4018,7 @@ Return @code{#t} if @var{x} is an output port, otherwise return
@end deffn
port?
-@c snarfed from ports.c:882
+@c snarfed from ports.c:867
@deffn {Scheme Procedure} port? x
@deffnx {C Function} scm_port_p (x)
Return a boolean indicating whether @var{x} is a port.
@@ -3880,7 +4027,7 @@ Equivalent to @code{(or (input-port? @var{x}) (output-port?
@end deffn
port-closed?
-@c snarfed from ports.c:892
+@c snarfed from ports.c:877
@deffn {Scheme Procedure} port-closed? port
@deffnx {C Function} scm_port_closed_p (port)
Return @code{#t} if @var{port} is closed or @code{#f} if it is
@@ -3888,7 +4035,7 @@ open.
@end deffn
eof-object?
-@c snarfed from ports.c:903
+@c snarfed from ports.c:888
@deffn {Scheme Procedure} eof-object? x
@deffnx {C Function} scm_eof_object_p (x)
Return @code{#t} if @var{x} is an end-of-file object; otherwise
@@ -3896,7 +4043,7 @@ return @code{#f}.
@end deffn
force-output
-@c snarfed from ports.c:917
+@c snarfed from ports.c:902
@deffn {Scheme Procedure} force-output [port]
@deffnx {C Function} scm_force_output (port)
Flush the specified output port, or the current output port if @var{port}
@@ -3909,7 +4056,7 @@ The return value is unspecified.
@end deffn
flush-all-ports
-@c snarfed from ports.c:935
+@c snarfed from ports.c:920
@deffn {Scheme Procedure} flush-all-ports
@deffnx {C Function} scm_flush_all_ports ()
Equivalent to calling @code{force-output} on
@@ -3917,7 +4064,7 @@ all open output ports. The return value is unspecified.
@end deffn
read-char
-@c snarfed from ports.c:955
+@c snarfed from ports.c:940
@deffn {Scheme Procedure} read-char [port]
@deffnx {C Function} scm_read_char (port)
Return the next character available from @var{port}, updating
@@ -3926,7 +4073,7 @@ characters are available, the end-of-file object is returned.
@end deffn
peek-char
-@c snarfed from ports.c:1297
+@c snarfed from ports.c:1282
@deffn {Scheme Procedure} peek-char [port]
@deffnx {C Function} scm_peek_char (port)
Return the next character available from @var{port},
@@ -3946,7 +4093,7 @@ to @code{read-char} would have hung.
@end deffn
unread-char
-@c snarfed from ports.c:1320
+@c snarfed from ports.c:1305
@deffn {Scheme Procedure} unread-char cobj [port]
@deffnx {C Function} scm_unread_char (cobj, port)
Place @var{char} in @var{port} so that it will be read by the
@@ -3956,7 +4103,7 @@ not supplied, the current input port is used.
@end deffn
unread-string
-@c snarfed from ports.c:1343
+@c snarfed from ports.c:1328
@deffn {Scheme Procedure} unread-string str port
@deffnx {C Function} scm_unread_string (str, port)
Place the string @var{str} in @var{port} so that its characters will be
@@ -3966,7 +4113,7 @@ unread characters will be read again in last-in first-out order. If
@end deffn
seek
-@c snarfed from ports.c:1382
+@c snarfed from ports.c:1367
@deffn {Scheme Procedure} seek fd_port offset whence
@deffnx {C Function} scm_seek (fd_port, offset, whence)
Sets the current position of @var{fd/port} to the integer
@@ -3995,7 +4142,7 @@ that the current position of a port can be obtained using:
@end deffn
truncate-file
-@c snarfed from ports.c:1440
+@c snarfed from ports.c:1425
@deffn {Scheme Procedure} truncate-file object [length]
@deffnx {C Function} scm_truncate_file (object, length)
Truncates the object referred to by @var{object} to at most
@@ -4007,7 +4154,7 @@ position. The return value is unspecified.
@end deffn
port-line
-@c snarfed from ports.c:1500
+@c snarfed from ports.c:1485
@deffn {Scheme Procedure} port-line port
@deffnx {C Function} scm_port_line (port)
Return the current line number for @var{port}.
@@ -4019,7 +4166,7 @@ non-programmers.
@end deffn
set-port-line!
-@c snarfed from ports.c:1512
+@c snarfed from ports.c:1497
@deffn {Scheme Procedure} set-port-line! port line
@deffnx {C Function} scm_set_port_line_x (port, line)
Set the current line number for @var{port} to @var{line}. The
@@ -4027,7 +4174,7 @@ first line of a file is 0.
@end deffn
port-column
-@c snarfed from ports.c:1531
+@c snarfed from ports.c:1516
@deffn {Scheme Procedure} port-column port
@deffnx {C Function} scm_port_column (port)
Return the current column number of @var{port}.
@@ -4041,7 +4188,7 @@ what non-programmers will find most natural.)
@end deffn
set-port-column!
-@c snarfed from ports.c:1543
+@c snarfed from ports.c:1528
@deffn {Scheme Procedure} set-port-column! port column
@deffnx {C Function} scm_set_port_column_x (port, column)
Set the current column of @var{port}. Before reading the first
@@ -4049,7 +4196,7 @@ character on a line the column should be 0.
@end deffn
port-filename
-@c snarfed from ports.c:1557
+@c snarfed from ports.c:1542
@deffn {Scheme Procedure} port-filename port
@deffnx {C Function} scm_port_filename (port)
Return the filename associated with @var{port}. This function returns
@@ -4058,7 +4205,7 @@ when called on the current input, output and error ports respectively.
@end deffn
set-port-filename!
-@c snarfed from ports.c:1571
+@c snarfed from ports.c:1556
@deffn {Scheme Procedure} set-port-filename! port filename
@deffnx {C Function} scm_set_port_filename_x (port, filename)
Change the filename associated with @var{port}, using the current input
@@ -4068,7 +4215,7 @@ source of data, but only the value that is returned by
@end deffn
%make-void-port
-@c snarfed from ports.c:1665
+@c snarfed from ports.c:1650
@deffn {Scheme Procedure} %make-void-port mode
@deffnx {C Function} scm_sys_make_void_port (mode)
Create and return a new void port. A void port acts like
@@ -4088,7 +4235,7 @@ and @code{print-options}.
@end deffn
simple-format
-@c snarfed from print.c:928
+@c snarfed from print.c:929
@deffn {Scheme Procedure} simple-format destination message . args
@deffnx {C Function} scm_simple_format (destination, message, args)
Write @var{message} to @var{destination}, defaulting to
@@ -4105,7 +4252,7 @@ containing the formatted text. Does not add a trailing newline.
@end deffn
newline
-@c snarfed from print.c:1018
+@c snarfed from print.c:1019
@deffn {Scheme Procedure} newline [port]
@deffnx {C Function} scm_newline (port)
Send a newline to @var{port}.
@@ -4113,14 +4260,14 @@ If @var{port} is omitted, send to the current output port.
@end deffn
write-char
-@c snarfed from print.c:1033
+@c snarfed from print.c:1034
@deffn {Scheme Procedure} write-char chr [port]
@deffnx {C Function} scm_write_char (chr, port)
Send character @var{chr} to @var{port}.
@end deffn
port-with-print-state
-@c snarfed from print.c:1087
+@c snarfed from print.c:1088
@deffn {Scheme Procedure} port-with-print-state port [pstate]
@deffnx {C Function} scm_port_with_print_state (port, pstate)
Create a new port which behaves like @var{port}, but with an
@@ -4130,7 +4277,7 @@ a print state, the old print state is reused.
@end deffn
get-print-state
-@c snarfed from print.c:1100
+@c snarfed from print.c:1101
@deffn {Scheme Procedure} get-print-state port
@deffnx {C Function} scm_get_print_state (port)
Return the print state of the port @var{port}. If @var{port}
@@ -4310,19 +4457,18 @@ normal distribution with mean m and standard deviation d use
@end deffn
random:solid-sphere!
-@c snarfed from random.c:491
+@c snarfed from random.c:500
@deffn {Scheme Procedure} random:solid-sphere! v [state]
@deffnx {C Function} scm_random_solid_sphere_x (v, state)
-Fills vect with inexact real random numbers
-the sum of whose squares is less than 1.0.
-Thinking of vect as coordinates in space of
-dimension n = (vector-length vect), the coordinates
-are uniformly distributed within the unit n-sphere.
-The sum of the squares of the numbers is returned.
+Fills @var{vect} with inexact real random numbers the sum of
+whose squares is less than 1.0. Thinking of @var{vect} as
+coordinates in space of dimension @var{n} @math{=}
+@code{(vector-length @var{vect})}, the coordinates are
+uniformly distributed within the unit @var{n}-sphere.
@end deffn
random:hollow-sphere!
-@c snarfed from random.c:513
+@c snarfed from random.c:522
@deffn {Scheme Procedure} random:hollow-sphere! v [state]
@deffnx {C Function} scm_random_hollow_sphere_x (v, state)
Fills vect with inexact real random numbers
@@ -4334,7 +4480,7 @@ unit n-sphere.
@end deffn
random:normal-vector!
-@c snarfed from random.c:530
+@c snarfed from random.c:539
@deffn {Scheme Procedure} random:normal-vector! v [state]
@deffnx {C Function} scm_random_normal_vector_x (v, state)
Fills vect with inexact real random numbers that are
@@ -4343,7 +4489,7 @@ independent and standard normally distributed
@end deffn
random:exp
-@c snarfed from random.c:564
+@c snarfed from random.c:577
@deffn {Scheme Procedure} random:exp [state]
@deffnx {C Function} scm_random_exp (state)
Return an inexact real in an exponential distribution with mean
@@ -4416,7 +4562,7 @@ Any whitespace before the next token is discarded.
@end deffn
read-hash-extend
-@c snarfed from read.c:900
+@c snarfed from read.c:898
@deffn {Scheme Procedure} read-hash-extend chr proc
@deffnx {C Function} scm_read_hash_extend (chr, proc)
Install the procedure @var{proc} for reading expressions
@@ -4427,62 +4573,20 @@ returned will be the return value of @code{read}.
@end deffn
call-with-dynamic-root
-@c snarfed from root.c:320
+@c snarfed from root.c:160
@deffn {Scheme Procedure} call-with-dynamic-root thunk handler
@deffnx {C Function} scm_call_with_dynamic_root (thunk, handler)
-Evaluate @code{(thunk)} in a new dynamic context, returning its value.
-
-If an error occurs during evaluation, apply @var{handler} to the
-arguments to the throw, just as @code{throw} would. If this happens,
-@var{handler} is called outside the scope of the new root -- it is
-called in the same dynamic context in which
-@code{call-with-dynamic-root} was evaluated.
-
-If @var{thunk} captures a continuation, the continuation is rooted at
-the call to @var{thunk}. In particular, the call to
-@code{call-with-dynamic-root} is not captured. Therefore,
-@code{call-with-dynamic-root} always returns at most one time.
-
-Before calling @var{thunk}, the dynamic-wind chain is un-wound back to
-the root and a new chain started for @var{thunk}. Therefore, this call
-may not do what you expect:
-
-@lisp
-;; Almost certainly a bug:
-(with-output-to-port
- some-port
-
- (lambda ()
- (call-with-dynamic-root
- (lambda ()
- (display 'fnord)
- (newline))
- (lambda (errcode) errcode))))
-@end lisp
-
-The problem is, on what port will @samp{fnord} be displayed? You
-might expect that because of the @code{with-output-to-port} that
-it will be displayed on the port bound to @code{some-port}. But it
-probably won't -- before evaluating the thunk, dynamic winds are
-unwound, including those created by @code{with-output-to-port}.
-So, the standard output port will have been re-set to its default value
-before @code{display} is evaluated.
-
-(This function was added to Guile mostly to help calls to functions in C
-libraries that can not tolerate non-local exits or calls that return
-multiple times. If such functions call back to the interpreter, it should
-be under a new dynamic root.)
+Call @var{thunk} with a new dynamic state and withina continuation barrier. The @var{handler} catches allotherwise uncaught throws and executes within the samedynamic context as @var{thunk}.
@end deffn
dynamic-root
-@c snarfed from root.c:333
+@c snarfed from root.c:171
@deffn {Scheme Procedure} dynamic-root
@deffnx {C Function} scm_dynamic_root ()
Return an object representing the current dynamic root.
These objects are only useful for comparison using @code{eq?}.
-They are currently represented as numbers, but your code should
-in no way depend on this.
+
@end deffn
read-string!/partial
@@ -4529,7 +4633,7 @@ end-of-file check.
@end deffn
write-string/partial
-@c snarfed from rw.c:204
+@c snarfed from rw.c:205
@deffn {Scheme Procedure} write-string/partial str [port_or_fdes [start [end]]]
@deffnx {C Function} scm_write_string_partial (str, port_or_fdes, start, end)
Write characters from a string @var{str} to a port or file
@@ -4576,7 +4680,7 @@ return 0 immediately if the request size is 0 bytes.
@end deffn
sigaction
-@c snarfed from scmsigs.c:285
+@c snarfed from scmsigs.c:253
@deffn {Scheme Procedure} sigaction signum [handler [flags [thread]]]
@deffnx {C Function} scm_sigaction_for_thread (signum, handler, flags, thread)
Install or report the signal handler for a specified signal.
@@ -4611,7 +4715,7 @@ structures.
@end deffn
restore-signals
-@c snarfed from scmsigs.c:456
+@c snarfed from scmsigs.c:427
@deffn {Scheme Procedure} restore-signals
@deffnx {C Function} scm_restore_signals ()
Return all signal handlers to the values they had before any call to
@@ -4619,7 +4723,7 @@ Return all signal handlers to the values they had before any call to
@end deffn
alarm
-@c snarfed from scmsigs.c:493
+@c snarfed from scmsigs.c:464
@deffn {Scheme Procedure} alarm i
@deffnx {C Function} scm_alarm (i)
Set a timer to raise a @code{SIGALRM} signal after the specified
@@ -4634,7 +4738,7 @@ no previous alarm, the return value is zero.
@end deffn
setitimer
-@c snarfed from scmsigs.c:520
+@c snarfed from scmsigs.c:491
@deffn {Scheme Procedure} setitimer which_timer interval_seconds interval_microseconds value_seconds value_microseconds
@deffnx {C Function} scm_setitimer (which_timer, interval_seconds, interval_microseconds, value_seconds, value_microseconds)
Set the timer specified by @var{which_timer} according to the given
@@ -4655,7 +4759,7 @@ the seconds and microseconds of the timer @code{it_value}.
@end deffn
getitimer
-@c snarfed from scmsigs.c:561
+@c snarfed from scmsigs.c:532
@deffn {Scheme Procedure} getitimer which_timer
@deffnx {C Function} scm_getitimer (which_timer)
Return information about the timer specified by @var{which_timer}
@@ -4672,7 +4776,7 @@ the seconds and microseconds of the timer @code{it_value}.
@end deffn
pause
-@c snarfed from scmsigs.c:588
+@c snarfed from scmsigs.c:559
@deffn {Scheme Procedure} pause
@deffnx {C Function} scm_pause ()
Pause the current process (thread?) until a signal arrives whose
@@ -4681,7 +4785,7 @@ handler procedure. The return value is unspecified.
@end deffn
sleep
-@c snarfed from scmsigs.c:601
+@c snarfed from scmsigs.c:572
@deffn {Scheme Procedure} sleep i
@deffnx {C Function} scm_sleep (i)
Wait for the given number of seconds (an integer) or until a signal
@@ -4690,14 +4794,14 @@ of seconds remaining otherwise.
@end deffn
usleep
-@c snarfed from scmsigs.c:610
+@c snarfed from scmsigs.c:581
@deffn {Scheme Procedure} usleep i
@deffnx {C Function} scm_usleep (i)
Sleep for @var{i} microseconds.
@end deffn
raise
-@c snarfed from scmsigs.c:620
+@c snarfed from scmsigs.c:591
@deffn {Scheme Procedure} raise sig
@deffnx {C Function} scm_raise (sig)
Sends a specified signal @var{sig} to the current process, where
@@ -4759,7 +4863,7 @@ is @var{status} if supplied, otherwise zero.
@end deffn
restricted-vector-sort!
-@c snarfed from sort.c:297
+@c snarfed from sort.c:78
@deffn {Scheme Procedure} restricted-vector-sort! vec less startpos endpos
@deffnx {C Function} scm_restricted_vector_sort_x (vec, less, startpos, endpos)
Sort the vector @var{vec}, using @var{less} for comparing
@@ -4770,7 +4874,7 @@ is not specified.
@end deffn
sorted?
-@c snarfed from sort.c:327
+@c snarfed from sort.c:111
@deffn {Scheme Procedure} sorted? items less
@deffnx {C Function} scm_sorted_p (items, less)
Return @code{#t} iff @var{items} is a list or a vector such that
@@ -4779,7 +4883,7 @@ applied to all elements i - 1 and i
@end deffn
merge
-@c snarfed from sort.c:399
+@c snarfed from sort.c:186
@deffn {Scheme Procedure} merge alist blist less
@deffnx {C Function} scm_merge (alist, blist, less)
Merge two already sorted lists into one.
@@ -4792,7 +4896,7 @@ Note: this does _not_ accept vectors.
@end deffn
merge!
-@c snarfed from sort.c:516
+@c snarfed from sort.c:303
@deffn {Scheme Procedure} merge! alist blist less
@deffnx {C Function} scm_merge_x (alist, blist, less)
Takes two lists @var{alist} and @var{blist} such that
@@ -4805,7 +4909,7 @@ Note: this does _not_ accept vectors.
@end deffn
sort!
-@c snarfed from sort.c:586
+@c snarfed from sort.c:373
@deffn {Scheme Procedure} sort! items less
@deffnx {C Function} scm_sort_x (items, less)
Sort the sequence @var{items}, which may be a list or a
@@ -4816,7 +4920,7 @@ This is not a stable sort.
@end deffn
sort
-@c snarfed from sort.c:618
+@c snarfed from sort.c:404
@deffn {Scheme Procedure} sort items less
@deffnx {C Function} scm_sort (items, less)
Sort the sequence @var{items}, which may be a list or a
@@ -4825,7 +4929,7 @@ elements. This is not a stable sort.
@end deffn
stable-sort!
-@c snarfed from sort.c:727
+@c snarfed from sort.c:487
@deffn {Scheme Procedure} stable-sort! items less
@deffnx {C Function} scm_stable_sort_x (items, less)
Sort the sequence @var{items}, which may be a list or a
@@ -4836,7 +4940,7 @@ This is a stable sort.
@end deffn
stable-sort
-@c snarfed from sort.c:766
+@c snarfed from sort.c:531
@deffn {Scheme Procedure} stable-sort items less
@deffnx {C Function} scm_stable_sort (items, less)
Sort the sequence @var{items}, which may be a list or a
@@ -4845,7 +4949,7 @@ This is a stable sort.
@end deffn
sort-list!
-@c snarfed from sort.c:807
+@c snarfed from sort.c:549
@deffn {Scheme Procedure} sort-list! items less
@deffnx {C Function} scm_sort_list_x (items, less)
Sort the list @var{items}, using @var{less} for comparing the
@@ -4855,7 +4959,7 @@ This is a stable sort.
@end deffn
sort-list
-@c snarfed from sort.c:822
+@c snarfed from sort.c:564
@deffn {Scheme Procedure} sort-list items less
@deffnx {C Function} scm_sort_list (items, less)
Sort the list @var{items}, using @var{less} for comparing the
@@ -4894,14 +4998,14 @@ Set the source property of object @var{obj}, which is specified by
@end deffn
stack?
-@c snarfed from stacks.c:384
+@c snarfed from stacks.c:391
@deffn {Scheme Procedure} stack? obj
@deffnx {C Function} scm_stack_p (obj)
Return @code{#t} if @var{obj} is a calling stack.
@end deffn
make-stack
-@c snarfed from stacks.c:415
+@c snarfed from stacks.c:422
@deffn {Scheme Procedure} make-stack obj . args
@deffnx {C Function} scm_make_stack (obj, args)
Create a new stack. If @var{obj} is @code{#t}, the current
@@ -4935,35 +5039,35 @@ taken as 0.
@end deffn
stack-id
-@c snarfed from stacks.c:507
+@c snarfed from stacks.c:511
@deffn {Scheme Procedure} stack-id stack
@deffnx {C Function} scm_stack_id (stack)
Return the identifier given to @var{stack} by @code{start-stack}.
@end deffn
stack-ref
-@c snarfed from stacks.c:548
+@c snarfed from stacks.c:549
@deffn {Scheme Procedure} stack-ref stack index
@deffnx {C Function} scm_stack_ref (stack, index)
Return the @var{index}'th frame from @var{stack}.
@end deffn
stack-length
-@c snarfed from stacks.c:561
+@c snarfed from stacks.c:562
@deffn {Scheme Procedure} stack-length stack
@deffnx {C Function} scm_stack_length (stack)
Return the length of @var{stack}.
@end deffn
frame?
-@c snarfed from stacks.c:574
+@c snarfed from stacks.c:575
@deffn {Scheme Procedure} frame? obj
@deffnx {C Function} scm_frame_p (obj)
Return @code{#t} if @var{obj} is a stack frame.
@end deffn
last-stack-frame
-@c snarfed from stacks.c:585
+@c snarfed from stacks.c:586
@deffn {Scheme Procedure} last-stack-frame obj
@deffnx {C Function} scm_last_stack_frame (obj)
Return a stack which consists of a single frame, which is the
@@ -4972,21 +5076,21 @@ debug object or a continuation.
@end deffn
frame-number
-@c snarfed from stacks.c:627
+@c snarfed from stacks.c:625
@deffn {Scheme Procedure} frame-number frame
@deffnx {C Function} scm_frame_number (frame)
Return the frame number of @var{frame}.
@end deffn
frame-source
-@c snarfed from stacks.c:637
+@c snarfed from stacks.c:635
@deffn {Scheme Procedure} frame-source frame
@deffnx {C Function} scm_frame_source (frame)
Return the source of @var{frame}.
@end deffn
frame-procedure
-@c snarfed from stacks.c:648
+@c snarfed from stacks.c:646
@deffn {Scheme Procedure} frame-procedure frame
@deffnx {C Function} scm_frame_procedure (frame)
Return the procedure for @var{frame}, or @code{#f} if no
@@ -4994,14 +5098,14 @@ procedure is associated with @var{frame}.
@end deffn
frame-arguments
-@c snarfed from stacks.c:660
+@c snarfed from stacks.c:658
@deffn {Scheme Procedure} frame-arguments frame
@deffnx {C Function} scm_frame_arguments (frame)
Return the arguments of @var{frame}.
@end deffn
frame-previous
-@c snarfed from stacks.c:671
+@c snarfed from stacks.c:669
@deffn {Scheme Procedure} frame-previous frame
@deffnx {C Function} scm_frame_previous (frame)
Return the previous frame of @var{frame}, or @code{#f} if
@@ -5009,7 +5113,7 @@ Return the previous frame of @var{frame}, or @code{#f} if
@end deffn
frame-next
-@c snarfed from stacks.c:687
+@c snarfed from stacks.c:685
@deffn {Scheme Procedure} frame-next frame
@deffnx {C Function} scm_frame_next (frame)
Return the next frame of @var{frame}, or @code{#f} if
@@ -5017,28 +5121,28 @@ Return the next frame of @var{frame}, or @code{#f} if
@end deffn
frame-real?
-@c snarfed from stacks.c:702
+@c snarfed from stacks.c:700
@deffn {Scheme Procedure} frame-real? frame
@deffnx {C Function} scm_frame_real_p (frame)
Return @code{#t} if @var{frame} is a real frame.
@end deffn
frame-procedure?
-@c snarfed from stacks.c:712
+@c snarfed from stacks.c:710
@deffn {Scheme Procedure} frame-procedure? frame
@deffnx {C Function} scm_frame_procedure_p (frame)
Return @code{#t} if a procedure is associated with @var{frame}.
@end deffn
frame-evaluating-args?
-@c snarfed from stacks.c:722
+@c snarfed from stacks.c:720
@deffn {Scheme Procedure} frame-evaluating-args? frame
@deffnx {C Function} scm_frame_evaluating_args_p (frame)
Return @code{#t} if @var{frame} contains evaluated arguments.
@end deffn
frame-overflow?
-@c snarfed from stacks.c:732
+@c snarfed from stacks.c:730
@deffn {Scheme Procedure} frame-overflow? frame
@deffnx {C Function} scm_frame_overflow_p (frame)
Return @code{#t} if @var{frame} is an overflow frame.
@@ -5127,7 +5231,7 @@ Return an object representing the broken down components of
@end deffn
mktime
-@c snarfed from stime.c:526
+@c snarfed from stime.c:516
@deffn {Scheme Procedure} mktime sbd_time [zone]
@deffnx {C Function} scm_mktime (sbd_time, zone)
@var{bd-time} is an object representing broken down time and @code{zone}
@@ -5141,7 +5245,7 @@ as @var{bd-time} but with normalized values.
@end deffn
tzset
-@c snarfed from stime.c:611
+@c snarfed from stime.c:602
@deffn {Scheme Procedure} tzset
@deffnx {C Function} scm_tzset ()
Initialize the timezone from the TZ environment variable
@@ -5151,7 +5255,7 @@ timezone.
@end deffn
strftime
-@c snarfed from stime.c:628
+@c snarfed from stime.c:619
@deffn {Scheme Procedure} strftime format stime
@deffnx {C Function} scm_strftime (format, stime)
Formats a time specification @var{time} using @var{template}. @var{time}
@@ -5164,7 +5268,7 @@ is the formatted string.
@end deffn
strptime
-@c snarfed from stime.c:726
+@c snarfed from stime.c:720
@deffn {Scheme Procedure} strptime format string
@deffnx {C Function} scm_strptime (format, string)
Performs the reverse action to @code{strftime}, parsing
@@ -5299,14 +5403,14 @@ concatenation of the given strings, @var{args}.
@end deffn
uniform-vector?
-@c snarfed from srfi-4.c:499
+@c snarfed from srfi-4.c:651
@deffn {Scheme Procedure} uniform-vector? obj
@deffnx {C Function} scm_uniform_vector_p (obj)
Return @code{#t} if @var{obj} is a uniform vector.
@end deffn
uniform-vector-ref
-@c snarfed from srfi-4.c:509
+@c snarfed from srfi-4.c:677
@deffn {Scheme Procedure} uniform-vector-ref v idx
@deffnx {C Function} scm_uniform_vector_ref (v, idx)
Return the element at index @var{idx} of the
@@ -5314,7 +5418,7 @@ homogenous numeric vector @var{v}.
@end deffn
uniform-vector-set!
-@c snarfed from srfi-4.c:545
+@c snarfed from srfi-4.c:714
@deffn {Scheme Procedure} uniform-vector-set! v idx val
@deffnx {C Function} scm_uniform_vector_set_x (v, idx, val)
Set the element at index @var{idx} of the
@@ -5322,60 +5426,75 @@ homogenous numeric vector @var{v} to @var{val}.
@end deffn
uniform-vector->list
-@c snarfed from srfi-4.c:580
+@c snarfed from srfi-4.c:737
@deffn {Scheme Procedure} uniform-vector->list uvec
@deffnx {C Function} scm_uniform_vector_to_list (uvec)
-Convert the homogeneous numeric vector @var{uvec} to a list.
+Convert the uniform numeric vector @var{uvec} to a list.
@end deffn
uniform-vector-length
-@c snarfed from srfi-4.c:640
+@c snarfed from srfi-4.c:820
@deffn {Scheme Procedure} uniform-vector-length v
@deffnx {C Function} scm_uniform_vector_length (v)
Return the number of elements in the uniform vector @var{v}.
@end deffn
- generalized-vector?
-@c snarfed from srfi-4.c:661
-@deffn {Scheme Procedure} generalized-vector? obj
-@deffnx {C Function} scm_generalized_vector_p (obj)
-Return @code{#t} if @var{obj} is a vector, string,
-bitvector, or uniform numeric vector.
-@end deffn
+ uniform-vector-read!
+@c snarfed from srfi-4.c:845
+@deffn {Scheme Procedure} uniform-vector-read! uvec [port_or_fd [start [end]]]
+@deffnx {C Function} scm_uniform_vector_read_x (uvec, port_or_fd, start, end)
+Fill the elements of @var{uvec} by reading
+raw bytes from @var{port-or-fdes}, using host byte order.
- generalized-vector-length
-@c snarfed from srfi-4.c:685
-@deffn {Scheme Procedure} generalized-vector-length v
-@deffnx {C Function} scm_generalized_vector_length (v)
-Return the length of the generalized vector @var{v}.
-@end deffn
+The optional arguments @var{start} (inclusive) and @var{end}
+(exclusive) allow a specified region to be read,
+leaving the remainder of the vector unchanged.
- generalized-vector-ref
-@c snarfed from srfi-4.c:710
-@deffn {Scheme Procedure} generalized-vector-ref v idx
-@deffnx {C Function} scm_generalized_vector_ref (v, idx)
-Return the element at index @var{idx} of the
-generalized vector @var{v}.
-@end deffn
+When @var{port-or-fdes} is a port, all specified elements
+of @var{uvec} are attempted to be read, potentially blocking
+while waiting formore input or end-of-file.
+When @var{port-or-fd} is an integer, a single call to
+read(2) is made.
- generalized-vector-set!
-@c snarfed from srfi-4.c:735
-@deffn {Scheme Procedure} generalized-vector-set! v idx val
-@deffnx {C Function} scm_generalized_vector_set_x (v, idx, val)
-Set the element at index @var{idx} of the
-generalized vector @var{v} to @var{val}.
+An error is signalled when the last element has only
+been partially filled before reaching end-of-file or in
+the single call to read(2).
+
+@code{uniform-vector-read!} returns the number of elements
+read.
+
+@var{port-or-fdes} may be omitted, in which case it defaults
+to the value returned by @code{(current-input-port)}.
@end deffn
- generalized-vector->list
-@c snarfed from srfi-4.c:746
-@deffn {Scheme Procedure} generalized-vector->list v
-@deffnx {C Function} scm_generalized_vector_to_list (v)
-Return a new list whose elements are the elements of the
-generalized vector @var{v}.
+ uniform-vector-write
+@c snarfed from srfi-4.c:958
+@deffn {Scheme Procedure} uniform-vector-write uvec [port_or_fd [start [end]]]
+@deffnx {C Function} scm_uniform_vector_write (uvec, port_or_fd, start, end)
+Write the elements of @var{uvec} as raw bytes to
+@var{port-or-fdes}, in the host byte order.
+
+The optional arguments @var{start} (inclusive)
+and @var{end} (exclusive) allow
+a specified region to be written.
+
+When @var{port-or-fdes} is a port, all specified elements
+of @var{uvec} are attempted to be written, potentially blocking
+while waiting for more room.
+When @var{port-or-fd} is an integer, a single call to
+write(2) is made.
+
+An error is signalled when the last element has only
+been partially written in the single call to write(2).
+
+The number of objects actually written is returned.
+@var{port-or-fdes} may be
+omitted, in which case it defaults to the value returned by
+@code{(current-output-port)}.
@end deffn
u8vector?
-@c snarfed from ../libguile/srfi-4.i.c:39
+@c snarfed from ../libguile/srfi-4.i.c:41
@deffn {Scheme Procedure} u8vector? obj
@deffnx {C Function} scm_u8vector_p (obj)
Return @code{#t} if @var{obj} is a vector of type u8,
@@ -5383,73 +5502,73 @@ Return @code{#t} if @var{obj} is a vector of type u8,
@end deffn
make-u8vector
-@c snarfed from ../libguile/srfi-4.i.c:51
+@c snarfed from ../libguile/srfi-4.i.c:53
@deffn {Scheme Procedure} make-u8vector len [fill]
@deffnx {C Function} scm_make_u8vector (len, fill)
-Return a newly allocated homogeneous numeric vector which can
+Return a newly allocated uniform numeric vector which can
hold @var{len} elements. If @var{fill} is given, it is used to
initialize the elements, otherwise the contents of the vector
is unspecified.
@end deffn
u8vector
-@c snarfed from ../libguile/srfi-4.i.c:69
+@c snarfed from ../libguile/srfi-4.i.c:63
@deffn {Scheme Procedure} u8vector . l
@deffnx {C Function} scm_u8vector (l)
-Return a newly allocated homogeneous numeric vector containing
+Return a newly allocated uniform numeric vector containing
all argument values.
@end deffn
u8vector-length
-@c snarfed from ../libguile/srfi-4.i.c:80
+@c snarfed from ../libguile/srfi-4.i.c:74
@deffn {Scheme Procedure} u8vector-length uvec
@deffnx {C Function} scm_u8vector_length (uvec)
-Return the number of elements in the homogeneous numeric vector
+Return the number of elements in the uniform numeric vector
@var{uvec}.
@end deffn
u8vector-ref
-@c snarfed from ../libguile/srfi-4.i.c:91
+@c snarfed from ../libguile/srfi-4.i.c:85
@deffn {Scheme Procedure} u8vector-ref uvec index
@deffnx {C Function} scm_u8vector_ref (uvec, index)
-Return the element at @var{index} in the homogeneous numeric
+Return the element at @var{index} in the uniform numeric
vector @var{uvec}.
@end deffn
u8vector-set!
-@c snarfed from ../libguile/srfi-4.i.c:103
+@c snarfed from ../libguile/srfi-4.i.c:97
@deffn {Scheme Procedure} u8vector-set! uvec index value
@deffnx {C Function} scm_u8vector_set_x (uvec, index, value)
-Set the element at @var{index} in the homogeneous numeric
+Set the element at @var{index} in the uniform numeric
vector @var{uvec} to @var{value}. The return value is not
specified.
@end deffn
u8vector->list
-@c snarfed from ../libguile/srfi-4.i.c:113
+@c snarfed from ../libguile/srfi-4.i.c:107
@deffn {Scheme Procedure} u8vector->list uvec
@deffnx {C Function} scm_u8vector_to_list (uvec)
-Convert the homogeneous numeric vector @var{uvec} to a list.
+Convert the uniform numeric vector @var{uvec} to a list.
@end deffn
list->u8vector
-@c snarfed from ../libguile/srfi-4.i.c:123
+@c snarfed from ../libguile/srfi-4.i.c:117
@deffn {Scheme Procedure} list->u8vector l
@deffnx {C Function} scm_list_to_u8vector (l)
-Convert the list @var{l} to a numeric homogeneous vector.
+Convert the list @var{l} to a numeric uniform vector.
@end deffn
any->u8vector
-@c snarfed from ../libguile/srfi-4.i.c:134
+@c snarfed from ../libguile/srfi-4.i.c:128
@deffn {Scheme Procedure} any->u8vector obj
@deffnx {C Function} scm_any_to_u8vector (obj)
Convert @var{obj}, which can be a list, vector, or
-homogenous vector, to a numeric homogenous vector of
+uniform vector, to a numeric uniform vector of
type u8.
@end deffn
s8vector?
-@c snarfed from ../libguile/srfi-4.i.c:39
+@c snarfed from ../libguile/srfi-4.i.c:41
@deffn {Scheme Procedure} s8vector? obj
@deffnx {C Function} scm_s8vector_p (obj)
Return @code{#t} if @var{obj} is a vector of type s8,
@@ -5457,73 +5576,73 @@ Return @code{#t} if @var{obj} is a vector of type s8,
@end deffn
make-s8vector
-@c snarfed from ../libguile/srfi-4.i.c:51
+@c snarfed from ../libguile/srfi-4.i.c:53
@deffn {Scheme Procedure} make-s8vector len [fill]
@deffnx {C Function} scm_make_s8vector (len, fill)
-Return a newly allocated homogeneous numeric vector which can
+Return a newly allocated uniform numeric vector which can
hold @var{len} elements. If @var{fill} is given, it is used to
initialize the elements, otherwise the contents of the vector
is unspecified.
@end deffn
s8vector
-@c snarfed from ../libguile/srfi-4.i.c:69
+@c snarfed from ../libguile/srfi-4.i.c:63
@deffn {Scheme Procedure} s8vector . l
@deffnx {C Function} scm_s8vector (l)
-Return a newly allocated homogeneous numeric vector containing
+Return a newly allocated uniform numeric vector containing
all argument values.
@end deffn
s8vector-length
-@c snarfed from ../libguile/srfi-4.i.c:80
+@c snarfed from ../libguile/srfi-4.i.c:74
@deffn {Scheme Procedure} s8vector-length uvec
@deffnx {C Function} scm_s8vector_length (uvec)
-Return the number of elements in the homogeneous numeric vector
+Return the number of elements in the uniform numeric vector
@var{uvec}.
@end deffn
s8vector-ref
-@c snarfed from ../libguile/srfi-4.i.c:91
+@c snarfed from ../libguile/srfi-4.i.c:85
@deffn {Scheme Procedure} s8vector-ref uvec index
@deffnx {C Function} scm_s8vector_ref (uvec, index)
-Return the element at @var{index} in the homogeneous numeric
+Return the element at @var{index} in the uniform numeric
vector @var{uvec}.
@end deffn
s8vector-set!
-@c snarfed from ../libguile/srfi-4.i.c:103
+@c snarfed from ../libguile/srfi-4.i.c:97
@deffn {Scheme Procedure} s8vector-set! uvec index value
@deffnx {C Function} scm_s8vector_set_x (uvec, index, value)
-Set the element at @var{index} in the homogeneous numeric
+Set the element at @var{index} in the uniform numeric
vector @var{uvec} to @var{value}. The return value is not
specified.
@end deffn
s8vector->list
-@c snarfed from ../libguile/srfi-4.i.c:113
+@c snarfed from ../libguile/srfi-4.i.c:107
@deffn {Scheme Procedure} s8vector->list uvec
@deffnx {C Function} scm_s8vector_to_list (uvec)
-Convert the homogeneous numeric vector @var{uvec} to a list.
+Convert the uniform numeric vector @var{uvec} to a list.
@end deffn
list->s8vector
-@c snarfed from ../libguile/srfi-4.i.c:123
+@c snarfed from ../libguile/srfi-4.i.c:117
@deffn {Scheme Procedure} list->s8vector l
@deffnx {C Function} scm_list_to_s8vector (l)
-Convert the list @var{l} to a numeric homogeneous vector.
+Convert the list @var{l} to a numeric uniform vector.
@end deffn
any->s8vector
-@c snarfed from ../libguile/srfi-4.i.c:134
+@c snarfed from ../libguile/srfi-4.i.c:128
@deffn {Scheme Procedure} any->s8vector obj
@deffnx {C Function} scm_any_to_s8vector (obj)
Convert @var{obj}, which can be a list, vector, or
-homogenous vector, to a numeric homogenous vector of
+uniform vector, to a numeric uniform vector of
type s8.
@end deffn
u16vector?
-@c snarfed from ../libguile/srfi-4.i.c:39
+@c snarfed from ../libguile/srfi-4.i.c:41
@deffn {Scheme Procedure} u16vector? obj
@deffnx {C Function} scm_u16vector_p (obj)
Return @code{#t} if @var{obj} is a vector of type u16,
@@ -5531,73 +5650,73 @@ Return @code{#t} if @var{obj} is a vector of type u16,
@end deffn
make-u16vector
-@c snarfed from ../libguile/srfi-4.i.c:51
+@c snarfed from ../libguile/srfi-4.i.c:53
@deffn {Scheme Procedure} make-u16vector len [fill]
@deffnx {C Function} scm_make_u16vector (len, fill)
-Return a newly allocated homogeneous numeric vector which can
+Return a newly allocated uniform numeric vector which can
hold @var{len} elements. If @var{fill} is given, it is used to
initialize the elements, otherwise the contents of the vector
is unspecified.
@end deffn
u16vector
-@c snarfed from ../libguile/srfi-4.i.c:69
+@c snarfed from ../libguile/srfi-4.i.c:63
@deffn {Scheme Procedure} u16vector . l
@deffnx {C Function} scm_u16vector (l)
-Return a newly allocated homogeneous numeric vector containing
+Return a newly allocated uniform numeric vector containing
all argument values.
@end deffn
u16vector-length
-@c snarfed from ../libguile/srfi-4.i.c:80
+@c snarfed from ../libguile/srfi-4.i.c:74
@deffn {Scheme Procedure} u16vector-length uvec
@deffnx {C Function} scm_u16vector_length (uvec)
-Return the number of elements in the homogeneous numeric vector
+Return the number of elements in the uniform numeric vector
@var{uvec}.
@end deffn
u16vector-ref
-@c snarfed from ../libguile/srfi-4.i.c:91
+@c snarfed from ../libguile/srfi-4.i.c:85
@deffn {Scheme Procedure} u16vector-ref uvec index
@deffnx {C Function} scm_u16vector_ref (uvec, index)
-Return the element at @var{index} in the homogeneous numeric
+Return the element at @var{index} in the uniform numeric
vector @var{uvec}.
@end deffn
u16vector-set!
-@c snarfed from ../libguile/srfi-4.i.c:103
+@c snarfed from ../libguile/srfi-4.i.c:97
@deffn {Scheme Procedure} u16vector-set! uvec index value
@deffnx {C Function} scm_u16vector_set_x (uvec, index, value)
-Set the element at @var{index} in the homogeneous numeric
+Set the element at @var{index} in the uniform numeric
vector @var{uvec} to @var{value}. The return value is not
specified.
@end deffn
u16vector->list
-@c snarfed from ../libguile/srfi-4.i.c:113
+@c snarfed from ../libguile/srfi-4.i.c:107
@deffn {Scheme Procedure} u16vector->list uvec
@deffnx {C Function} scm_u16vector_to_list (uvec)
-Convert the homogeneous numeric vector @var{uvec} to a list.
+Convert the uniform numeric vector @var{uvec} to a list.
@end deffn
list->u16vector
-@c snarfed from ../libguile/srfi-4.i.c:123
+@c snarfed from ../libguile/srfi-4.i.c:117
@deffn {Scheme Procedure} list->u16vector l
@deffnx {C Function} scm_list_to_u16vector (l)
-Convert the list @var{l} to a numeric homogeneous vector.
+Convert the list @var{l} to a numeric uniform vector.
@end deffn
any->u16vector
-@c snarfed from ../libguile/srfi-4.i.c:134
+@c snarfed from ../libguile/srfi-4.i.c:128
@deffn {Scheme Procedure} any->u16vector obj
@deffnx {C Function} scm_any_to_u16vector (obj)
Convert @var{obj}, which can be a list, vector, or
-homogenous vector, to a numeric homogenous vector of
+uniform vector, to a numeric uniform vector of
type u16.
@end deffn
s16vector?
-@c snarfed from ../libguile/srfi-4.i.c:39
+@c snarfed from ../libguile/srfi-4.i.c:41
@deffn {Scheme Procedure} s16vector? obj
@deffnx {C Function} scm_s16vector_p (obj)
Return @code{#t} if @var{obj} is a vector of type s16,
@@ -5605,73 +5724,73 @@ Return @code{#t} if @var{obj} is a vector of type s16,
@end deffn
make-s16vector
-@c snarfed from ../libguile/srfi-4.i.c:51
+@c snarfed from ../libguile/srfi-4.i.c:53
@deffn {Scheme Procedure} make-s16vector len [fill]
@deffnx {C Function} scm_make_s16vector (len, fill)
-Return a newly allocated homogeneous numeric vector which can
+Return a newly allocated uniform numeric vector which can
hold @var{len} elements. If @var{fill} is given, it is used to
initialize the elements, otherwise the contents of the vector
is unspecified.
@end deffn
s16vector
-@c snarfed from ../libguile/srfi-4.i.c:69
+@c snarfed from ../libguile/srfi-4.i.c:63
@deffn {Scheme Procedure} s16vector . l
@deffnx {C Function} scm_s16vector (l)
-Return a newly allocated homogeneous numeric vector containing
+Return a newly allocated uniform numeric vector containing
all argument values.
@end deffn
s16vector-length
-@c snarfed from ../libguile/srfi-4.i.c:80
+@c snarfed from ../libguile/srfi-4.i.c:74
@deffn {Scheme Procedure} s16vector-length uvec
@deffnx {C Function} scm_s16vector_length (uvec)
-Return the number of elements in the homogeneous numeric vector
+Return the number of elements in the uniform numeric vector
@var{uvec}.
@end deffn
s16vector-ref
-@c snarfed from ../libguile/srfi-4.i.c:91
+@c snarfed from ../libguile/srfi-4.i.c:85
@deffn {Scheme Procedure} s16vector-ref uvec index
@deffnx {C Function} scm_s16vector_ref (uvec, index)
-Return the element at @var{index} in the homogeneous numeric
+Return the element at @var{index} in the uniform numeric
vector @var{uvec}.
@end deffn
s16vector-set!
-@c snarfed from ../libguile/srfi-4.i.c:103
+@c snarfed from ../libguile/srfi-4.i.c:97
@deffn {Scheme Procedure} s16vector-set! uvec index value
@deffnx {C Function} scm_s16vector_set_x (uvec, index, value)
-Set the element at @var{index} in the homogeneous numeric
+Set the element at @var{index} in the uniform numeric
vector @var{uvec} to @var{value}. The return value is not
specified.
@end deffn
s16vector->list
-@c snarfed from ../libguile/srfi-4.i.c:113
+@c snarfed from ../libguile/srfi-4.i.c:107
@deffn {Scheme Procedure} s16vector->list uvec
@deffnx {C Function} scm_s16vector_to_list (uvec)
-Convert the homogeneous numeric vector @var{uvec} to a list.
+Convert the uniform numeric vector @var{uvec} to a list.
@end deffn
list->s16vector
-@c snarfed from ../libguile/srfi-4.i.c:123
+@c snarfed from ../libguile/srfi-4.i.c:117
@deffn {Scheme Procedure} list->s16vector l
@deffnx {C Function} scm_list_to_s16vector (l)
-Convert the list @var{l} to a numeric homogeneous vector.
+Convert the list @var{l} to a numeric uniform vector.
@end deffn
any->s16vector
-@c snarfed from ../libguile/srfi-4.i.c:134
+@c snarfed from ../libguile/srfi-4.i.c:128
@deffn {Scheme Procedure} any->s16vector obj
@deffnx {C Function} scm_any_to_s16vector (obj)
Convert @var{obj}, which can be a list, vector, or
-homogenous vector, to a numeric homogenous vector of
+uniform vector, to a numeric uniform vector of
type s16.
@end deffn
u32vector?
-@c snarfed from ../libguile/srfi-4.i.c:39
+@c snarfed from ../libguile/srfi-4.i.c:41
@deffn {Scheme Procedure} u32vector? obj
@deffnx {C Function} scm_u32vector_p (obj)
Return @code{#t} if @var{obj} is a vector of type u32,
@@ -5679,73 +5798,73 @@ Return @code{#t} if @var{obj} is a vector of type u32,
@end deffn
make-u32vector
-@c snarfed from ../libguile/srfi-4.i.c:51
+@c snarfed from ../libguile/srfi-4.i.c:53
@deffn {Scheme Procedure} make-u32vector len [fill]
@deffnx {C Function} scm_make_u32vector (len, fill)
-Return a newly allocated homogeneous numeric vector which can
+Return a newly allocated uniform numeric vector which can
hold @var{len} elements. If @var{fill} is given, it is used to
initialize the elements, otherwise the contents of the vector
is unspecified.
@end deffn
u32vector
-@c snarfed from ../libguile/srfi-4.i.c:69
+@c snarfed from ../libguile/srfi-4.i.c:63
@deffn {Scheme Procedure} u32vector . l
@deffnx {C Function} scm_u32vector (l)
-Return a newly allocated homogeneous numeric vector containing
+Return a newly allocated uniform numeric vector containing
all argument values.
@end deffn
u32vector-length
-@c snarfed from ../libguile/srfi-4.i.c:80
+@c snarfed from ../libguile/srfi-4.i.c:74
@deffn {Scheme Procedure} u32vector-length uvec
@deffnx {C Function} scm_u32vector_length (uvec)
-Return the number of elements in the homogeneous numeric vector
+Return the number of elements in the uniform numeric vector
@var{uvec}.
@end deffn
u32vector-ref
-@c snarfed from ../libguile/srfi-4.i.c:91
+@c snarfed from ../libguile/srfi-4.i.c:85
@deffn {Scheme Procedure} u32vector-ref uvec index
@deffnx {C Function} scm_u32vector_ref (uvec, index)
-Return the element at @var{index} in the homogeneous numeric
+Return the element at @var{index} in the uniform numeric
vector @var{uvec}.
@end deffn
u32vector-set!
-@c snarfed from ../libguile/srfi-4.i.c:103
+@c snarfed from ../libguile/srfi-4.i.c:97
@deffn {Scheme Procedure} u32vector-set! uvec index value
@deffnx {C Function} scm_u32vector_set_x (uvec, index, value)
-Set the element at @var{index} in the homogeneous numeric
+Set the element at @var{index} in the uniform numeric
vector @var{uvec} to @var{value}. The return value is not
specified.
@end deffn
u32vector->list
-@c snarfed from ../libguile/srfi-4.i.c:113
+@c snarfed from ../libguile/srfi-4.i.c:107
@deffn {Scheme Procedure} u32vector->list uvec
@deffnx {C Function} scm_u32vector_to_list (uvec)
-Convert the homogeneous numeric vector @var{uvec} to a list.
+Convert the uniform numeric vector @var{uvec} to a list.
@end deffn
list->u32vector
-@c snarfed from ../libguile/srfi-4.i.c:123
+@c snarfed from ../libguile/srfi-4.i.c:117
@deffn {Scheme Procedure} list->u32vector l
@deffnx {C Function} scm_list_to_u32vector (l)
-Convert the list @var{l} to a numeric homogeneous vector.
+Convert the list @var{l} to a numeric uniform vector.
@end deffn
any->u32vector
-@c snarfed from ../libguile/srfi-4.i.c:134
+@c snarfed from ../libguile/srfi-4.i.c:128
@deffn {Scheme Procedure} any->u32vector obj
@deffnx {C Function} scm_any_to_u32vector (obj)
Convert @var{obj}, which can be a list, vector, or
-homogenous vector, to a numeric homogenous vector of
+uniform vector, to a numeric uniform vector of
type u32.
@end deffn
s32vector?
-@c snarfed from ../libguile/srfi-4.i.c:39
+@c snarfed from ../libguile/srfi-4.i.c:41
@deffn {Scheme Procedure} s32vector? obj
@deffnx {C Function} scm_s32vector_p (obj)
Return @code{#t} if @var{obj} is a vector of type s32,
@@ -5753,73 +5872,73 @@ Return @code{#t} if @var{obj} is a vector of type s32,
@end deffn
make-s32vector
-@c snarfed from ../libguile/srfi-4.i.c:51
+@c snarfed from ../libguile/srfi-4.i.c:53
@deffn {Scheme Procedure} make-s32vector len [fill]
@deffnx {C Function} scm_make_s32vector (len, fill)
-Return a newly allocated homogeneous numeric vector which can
+Return a newly allocated uniform numeric vector which can
hold @var{len} elements. If @var{fill} is given, it is used to
initialize the elements, otherwise the contents of the vector
is unspecified.
@end deffn
s32vector
-@c snarfed from ../libguile/srfi-4.i.c:69
+@c snarfed from ../libguile/srfi-4.i.c:63
@deffn {Scheme Procedure} s32vector . l
@deffnx {C Function} scm_s32vector (l)
-Return a newly allocated homogeneous numeric vector containing
+Return a newly allocated uniform numeric vector containing
all argument values.
@end deffn
s32vector-length
-@c snarfed from ../libguile/srfi-4.i.c:80
+@c snarfed from ../libguile/srfi-4.i.c:74
@deffn {Scheme Procedure} s32vector-length uvec
@deffnx {C Function} scm_s32vector_length (uvec)
-Return the number of elements in the homogeneous numeric vector
+Return the number of elements in the uniform numeric vector
@var{uvec}.
@end deffn
s32vector-ref
-@c snarfed from ../libguile/srfi-4.i.c:91
+@c snarfed from ../libguile/srfi-4.i.c:85
@deffn {Scheme Procedure} s32vector-ref uvec index
@deffnx {C Function} scm_s32vector_ref (uvec, index)
-Return the element at @var{index} in the homogeneous numeric
+Return the element at @var{index} in the uniform numeric
vector @var{uvec}.
@end deffn
s32vector-set!
-@c snarfed from ../libguile/srfi-4.i.c:103
+@c snarfed from ../libguile/srfi-4.i.c:97
@deffn {Scheme Procedure} s32vector-set! uvec index value
@deffnx {C Function} scm_s32vector_set_x (uvec, index, value)
-Set the element at @var{index} in the homogeneous numeric
+Set the element at @var{index} in the uniform numeric
vector @var{uvec} to @var{value}. The return value is not
specified.
@end deffn
s32vector->list
-@c snarfed from ../libguile/srfi-4.i.c:113
+@c snarfed from ../libguile/srfi-4.i.c:107
@deffn {Scheme Procedure} s32vector->list uvec
@deffnx {C Function} scm_s32vector_to_list (uvec)
-Convert the homogeneous numeric vector @var{uvec} to a list.
+Convert the uniform numeric vector @var{uvec} to a list.
@end deffn
list->s32vector
-@c snarfed from ../libguile/srfi-4.i.c:123
+@c snarfed from ../libguile/srfi-4.i.c:117
@deffn {Scheme Procedure} list->s32vector l
@deffnx {C Function} scm_list_to_s32vector (l)
-Convert the list @var{l} to a numeric homogeneous vector.
+Convert the list @var{l} to a numeric uniform vector.
@end deffn
any->s32vector
-@c snarfed from ../libguile/srfi-4.i.c:134
+@c snarfed from ../libguile/srfi-4.i.c:128
@deffn {Scheme Procedure} any->s32vector obj
@deffnx {C Function} scm_any_to_s32vector (obj)
Convert @var{obj}, which can be a list, vector, or
-homogenous vector, to a numeric homogenous vector of
+uniform vector, to a numeric uniform vector of
type s32.
@end deffn
u64vector?
-@c snarfed from ../libguile/srfi-4.i.c:39
+@c snarfed from ../libguile/srfi-4.i.c:41
@deffn {Scheme Procedure} u64vector? obj
@deffnx {C Function} scm_u64vector_p (obj)
Return @code{#t} if @var{obj} is a vector of type u64,
@@ -5827,73 +5946,73 @@ Return @code{#t} if @var{obj} is a vector of type u64,
@end deffn
make-u64vector
-@c snarfed from ../libguile/srfi-4.i.c:51
+@c snarfed from ../libguile/srfi-4.i.c:53
@deffn {Scheme Procedure} make-u64vector len [fill]
@deffnx {C Function} scm_make_u64vector (len, fill)
-Return a newly allocated homogeneous numeric vector which can
+Return a newly allocated uniform numeric vector which can
hold @var{len} elements. If @var{fill} is given, it is used to
initialize the elements, otherwise the contents of the vector
is unspecified.
@end deffn
u64vector
-@c snarfed from ../libguile/srfi-4.i.c:69
+@c snarfed from ../libguile/srfi-4.i.c:63
@deffn {Scheme Procedure} u64vector . l
@deffnx {C Function} scm_u64vector (l)
-Return a newly allocated homogeneous numeric vector containing
+Return a newly allocated uniform numeric vector containing
all argument values.
@end deffn
u64vector-length
-@c snarfed from ../libguile/srfi-4.i.c:80
+@c snarfed from ../libguile/srfi-4.i.c:74
@deffn {Scheme Procedure} u64vector-length uvec
@deffnx {C Function} scm_u64vector_length (uvec)
-Return the number of elements in the homogeneous numeric vector
+Return the number of elements in the uniform numeric vector
@var{uvec}.
@end deffn
u64vector-ref
-@c snarfed from ../libguile/srfi-4.i.c:91
+@c snarfed from ../libguile/srfi-4.i.c:85
@deffn {Scheme Procedure} u64vector-ref uvec index
@deffnx {C Function} scm_u64vector_ref (uvec, index)
-Return the element at @var{index} in the homogeneous numeric
+Return the element at @var{index} in the uniform numeric
vector @var{uvec}.
@end deffn
u64vector-set!
-@c snarfed from ../libguile/srfi-4.i.c:103
+@c snarfed from ../libguile/srfi-4.i.c:97
@deffn {Scheme Procedure} u64vector-set! uvec index value
@deffnx {C Function} scm_u64vector_set_x (uvec, index, value)
-Set the element at @var{index} in the homogeneous numeric
+Set the element at @var{index} in the uniform numeric
vector @var{uvec} to @var{value}. The return value is not
specified.
@end deffn
u64vector->list
-@c snarfed from ../libguile/srfi-4.i.c:113
+@c snarfed from ../libguile/srfi-4.i.c:107
@deffn {Scheme Procedure} u64vector->list uvec
@deffnx {C Function} scm_u64vector_to_list (uvec)
-Convert the homogeneous numeric vector @var{uvec} to a list.
+Convert the uniform numeric vector @var{uvec} to a list.
@end deffn
list->u64vector
-@c snarfed from ../libguile/srfi-4.i.c:123
+@c snarfed from ../libguile/srfi-4.i.c:117
@deffn {Scheme Procedure} list->u64vector l
@deffnx {C Function} scm_list_to_u64vector (l)
-Convert the list @var{l} to a numeric homogeneous vector.
+Convert the list @var{l} to a numeric uniform vector.
@end deffn
any->u64vector
-@c snarfed from ../libguile/srfi-4.i.c:134
+@c snarfed from ../libguile/srfi-4.i.c:128
@deffn {Scheme Procedure} any->u64vector obj
@deffnx {C Function} scm_any_to_u64vector (obj)
Convert @var{obj}, which can be a list, vector, or
-homogenous vector, to a numeric homogenous vector of
+uniform vector, to a numeric uniform vector of
type u64.
@end deffn
s64vector?
-@c snarfed from ../libguile/srfi-4.i.c:39
+@c snarfed from ../libguile/srfi-4.i.c:41
@deffn {Scheme Procedure} s64vector? obj
@deffnx {C Function} scm_s64vector_p (obj)
Return @code{#t} if @var{obj} is a vector of type s64,
@@ -5901,73 +6020,73 @@ Return @code{#t} if @var{obj} is a vector of type s64,
@end deffn
make-s64vector
-@c snarfed from ../libguile/srfi-4.i.c:51
+@c snarfed from ../libguile/srfi-4.i.c:53
@deffn {Scheme Procedure} make-s64vector len [fill]
@deffnx {C Function} scm_make_s64vector (len, fill)
-Return a newly allocated homogeneous numeric vector which can
+Return a newly allocated uniform numeric vector which can
hold @var{len} elements. If @var{fill} is given, it is used to
initialize the elements, otherwise the contents of the vector
is unspecified.
@end deffn
s64vector
-@c snarfed from ../libguile/srfi-4.i.c:69
+@c snarfed from ../libguile/srfi-4.i.c:63
@deffn {Scheme Procedure} s64vector . l
@deffnx {C Function} scm_s64vector (l)
-Return a newly allocated homogeneous numeric vector containing
+Return a newly allocated uniform numeric vector containing
all argument values.
@end deffn
s64vector-length
-@c snarfed from ../libguile/srfi-4.i.c:80
+@c snarfed from ../libguile/srfi-4.i.c:74
@deffn {Scheme Procedure} s64vector-length uvec
@deffnx {C Function} scm_s64vector_length (uvec)
-Return the number of elements in the homogeneous numeric vector
+Return the number of elements in the uniform numeric vector
@var{uvec}.
@end deffn
s64vector-ref
-@c snarfed from ../libguile/srfi-4.i.c:91
+@c snarfed from ../libguile/srfi-4.i.c:85
@deffn {Scheme Procedure} s64vector-ref uvec index
@deffnx {C Function} scm_s64vector_ref (uvec, index)
-Return the element at @var{index} in the homogeneous numeric
+Return the element at @var{index} in the uniform numeric
vector @var{uvec}.
@end deffn
s64vector-set!
-@c snarfed from ../libguile/srfi-4.i.c:103
+@c snarfed from ../libguile/srfi-4.i.c:97
@deffn {Scheme Procedure} s64vector-set! uvec index value
@deffnx {C Function} scm_s64vector_set_x (uvec, index, value)
-Set the element at @var{index} in the homogeneous numeric
+Set the element at @var{index} in the uniform numeric
vector @var{uvec} to @var{value}. The return value is not
specified.
@end deffn
s64vector->list
-@c snarfed from ../libguile/srfi-4.i.c:113
+@c snarfed from ../libguile/srfi-4.i.c:107
@deffn {Scheme Procedure} s64vector->list uvec
@deffnx {C Function} scm_s64vector_to_list (uvec)
-Convert the homogeneous numeric vector @var{uvec} to a list.
+Convert the uniform numeric vector @var{uvec} to a list.
@end deffn
list->s64vector
-@c snarfed from ../libguile/srfi-4.i.c:123
+@c snarfed from ../libguile/srfi-4.i.c:117
@deffn {Scheme Procedure} list->s64vector l
@deffnx {C Function} scm_list_to_s64vector (l)
-Convert the list @var{l} to a numeric homogeneous vector.
+Convert the list @var{l} to a numeric uniform vector.
@end deffn
any->s64vector
-@c snarfed from ../libguile/srfi-4.i.c:134
+@c snarfed from ../libguile/srfi-4.i.c:128
@deffn {Scheme Procedure} any->s64vector obj
@deffnx {C Function} scm_any_to_s64vector (obj)
Convert @var{obj}, which can be a list, vector, or
-homogenous vector, to a numeric homogenous vector of
+uniform vector, to a numeric uniform vector of
type s64.
@end deffn
f32vector?
-@c snarfed from ../libguile/srfi-4.i.c:39
+@c snarfed from ../libguile/srfi-4.i.c:41
@deffn {Scheme Procedure} f32vector? obj
@deffnx {C Function} scm_f32vector_p (obj)
Return @code{#t} if @var{obj} is a vector of type f32,
@@ -5975,73 +6094,73 @@ Return @code{#t} if @var{obj} is a vector of type f32,
@end deffn
make-f32vector
-@c snarfed from ../libguile/srfi-4.i.c:51
+@c snarfed from ../libguile/srfi-4.i.c:53
@deffn {Scheme Procedure} make-f32vector len [fill]
@deffnx {C Function} scm_make_f32vector (len, fill)
-Return a newly allocated homogeneous numeric vector which can
+Return a newly allocated uniform numeric vector which can
hold @var{len} elements. If @var{fill} is given, it is used to
initialize the elements, otherwise the contents of the vector
is unspecified.
@end deffn
f32vector
-@c snarfed from ../libguile/srfi-4.i.c:69
+@c snarfed from ../libguile/srfi-4.i.c:63
@deffn {Scheme Procedure} f32vector . l
@deffnx {C Function} scm_f32vector (l)
-Return a newly allocated homogeneous numeric vector containing
+Return a newly allocated uniform numeric vector containing
all argument values.
@end deffn
f32vector-length
-@c snarfed from ../libguile/srfi-4.i.c:80
+@c snarfed from ../libguile/srfi-4.i.c:74
@deffn {Scheme Procedure} f32vector-length uvec
@deffnx {C Function} scm_f32vector_length (uvec)
-Return the number of elements in the homogeneous numeric vector
+Return the number of elements in the uniform numeric vector
@var{uvec}.
@end deffn
f32vector-ref
-@c snarfed from ../libguile/srfi-4.i.c:91
+@c snarfed from ../libguile/srfi-4.i.c:85
@deffn {Scheme Procedure} f32vector-ref uvec index
@deffnx {C Function} scm_f32vector_ref (uvec, index)
-Return the element at @var{index} in the homogeneous numeric
+Return the element at @var{index} in the uniform numeric
vector @var{uvec}.
@end deffn
f32vector-set!
-@c snarfed from ../libguile/srfi-4.i.c:103
+@c snarfed from ../libguile/srfi-4.i.c:97
@deffn {Scheme Procedure} f32vector-set! uvec index value
@deffnx {C Function} scm_f32vector_set_x (uvec, index, value)
-Set the element at @var{index} in the homogeneous numeric
+Set the element at @var{index} in the uniform numeric
vector @var{uvec} to @var{value}. The return value is not
specified.
@end deffn
f32vector->list
-@c snarfed from ../libguile/srfi-4.i.c:113
+@c snarfed from ../libguile/srfi-4.i.c:107
@deffn {Scheme Procedure} f32vector->list uvec
@deffnx {C Function} scm_f32vector_to_list (uvec)
-Convert the homogeneous numeric vector @var{uvec} to a list.
+Convert the uniform numeric vector @var{uvec} to a list.
@end deffn
list->f32vector
-@c snarfed from ../libguile/srfi-4.i.c:123
+@c snarfed from ../libguile/srfi-4.i.c:117
@deffn {Scheme Procedure} list->f32vector l
@deffnx {C Function} scm_list_to_f32vector (l)
-Convert the list @var{l} to a numeric homogeneous vector.
+Convert the list @var{l} to a numeric uniform vector.
@end deffn
any->f32vector
-@c snarfed from ../libguile/srfi-4.i.c:134
+@c snarfed from ../libguile/srfi-4.i.c:128
@deffn {Scheme Procedure} any->f32vector obj
@deffnx {C Function} scm_any_to_f32vector (obj)
Convert @var{obj}, which can be a list, vector, or
-homogenous vector, to a numeric homogenous vector of
+uniform vector, to a numeric uniform vector of
type f32.
@end deffn
f64vector?
-@c snarfed from ../libguile/srfi-4.i.c:39
+@c snarfed from ../libguile/srfi-4.i.c:41
@deffn {Scheme Procedure} f64vector? obj
@deffnx {C Function} scm_f64vector_p (obj)
Return @code{#t} if @var{obj} is a vector of type f64,
@@ -6049,73 +6168,73 @@ Return @code{#t} if @var{obj} is a vector of type f64,
@end deffn
make-f64vector
-@c snarfed from ../libguile/srfi-4.i.c:51
+@c snarfed from ../libguile/srfi-4.i.c:53
@deffn {Scheme Procedure} make-f64vector len [fill]
@deffnx {C Function} scm_make_f64vector (len, fill)
-Return a newly allocated homogeneous numeric vector which can
+Return a newly allocated uniform numeric vector which can
hold @var{len} elements. If @var{fill} is given, it is used to
initialize the elements, otherwise the contents of the vector
is unspecified.
@end deffn
f64vector
-@c snarfed from ../libguile/srfi-4.i.c:69
+@c snarfed from ../libguile/srfi-4.i.c:63
@deffn {Scheme Procedure} f64vector . l
@deffnx {C Function} scm_f64vector (l)
-Return a newly allocated homogeneous numeric vector containing
+Return a newly allocated uniform numeric vector containing
all argument values.
@end deffn
f64vector-length
-@c snarfed from ../libguile/srfi-4.i.c:80
+@c snarfed from ../libguile/srfi-4.i.c:74
@deffn {Scheme Procedure} f64vector-length uvec
@deffnx {C Function} scm_f64vector_length (uvec)
-Return the number of elements in the homogeneous numeric vector
+Return the number of elements in the uniform numeric vector
@var{uvec}.
@end deffn
f64vector-ref
-@c snarfed from ../libguile/srfi-4.i.c:91
+@c snarfed from ../libguile/srfi-4.i.c:85
@deffn {Scheme Procedure} f64vector-ref uvec index
@deffnx {C Function} scm_f64vector_ref (uvec, index)
-Return the element at @var{index} in the homogeneous numeric
+Return the element at @var{index} in the uniform numeric
vector @var{uvec}.
@end deffn
f64vector-set!
-@c snarfed from ../libguile/srfi-4.i.c:103
+@c snarfed from ../libguile/srfi-4.i.c:97
@deffn {Scheme Procedure} f64vector-set! uvec index value
@deffnx {C Function} scm_f64vector_set_x (uvec, index, value)
-Set the element at @var{index} in the homogeneous numeric
+Set the element at @var{index} in the uniform numeric
vector @var{uvec} to @var{value}. The return value is not
specified.
@end deffn
f64vector->list
-@c snarfed from ../libguile/srfi-4.i.c:113
+@c snarfed from ../libguile/srfi-4.i.c:107
@deffn {Scheme Procedure} f64vector->list uvec
@deffnx {C Function} scm_f64vector_to_list (uvec)
-Convert the homogeneous numeric vector @var{uvec} to a list.
+Convert the uniform numeric vector @var{uvec} to a list.
@end deffn
list->f64vector
-@c snarfed from ../libguile/srfi-4.i.c:123
+@c snarfed from ../libguile/srfi-4.i.c:117
@deffn {Scheme Procedure} list->f64vector l
@deffnx {C Function} scm_list_to_f64vector (l)
-Convert the list @var{l} to a numeric homogeneous vector.
+Convert the list @var{l} to a numeric uniform vector.
@end deffn
any->f64vector
-@c snarfed from ../libguile/srfi-4.i.c:134
+@c snarfed from ../libguile/srfi-4.i.c:128
@deffn {Scheme Procedure} any->f64vector obj
@deffnx {C Function} scm_any_to_f64vector (obj)
Convert @var{obj}, which can be a list, vector, or
-homogenous vector, to a numeric homogenous vector of
+uniform vector, to a numeric uniform vector of
type f64.
@end deffn
c32vector?
-@c snarfed from ../libguile/srfi-4.i.c:39
+@c snarfed from ../libguile/srfi-4.i.c:41
@deffn {Scheme Procedure} c32vector? obj
@deffnx {C Function} scm_c32vector_p (obj)
Return @code{#t} if @var{obj} is a vector of type c32,
@@ -6123,73 +6242,73 @@ Return @code{#t} if @var{obj} is a vector of type c32,
@end deffn
make-c32vector
-@c snarfed from ../libguile/srfi-4.i.c:51
+@c snarfed from ../libguile/srfi-4.i.c:53
@deffn {Scheme Procedure} make-c32vector len [fill]
@deffnx {C Function} scm_make_c32vector (len, fill)
-Return a newly allocated homogeneous numeric vector which can
+Return a newly allocated uniform numeric vector which can
hold @var{len} elements. If @var{fill} is given, it is used to
initialize the elements, otherwise the contents of the vector
is unspecified.
@end deffn
c32vector
-@c snarfed from ../libguile/srfi-4.i.c:69
+@c snarfed from ../libguile/srfi-4.i.c:63
@deffn {Scheme Procedure} c32vector . l
@deffnx {C Function} scm_c32vector (l)
-Return a newly allocated homogeneous numeric vector containing
+Return a newly allocated uniform numeric vector containing
all argument values.
@end deffn
c32vector-length
-@c snarfed from ../libguile/srfi-4.i.c:80
+@c snarfed from ../libguile/srfi-4.i.c:74
@deffn {Scheme Procedure} c32vector-length uvec
@deffnx {C Function} scm_c32vector_length (uvec)
-Return the number of elements in the homogeneous numeric vector
+Return the number of elements in the uniform numeric vector
@var{uvec}.
@end deffn
c32vector-ref
-@c snarfed from ../libguile/srfi-4.i.c:91
+@c snarfed from ../libguile/srfi-4.i.c:85
@deffn {Scheme Procedure} c32vector-ref uvec index
@deffnx {C Function} scm_c32vector_ref (uvec, index)
-Return the element at @var{index} in the homogeneous numeric
+Return the element at @var{index} in the uniform numeric
vector @var{uvec}.
@end deffn
c32vector-set!
-@c snarfed from ../libguile/srfi-4.i.c:103
+@c snarfed from ../libguile/srfi-4.i.c:97
@deffn {Scheme Procedure} c32vector-set! uvec index value
@deffnx {C Function} scm_c32vector_set_x (uvec, index, value)
-Set the element at @var{index} in the homogeneous numeric
+Set the element at @var{index} in the uniform numeric
vector @var{uvec} to @var{value}. The return value is not
specified.
@end deffn
c32vector->list
-@c snarfed from ../libguile/srfi-4.i.c:113
+@c snarfed from ../libguile/srfi-4.i.c:107
@deffn {Scheme Procedure} c32vector->list uvec
@deffnx {C Function} scm_c32vector_to_list (uvec)
-Convert the homogeneous numeric vector @var{uvec} to a list.
+Convert the uniform numeric vector @var{uvec} to a list.
@end deffn
list->c32vector
-@c snarfed from ../libguile/srfi-4.i.c:123
+@c snarfed from ../libguile/srfi-4.i.c:117
@deffn {Scheme Procedure} list->c32vector l
@deffnx {C Function} scm_list_to_c32vector (l)
-Convert the list @var{l} to a numeric homogeneous vector.
+Convert the list @var{l} to a numeric uniform vector.
@end deffn
any->c32vector
-@c snarfed from ../libguile/srfi-4.i.c:134
+@c snarfed from ../libguile/srfi-4.i.c:128
@deffn {Scheme Procedure} any->c32vector obj
@deffnx {C Function} scm_any_to_c32vector (obj)
Convert @var{obj}, which can be a list, vector, or
-homogenous vector, to a numeric homogenous vector of
+uniform vector, to a numeric uniform vector of
type c32.
@end deffn
c64vector?
-@c snarfed from ../libguile/srfi-4.i.c:39
+@c snarfed from ../libguile/srfi-4.i.c:41
@deffn {Scheme Procedure} c64vector? obj
@deffnx {C Function} scm_c64vector_p (obj)
Return @code{#t} if @var{obj} is a vector of type c64,
@@ -6197,68 +6316,68 @@ Return @code{#t} if @var{obj} is a vector of type c64,
@end deffn
make-c64vector
-@c snarfed from ../libguile/srfi-4.i.c:51
+@c snarfed from ../libguile/srfi-4.i.c:53
@deffn {Scheme Procedure} make-c64vector len [fill]
@deffnx {C Function} scm_make_c64vector (len, fill)
-Return a newly allocated homogeneous numeric vector which can
+Return a newly allocated uniform numeric vector which can
hold @var{len} elements. If @var{fill} is given, it is used to
initialize the elements, otherwise the contents of the vector
is unspecified.
@end deffn
c64vector
-@c snarfed from ../libguile/srfi-4.i.c:69
+@c snarfed from ../libguile/srfi-4.i.c:63
@deffn {Scheme Procedure} c64vector . l
@deffnx {C Function} scm_c64vector (l)
-Return a newly allocated homogeneous numeric vector containing
+Return a newly allocated uniform numeric vector containing
all argument values.
@end deffn
c64vector-length
-@c snarfed from ../libguile/srfi-4.i.c:80
+@c snarfed from ../libguile/srfi-4.i.c:74
@deffn {Scheme Procedure} c64vector-length uvec
@deffnx {C Function} scm_c64vector_length (uvec)
-Return the number of elements in the homogeneous numeric vector
+Return the number of elements in the uniform numeric vector
@var{uvec}.
@end deffn
c64vector-ref
-@c snarfed from ../libguile/srfi-4.i.c:91
+@c snarfed from ../libguile/srfi-4.i.c:85
@deffn {Scheme Procedure} c64vector-ref uvec index
@deffnx {C Function} scm_c64vector_ref (uvec, index)
-Return the element at @var{index} in the homogeneous numeric
+Return the element at @var{index} in the uniform numeric
vector @var{uvec}.
@end deffn
c64vector-set!
-@c snarfed from ../libguile/srfi-4.i.c:103
+@c snarfed from ../libguile/srfi-4.i.c:97
@deffn {Scheme Procedure} c64vector-set! uvec index value
@deffnx {C Function} scm_c64vector_set_x (uvec, index, value)
-Set the element at @var{index} in the homogeneous numeric
+Set the element at @var{index} in the uniform numeric
vector @var{uvec} to @var{value}. The return value is not
specified.
@end deffn
c64vector->list
-@c snarfed from ../libguile/srfi-4.i.c:113
+@c snarfed from ../libguile/srfi-4.i.c:107
@deffn {Scheme Procedure} c64vector->list uvec
@deffnx {C Function} scm_c64vector_to_list (uvec)
-Convert the homogeneous numeric vector @var{uvec} to a list.
+Convert the uniform numeric vector @var{uvec} to a list.
@end deffn
list->c64vector
-@c snarfed from ../libguile/srfi-4.i.c:123
+@c snarfed from ../libguile/srfi-4.i.c:117
@deffn {Scheme Procedure} list->c64vector l
@deffnx {C Function} scm_list_to_c64vector (l)
-Convert the list @var{l} to a numeric homogeneous vector.
+Convert the list @var{l} to a numeric uniform vector.
@end deffn
any->c64vector
-@c snarfed from ../libguile/srfi-4.i.c:134
+@c snarfed from ../libguile/srfi-4.i.c:128
@deffn {Scheme Procedure} any->c64vector obj
@deffnx {C Function} scm_any_to_c64vector (obj)
Convert @var{obj}, which can be a list, vector, or
-homogenous vector, to a numeric homogenous vector of
+uniform vector, to a numeric uniform vector of
type c64.
@end deffn
@@ -6275,46 +6394,53 @@ y @result{} "foo"
@end lisp
@end deffn
- string-any
-@c snarfed from srfi-13.c:90
-@deffn {Scheme Procedure} string-any char_pred s [start [end]]
+ string-any-c-code
+@c snarfed from srfi-13.c:94
+@deffn {Scheme Procedure} string-any-c-code char_pred s [start [end]]
@deffnx {C Function} scm_string_any (char_pred, s, start, end)
-Check if the predicate @var{pred} is true for any character in
-the string @var{s}.
+Check if @var{char_pred} is true for any character in string @var{s}.
+
+@var{char_pred} can be a character to check for any equal to that, or
+a character set (@pxref{Character Sets}) to check for any in that set,
+or a predicate procedure to call.
-Calls to @var{pred} are made from left to right across @var{s}.
-When it returns true (ie.@: non-@code{#f}), that return value
-is the return from @code{string-any}.
+For a procedure, calls @code{(@var{char_pred} c)} are made
+successively on the characters from @var{start} to @var{end}. If
+@var{char_pred} returns true (ie.@: non-@code{#f}), @code{string-any}
+stops and that return value is the return from @code{string-any}. The
+call on the last character (ie.@: at @math{@var{end}-1}), if that
+point is reached, is a tail call.
+
+If there are no characters in @var{s} (ie.@: @var{start} equals
+@var{end}) then the return is @code{#f}.
-The SRFI-13 specification requires that the call to @var{pred}
-on the last character of @var{s} (assuming that point is
-reached) be a tail call, but currently in Guile this is not the
-case.
@end deffn
- string-every
-@c snarfed from srfi-13.c:153
-@deffn {Scheme Procedure} string-every char_pred s [start [end]]
+ string-every-c-code
+@c snarfed from srfi-13.c:158
+@deffn {Scheme Procedure} string-every-c-code char_pred s [start [end]]
@deffnx {C Function} scm_string_every (char_pred, s, start, end)
-Check if the predicate @var{pred} is true for every character
-in the string @var{s}.
+Check if @var{char_pred} is true for every character in string
+@var{s}.
+
+@var{char_pred} can be a character to check for every character equal
+to that, or a character set (@pxref{Character Sets}) to check for
+every character being in that set, or a predicate procedure to call.
-Calls to @var{pred} are made from left to right across @var{s}.
-If the predicate is true for every character then the return
-value from the last @var{pred} call is the return from
-@code{string-every}.
+For a procedure, calls @code{(@var{char_pred} c)} are made
+successively on the characters from @var{start} to @var{end}. If
+@var{char_pred} returns @code{#f}, @code{string-every} stops and
+returns @code{#f}. The call on the last character (ie.@: at
+@math{@var{end}-1}), if that point is reached, is a tail call and the
+return from that call is the return from @code{string-every}.
If there are no characters in @var{s} (ie.@: @var{start} equals
@var{end}) then the return is @code{#t}.
-The SRFI-13 specification requires that the call to @var{pred}
-on the last character of @var{s} (assuming that point is
-reached) be a tail call, but currently in Guile this is not the
-case.
@end deffn
string-tabulate
-@c snarfed from srfi-13.c:209
+@c snarfed from srfi-13.c:214
@deffn {Scheme Procedure} string-tabulate proc len
@deffnx {C Function} scm_string_tabulate (proc, len)
@var{proc} is an integer->char procedure. Construct a string
@@ -6324,14 +6450,14 @@ produce the corresponding string element. The order in which
@end deffn
string->list
-@c snarfed from srfi-13.c:241
+@c snarfed from srfi-13.c:246
@deffn {Scheme Procedure} string->list str [start [end]]
@deffnx {C Function} scm_substring_to_list (str, start, end)
Convert the string @var{str} into a list of characters.
@end deffn
reverse-list->string
-@c snarfed from srfi-13.c:280
+@c snarfed from srfi-13.c:285
@deffn {Scheme Procedure} reverse-list->string chrs
@deffnx {C Function} scm_reverse_list_to_string (chrs)
An efficient implementation of @code{(compose string->list
@@ -6343,7 +6469,7 @@ reverse)}:
@end deffn
string-join
-@c snarfed from srfi-13.c:347
+@c snarfed from srfi-13.c:352
@deffn {Scheme Procedure} string-join ls [delimiter [grammar]]
@deffnx {C Function} scm_string_join (ls, delimiter, grammar)
Append the string in the string list @var{ls}, using the string
@@ -6367,7 +6493,7 @@ Insert the separator before each list element.
@end deffn
string-copy
-@c snarfed from srfi-13.c:481
+@c snarfed from srfi-13.c:486
@deffn {Scheme Procedure} string-copy str [start [end]]
@deffnx {C Function} scm_srfi13_substring_copy (str, start, end)
Return a freshly allocated copy of the string @var{str}. If
@@ -6376,7 +6502,7 @@ given, @var{start} and @var{end} delimit the portion of
@end deffn
string-copy!
-@c snarfed from srfi-13.c:508
+@c snarfed from srfi-13.c:513
@deffn {Scheme Procedure} string-copy! target tstart s [start [end]]
@deffnx {C Function} scm_string_copy_x (target, tstart, s, start, end)
Copy the sequence of characters from index range [@var{start},
@@ -6389,7 +6515,7 @@ string.
@end deffn
substring-move!
-@c snarfed from srfi-13.c:538
+@c snarfed from srfi-13.c:543
@deffn {Scheme Procedure} substring-move! str1 start1 end1 str2 start2
@deffnx {C Function} scm_substring_move_x (str1, start1, end1, str2, start2)
Copy the substring of @var{str1} bounded by @var{start1} and @var{end1}
@@ -6398,35 +6524,35 @@ into @var{str2} beginning at position @var{start2}.
@end deffn
string-take
-@c snarfed from srfi-13.c:547
+@c snarfed from srfi-13.c:552
@deffn {Scheme Procedure} string-take s n
@deffnx {C Function} scm_string_take (s, n)
Return the @var{n} first characters of @var{s}.
@end deffn
string-drop
-@c snarfed from srfi-13.c:557
+@c snarfed from srfi-13.c:562
@deffn {Scheme Procedure} string-drop s n
@deffnx {C Function} scm_string_drop (s, n)
Return all but the first @var{n} characters of @var{s}.
@end deffn
string-take-right
-@c snarfed from srfi-13.c:567
+@c snarfed from srfi-13.c:572
@deffn {Scheme Procedure} string-take-right s n
@deffnx {C Function} scm_string_take_right (s, n)
Return the @var{n} last characters of @var{s}.
@end deffn
string-drop-right
-@c snarfed from srfi-13.c:579
+@c snarfed from srfi-13.c:584
@deffn {Scheme Procedure} string-drop-right s n
@deffnx {C Function} scm_string_drop_right (s, n)
Return all but the last @var{n} characters of @var{s}.
@end deffn
string-pad
-@c snarfed from srfi-13.c:594
+@c snarfed from srfi-13.c:599
@deffn {Scheme Procedure} string-pad s len [chr [start [end]]]
@deffnx {C Function} scm_string_pad (s, len, chr, start, end)
Take that characters from @var{start} to @var{end} from the
@@ -6436,7 +6562,7 @@ string is longer than @var{len}, it is truncated on the right.
@end deffn
string-pad-right
-@c snarfed from srfi-13.c:634
+@c snarfed from srfi-13.c:639
@deffn {Scheme Procedure} string-pad-right s len [chr [start [end]]]
@deffnx {C Function} scm_string_pad_right (s, len, chr, start, end)
Take that characters from @var{start} to @var{end} from the
@@ -6446,7 +6572,7 @@ string is longer than @var{len}, it is truncated on the left.
@end deffn
string-trim
-@c snarfed from srfi-13.c:687
+@c snarfed from srfi-13.c:692
@deffn {Scheme Procedure} string-trim s [char_pred [start [end]]]
@deffnx {C Function} scm_string_trim (s, char_pred, start, end)
Trim @var{s} by skipping over all characters on the left
@@ -6470,7 +6596,7 @@ trimmed.
@end deffn
string-trim-right
-@c snarfed from srfi-13.c:763
+@c snarfed from srfi-13.c:768
@deffn {Scheme Procedure} string-trim-right s [char_pred [start [end]]]
@deffnx {C Function} scm_string_trim_right (s, char_pred, start, end)
Trim @var{s} by skipping over all characters on the rightt
@@ -6495,7 +6621,7 @@ trimmed.
@end deffn
string-trim-both
-@c snarfed from srfi-13.c:839
+@c snarfed from srfi-13.c:844
@deffn {Scheme Procedure} string-trim-both s [char_pred [start [end]]]
@deffnx {C Function} scm_string_trim_both (s, char_pred, start, end)
Trim @var{s} by skipping over all characters on both sides of
@@ -6520,7 +6646,7 @@ trimmed.
@end deffn
string-fill!
-@c snarfed from srfi-13.c:926
+@c snarfed from srfi-13.c:931
@deffn {Scheme Procedure} string-fill! str chr [start [end]]
@deffnx {C Function} scm_substring_fill_x (str, chr, start, end)
Stores @var{chr} in every element of the given @var{str} and
@@ -6528,7 +6654,7 @@ returns an unspecified value.
@end deffn
string-compare
-@c snarfed from srfi-13.c:978
+@c snarfed from srfi-13.c:983
@deffn {Scheme Procedure} string-compare s1 s2 proc_lt proc_eq proc_gt [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_compare (s1, s2, proc_lt, proc_eq, proc_gt, start1, end1, start2, end2)
Apply @var{proc_lt}, @var{proc_eq}, @var{proc_gt} to the
@@ -6540,7 +6666,7 @@ largest index @var{i} such that for every 0 <= @var{j} <
@end deffn
string-compare-ci
-@c snarfed from srfi-13.c:1032
+@c snarfed from srfi-13.c:1037
@deffn {Scheme Procedure} string-compare-ci s1 s2 proc_lt proc_eq proc_gt [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_compare_ci (s1, s2, proc_lt, proc_eq, proc_gt, start1, end1, start2, end2)
Apply @var{proc_lt}, @var{proc_eq}, @var{proc_gt} to the
@@ -6553,7 +6679,7 @@ character comparison is done case-insensitively.
@end deffn
string=
-@c snarfed from srfi-13.c:1083
+@c snarfed from srfi-13.c:1088
@deffn {Scheme Procedure} string= s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_eq (s1, s2, start1, end1, start2, end2)
Return @code{#f} if @var{s1} and @var{s2} are not equal, a true
@@ -6561,7 +6687,7 @@ value otherwise.
@end deffn
string<>
-@c snarfed from srfi-13.c:1122
+@c snarfed from srfi-13.c:1127
@deffn {Scheme Procedure} string<> s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_neq (s1, s2, start1, end1, start2, end2)
Return @code{#f} if @var{s1} and @var{s2} are equal, a true
@@ -6569,7 +6695,7 @@ value otherwise.
@end deffn
string<
-@c snarfed from srfi-13.c:1165
+@c snarfed from srfi-13.c:1170
@deffn {Scheme Procedure} string< s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_lt (s1, s2, start1, end1, start2, end2)
Return @code{#f} if @var{s1} is greater or equal to @var{s2}, a
@@ -6577,7 +6703,7 @@ true value otherwise.
@end deffn
string>
-@c snarfed from srfi-13.c:1208
+@c snarfed from srfi-13.c:1213
@deffn {Scheme Procedure} string> s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_gt (s1, s2, start1, end1, start2, end2)
Return @code{#f} if @var{s1} is less or equal to @var{s2}, a
@@ -6585,7 +6711,7 @@ true value otherwise.
@end deffn
string<=
-@c snarfed from srfi-13.c:1251
+@c snarfed from srfi-13.c:1256
@deffn {Scheme Procedure} string<= s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_le (s1, s2, start1, end1, start2, end2)
Return @code{#f} if @var{s1} is greater to @var{s2}, a true
@@ -6593,7 +6719,7 @@ value otherwise.
@end deffn
string>=
-@c snarfed from srfi-13.c:1294
+@c snarfed from srfi-13.c:1299
@deffn {Scheme Procedure} string>= s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_ge (s1, s2, start1, end1, start2, end2)
Return @code{#f} if @var{s1} is less to @var{s2}, a true value
@@ -6601,7 +6727,7 @@ otherwise.
@end deffn
string-ci=
-@c snarfed from srfi-13.c:1338
+@c snarfed from srfi-13.c:1343
@deffn {Scheme Procedure} string-ci= s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_ci_eq (s1, s2, start1, end1, start2, end2)
Return @code{#f} if @var{s1} and @var{s2} are not equal, a true
@@ -6610,7 +6736,7 @@ case-insensitively.
@end deffn
string-ci<>
-@c snarfed from srfi-13.c:1382
+@c snarfed from srfi-13.c:1387
@deffn {Scheme Procedure} string-ci<> s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_ci_neq (s1, s2, start1, end1, start2, end2)
Return @code{#f} if @var{s1} and @var{s2} are equal, a true
@@ -6619,7 +6745,7 @@ case-insensitively.
@end deffn
string-ci<
-@c snarfed from srfi-13.c:1426
+@c snarfed from srfi-13.c:1431
@deffn {Scheme Procedure} string-ci< s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_ci_lt (s1, s2, start1, end1, start2, end2)
Return @code{#f} if @var{s1} is greater or equal to @var{s2}, a
@@ -6628,7 +6754,7 @@ case-insensitively.
@end deffn
string-ci>
-@c snarfed from srfi-13.c:1470
+@c snarfed from srfi-13.c:1475
@deffn {Scheme Procedure} string-ci> s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_ci_gt (s1, s2, start1, end1, start2, end2)
Return @code{#f} if @var{s1} is less or equal to @var{s2}, a
@@ -6637,7 +6763,7 @@ case-insensitively.
@end deffn
string-ci<=
-@c snarfed from srfi-13.c:1514
+@c snarfed from srfi-13.c:1519
@deffn {Scheme Procedure} string-ci<= s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_ci_le (s1, s2, start1, end1, start2, end2)
Return @code{#f} if @var{s1} is greater to @var{s2}, a true
@@ -6646,7 +6772,7 @@ case-insensitively.
@end deffn
string-ci>=
-@c snarfed from srfi-13.c:1558
+@c snarfed from srfi-13.c:1563
@deffn {Scheme Procedure} string-ci>= s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_ci_ge (s1, s2, start1, end1, start2, end2)
Return @code{#f} if @var{s1} is less to @var{s2}, a true value
@@ -6655,21 +6781,21 @@ case-insensitively.
@end deffn
string-hash
-@c snarfed from srfi-13.c:1603
+@c snarfed from srfi-13.c:1608
@deffn {Scheme Procedure} string-hash s [bound [start [end]]]
@deffnx {C Function} scm_substring_hash (s, bound, start, end)
Compute a hash value for @var{S}. the optional argument @var{bound} is a non-negative exact integer specifying the range of the hash function. A positive value restricts the return value to the range [0,bound).
@end deffn
string-hash-ci
-@c snarfed from srfi-13.c:1620
+@c snarfed from srfi-13.c:1625
@deffn {Scheme Procedure} string-hash-ci s [bound [start [end]]]
@deffnx {C Function} scm_substring_hash_ci (s, bound, start, end)
Compute a hash value for @var{S}. the optional argument @var{bound} is a non-negative exact integer specifying the range of the hash function. A positive value restricts the return value to the range [0,bound).
@end deffn
string-prefix-length
-@c snarfed from srfi-13.c:1632
+@c snarfed from srfi-13.c:1637
@deffn {Scheme Procedure} string-prefix-length s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_prefix_length (s1, s2, start1, end1, start2, end2)
Return the length of the longest common prefix of the two
@@ -6677,7 +6803,7 @@ strings.
@end deffn
string-prefix-length-ci
-@c snarfed from srfi-13.c:1664
+@c snarfed from srfi-13.c:1669
@deffn {Scheme Procedure} string-prefix-length-ci s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_prefix_length_ci (s1, s2, start1, end1, start2, end2)
Return the length of the longest common prefix of the two
@@ -6685,7 +6811,7 @@ strings, ignoring character case.
@end deffn
string-suffix-length
-@c snarfed from srfi-13.c:1696
+@c snarfed from srfi-13.c:1701
@deffn {Scheme Procedure} string-suffix-length s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_suffix_length (s1, s2, start1, end1, start2, end2)
Return the length of the longest common suffix of the two
@@ -6693,7 +6819,7 @@ strings.
@end deffn
string-suffix-length-ci
-@c snarfed from srfi-13.c:1728
+@c snarfed from srfi-13.c:1733
@deffn {Scheme Procedure} string-suffix-length-ci s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_suffix_length_ci (s1, s2, start1, end1, start2, end2)
Return the length of the longest common suffix of the two
@@ -6701,35 +6827,35 @@ strings, ignoring character case.
@end deffn
string-prefix?
-@c snarfed from srfi-13.c:1759
+@c snarfed from srfi-13.c:1764
@deffn {Scheme Procedure} string-prefix? s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_prefix_p (s1, s2, start1, end1, start2, end2)
Is @var{s1} a prefix of @var{s2}?
@end deffn
string-prefix-ci?
-@c snarfed from srfi-13.c:1791
+@c snarfed from srfi-13.c:1796
@deffn {Scheme Procedure} string-prefix-ci? s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_prefix_ci_p (s1, s2, start1, end1, start2, end2)
Is @var{s1} a prefix of @var{s2}, ignoring character case?
@end deffn
string-suffix?
-@c snarfed from srfi-13.c:1823
+@c snarfed from srfi-13.c:1828
@deffn {Scheme Procedure} string-suffix? s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_suffix_p (s1, s2, start1, end1, start2, end2)
Is @var{s1} a suffix of @var{s2}?
@end deffn
string-suffix-ci?
-@c snarfed from srfi-13.c:1855
+@c snarfed from srfi-13.c:1860
@deffn {Scheme Procedure} string-suffix-ci? s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_suffix_ci_p (s1, s2, start1, end1, start2, end2)
Is @var{s1} a suffix of @var{s2}, ignoring character case?
@end deffn
string-index
-@c snarfed from srfi-13.c:1899
+@c snarfed from srfi-13.c:1904
@deffn {Scheme Procedure} string-index s char_pred [start [end]]
@deffnx {C Function} scm_string_index (s, char_pred, start, end)
Search through the string @var{s} from left to right, returning
@@ -6748,7 +6874,7 @@ is in the set @var{char_pred}, if it is a character set.
@end deffn
string-index-right
-@c snarfed from srfi-13.c:1964
+@c snarfed from srfi-13.c:1969
@deffn {Scheme Procedure} string-index-right s char_pred [start [end]]
@deffnx {C Function} scm_string_index_right (s, char_pred, start, end)
Search through the string @var{s} from right to left, returning
@@ -6767,7 +6893,7 @@ is in the set if @var{char_pred} is a character set.
@end deffn
string-rindex
-@c snarfed from srfi-13.c:2029
+@c snarfed from srfi-13.c:2034
@deffn {Scheme Procedure} string-rindex s char_pred [start [end]]
@deffnx {C Function} scm_string_rindex (s, char_pred, start, end)
Search through the string @var{s} from right to left, returning
@@ -6786,7 +6912,7 @@ is in the set if @var{char_pred} is a character set.
@end deffn
string-skip
-@c snarfed from srfi-13.c:2051
+@c snarfed from srfi-13.c:2056
@deffn {Scheme Procedure} string-skip s char_pred [start [end]]
@deffnx {C Function} scm_string_skip (s, char_pred, start, end)
Search through the string @var{s} from left to right, returning
@@ -6806,7 +6932,7 @@ is not in the set if @var{char_pred} is a character set.
@end deffn
string-skip-right
-@c snarfed from srfi-13.c:2118
+@c snarfed from srfi-13.c:2123
@deffn {Scheme Procedure} string-skip-right s char_pred [start [end]]
@deffnx {C Function} scm_string_skip_right (s, char_pred, start, end)
Search through the string @var{s} from right to left, returning
@@ -6826,7 +6952,7 @@ is not in the set if @var{char_pred} is a character set.
@end deffn
string-count
-@c snarfed from srfi-13.c:2185
+@c snarfed from srfi-13.c:2190
@deffn {Scheme Procedure} string-count s char_pred [start [end]]
@deffnx {C Function} scm_string_count (s, char_pred, start, end)
Return the count of the number of characters in the string
@@ -6845,7 +6971,7 @@ is in the set @var{char_pred}, if it is a character set.
@end deffn
string-contains
-@c snarfed from srfi-13.c:2242
+@c snarfed from srfi-13.c:2247
@deffn {Scheme Procedure} string-contains s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_contains (s1, s2, start1, end1, start2, end2)
Does string @var{s1} contain string @var{s2}? Return the index
@@ -6855,7 +6981,7 @@ indicated substrings.
@end deffn
string-contains-ci
-@c snarfed from srfi-13.c:2289
+@c snarfed from srfi-13.c:2294
@deffn {Scheme Procedure} string-contains-ci s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_contains_ci (s1, s2, start1, end1, start2, end2)
Does string @var{s1} contain string @var{s2}? Return the index
@@ -6866,7 +6992,7 @@ case-insensitively.
@end deffn
string-upcase!
-@c snarfed from srfi-13.c:2354
+@c snarfed from srfi-13.c:2359
@deffn {Scheme Procedure} string-upcase! str [start [end]]
@deffnx {C Function} scm_substring_upcase_x (str, start, end)
Destructively upcase every character in @code{str}.
@@ -6880,14 +7006,14 @@ y
@end deffn
string-upcase
-@c snarfed from srfi-13.c:2375
+@c snarfed from srfi-13.c:2380
@deffn {Scheme Procedure} string-upcase str [start [end]]
@deffnx {C Function} scm_substring_upcase (str, start, end)
Upcase every character in @code{str}.
@end deffn
string-downcase!
-@c snarfed from srfi-13.c:2422
+@c snarfed from srfi-13.c:2427
@deffn {Scheme Procedure} string-downcase! str [start [end]]
@deffnx {C Function} scm_substring_downcase_x (str, start, end)
Destructively downcase every character in @var{str}.
@@ -6903,14 +7029,14 @@ y
@end deffn
string-downcase
-@c snarfed from srfi-13.c:2443
+@c snarfed from srfi-13.c:2448
@deffn {Scheme Procedure} string-downcase str [start [end]]
@deffnx {C Function} scm_substring_downcase (str, start, end)
Downcase every character in @var{str}.
@end deffn
string-titlecase!
-@c snarfed from srfi-13.c:2499
+@c snarfed from srfi-13.c:2504
@deffn {Scheme Procedure} string-titlecase! str [start [end]]
@deffnx {C Function} scm_string_titlecase_x (str, start, end)
Destructively titlecase every first character in a word in
@@ -6918,14 +7044,14 @@ Destructively titlecase every first character in a word in
@end deffn
string-titlecase
-@c snarfed from srfi-13.c:2515
+@c snarfed from srfi-13.c:2520
@deffn {Scheme Procedure} string-titlecase str [start [end]]
@deffnx {C Function} scm_string_titlecase (str, start, end)
Titlecase every first character in a word in @var{str}.
@end deffn
string-capitalize!
-@c snarfed from srfi-13.c:2537
+@c snarfed from srfi-13.c:2542
@deffn {Scheme Procedure} string-capitalize! str
@deffnx {C Function} scm_string_capitalize_x (str)
Upcase the first character of every word in @var{str}
@@ -6939,7 +7065,7 @@ y @result{} "Hello World"
@end deffn
string-capitalize
-@c snarfed from srfi-13.c:2549
+@c snarfed from srfi-13.c:2554
@deffn {Scheme Procedure} string-capitalize str
@deffnx {C Function} scm_string_capitalize (str)
Return a freshly allocated string with the characters in
@@ -6948,7 +7074,7 @@ capitalized.
@end deffn
string-reverse
-@c snarfed from srfi-13.c:2583
+@c snarfed from srfi-13.c:2588
@deffn {Scheme Procedure} string-reverse str [start [end]]
@deffnx {C Function} scm_string_reverse (str, start, end)
Reverse the string @var{str}. The optional arguments
@@ -6957,7 +7083,7 @@ operate on.
@end deffn
string-reverse!
-@c snarfed from srfi-13.c:2608
+@c snarfed from srfi-13.c:2613
@deffn {Scheme Procedure} string-reverse! str [start [end]]
@deffnx {C Function} scm_string_reverse_x (str, start, end)
Reverse the string @var{str} in-place. The optional arguments
@@ -6966,7 +7092,7 @@ operate on. The return value is unspecified.
@end deffn
string-append/shared
-@c snarfed from srfi-13.c:2630
+@c snarfed from srfi-13.c:2635
@deffn {Scheme Procedure} string-append/shared . ls
@deffnx {C Function} scm_string_append_shared (ls)
Like @code{string-append}, but the result may share memory
@@ -6974,7 +7100,7 @@ with the argument strings.
@end deffn
string-concatenate
-@c snarfed from srfi-13.c:2651
+@c snarfed from srfi-13.c:2656
@deffn {Scheme Procedure} string-concatenate ls
@deffnx {C Function} scm_string_concatenate (ls)
Append the elements of @var{ls} (which must be strings)
@@ -6983,7 +7109,7 @@ allocated string.
@end deffn
string-concatenate-reverse
-@c snarfed from srfi-13.c:2673
+@c snarfed from srfi-13.c:2678
@deffn {Scheme Procedure} string-concatenate-reverse ls [final_string [end]]
@deffnx {C Function} scm_string_concatenate_reverse (ls, final_string, end)
Without optional arguments, this procedure is equivalent to
@@ -7002,7 +7128,7 @@ Guaranteed to return a freshly allocated string.
@end deffn
string-concatenate/shared
-@c snarfed from srfi-13.c:2690
+@c snarfed from srfi-13.c:2695
@deffn {Scheme Procedure} string-concatenate/shared ls
@deffnx {C Function} scm_string_concatenate_shared (ls)
Like @code{string-concatenate}, but the result may share memory
@@ -7010,7 +7136,7 @@ with the strings in the list @var{ls}.
@end deffn
string-concatenate-reverse/shared
-@c snarfed from srfi-13.c:2701
+@c snarfed from srfi-13.c:2706
@deffn {Scheme Procedure} string-concatenate-reverse/shared ls [final_string [end]]
@deffnx {C Function} scm_string_concatenate_reverse_shared (ls, final_string, end)
Like @code{string-concatenate-reverse}, but the result may
@@ -7018,7 +7144,7 @@ share memory with the the strings in the @var{ls} arguments.
@end deffn
string-map
-@c snarfed from srfi-13.c:2714
+@c snarfed from srfi-13.c:2719
@deffn {Scheme Procedure} string-map proc s [start [end]]
@deffnx {C Function} scm_string_map (proc, s, start, end)
@var{proc} is a char->char procedure, it is mapped over
@@ -7027,7 +7153,7 @@ string elements is not specified.
@end deffn
string-map!
-@c snarfed from srfi-13.c:2744
+@c snarfed from srfi-13.c:2749
@deffn {Scheme Procedure} string-map! proc s [start [end]]
@deffnx {C Function} scm_string_map_x (proc, s, start, end)
@var{proc} is a char->char procedure, it is mapped over
@@ -7037,7 +7163,7 @@ modified in-place, the return value is not specified.
@end deffn
string-fold
-@c snarfed from srfi-13.c:2771
+@c snarfed from srfi-13.c:2776
@deffn {Scheme Procedure} string-fold kons knil s [start [end]]
@deffnx {C Function} scm_string_fold (kons, knil, s, start, end)
Fold @var{kons} over the characters of @var{s}, with @var{knil}
@@ -7047,7 +7173,7 @@ result of @var{kons}' application.
@end deffn
string-fold-right
-@c snarfed from srfi-13.c:2802
+@c snarfed from srfi-13.c:2807
@deffn {Scheme Procedure} string-fold-right kons knil s [start [end]]
@deffnx {C Function} scm_string_fold_right (kons, knil, s, start, end)
Fold @var{kons} over the characters of @var{s}, with @var{knil}
@@ -7057,7 +7183,7 @@ result of @var{kons}' application.
@end deffn
string-unfold
-@c snarfed from srfi-13.c:2847
+@c snarfed from srfi-13.c:2852
@deffn {Scheme Procedure} string-unfold p f g seed [base [make_final]]
@deffnx {C Function} scm_string_unfold (p, f, g, seed, base, make_final)
@itemize @bullet
@@ -7081,7 +7207,7 @@ It defaults to @code{(lambda (x) )}.
@end deffn
string-unfold-right
-@c snarfed from srfi-13.c:2910
+@c snarfed from srfi-13.c:2915
@deffn {Scheme Procedure} string-unfold-right p f g seed [base [make_final]]
@deffnx {C Function} scm_string_unfold_right (p, f, g, seed, base, make_final)
@itemize @bullet
@@ -7105,7 +7231,7 @@ It defaults to @code{(lambda (x) )}.
@end deffn
string-for-each
-@c snarfed from srfi-13.c:2957
+@c snarfed from srfi-13.c:2962
@deffn {Scheme Procedure} string-for-each proc s [start [end]]
@deffnx {C Function} scm_string_for_each (proc, s, start, end)
@var{proc} is mapped over @var{s} in left-to-right order. The
@@ -7113,7 +7239,7 @@ return value is not specified.
@end deffn
string-for-each-index
-@c snarfed from srfi-13.c:2983
+@c snarfed from srfi-13.c:2988
@deffn {Scheme Procedure} string-for-each-index proc s [start [end]]
@deffnx {C Function} scm_string_for_each_index (proc, s, start, end)
@var{proc} is mapped over @var{s} in left-to-right order. The
@@ -7121,7 +7247,7 @@ return value is not specified.
@end deffn
xsubstring
-@c snarfed from srfi-13.c:3015
+@c snarfed from srfi-13.c:3020
@deffn {Scheme Procedure} xsubstring s from [to [start [end]]]
@deffnx {C Function} scm_xsubstring (s, from, to, start, end)
This is the @emph{extended substring} procedure that implements
@@ -7137,7 +7263,7 @@ defaults to @var{from} + (@var{end} - @var{start}).
@end deffn
string-xcopy!
-@c snarfed from srfi-13.c:3062
+@c snarfed from srfi-13.c:3067
@deffn {Scheme Procedure} string-xcopy! target tstart s sfrom [sto [start [end]]]
@deffnx {C Function} scm_string_xcopy_x (target, tstart, s, sfrom, sto, start, end)
Exactly the same as @code{xsubstring}, but the extracted text
@@ -7148,7 +7274,7 @@ cannot copy a string on top of itself.
@end deffn
string-replace
-@c snarfed from srfi-13.c:3112
+@c snarfed from srfi-13.c:3117
@deffn {Scheme Procedure} string-replace s1 s2 [start1 [end1 [start2 [end2]]]]
@deffnx {C Function} scm_string_replace (s1, s2, start1, end1, start2, end2)
Return the string @var{s1}, but with the characters
@@ -7157,7 +7283,7 @@ Return the string @var{s1}, but with the characters
@end deffn
string-tokenize
-@c snarfed from srfi-13.c:3149
+@c snarfed from srfi-13.c:3154
@deffn {Scheme Procedure} string-tokenize s [token_set [start [end]]]
@deffnx {C Function} scm_string_tokenize (s, token_set, start, end)
Split the string @var{s} into a list of substrings, where each
@@ -7170,7 +7296,7 @@ of @var{s}.
@end deffn
string-split
-@c snarfed from srfi-13.c:3215
+@c snarfed from srfi-13.c:3220
@deffn {Scheme Procedure} string-split str chr
@deffnx {C Function} scm_string_split (str, chr)
Split the string @var{str} into the a list of the substrings delimited
@@ -7194,7 +7320,7 @@ result list.
@end deffn
string-filter
-@c snarfed from srfi-13.c:3253
+@c snarfed from srfi-13.c:3258
@deffn {Scheme Procedure} string-filter s char_pred [start [end]]
@deffnx {C Function} scm_string_filter (s, char_pred, start, end)
Filter the string @var{s}, retaining only those characters that
@@ -7205,7 +7331,7 @@ character set, it is tested for membership.
@end deffn
string-delete
-@c snarfed from srfi-13.c:3325
+@c snarfed from srfi-13.c:3330
@deffn {Scheme Procedure} string-delete s char_pred [start [end]]
@deffnx {C Function} scm_string_delete (s, char_pred, start, end)
Filter the string @var{s}, retaining only those characters that
@@ -8084,112 +8210,114 @@ Change the binding of @var{symbol}'s property slot.
@end deffn
call-with-new-thread
-@c snarfed from threads.c:428
-@deffn {Scheme Procedure} call-with-new-thread thunk handler
+@c snarfed from threads.c:594
+@deffn {Scheme Procedure} call-with-new-thread thunk [handler]
@deffnx {C Function} scm_call_with_new_thread (thunk, handler)
-Evaluate @code{(@var{thunk})} in a new thread, and new dynamic context, returning a new thread object representing the thread. If an error occurs during evaluation, call error-thunk, passing it an error code describing the condition. If this happens, the error-thunk is called outside the scope of the new root -- it is called in the same dynamic context in which with-new-thread was evaluated, but not in the callers thread. All the evaluation rules for dynamic roots apply to threads.
+Call @code{thunk} in a new thread and with a new dynamic state,
+returning a new thread object representing the thread. The procedure
+@var{thunk} is called via @code{with-continuation-barrier}.
+
+When @var{handler} is specified, then @var{thunk} is called from
+within a @code{catch} with tag @code{#t} that has @var{handler} as its
+handler. This catch is established inside the continuation barrier.
+
+Once @var{thunk} or @var{handler} returns, the return value is made
+the @emph{exit value} of the thread and the thread is terminated.
@end deffn
yield
-@c snarfed from threads.c:443
+@c snarfed from threads.c:705
@deffn {Scheme Procedure} yield
@deffnx {C Function} scm_yield ()
Move the calling thread to the end of the scheduling queue.
@end deffn
join-thread
-@c snarfed from threads.c:453
+@c snarfed from threads.c:715
@deffn {Scheme Procedure} join-thread thread
@deffnx {C Function} scm_join_thread (thread)
Suspend execution of the calling thread until the target @var{thread} terminates, unless the target @var{thread} has already terminated.
@end deffn
- make-fair-mutex
-@c snarfed from threads.c:508
-@deffn {Scheme Procedure} make-fair-mutex
-@deffnx {C Function} scm_make_fair_mutex ()
-Create a new fair mutex object.
-@end deffn
-
- make-fair-condition-variable
-@c snarfed from threads.c:628
-@deffn {Scheme Procedure} make-fair-condition-variable
-@deffnx {C Function} scm_make_fair_condition_variable ()
-Make a new fair condition variable.
-@end deffn
-
make-mutex
-@c snarfed from threads.c:691
+@c snarfed from threads.c:811
@deffn {Scheme Procedure} make-mutex
@deffnx {C Function} scm_make_mutex ()
-Create a new mutex object.
+Create a new mutex.
+@end deffn
+
+ make-recursive-mutex
+@c snarfed from threads.c:820
+@deffn {Scheme Procedure} make-recursive-mutex
+@deffnx {C Function} scm_make_recursive_mutex ()
+Create a new recursive mutex.
@end deffn
lock-mutex
-@c snarfed from threads.c:707
+@c snarfed from threads.c:866
@deffn {Scheme Procedure} lock-mutex mx
@deffnx {C Function} scm_lock_mutex (mx)
Lock @var{mutex}. If the mutex is already locked, the calling thread blocks until the mutex becomes available. The function returns when the calling thread owns the lock on @var{mutex}. Locking a mutex that a thread already owns will succeed right away and will not block the thread. That is, Guile's mutexes are @emph{recursive}.
@end deffn
try-mutex
-@c snarfed from threads.c:733
-@deffn {Scheme Procedure} try-mutex mx
-@deffnx {C Function} scm_try_mutex (mx)
+@c snarfed from threads.c:905
+@deffn {Scheme Procedure} try-mutex mutex
+@deffnx {C Function} scm_try_mutex (mutex)
Try to lock @var{mutex}. If the mutex is already locked by someone else, return @code{#f}. Else lock the mutex and return @code{#t}.
@end deffn
unlock-mutex
-@c snarfed from threads.c:768
+@c snarfed from threads.c:950
@deffn {Scheme Procedure} unlock-mutex mx
@deffnx {C Function} scm_unlock_mutex (mx)
Unlocks @var{mutex} if the calling thread owns the lock on @var{mutex}. Calling unlock-mutex on a mutex not owned by the current thread results in undefined behaviour. Once a mutex has been unlocked, one thread blocked on @var{mutex} is awakened and grabs the mutex lock. Every call to @code{lock-mutex} by this thread must be matched with a call to @code{unlock-mutex}. Only the last call to @code{unlock-mutex} will actually unlock the mutex.
@end deffn
make-condition-variable
-@c snarfed from threads.c:808
+@c snarfed from threads.c:1026
@deffn {Scheme Procedure} make-condition-variable
@deffnx {C Function} scm_make_condition_variable ()
Make a new condition variable.
@end deffn
wait-condition-variable
-@c snarfed from threads.c:827
+@c snarfed from threads.c:1099
@deffn {Scheme Procedure} wait-condition-variable cv mx [t]
@deffnx {C Function} scm_timed_wait_condition_variable (cv, mx, t)
Wait until @var{cond-var} has been signalled. While waiting, @var{mutex} is atomically unlocked (as with @code{unlock-mutex}) and is locked again when this function returns. When @var{time} is given, it specifies a point in time where the waiting should be aborted. It can be either a integer as returned by @code{current-time} or a pair as returned by @code{gettimeofday}. When the waiting is aborted the mutex is locked and @code{#f} is returned. When the condition variable is in fact signalled, the mutex is also locked and @code{#t} is returned.
@end deffn
signal-condition-variable
-@c snarfed from threads.c:884
+@c snarfed from threads.c:1138
@deffn {Scheme Procedure} signal-condition-variable cv
@deffnx {C Function} scm_signal_condition_variable (cv)
Wake up one thread that is waiting for @var{cv}
@end deffn
broadcast-condition-variable
-@c snarfed from threads.c:901
+@c snarfed from threads.c:1158
@deffn {Scheme Procedure} broadcast-condition-variable cv
@deffnx {C Function} scm_broadcast_condition_variable (cv)
Wake up all threads that are waiting for @var{cv}.
@end deffn
current-thread
-@c snarfed from threads.c:1105
+@c snarfed from threads.c:1335
@deffn {Scheme Procedure} current-thread
@deffnx {C Function} scm_current_thread ()
Return the thread that called this function.
@end deffn
all-threads
-@c snarfed from threads.c:1114
+@c snarfed from threads.c:1353
@deffn {Scheme Procedure} all-threads
@deffnx {C Function} scm_all_threads ()
Return a list of all threads.
@end deffn
thread-exited?
-@c snarfed from threads.c:1129
+@c snarfed from threads.c:1379
@deffn {Scheme Procedure} thread-exited? thread
@deffnx {C Function} scm_thread_exited_p (thread)
Return @code{#t} iff @var{thread} has exited.
@@ -8197,7 +8325,7 @@ Return @code{#t} iff @var{thread} has exited.
@end deffn
catch
-@c snarfed from throw.c:510
+@c snarfed from throw.c:511
@deffn {Scheme Procedure} catch key thunk handler
@deffnx {C Function} scm_catch (key, thunk, handler)
Invoke @var{thunk} in the dynamic context of @var{handler} for
@@ -8221,7 +8349,7 @@ match this call to @code{catch}.
@end deffn
lazy-catch
-@c snarfed from throw.c:538
+@c snarfed from throw.c:539
@deffn {Scheme Procedure} lazy-catch key thunk handler
@deffnx {C Function} scm_lazy_catch (key, thunk, handler)
This behaves exactly like @code{catch}, except that it does
@@ -8231,7 +8359,7 @@ it must throw to another catch, or otherwise exit non-locally.
@end deffn
throw
-@c snarfed from throw.c:571
+@c snarfed from throw.c:572
@deffn {Scheme Procedure} throw key . args
@deffnx {C Function} scm_throw (key, args)
Invoke the catch form matching @var{key}, passing @var{args} to the
@@ -8303,7 +8431,7 @@ Throws an error if @var{var} is not a variable object.
@end deffn
vector?
-@c snarfed from vectors.c:35
+@c snarfed from vectors.c:91
@deffn {Scheme Procedure} vector? obj
@deffnx {C Function} scm_vector_p (obj)
Return @code{#t} if @var{obj} is a vector, otherwise return
@@ -8311,13 +8439,13 @@ Return @code{#t} if @var{obj} is a vector, otherwise return
@end deffn
list->vector
-@c snarfed from vectors.c:72
+@c snarfed from vectors.c:123
@deffn {Scheme Procedure} list->vector
implemented by the C function "scm_vector"
@end deffn
vector
-@c snarfed from vectors.c:89
+@c snarfed from vectors.c:140
@deffn {Scheme Procedure} vector . l
@deffnx {Scheme Procedure} list->vector l
@deffnx {C Function} scm_vector (l)
@@ -8330,7 +8458,7 @@ given arguments. Analogous to @code{list}.
@end deffn
make-vector
-@c snarfed from vectors.c:213
+@c snarfed from vectors.c:276
@deffn {Scheme Procedure} make-vector k [fill]
@deffnx {C Function} scm_make_vector (k, fill)
Return a newly allocated vector of @var{k} elements. If a
@@ -8339,8 +8467,15 @@ second argument is given, then each position is initialized to
unspecified.
@end deffn
+ vector-copy
+@c snarfed from vectors.c:318
+@deffn {Scheme Procedure} vector-copy vec
+@deffnx {C Function} scm_vector_copy (vec)
+Return a copy of @var{vec}.
+@end deffn
+
vector->list
-@c snarfed from vectors.c:261
+@c snarfed from vectors.c:389
@deffn {Scheme Procedure} vector->list v
@deffnx {C Function} scm_vector_to_list (v)
Return a newly allocated list composed of the elements of @var{v}.
@@ -8352,7 +8487,7 @@ Return a newly allocated list composed of the elements of @var{v}.
@end deffn
vector-fill!
-@c snarfed from vectors.c:278
+@c snarfed from vectors.c:413
@deffn {Scheme Procedure} vector-fill! v fill
@deffnx {C Function} scm_vector_fill_x (v, fill)
Store @var{fill} in every position of @var{vector}. The value
@@ -8360,7 +8495,7 @@ returned by @code{vector-fill!} is unspecified.
@end deffn
vector-move-left!
-@c snarfed from vectors.c:310
+@c snarfed from vectors.c:450
@deffn {Scheme Procedure} vector-move-left! vec1 start1 end1 vec2 start2
@deffnx {C Function} scm_vector_move_left_x (vec1, start1, end1, vec2, start2)
Copy elements from @var{vec1}, positions @var{start1} to @var{end1},
@@ -8374,7 +8509,7 @@ same vector, @code{vector-move-left!} is usually appropriate when
@end deffn
vector-move-right!
-@c snarfed from vectors.c:340
+@c snarfed from vectors.c:488
@deffn {Scheme Procedure} vector-move-right! vec1 start1 end1 vec2 start2
@deffnx {C Function} scm_vector_move_right_x (vec1, start1, end1, vec2, start2)
Copy elements from @var{vec1}, positions @var{start1} to @var{end1},
@@ -8387,6 +8522,45 @@ same vector, @code{vector-move-right!} is usually appropriate when
@var{start1} is less than @var{start2}.
@end deffn
+ generalized-vector?
+@c snarfed from vectors.c:537
+@deffn {Scheme Procedure} generalized-vector? obj
+@deffnx {C Function} scm_generalized_vector_p (obj)
+Return @code{#t} if @var{obj} is a vector, string,
+bitvector, or uniform numeric vector.
+@end deffn
+
+ generalized-vector-length
+@c snarfed from vectors.c:569
+@deffn {Scheme Procedure} generalized-vector-length v
+@deffnx {C Function} scm_generalized_vector_length (v)
+Return the length of the generalized vector @var{v}.
+@end deffn
+
+ generalized-vector-ref
+@c snarfed from vectors.c:594
+@deffn {Scheme Procedure} generalized-vector-ref v idx
+@deffnx {C Function} scm_generalized_vector_ref (v, idx)
+Return the element at index @var{idx} of the
+generalized vector @var{v}.
+@end deffn
+
+ generalized-vector-set!
+@c snarfed from vectors.c:619
+@deffn {Scheme Procedure} generalized-vector-set! v idx val
+@deffnx {C Function} scm_generalized_vector_set_x (v, idx, val)
+Set the element at index @var{idx} of the
+generalized vector @var{v} to @var{val}.
+@end deffn
+
+ generalized-vector->list
+@c snarfed from vectors.c:630
+@deffn {Scheme Procedure} generalized-vector->list v
+@deffnx {C Function} scm_generalized_vector_to_list (v)
+Return a new list whose elements are the elements of the
+generalized vector @var{v}.
+@end deffn
+
major-version
@c snarfed from version.c:35
@deffn {Scheme Procedure} major-version
@@ -8444,7 +8618,7 @@ Return a string describing Guile's effective version number.
@end deffn
make-soft-port
-@c snarfed from vports.c:183
+@c snarfed from vports.c:185
@deffn {Scheme Procedure} make-soft-port pv modes
@deffnx {C Function} scm_make_soft_port (pv, modes)
Return a port capable of receiving or delivering characters as
@@ -8494,7 +8668,7 @@ For example:
@end deffn
make-weak-vector
-@c snarfed from weaks.c:117
+@c snarfed from weaks.c:74
@deffn {Scheme Procedure} make-weak-vector size [fill]
@deffnx {C Function} scm_make_weak_vector (size, fill)
Return a weak vector with @var{size} elements. If the optional
@@ -8504,13 +8678,13 @@ empty list.
@end deffn
list->weak-vector
-@c snarfed from weaks.c:125
+@c snarfed from weaks.c:82
@deffn {Scheme Procedure} list->weak-vector
implemented by the C function "scm_weak_vector"
@end deffn
weak-vector
-@c snarfed from weaks.c:133
+@c snarfed from weaks.c:90
@deffn {Scheme Procedure} weak-vector . l
@deffnx {Scheme Procedure} list->weak-vector l
@deffnx {C Function} scm_weak_vector (l)
@@ -8521,7 +8695,7 @@ the same way @code{list->vector} would.
@end deffn
weak-vector?
-@c snarfed from weaks.c:164
+@c snarfed from weaks.c:120
@deffn {Scheme Procedure} weak-vector? obj
@deffnx {C Function} scm_weak_vector_p (obj)
Return @code{#t} if @var{obj} is a weak vector. Note that all
@@ -8529,7 +8703,7 @@ weak hashes are also weak vectors.
@end deffn
make-weak-key-alist-vector
-@c snarfed from weaks.c:182
+@c snarfed from weaks.c:138
@deffn {Scheme Procedure} make-weak-key-alist-vector [size]
@deffnx {Scheme Procedure} make-weak-value-alist-vector size
@deffnx {Scheme Procedure} make-doubly-weak-alist-vector size
@@ -8543,7 +8717,7 @@ would modify regular hash tables. (@pxref{Hash Tables})
@end deffn
make-weak-value-alist-vector
-@c snarfed from weaks.c:194
+@c snarfed from weaks.c:150
@deffn {Scheme Procedure} make-weak-value-alist-vector [size]
@deffnx {C Function} scm_make_weak_value_alist_vector (size)
Return a hash table with weak values with @var{size} buckets.
@@ -8551,7 +8725,7 @@ Return a hash table with weak values with @var{size} buckets.
@end deffn
make-doubly-weak-alist-vector
-@c snarfed from weaks.c:206
+@c snarfed from weaks.c:162
@deffn {Scheme Procedure} make-doubly-weak-alist-vector size
@deffnx {C Function} scm_make_doubly_weak_alist_vector (size)
Return a hash table with weak keys and values with @var{size}
@@ -8559,7 +8733,7 @@ buckets. (@pxref{Hash Tables})
@end deffn
weak-key-alist-vector?
-@c snarfed from weaks.c:221
+@c snarfed from weaks.c:177
@deffn {Scheme Procedure} weak-key-alist-vector? obj
@deffnx {Scheme Procedure} weak-value-alist-vector? obj
@deffnx {Scheme Procedure} doubly-weak-alist-vector? obj
@@ -8570,115 +8744,21 @@ nor a weak value hash table.
@end deffn
weak-value-alist-vector?
-@c snarfed from weaks.c:231
+@c snarfed from weaks.c:187
@deffn {Scheme Procedure} weak-value-alist-vector? obj
@deffnx {C Function} scm_weak_value_alist_vector_p (obj)
Return @code{#t} if @var{obj} is a weak value hash table.
@end deffn
doubly-weak-alist-vector?
-@c snarfed from weaks.c:241
+@c snarfed from weaks.c:197
@deffn {Scheme Procedure} doubly-weak-alist-vector? obj
@deffnx {C Function} scm_doubly_weak_alist_vector_p (obj)
Return @code{#t} if @var{obj} is a doubly weak hash table.
@end deffn
- dynamic-link
-@c snarfed from dynl.c:149
-@deffn {Scheme Procedure} dynamic-link filename
-@deffnx {C Function} scm_dynamic_link (filename)
-Find the shared object (shared library) denoted by
-@var{filename} and link it into the running Guile
-application. The returned
-scheme object is a ``handle'' for the library which can
-be passed to @code{dynamic-func}, @code{dynamic-call} etc.
-
-Searching for object files is system dependent. Normally,
-if @var{filename} does have an explicit directory it will
-be searched for in locations
-such as @file{/usr/lib} and @file{/usr/local/lib}.
-@end deffn
-
- dynamic-object?
-@c snarfed from dynl.c:168
-@deffn {Scheme Procedure} dynamic-object? obj
-@deffnx {C Function} scm_dynamic_object_p (obj)
-Return @code{#t} if @var{obj} is a dynamic object handle,
-or @code{#f} otherwise.
-@end deffn
-
- dynamic-unlink
-@c snarfed from dynl.c:182
-@deffn {Scheme Procedure} dynamic-unlink dobj
-@deffnx {C Function} scm_dynamic_unlink (dobj)
-Unlink a dynamic object from the application, if possible. The
-object must have been linked by @code{dynamic-link}, with
-@var{dobj} the corresponding handle. After this procedure
-is called, the handle can no longer be used to access the
-object.
-@end deffn
-
- dynamic-func
-@c snarfed from dynl.c:207
-@deffn {Scheme Procedure} dynamic-func name dobj
-@deffnx {C Function} scm_dynamic_func (name, dobj)
-Return a ``handle'' for the function @var{name} in the
-shared object referred to by @var{dobj}. The handle
-can be passed to @code{dynamic-call} to actually
-call the function.
-
-Regardless whether your C compiler prepends an underscore
-@samp{_} to the global names in a program, you should
-@strong{not} include this underscore in @var{name}
-since it will be added automatically when necessary.
-@end deffn
-
- dynamic-call
-@c snarfed from dynl.c:253
-@deffn {Scheme Procedure} dynamic-call func dobj
-@deffnx {C Function} scm_dynamic_call (func, dobj)
-Call a C function in a dynamic object. Two styles of
-invocation are supported:
-
-@itemize @bullet
-@item @var{func} can be a function handle returned by
-@code{dynamic-func}. In this case @var{dobj} is
-ignored
-@item @var{func} can be a string with the name of the
-function to call, with @var{dobj} the handle of the
-dynamic object in which to find the function.
-This is equivalent to
-@smallexample
-
-(dynamic-call (dynamic-func @var{func} @var{dobj}) #f)
-@end smallexample
-@end itemize
-
-In either case, the function is passed no arguments
-and its return value is ignored.
-@end deffn
-
- dynamic-args-call
-@c snarfed from dynl.c:285
-@deffn {Scheme Procedure} dynamic-args-call func dobj args
-@deffnx {C Function} scm_dynamic_args_call (func, dobj, args)
-Call the C function indicated by @var{func} and @var{dobj},
-just like @code{dynamic-call}, but pass it some arguments and
-return its return value. The C function is expected to take
-two arguments and return an @code{int}, just like @code{main}:
-@smallexample
-int c_func (int argc, char **argv);
-@end smallexample
-
-The parameter @var{args} must be a list of strings and is
-converted into an array of @code{char *}. The array is passed
-in @var{argv} and its size in @var{argc}. The return value is
-converted to a Scheme number and returned from the call to
-@code{dynamic-args-call}.
-@end deffn
-
array-fill!
-@c snarfed from ramap.c:406
+@c snarfed from ramap.c:352
@deffn {Scheme Procedure} array-fill! ra fill
@deffnx {C Function} scm_array_fill_x (ra, fill)
Store @var{fill} in every element of @var{array}. The value returned
@@ -8686,13 +8766,13 @@ is unspecified.
@end deffn
array-copy-in-order!
-@c snarfed from ramap.c:461
+@c snarfed from ramap.c:399
@deffn {Scheme Procedure} array-copy-in-order!
implemented by the C function "scm_array_copy_x"
@end deffn
array-copy!
-@c snarfed from ramap.c:470
+@c snarfed from ramap.c:408
@deffn {Scheme Procedure} array-copy! src dst
@deffnx {Scheme Procedure} array-copy-in-order! src dst
@deffnx {C Function} scm_array_copy_x (src, dst)
@@ -8703,13 +8783,13 @@ dimension. The order is unspecified.
@end deffn
array-map-in-order!
-@c snarfed from ramap.c:894
+@c snarfed from ramap.c:798
@deffn {Scheme Procedure} array-map-in-order!
implemented by the C function "scm_array_map_x"
@end deffn
array-map!
-@c snarfed from ramap.c:905
+@c snarfed from ramap.c:809
@deffn {Scheme Procedure} array-map! ra0 proc . lra
@deffnx {Scheme Procedure} array-map-in-order! ra0 proc . lra
@deffnx {C Function} scm_array_map_x (ra0, proc, lra)
@@ -8722,7 +8802,7 @@ unspecified. The order of application is unspecified.
@end deffn
array-for-each
-@c snarfed from ramap.c:1051
+@c snarfed from ramap.c:950
@deffn {Scheme Procedure} array-for-each proc ra0 . lra
@deffnx {C Function} scm_array_for_each (proc, ra0, lra)
Apply @var{proc} to each tuple of elements of @var{array0} @dots{}
@@ -8730,7 +8810,7 @@ in row-major order. The value returned is unspecified.
@end deffn
array-index-map!
-@c snarfed from ramap.c:1079
+@c snarfed from ramap.c:978
@deffn {Scheme Procedure} array-index-map! ra proc
@deffnx {C Function} scm_array_index_map_x (ra, proc)
Apply @var{proc} to the indices of each element of @var{array} in
@@ -8754,27 +8834,34 @@ Another example:
@end deffn
array?
-@c snarfed from unif.c:205
-@deffn {Scheme Procedure} array? v [prot]
-@deffnx {C Function} scm_array_p (v, prot)
+@c snarfed from unif.c:501
+@deffn {Scheme Procedure} array? obj [prot]
+@deffnx {C Function} scm_array_p (obj, prot)
Return @code{#t} if the @var{obj} is an array, and @code{#f} if
-not. The @var{prototype} argument is used with uniform arrays
-and is described elsewhere.
+not.
+@end deffn
+
+ typed-array?
+@c snarfed from unif.c:548
+@deffn {Scheme Procedure} typed-array? obj type
+@deffnx {C Function} scm_typed_array_p (obj, type)
+Return @code{#t} if the @var{obj} is an array of type
+@var{type}, and @code{#f} if not.
@end deffn
array-rank
-@c snarfed from unif.c:241
-@deffn {Scheme Procedure} array-rank ra
-@deffnx {C Function} scm_array_rank (ra)
-Return the number of dimensions of @var{obj}. If @var{obj} is
-not an array, @code{0} is returned.
+@c snarfed from unif.c:569
+@deffn {Scheme Procedure} array-rank array
+@deffnx {C Function} scm_array_rank (array)
+Return the number of dimensions of the array @var{array.}
+
@end deffn
array-dimensions
-@c snarfed from unif.c:261
+@c snarfed from unif.c:583
@deffn {Scheme Procedure} array-dimensions ra
@deffnx {C Function} scm_array_dimensions (ra)
-@code{Array-dimensions} is similar to @code{array-shape} but replaces
+@code{array-dimensions} is similar to @code{array-shape} but replaces
elements with a @code{0} minimum with one greater than the maximum. So:
@lisp
(array-dimensions (make-array 'foo '(-1 3) 5)) @result{} ((-1 3) 5)
@@ -8782,28 +8869,42 @@ elements with a @code{0} minimum with one greater than the maximum. So:
@end deffn
shared-array-root
-@c snarfed from unif.c:292
+@c snarfed from unif.c:611
@deffn {Scheme Procedure} shared-array-root ra
@deffnx {C Function} scm_shared_array_root (ra)
Return the root vector of a shared array.
@end deffn
shared-array-offset
-@c snarfed from unif.c:303
+@c snarfed from unif.c:625
@deffn {Scheme Procedure} shared-array-offset ra
@deffnx {C Function} scm_shared_array_offset (ra)
Return the root vector index of the first element in the array.
@end deffn
shared-array-increments
-@c snarfed from unif.c:314
+@c snarfed from unif.c:641
@deffn {Scheme Procedure} shared-array-increments ra
@deffnx {C Function} scm_shared_array_increments (ra)
For each dimension, return the distance between elements in the root vector.
@end deffn
+ make-typed-array
+@c snarfed from unif.c:740
+@deffn {Scheme Procedure} make-typed-array type fill . bounds
+@deffnx {C Function} scm_make_typed_array (type, fill, bounds)
+Create and return an array of type @var{type}.
+@end deffn
+
+ make-array
+@c snarfed from unif.c:775
+@deffn {Scheme Procedure} make-array fill . bounds
+@deffnx {C Function} scm_make_array (fill, bounds)
+Create and return an array.
+@end deffn
+
dimensions->uniform-array
-@c snarfed from unif.c:433
+@c snarfed from unif.c:790
@deffn {Scheme Procedure} dimensions->uniform-array dims prot [fill]
@deffnx {Scheme Procedure} make-uniform-vector length prototype [fill]
@deffnx {C Function} scm_dimensions_to_uniform_array (dims, prot, fill)
@@ -8814,7 +8915,7 @@ fill the array, otherwise @var{prototype} is used.
@end deffn
make-shared-array
-@c snarfed from unif.c:522
+@c snarfed from unif.c:843
@deffn {Scheme Procedure} make-shared-array oldra mapfunc . dims
@deffnx {C Function} scm_make_shared_array (oldra, mapfunc, dims)
@code{make-shared-array} can be used to create shared subarrays of other
@@ -8835,7 +8936,7 @@ it can be otherwise arbitrary. A simple example:
@end deffn
transpose-array
-@c snarfed from unif.c:653
+@c snarfed from unif.c:961
@deffn {Scheme Procedure} transpose-array ra . args
@deffnx {C Function} scm_transpose_array (ra, args)
Return an array sharing contents with @var{array}, but with
@@ -8860,7 +8961,7 @@ have smaller rank than @var{array}.
@end deffn
enclose-array
-@c snarfed from unif.c:752
+@c snarfed from unif.c:1059
@deffn {Scheme Procedure} enclose-array ra . axes
@deffnx {C Function} scm_enclose_array (ra, axes)
@var{dim0}, @var{dim1} @dots{} should be nonnegative integers less than
@@ -8887,7 +8988,7 @@ examples:
@end deffn
array-in-bounds?
-@c snarfed from unif.c:825
+@c snarfed from unif.c:1132
@deffn {Scheme Procedure} array-in-bounds? v . args
@deffnx {C Function} scm_array_in_bounds_p (v, args)
Return @code{#t} if its arguments would be acceptable to
@@ -8895,21 +8996,15 @@ Return @code{#t} if its arguments would be acceptable to
@end deffn
array-ref
-@c snarfed from unif.c:895
+@c snarfed from unif.c:1209
@deffn {Scheme Procedure} array-ref v . args
@deffnx {C Function} scm_array_ref (v, args)
Return the element at the @code{(index1, index2)} element in
@var{array}.
@end deffn
- uniform-array-set1!
-@c snarfed from unif.c:980
-@deffn {Scheme Procedure} uniform-array-set1!
-implemented by the C function "scm_array_set_x"
-@end deffn
-
array-set!
-@c snarfed from unif.c:988
+@c snarfed from unif.c:1226
@deffn {Scheme Procedure} array-set! v obj . args
@deffnx {C Function} scm_array_set_x (v, obj, args)
Set the element at the @code{(index1, index2)} element in @var{array} to
@@ -8917,7 +9012,7 @@ Set the element at the @code{(index1, index2)} element in @var{array} to
@end deffn
array-contents
-@c snarfed from unif.c:1041
+@c snarfed from unif.c:1252
@deffn {Scheme Procedure} array-contents ra [strict]
@deffnx {C Function} scm_array_contents (ra, strict)
If @var{array} may be @dfn{unrolled} into a one dimensional shared array
@@ -8933,10 +9028,10 @@ memory.
@end deffn
uniform-array-read!
-@c snarfed from unif.c:1139
-@deffn {Scheme Procedure} uniform-array-read! ra [port_or_fd [start [end]]]
+@c snarfed from unif.c:1352
+@deffn {Scheme Procedure} uniform-array-read! ura [port_or_fd [start [end]]]
@deffnx {Scheme Procedure} uniform-vector-read! uve [port-or-fdes] [start] [end]
-@deffnx {C Function} scm_uniform_array_read_x (ra, port_or_fd, start, end)
+@deffnx {C Function} scm_uniform_array_read_x (ura, port_or_fd, start, end)
Attempt to read all elements of @var{ura}, in lexicographic order, as
binary objects from @var{port-or-fdes}.
If an end of file is encountered,
@@ -8954,10 +9049,9 @@ returned by @code{(current-input-port)}.
@end deffn
uniform-array-write
-@c snarfed from unif.c:1301
-@deffn {Scheme Procedure} uniform-array-write v [port_or_fd [start [end]]]
-@deffnx {Scheme Procedure} uniform-vector-write uve [port-or-fdes] [start] [end]
-@deffnx {C Function} scm_uniform_array_write (v, port_or_fd, start, end)
+@c snarfed from unif.c:1406
+@deffn {Scheme Procedure} uniform-array-write ura [port_or_fd [start [end]]]
+@deffnx {C Function} scm_uniform_array_write (ura, port_or_fd, start, end)
Writes all elements of @var{ura} as binary objects to
@var{port-or-fdes}.
@@ -8972,15 +9066,15 @@ omitted, in which case it defaults to the value returned by
@end deffn
bitvector?
-@c snarfed from unif.c:1471
+@c snarfed from unif.c:1518
@deffn {Scheme Procedure} bitvector? obj
@deffnx {C Function} scm_bitvector_p (obj)
Return @code{#t} when @var{obj} is a bitvector, else
-return @code{@#f}.
+return @code{#f}.
@end deffn
make-bitvector
-@c snarfed from unif.c:1498
+@c snarfed from unif.c:1545
@deffn {Scheme Procedure} make-bitvector len [fill]
@deffnx {C Function} scm_make_bitvector (len, fill)
Create a new bitvector of length @var{len} and
@@ -8988,21 +9082,21 @@ optionally initialize all elements to @var{fill}.
@end deffn
bitvector
-@c snarfed from unif.c:1507
+@c snarfed from unif.c:1554
@deffn {Scheme Procedure} bitvector . bits
@deffnx {C Function} scm_bitvector (bits)
Create a new bitvector with the arguments as elements.
@end deffn
bitvector-length
-@c snarfed from unif.c:1523
+@c snarfed from unif.c:1570
@deffn {Scheme Procedure} bitvector-length vec
@deffnx {C Function} scm_bitvector_length (vec)
Return the length of the bitvector @var{vec}.
@end deffn
bitvector-ref
-@c snarfed from unif.c:1573
+@c snarfed from unif.c:1661
@deffn {Scheme Procedure} bitvector-ref vec idx
@deffnx {C Function} scm_bitvector_ref (vec, idx)
Return the element at index @var{idx} of the bitvector
@@ -9010,7 +9104,7 @@ Return the element at index @var{idx} of the bitvector
@end deffn
bitvector-set!
-@c snarfed from unif.c:1600
+@c snarfed from unif.c:1704
@deffn {Scheme Procedure} bitvector-set! vec idx val
@deffnx {C Function} scm_bitvector_set_x (vec, idx, val)
Set the element at index @var{idx} of the bitvector
@@ -9018,7 +9112,7 @@ Set the element at index @var{idx} of the bitvector
@end deffn
bitvector-fill!
-@c snarfed from unif.c:1611
+@c snarfed from unif.c:1715
@deffn {Scheme Procedure} bitvector-fill! vec val
@deffnx {C Function} scm_bitvector_fill_x (vec, val)
Set all elements of the bitvector
@@ -9026,7 +9120,7 @@ Set all elements of the bitvector
@end deffn
list->bitvector
-@c snarfed from unif.c:1626
+@c snarfed from unif.c:1760
@deffn {Scheme Procedure} list->bitvector list
@deffnx {C Function} scm_list_to_bitvector (list)
Return a new bitvector initialized with the elements
@@ -9034,7 +9128,7 @@ of @var{list}.
@end deffn
bitvector->list
-@c snarfed from unif.c:1653
+@c snarfed from unif.c:1790
@deffn {Scheme Procedure} bitvector->list vec
@deffnx {C Function} scm_bitvector_to_list (vec)
Return a new list initialized with the elements
@@ -9042,7 +9136,7 @@ of the bitvector @var{vec}.
@end deffn
bit-count
-@c snarfed from unif.c:1699
+@c snarfed from unif.c:1854
@deffn {Scheme Procedure} bit-count b bitvector
@deffnx {C Function} scm_bit_count (b, bitvector)
Return the number of occurrences of the boolean @var{b} in
@@ -9050,7 +9144,7 @@ Return the number of occurrences of the boolean @var{b} in
@end deffn
bit-position
-@c snarfed from unif.c:1752
+@c snarfed from unif.c:1923
@deffn {Scheme Procedure} bit-position item v k
@deffnx {C Function} scm_bit_position (item, v, k)
Return the index of the first occurrance of @var{item} in bit
@@ -9065,7 +9159,7 @@ vector @var{v}, starting from @var{k}. If there is no
@end deffn
bit-set*!
-@c snarfed from unif.c:1817
+@c snarfed from unif.c:2006
@deffn {Scheme Procedure} bit-set*! v kv obj
@deffnx {C Function} scm_bit_set_star_x (v, kv, obj)
Set entries of bit vector @var{v} to @var{obj}, with @var{kv}
@@ -9097,7 +9191,7 @@ bv
@end deffn
bit-count*
-@c snarfed from unif.c:1892
+@c snarfed from unif.c:2109
@deffn {Scheme Procedure} bit-count* v kv obj
@deffnx {C Function} scm_bit_count_star (v, kv, obj)
Return a count of how many entries in bit vector @var{v} are
@@ -9120,7 +9214,7 @@ For example,
@end deffn
bit-invert!
-@c snarfed from unif.c:1954
+@c snarfed from unif.c:2196
@deffn {Scheme Procedure} bit-invert! v
@deffnx {C Function} scm_bit_invert_x (v)
Modify the bit vector @var{v} by replacing each element with
@@ -9128,17 +9222,42 @@ its negation.
@end deffn
array->list
-@c snarfed from unif.c:2043
+@c snarfed from unif.c:2303
@deffn {Scheme Procedure} array->list v
@deffnx {C Function} scm_array_to_list (v)
Return a list consisting of all the elements, in order, of
@var{array}.
@end deffn
+ list->typed-array
+@c snarfed from unif.c:2332
+@deffn {Scheme Procedure} list->typed-array type shape lst
+@deffnx {C Function} scm_list_to_typed_array (type, shape, lst)
+Return an array of the type @var{type}
+with elements the same as those of @var{lst}.
+
+The argument @var{shape} determines the number of dimensions
+of the array and their shape. It is either an exact integer,
+giving the
+number of dimensions directly, or a list whose length
+specifies the number of dimensions and each element specified
+the lower and optionally the upper bound of the corresponding
+dimension.
+When the element is list of two elements, these elements
+give the lower and upper bounds. When it is an exact
+integer, it gives only the lower bound.
+@end deffn
+
+ list->array
+@c snarfed from unif.c:2390
+@deffn {Scheme Procedure} list->array ndim lst
+@deffnx {C Function} scm_list_to_array (ndim, lst)
+Return an array with elements the same as those of @var{lst}.
+@end deffn
+
list->uniform-array
-@c snarfed from unif.c:2070
+@c snarfed from unif.c:2440
@deffn {Scheme Procedure} list->uniform-array ndim prot lst
-@deffnx {Scheme Procedure} list->uniform-vector prot lst
@deffnx {C Function} scm_list_to_uniform_array (ndim, prot, lst)
Return a uniform array of the type indicated by prototype
@var{prot} with elements the same as those of @var{lst}.
@@ -9152,17 +9271,15 @@ specifies the number of dimensions and each element is the
lower index bound of its dimension.
@end deffn
- array-creator
-@c snarfed from unif.c:2601
-@deffn {Scheme Procedure} array-creator ra
-@deffnx {C Function} scm_array_creator (ra)
-Return a procedure that would produce an array of the same type
-as @var{array}, if used as the @var{creator} with
-@code{make-uniform-array}.
+ array-type
+@c snarfed from unif.c:2789
+@deffn {Scheme Procedure} array-type ra
+@deffnx {C Function} scm_array_type (ra)
+
@end deffn
array-prototype
-@c snarfed from unif.c:2632
+@c snarfed from unif.c:2809
@deffn {Scheme Procedure} array-prototype ra
@deffnx {C Function} scm_array_prototype (ra)
Return an object that would produce an array of the same type
@@ -9170,6 +9287,100 @@ as @var{array}, if used as the @var{prototype} for
@code{make-uniform-array}.
@end deffn
+ dynamic-link
+@c snarfed from dynl.c:149
+@deffn {Scheme Procedure} dynamic-link filename
+@deffnx {C Function} scm_dynamic_link (filename)
+Find the shared object (shared library) denoted by
+@var{filename} and link it into the running Guile
+application. The returned
+scheme object is a ``handle'' for the library which can
+be passed to @code{dynamic-func}, @code{dynamic-call} etc.
+
+Searching for object files is system dependent. Normally,
+if @var{filename} does have an explicit directory it will
+be searched for in locations
+such as @file{/usr/lib} and @file{/usr/local/lib}.
+@end deffn
+
+ dynamic-object?
+@c snarfed from dynl.c:168
+@deffn {Scheme Procedure} dynamic-object? obj
+@deffnx {C Function} scm_dynamic_object_p (obj)
+Return @code{#t} if @var{obj} is a dynamic object handle,
+or @code{#f} otherwise.
+@end deffn
+
+ dynamic-unlink
+@c snarfed from dynl.c:182
+@deffn {Scheme Procedure} dynamic-unlink dobj
+@deffnx {C Function} scm_dynamic_unlink (dobj)
+Unlink a dynamic object from the application, if possible. The
+object must have been linked by @code{dynamic-link}, with
+@var{dobj} the corresponding handle. After this procedure
+is called, the handle can no longer be used to access the
+object.
+@end deffn
+
+ dynamic-func
+@c snarfed from dynl.c:207
+@deffn {Scheme Procedure} dynamic-func name dobj
+@deffnx {C Function} scm_dynamic_func (name, dobj)
+Return a ``handle'' for the function @var{name} in the
+shared object referred to by @var{dobj}. The handle
+can be passed to @code{dynamic-call} to actually
+call the function.
+
+Regardless whether your C compiler prepends an underscore
+@samp{_} to the global names in a program, you should
+@strong{not} include this underscore in @var{name}
+since it will be added automatically when necessary.
+@end deffn
+
+ dynamic-call
+@c snarfed from dynl.c:253
+@deffn {Scheme Procedure} dynamic-call func dobj
+@deffnx {C Function} scm_dynamic_call (func, dobj)
+Call a C function in a dynamic object. Two styles of
+invocation are supported:
+
+@itemize @bullet
+@item @var{func} can be a function handle returned by
+@code{dynamic-func}. In this case @var{dobj} is
+ignored
+@item @var{func} can be a string with the name of the
+function to call, with @var{dobj} the handle of the
+dynamic object in which to find the function.
+This is equivalent to
+@smallexample
+
+(dynamic-call (dynamic-func @var{func} @var{dobj}) #f)
+@end smallexample
+@end itemize
+
+In either case, the function is passed no arguments
+and its return value is ignored.
+@end deffn
+
+ dynamic-args-call
+@c snarfed from dynl.c:285
+@deffn {Scheme Procedure} dynamic-args-call func dobj args
+@deffnx {C Function} scm_dynamic_args_call (func, dobj, args)
+Call the C function indicated by @var{func} and @var{dobj},
+just like @code{dynamic-call}, but pass it some arguments and
+return its return value. The C function is expected to take
+two arguments and return an @code{int}, just like @code{main}:
+@smallexample
+int c_func (int argc, char **argv);
+@end smallexample
+
+The parameter @var{args} must be a list of strings and is
+converted into an array of @code{char *}. The array is passed
+in @var{argv} and its size in @var{argc}. The return value is
+converted to a Scheme number and returned from the call to
+@code{dynamic-args-call}.
+@end deffn
+
chown
@c snarfed from filesys.c:224
@deffn {Scheme Procedure} chown object owner group
@@ -9437,7 +9648,7 @@ Return the name of the current working directory.
@end deffn
select
-@c snarfed from filesys.c:1163
+@c snarfed from filesys.c:1164
@deffn {Scheme Procedure} select reads writes excepts [secs [usecs]]
@deffnx {C Function} scm_select (reads, writes, excepts, secs, usecs)
This procedure has a variety of uses: waiting for the ability
@@ -9472,7 +9683,7 @@ An additional @code{select!} interface is provided.
@end deffn
fcntl
-@c snarfed from filesys.c:1301
+@c snarfed from filesys.c:1302
@deffn {Scheme Procedure} fcntl object cmd [value]
@deffnx {C Function} scm_fcntl (object, cmd, value)
Apply @var{command} to the specified file descriptor or the underlying
@@ -9503,7 +9714,7 @@ The value used to indicate the "close on exec" flag with @code{F_GETFL} or
@end deffn
fsync
-@c snarfed from filesys.c:1333
+@c snarfed from filesys.c:1334
@deffn {Scheme Procedure} fsync object
@deffnx {C Function} scm_fsync (object)
Copies any unwritten data for the specified output file descriptor to disk.
@@ -9513,7 +9724,7 @@ The return value is unspecified.
@end deffn
symlink
-@c snarfed from filesys.c:1358
+@c snarfed from filesys.c:1359
@deffn {Scheme Procedure} symlink oldpath newpath
@deffnx {C Function} scm_symlink (oldpath, newpath)
Create a symbolic link named @var{path-to} with the value (i.e., pointing to)
@@ -9521,7 +9732,7 @@ Create a symbolic link named @var{path-to} with the value (i.e., pointing to)
@end deffn
readlink
-@c snarfed from filesys.c:1377
+@c snarfed from filesys.c:1378
@deffn {Scheme Procedure} readlink path
@deffnx {C Function} scm_readlink (path)
Return the value of the symbolic link named by @var{path} (a
@@ -9529,7 +9740,7 @@ string), i.e., the file that the link points to.
@end deffn
lstat
-@c snarfed from filesys.c:1419
+@c snarfed from filesys.c:1420
@deffn {Scheme Procedure} lstat str
@deffnx {C Function} scm_lstat (str)
Similar to @code{stat}, but does not follow symbolic links, i.e.,
@@ -9538,7 +9749,7 @@ file it points to. @var{path} must be a string.
@end deffn
copy-file
-@c snarfed from filesys.c:1442
+@c snarfed from filesys.c:1443
@deffn {Scheme Procedure} copy-file oldfile newfile
@deffnx {C Function} scm_copy_file (oldfile, newfile)
Copy the file specified by @var{path-from} to @var{path-to}.
@@ -9546,7 +9757,7 @@ The return value is unspecified.
@end deffn
dirname
-@c snarfed from filesys.c:1505
+@c snarfed from filesys.c:1506
@deffn {Scheme Procedure} dirname filename
@deffnx {C Function} scm_dirname (filename)
Return the directory name component of the file name
@@ -9555,7 +9766,7 @@ component, @code{.} is returned.
@end deffn
basename
-@c snarfed from filesys.c:1548
+@c snarfed from filesys.c:1549
@deffn {Scheme Procedure} basename filename [suffix]
@deffnx {C Function} scm_basename (filename, suffix)
Return the base name of the file name @var{filename}. The
@@ -9565,7 +9776,7 @@ If @var{suffix} is provided, and is equal to the end of
@end deffn
pipe
-@c snarfed from posix.c:232
+@c snarfed from posix.c:233
@deffn {Scheme Procedure} pipe
@deffnx {C Function} scm_pipe ()
Return a newly created pipe: a pair of ports which are linked
@@ -9584,7 +9795,7 @@ from the input port.
@end deffn
getgroups
-@c snarfed from posix.c:253
+@c snarfed from posix.c:254
@deffn {Scheme Procedure} getgroups
@deffnx {C Function} scm_getgroups ()
Return a vector of integers representing the current
@@ -9592,7 +9803,7 @@ supplementary group IDs.
@end deffn
setgroups
-@c snarfed from posix.c:286
+@c snarfed from posix.c:287
@deffn {Scheme Procedure} setgroups group_vec
@deffnx {C Function} scm_setgroups (group_vec)
Set the current set of supplementary group IDs to the integers
@@ -9603,7 +9814,7 @@ Generally only the superuser can set the process group IDs.
@end deffn
getpw
-@c snarfed from posix.c:334
+@c snarfed from posix.c:336
@deffn {Scheme Procedure} getpw [user]
@deffnx {C Function} scm_getpwuid (user)
Look up an entry in the user database. @var{obj} can be an integer,
@@ -9612,7 +9823,7 @@ or getpwent respectively.
@end deffn
setpw
-@c snarfed from posix.c:384
+@c snarfed from posix.c:386
@deffn {Scheme Procedure} setpw [arg]
@deffnx {C Function} scm_setpwent (arg)
If called with a true argument, initialize or reset the password data
@@ -9621,7 +9832,7 @@ stream. Otherwise, close the stream. The @code{setpwent} and
@end deffn
getgr
-@c snarfed from posix.c:403
+@c snarfed from posix.c:405
@deffn {Scheme Procedure} getgr [name]
@deffnx {C Function} scm_getgrgid (name)
Look up an entry in the group database. @var{obj} can be an integer,
@@ -9630,7 +9841,7 @@ or getgrent respectively.
@end deffn
setgr
-@c snarfed from posix.c:439
+@c snarfed from posix.c:441
@deffn {Scheme Procedure} setgr [arg]
@deffnx {C Function} scm_setgrent (arg)
If called with a true argument, initialize or reset the group data
@@ -9639,7 +9850,7 @@ stream. Otherwise, close the stream. The @code{setgrent} and
@end deffn
kill
-@c snarfed from posix.c:475
+@c snarfed from posix.c:477
@deffn {Scheme Procedure} kill pid sig
@deffnx {C Function} scm_kill (pid, sig)
Sends a signal to the specified process or group of processes.
@@ -9672,7 +9883,7 @@ Interrupt signal.
@end deffn
waitpid
-@c snarfed from posix.c:526
+@c snarfed from posix.c:528
@deffn {Scheme Procedure} waitpid pid [options]
@deffnx {C Function} scm_waitpid (pid, options)
This procedure collects status information from a child process which
@@ -9719,7 +9930,7 @@ The integer status value.
@end deffn
status:exit-val
-@c snarfed from posix.c:552
+@c snarfed from posix.c:554
@deffn {Scheme Procedure} status:exit-val status
@deffnx {C Function} scm_status_exit_val (status)
Return the exit status value, as would be set if a process
@@ -9728,7 +9939,7 @@ if any, otherwise @code{#f}.
@end deffn
status:term-sig
-@c snarfed from posix.c:570
+@c snarfed from posix.c:572
@deffn {Scheme Procedure} status:term-sig status
@deffnx {C Function} scm_status_term_sig (status)
Return the signal number which terminated the process, if any,
@@ -9736,7 +9947,7 @@ otherwise @code{#f}.
@end deffn
status:stop-sig
-@c snarfed from posix.c:586
+@c snarfed from posix.c:588
@deffn {Scheme Procedure} status:stop-sig status
@deffnx {C Function} scm_status_stop_sig (status)
Return the signal number which stopped the process, if any,
@@ -9744,7 +9955,7 @@ otherwise @code{#f}.
@end deffn
getppid
-@c snarfed from posix.c:604
+@c snarfed from posix.c:606
@deffn {Scheme Procedure} getppid
@deffnx {C Function} scm_getppid ()
Return an integer representing the process ID of the parent
@@ -9752,21 +9963,21 @@ process.
@end deffn
getuid
-@c snarfed from posix.c:616
+@c snarfed from posix.c:618
@deffn {Scheme Procedure} getuid
@deffnx {C Function} scm_getuid ()
Return an integer representing the current real user ID.
@end deffn
getgid
-@c snarfed from posix.c:627
+@c snarfed from posix.c:629
@deffn {Scheme Procedure} getgid
@deffnx {C Function} scm_getgid ()
Return an integer representing the current real group ID.
@end deffn
geteuid
-@c snarfed from posix.c:641
+@c snarfed from posix.c:643
@deffn {Scheme Procedure} geteuid
@deffnx {C Function} scm_geteuid ()
Return an integer representing the current effective user ID.
@@ -9776,7 +9987,7 @@ system supports effective IDs.
@end deffn
getegid
-@c snarfed from posix.c:658
+@c snarfed from posix.c:660
@deffn {Scheme Procedure} getegid
@deffnx {C Function} scm_getegid ()
Return an integer representing the current effective group ID.
@@ -9786,7 +9997,7 @@ system supports effective IDs.
@end deffn
setuid
-@c snarfed from posix.c:674
+@c snarfed from posix.c:676
@deffn {Scheme Procedure} setuid id
@deffnx {C Function} scm_setuid (id)
Sets both the real and effective user IDs to the integer @var{id}, provided
@@ -9795,7 +10006,7 @@ The return value is unspecified.
@end deffn
setgid
-@c snarfed from posix.c:687
+@c snarfed from posix.c:689
@deffn {Scheme Procedure} setgid id
@deffnx {C Function} scm_setgid (id)
Sets both the real and effective group IDs to the integer @var{id}, provided
@@ -9804,7 +10015,7 @@ The return value is unspecified.
@end deffn
seteuid
-@c snarfed from posix.c:702
+@c snarfed from posix.c:704
@deffn {Scheme Procedure} seteuid id
@deffnx {C Function} scm_seteuid (id)
Sets the effective user ID to the integer @var{id}, provided the process
@@ -9815,7 +10026,7 @@ The return value is unspecified.
@end deffn
setegid
-@c snarfed from posix.c:727
+@c snarfed from posix.c:729
@deffn {Scheme Procedure} setegid id
@deffnx {C Function} scm_setegid (id)
Sets the effective group ID to the integer @var{id}, provided the process
@@ -9826,7 +10037,7 @@ The return value is unspecified.
@end deffn
getpgrp
-@c snarfed from posix.c:750
+@c snarfed from posix.c:752
@deffn {Scheme Procedure} getpgrp
@deffnx {C Function} scm_getpgrp ()
Return an integer representing the current process group ID.
@@ -9834,7 +10045,7 @@ This is the POSIX definition, not BSD.
@end deffn
setpgid
-@c snarfed from posix.c:768
+@c snarfed from posix.c:770
@deffn {Scheme Procedure} setpgid pid pgid
@deffnx {C Function} scm_setpgid (pid, pgid)
Move the process @var{pid} into the process group @var{pgid}. @var{pid} or
@@ -9845,7 +10056,7 @@ The return value is unspecified.
@end deffn
setsid
-@c snarfed from posix.c:785
+@c snarfed from posix.c:787
@deffn {Scheme Procedure} setsid
@deffnx {C Function} scm_setsid ()
Creates a new session. The current process becomes the session leader
@@ -9855,7 +10066,7 @@ The return value is an integer representing the new process group ID.
@end deffn
ttyname
-@c snarfed from posix.c:809
+@c snarfed from posix.c:811
@deffn {Scheme Procedure} ttyname port
@deffnx {C Function} scm_ttyname (port)
Return a string with the name of the serial terminal device
@@ -9863,7 +10074,7 @@ underlying @var{port}.
@end deffn
ctermid
-@c snarfed from posix.c:848
+@c snarfed from posix.c:850
@deffn {Scheme Procedure} ctermid
@deffnx {C Function} scm_ctermid ()
Return a string containing the file name of the controlling
@@ -9871,7 +10082,7 @@ terminal for the current process.
@end deffn
tcgetpgrp
-@c snarfed from posix.c:872
+@c snarfed from posix.c:874
@deffn {Scheme Procedure} tcgetpgrp port
@deffnx {C Function} scm_tcgetpgrp (port)
Return the process group ID of the foreground process group
@@ -9887,7 +10098,7 @@ foreground.
@end deffn
tcsetpgrp
-@c snarfed from posix.c:896
+@c snarfed from posix.c:898
@deffn {Scheme Procedure} tcsetpgrp port pgid
@deffnx {C Function} scm_tcsetpgrp (port, pgid)
Set the foreground process group ID for the terminal used by the file
@@ -9898,7 +10109,7 @@ controlling terminal. The return value is unspecified.
@end deffn
execl
-@c snarfed from posix.c:928
+@c snarfed from posix.c:930
@deffn {Scheme Procedure} execl filename . args
@deffnx {C Function} scm_execl (filename, args)
Executes the file named by @var{path} as a new process image.
@@ -9915,7 +10126,7 @@ call, but we call it @code{execl} because of its Scheme calling interface.
@end deffn
execlp
-@c snarfed from posix.c:959
+@c snarfed from posix.c:961
@deffn {Scheme Procedure} execlp filename . args
@deffnx {C Function} scm_execlp (filename, args)
Similar to @code{execl}, however if
@@ -9928,7 +10139,7 @@ call, but we call it @code{execlp} because of its Scheme calling interface.
@end deffn
execle
-@c snarfed from posix.c:993
+@c snarfed from posix.c:995
@deffn {Scheme Procedure} execle filename env . args
@deffnx {C Function} scm_execle (filename, env, args)
Similar to @code{execl}, but the environment of the new process is
@@ -9940,7 +10151,7 @@ call, but we call it @code{execle} because of its Scheme calling interface.
@end deffn
primitive-fork
-@c snarfed from posix.c:1029
+@c snarfed from posix.c:1031
@deffn {Scheme Procedure} primitive-fork
@deffnx {C Function} scm_fork ()
Creates a new "child" process by duplicating the current "parent" process.
@@ -9952,7 +10163,7 @@ with the scsh fork.
@end deffn
uname
-@c snarfed from posix.c:1049
+@c snarfed from posix.c:1051
@deffn {Scheme Procedure} uname
@deffnx {C Function} scm_uname ()
Return an object with some information about the computer
@@ -9960,7 +10171,7 @@ system the program is running on.
@end deffn
environ
-@c snarfed from posix.c:1078
+@c snarfed from posix.c:1080
@deffn {Scheme Procedure} environ [env]
@deffnx {C Function} scm_environ (env)
If @var{env} is omitted, return the current environment (in the
@@ -9973,7 +10184,7 @@ then the return value is unspecified.
@end deffn
tmpnam
-@c snarfed from posix.c:1111
+@c snarfed from posix.c:1113
@deffn {Scheme Procedure} tmpnam
@deffnx {C Function} scm_tmpnam ()
Return a name in the file system that does not match any
@@ -9984,18 +10195,23 @@ Care should be taken if opening the file, e.g., use the
@end deffn
mkstemp!
-@c snarfed from posix.c:1137
+@c snarfed from posix.c:1144
@deffn {Scheme Procedure} mkstemp! tmpl
@deffnx {C Function} scm_mkstemp (tmpl)
Create a new unique file in the file system and returns a new
buffered port open for reading and writing to the file.
+
@var{tmpl} is a string specifying where the file should be
-created: it must end with @code{XXXXXX} and will be changed in
+created: it must end with @samp{XXXXXX} and will be changed in
place to return the name of the temporary file.
+
+The file is created with mode @code{0600}, which means read and
+write for the owner only. @code{chmod} can be used to change
+this.
@end deffn
utime
-@c snarfed from posix.c:1172
+@c snarfed from posix.c:1179
@deffn {Scheme Procedure} utime pathname [actime [modtime]]
@deffnx {C Function} scm_utime (pathname, actime, modtime)
@code{utime} sets the access and modification times for the
@@ -10011,7 +10227,7 @@ modification time to the current time.
@end deffn
access?
-@c snarfed from posix.c:1237
+@c snarfed from posix.c:1244
@deffn {Scheme Procedure} access? path how
@deffnx {C Function} scm_access (path, how)
Test accessibility of a file under the real UID and GID of the
@@ -10057,14 +10273,14 @@ Access'' in The GNU C Library Reference Manual.
@end deffn
getpid
-@c snarfed from posix.c:1250
+@c snarfed from posix.c:1257
@deffn {Scheme Procedure} getpid
@deffnx {C Function} scm_getpid ()
Return an integer representing the current process ID.
@end deffn
putenv
-@c snarfed from posix.c:1267
+@c snarfed from posix.c:1274
@deffn {Scheme Procedure} putenv str
@deffnx {C Function} scm_putenv (str)
Modifies the environment of the current process, which is
@@ -10081,7 +10297,7 @@ The return value is unspecified.
@end deffn
setlocale
-@c snarfed from posix.c:1351
+@c snarfed from posix.c:1358
@deffn {Scheme Procedure} setlocale category [locale]
@deffnx {C Function} scm_setlocale (category, locale)
If @var{locale} is omitted, return the current value of the
@@ -10096,7 +10312,7 @@ the locale will be set using environment variables.
@end deffn
mknod
-@c snarfed from posix.c:1394
+@c snarfed from posix.c:1407
@deffn {Scheme Procedure} mknod path type perms dev
@deffnx {C Function} scm_mknod (path, type, perms, dev)
Creates a new special file, such as a file corresponding to a device.
@@ -10117,7 +10333,7 @@ The return value is unspecified.
@end deffn
nice
-@c snarfed from posix.c:1440
+@c snarfed from posix.c:1453
@deffn {Scheme Procedure} nice incr
@deffnx {C Function} scm_nice (incr)
Increment the priority of the current process by @var{incr}. A higher
@@ -10126,7 +10342,7 @@ The return value is unspecified.
@end deffn
sync
-@c snarfed from posix.c:1458
+@c snarfed from posix.c:1471
@deffn {Scheme Procedure} sync
@deffnx {C Function} scm_sync ()
Flush the operating system disk buffers.
@@ -10134,7 +10350,7 @@ The return value is unspecified.
@end deffn
crypt
-@c snarfed from posix.c:1489
+@c snarfed from posix.c:1502
@deffn {Scheme Procedure} crypt key salt
@deffnx {C Function} scm_crypt (key, salt)
Encrypt @var{key} using @var{salt} as the salt value to the
@@ -10142,7 +10358,7 @@ crypt(3) library call.
@end deffn
chroot
-@c snarfed from posix.c:1521
+@c snarfed from posix.c:1531
@deffn {Scheme Procedure} chroot path
@deffnx {C Function} scm_chroot (path)
Change the root directory to that specified in @var{path}.
@@ -10153,7 +10369,7 @@ root directory.
@end deffn
getlogin
-@c snarfed from posix.c:1555
+@c snarfed from posix.c:1565
@deffn {Scheme Procedure} getlogin
@deffnx {C Function} scm_getlogin ()
Return a string containing the name of the user logged in on
@@ -10162,7 +10378,7 @@ information cannot be obtained.
@end deffn
cuserid
-@c snarfed from posix.c:1573
+@c snarfed from posix.c:1583
@deffn {Scheme Procedure} cuserid
@deffnx {C Function} scm_cuserid ()
Return a string containing a user name associated with the
@@ -10171,7 +10387,7 @@ information cannot be obtained.
@end deffn
getpriority
-@c snarfed from posix.c:1599
+@c snarfed from posix.c:1609
@deffn {Scheme Procedure} getpriority which who
@deffnx {C Function} scm_getpriority (which, who)
Return the scheduling priority of the process, process group
@@ -10187,7 +10403,7 @@ specified processes.
@end deffn
setpriority
-@c snarfed from posix.c:1633
+@c snarfed from posix.c:1643
@deffn {Scheme Procedure} setpriority which who prio
@deffnx {C Function} scm_setpriority (which, who, prio)
Set the scheduling priority of the process, process group
@@ -10206,7 +10422,7 @@ The return value is not specified.
@end deffn
getpass
-@c snarfed from posix.c:1658
+@c snarfed from posix.c:1668
@deffn {Scheme Procedure} getpass prompt
@deffnx {C Function} scm_getpass (prompt)
Display @var{prompt} to the standard error output and read
@@ -10219,30 +10435,37 @@ characters is disabled.
@end deffn
flock
-@c snarfed from posix.c:1763
+@c snarfed from posix.c:1780
@deffn {Scheme Procedure} flock file operation
@deffnx {C Function} scm_flock (file, operation)
Apply or remove an advisory lock on an open file.
@var{operation} specifies the action to be done:
-@table @code
-@item LOCK_SH
+
+@defvar LOCK_SH
Shared lock. More than one process may hold a shared lock
for a given file at a given time.
-@item LOCK_EX
+@end defvar
+@defvar LOCK_EX
Exclusive lock. Only one process may hold an exclusive lock
for a given file at a given time.
-@item LOCK_UN
+@end defvar
+@defvar LOCK_UN
Unlock the file.
-@item LOCK_NB
-Don't block when locking. May be specified by bitwise OR'ing
-it to one of the other operations.
-@end table
+@end defvar
+@defvar LOCK_NB
+Don't block when locking. This is combined with one of the
+other operations using @code{logior}. If @code{flock} would
+block an @code{EWOULDBLOCK} error is thrown.
+@end defvar
+
The return value is not specified. @var{file} may be an open
file descriptor or an open file descriptor port.
+
+Note that @code{flock} does not lock files across NFS.
@end deffn
sethostname
-@c snarfed from posix.c:1788
+@c snarfed from posix.c:1805
@deffn {Scheme Procedure} sethostname name
@deffnx {C Function} scm_sethostname (name)
Set the host name of the current processor to @var{name}. May
@@ -10251,7 +10474,7 @@ specified.
@end deffn
gethostname
-@c snarfed from posix.c:1806
+@c snarfed from posix.c:1823
@deffn {Scheme Procedure} gethostname
@deffnx {C Function} scm_gethostname ()
Return the host name of the current processor.
@@ -10446,7 +10669,7 @@ Make an IPv4 Internet address by combining the network number
@end deffn
inet-pton
-@c snarfed from socket.c:399
+@c snarfed from socket.c:350
@deffn {Scheme Procedure} inet-pton family address
@deffnx {C Function} scm_inet_pton (family, address)
Convert a string containing a printable network address to
@@ -10462,7 +10685,7 @@ the result is an integer with normal host byte ordering.
@end deffn
inet-ntop
-@c snarfed from socket.c:437
+@c snarfed from socket.c:388
@deffn {Scheme Procedure} inet-ntop family address
@deffnx {C Function} scm_inet_ntop (family, address)
Convert a network address into a printable string.
@@ -10478,7 +10701,7 @@ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
@end deffn
socket
-@c snarfed from socket.c:479
+@c snarfed from socket.c:430
@deffn {Scheme Procedure} socket family style proto
@deffnx {C Function} scm_socket (family, style, proto)
Return a new socket port of the type specified by @var{family},
@@ -10497,7 +10720,7 @@ has been connected to another socket.
@end deffn
socketpair
-@c snarfed from socket.c:500
+@c snarfed from socket.c:451
@deffn {Scheme Procedure} socketpair family style proto
@deffnx {C Function} scm_socketpair (family, style, proto)
Return a pair of connected (but unnamed) socket ports of the
@@ -10508,7 +10731,7 @@ family. Zero is likely to be the only meaningful value for
@end deffn
getsockopt
-@c snarfed from socket.c:525
+@c snarfed from socket.c:476
@deffn {Scheme Procedure} getsockopt sock level optname
@deffnx {C Function} scm_getsockopt (sock, level, optname)
Return the value of a particular socket option for the socket
@@ -10523,7 +10746,7 @@ returns a pair of integers.
@end deffn
setsockopt
-@c snarfed from socket.c:593
+@c snarfed from socket.c:544
@deffn {Scheme Procedure} setsockopt sock level optname value
@deffnx {C Function} scm_setsockopt (sock, level, optname, value)
Set the value of a particular socket option for the socket
@@ -10540,7 +10763,7 @@ The return value is unspecified.
@end deffn
shutdown
-@c snarfed from socket.c:697
+@c snarfed from socket.c:646
@deffn {Scheme Procedure} shutdown sock how
@deffnx {C Function} scm_shutdown (sock, how)
Sockets can be closed simply by using @code{close-port}. The
@@ -10563,7 +10786,7 @@ The return value is unspecified.
@end deffn
connect
-@c snarfed from socket.c:840
+@c snarfed from socket.c:789
@deffn {Scheme Procedure} connect sock fam address . args
@deffnx {C Function} scm_connect (sock, fam, address, args)
Initiate a connection from a socket using a specified address
@@ -10590,7 +10813,7 @@ The return value is unspecified.
@end deffn
bind
-@c snarfed from socket.c:899
+@c snarfed from socket.c:848
@deffn {Scheme Procedure} bind sock fam address . args
@deffnx {C Function} scm_bind (sock, fam, address, args)
Assign an address to the socket port @var{sock}.
@@ -10639,7 +10862,7 @@ The return value is unspecified.
@end deffn
listen
-@c snarfed from socket.c:932
+@c snarfed from socket.c:881
@deffn {Scheme Procedure} listen sock backlog
@deffnx {C Function} scm_listen (sock, backlog)
Enable @var{sock} to accept connection
@@ -10653,7 +10876,7 @@ The return value is unspecified.
@end deffn
accept
-@c snarfed from socket.c:1044
+@c snarfed from socket.c:993
@deffn {Scheme Procedure} accept sock
@deffnx {C Function} scm_accept (sock)
Accept a connection on a bound, listening socket.
@@ -10673,7 +10896,7 @@ connection and will continue to accept new requests.
@end deffn
getsockname
-@c snarfed from socket.c:1071
+@c snarfed from socket.c:1020
@deffn {Scheme Procedure} getsockname sock
@deffnx {C Function} scm_getsockname (sock)
Return the address of @var{sock}, in the same form as the
@@ -10682,7 +10905,7 @@ of a socket in the @code{AF_FILE} namespace cannot be read.
@end deffn
getpeername
-@c snarfed from socket.c:1093
+@c snarfed from socket.c:1042
@deffn {Scheme Procedure} getpeername sock
@deffnx {C Function} scm_getpeername (sock)
Return the address that @var{sock}
@@ -10692,7 +10915,7 @@ is connected to, in the same form as the object returned by
@end deffn
recv!
-@c snarfed from socket.c:1128
+@c snarfed from socket.c:1077
@deffn {Scheme Procedure} recv! sock buf [flags]
@deffnx {C Function} scm_recv (sock, buf, flags)
Receive data from a socket port.
@@ -10718,7 +10941,7 @@ any unread buffered port data is ignored.
@end deffn
send
-@c snarfed from socket.c:1171
+@c snarfed from socket.c:1120
@deffn {Scheme Procedure} send sock message [flags]
@deffnx {C Function} scm_send (sock, message, flags)
Transmit the string @var{message} on a socket port @var{sock}.
@@ -10737,7 +10960,7 @@ any unflushed buffered port data is ignored.
@end deffn
recvfrom!
-@c snarfed from socket.c:1222
+@c snarfed from socket.c:1171
@deffn {Scheme Procedure} recvfrom! sock str [flags [start [end]]]
@deffnx {C Function} scm_recvfrom (sock, str, flags, start, end)
Return data from the socket port @var{sock} and also
@@ -10766,7 +10989,7 @@ descriptor: any unread buffered port data is ignored.
@end deffn
sendto
-@c snarfed from socket.c:1287
+@c snarfed from socket.c:1236
@deffn {Scheme Procedure} sendto sock message fam address . args_and_flags
@deffnx {C Function} scm_sendto (sock, message, fam, address, args_and_flags)
Transmit the string @var{message} on the socket port
diff --git a/doc/ref/api-compound.texi b/doc/ref/api-compound.texi
index 777024816..390f6b408 100644
--- a/doc/ref/api-compound.texi
+++ b/doc/ref/api-compound.texi
@@ -808,6 +808,11 @@ Store @var{fill} in every position of @var{vector}. The value
returned by @code{vector-fill!} is unspecified.
@end deffn
+@deffn {Scheme Procedure} vector-copy vec
+@deffnx {C Function} scm_vector_copy (vec)
+Return a copy of @var{vec}.
+@end deffn
+
@deffn {Scheme Procedure} vector-move-left! vec1 start1 end1 vec2 start2
@deffnx {C Function} scm_vector_move_left_x (vec1, start1, end1, vec2, start2)
Copy elements from @var{vec1}, positions @var{start1} to @var{end1},
@@ -1048,19 +1053,19 @@ anyway to make the intention clear, so this is rarely a problem.
@deffnx {Scheme Procedure} f64vector? obj
@deffnx {Scheme Procedure} c32vector? obj
@deffnx {Scheme Procedure} c64vector? obj
-@deffnx {C Function} scm_uniform_vector_p obj
-@deffnx {C Function} scm_u8vector_p obj
-@deffnx {C Function} scm_s8vector_p obj
-@deffnx {C Function} scm_u16vector_p obj
-@deffnx {C Function} scm_s16vector_p obj
-@deffnx {C Function} scm_u32vector_p obj
-@deffnx {C Function} scm_s32vector_p obj
-@deffnx {C Function} scm_u64vector_p obj
-@deffnx {C Function} scm_s64vector_p obj
-@deffnx {C Function} scm_f32vector_p obj
-@deffnx {C Function} scm_f64vector_p obj
-@deffnx {C Function} scm_c32vector_p obj
-@deffnx {C Function} scm_c64vector_p obj
+@deffnx {C Function} scm_uniform_vector_p (obj)
+@deffnx {C Function} scm_u8vector_p (obj)
+@deffnx {C Function} scm_s8vector_p (obj)
+@deffnx {C Function} scm_u16vector_p (obj)
+@deffnx {C Function} scm_s16vector_p (obj)
+@deffnx {C Function} scm_u32vector_p (obj)
+@deffnx {C Function} scm_s32vector_p (obj)
+@deffnx {C Function} scm_u64vector_p (obj)
+@deffnx {C Function} scm_s64vector_p (obj)
+@deffnx {C Function} scm_f32vector_p (obj)
+@deffnx {C Function} scm_f64vector_p (obj)
+@deffnx {C Function} scm_c32vector_p (obj)
+@deffnx {C Function} scm_c64vector_p (obj)
Return @code{#t} if @var{obj} is a homogeneous numeric vector of the
indicated type.
@end deffn
@@ -1107,18 +1112,18 @@ unspecified.
@deffnx {Scheme Procedure} f64vector value @dots{}
@deffnx {Scheme Procedure} c32vector value @dots{}
@deffnx {Scheme Procedure} c64vector value @dots{}
-@deffnx {C Function} scm_u8vector values
-@deffnx {C Function} scm_s8vector values
-@deffnx {C Function} scm_u16vector values
-@deffnx {C Function} scm_s16vector values
-@deffnx {C Function} scm_u32vector values
-@deffnx {C Function} scm_s32vector values
-@deffnx {C Function} scm_u64vector values
-@deffnx {C Function} scm_s64vector values
-@deffnx {C Function} scm_f32vector values
-@deffnx {C Function} scm_f64vector values
-@deffnx {C Function} scm_c32vector values
-@deffnx {C Function} scm_c64vector values
+@deffnx {C Function} scm_u8vector (values)
+@deffnx {C Function} scm_s8vector (values)
+@deffnx {C Function} scm_u16vector (values)
+@deffnx {C Function} scm_s16vector (values)
+@deffnx {C Function} scm_u32vector (values)
+@deffnx {C Function} scm_s32vector (values)
+@deffnx {C Function} scm_u64vector (values)
+@deffnx {C Function} scm_s64vector (values)
+@deffnx {C Function} scm_f32vector (values)
+@deffnx {C Function} scm_f64vector (values)
+@deffnx {C Function} scm_c32vector (values)
+@deffnx {C Function} scm_c64vector (values)
Return a newly allocated homogeneous numeric vector of the indicated
type, holding the given parameter @var{value}s. The vector length is
the number of parameters given.
@@ -1137,19 +1142,19 @@ the number of parameters given.
@deffnx {Scheme Procedure} f64vector-length vec
@deffnx {Scheme Procedure} c32vector-length vec
@deffnx {Scheme Procedure} c64vector-length vec
-@deffnx {C Function} scm_uniform_vector_length vec
-@deffnx {C Function} scm_u8vector_length vec
-@deffnx {C Function} scm_s8vector_length vec
-@deffnx {C Function} scm_u16vector_length vec
-@deffnx {C Function} scm_s16vector_length vec
-@deffnx {C Function} scm_u32vector_length vec
-@deffnx {C Function} scm_s32vector_length vec
-@deffnx {C Function} scm_u64vector_length vec
-@deffnx {C Function} scm_s64vector_length vec
-@deffnx {C Function} scm_f32vector_length vec
-@deffnx {C Function} scm_f64vector_length vec
-@deffnx {C Function} scm_c32vector_length vec
-@deffnx {C Function} scm_c64vector_length vec
+@deffnx {C Function} scm_uniform_vector_length (vec)
+@deffnx {C Function} scm_u8vector_length (vec)
+@deffnx {C Function} scm_s8vector_length (vec)
+@deffnx {C Function} scm_u16vector_length (vec)
+@deffnx {C Function} scm_s16vector_length (vec)
+@deffnx {C Function} scm_u32vector_length (vec)
+@deffnx {C Function} scm_s32vector_length (vec)
+@deffnx {C Function} scm_u64vector_length (vec)
+@deffnx {C Function} scm_s64vector_length (vec)
+@deffnx {C Function} scm_f32vector_length (vec)
+@deffnx {C Function} scm_f64vector_length (vec)
+@deffnx {C Function} scm_c32vector_length (vec)
+@deffnx {C Function} scm_c64vector_length (vec)
Return the number of elements in @var{vec}.
@end deffn
@@ -1166,19 +1171,19 @@ Return the number of elements in @var{vec}.
@deffnx {Scheme Procedure} f64vector-ref vec i
@deffnx {Scheme Procedure} c32vector-ref vec i
@deffnx {Scheme Procedure} c64vector-ref vec i
-@deffnx {C Function} scm_uniform_vector_ref vec i
-@deffnx {C Function} scm_u8vector_ref vec i
-@deffnx {C Function} scm_s8vector_ref vec i
-@deffnx {C Function} scm_u16vector_ref vec i
-@deffnx {C Function} scm_s16vector_ref vec i
-@deffnx {C Function} scm_u32vector_ref vec i
-@deffnx {C Function} scm_s32vector_ref vec i
-@deffnx {C Function} scm_u64vector_ref vec i
-@deffnx {C Function} scm_s64vector_ref vec i
-@deffnx {C Function} scm_f32vector_ref vec i
-@deffnx {C Function} scm_f64vector_ref vec i
-@deffnx {C Function} scm_c32vector_ref vec i
-@deffnx {C Function} scm_c64vector_ref vec i
+@deffnx {C Function} scm_uniform_vector_ref (vec i)
+@deffnx {C Function} scm_u8vector_ref (vec i)
+@deffnx {C Function} scm_s8vector_ref (vec i)
+@deffnx {C Function} scm_u16vector_ref (vec i)
+@deffnx {C Function} scm_s16vector_ref (vec i)
+@deffnx {C Function} scm_u32vector_ref (vec i)
+@deffnx {C Function} scm_s32vector_ref (vec i)
+@deffnx {C Function} scm_u64vector_ref (vec i)
+@deffnx {C Function} scm_s64vector_ref (vec i)
+@deffnx {C Function} scm_f32vector_ref (vec i)
+@deffnx {C Function} scm_f64vector_ref (vec i)
+@deffnx {C Function} scm_c32vector_ref (vec i)
+@deffnx {C Function} scm_c64vector_ref (vec i)
Return the element at index @var{i} in @var{vec}. The first element
in @var{vec} is index 0.
@end deffn
@@ -1196,19 +1201,19 @@ in @var{vec} is index 0.
@deffnx {Scheme Procedure} f64vector-set! vec i value
@deffnx {Scheme Procedure} c32vector-set! vec i value
@deffnx {Scheme Procedure} c64vector-set! vec i value
-@deffnx {C Function} scm_uniform_vector_set_x vec i value
-@deffnx {C Function} scm_u8vector_set_x vec i value
-@deffnx {C Function} scm_s8vector_set_x vec i value
-@deffnx {C Function} scm_u16vector_set_x vec i value
-@deffnx {C Function} scm_s16vector_set_x vec i value
-@deffnx {C Function} scm_u32vector_set_x vec i value
-@deffnx {C Function} scm_s32vector_set_x vec i value
-@deffnx {C Function} scm_u64vector_set_x vec i value
-@deffnx {C Function} scm_s64vector_set_x vec i value
-@deffnx {C Function} scm_f32vector_set_x vec i value
-@deffnx {C Function} scm_f64vector_set_x vec i value
-@deffnx {C Function} scm_c32vector_set_x vec i value
-@deffnx {C Function} scm_c64vector_set_x vec i value
+@deffnx {C Function} scm_uniform_vector_set_x (vec i value)
+@deffnx {C Function} scm_u8vector_set_x (vec i value)
+@deffnx {C Function} scm_s8vector_set_x (vec i value)
+@deffnx {C Function} scm_u16vector_set_x (vec i value)
+@deffnx {C Function} scm_s16vector_set_x (vec i value)
+@deffnx {C Function} scm_u32vector_set_x (vec i value)
+@deffnx {C Function} scm_s32vector_set_x (vec i value)
+@deffnx {C Function} scm_u64vector_set_x (vec i value)
+@deffnx {C Function} scm_s64vector_set_x (vec i value)
+@deffnx {C Function} scm_f32vector_set_x (vec i value)
+@deffnx {C Function} scm_f64vector_set_x (vec i value)
+@deffnx {C Function} scm_c32vector_set_x (vec i value)
+@deffnx {C Function} scm_c64vector_set_x (vec i value)
Set the element at index @var{i} in @var{vec} to @var{value}. The
first element in @var{vec} is index 0. The return value is
unspecified.
@@ -1227,19 +1232,19 @@ unspecified.
@deffnx {Scheme Procedure} f64vector->list vec
@deffnx {Scheme Procedure} c32vector->list vec
@deffnx {Scheme Procedure} c64vector->list vec
-@deffnx {C Function} scm_uniform_vector_to_list vec
-@deffnx {C Function} scm_u8vector_to_list vec
-@deffnx {C Function} scm_s8vector_to_list vec
-@deffnx {C Function} scm_u16vector_to_list vec
-@deffnx {C Function} scm_s16vector_to_list vec
-@deffnx {C Function} scm_u32vector_to_list vec
-@deffnx {C Function} scm_s32vector_to_list vec
-@deffnx {C Function} scm_u64vector_to_list vec
-@deffnx {C Function} scm_s64vector_to_list vec
-@deffnx {C Function} scm_f32vector_to_list vec
-@deffnx {C Function} scm_f64vector_to_list vec
-@deffnx {C Function} scm_c32vector_to_list vec
-@deffnx {C Function} scm_c64vector_to_list vec
+@deffnx {C Function} scm_uniform_vector_to_list (vec)
+@deffnx {C Function} scm_u8vector_to_list (vec)
+@deffnx {C Function} scm_s8vector_to_list (vec)
+@deffnx {C Function} scm_u16vector_to_list (vec)
+@deffnx {C Function} scm_s16vector_to_list (vec)
+@deffnx {C Function} scm_u32vector_to_list (vec)
+@deffnx {C Function} scm_s32vector_to_list (vec)
+@deffnx {C Function} scm_u64vector_to_list (vec)
+@deffnx {C Function} scm_s64vector_to_list (vec)
+@deffnx {C Function} scm_f32vector_to_list (vec)
+@deffnx {C Function} scm_f64vector_to_list (vec)
+@deffnx {C Function} scm_c32vector_to_list (vec)
+@deffnx {C Function} scm_c64vector_to_list (vec)
Return a newly allocated list holding all elements of @var{vec}.
@end deffn
@@ -1255,18 +1260,18 @@ Return a newly allocated list holding all elements of @var{vec}.
@deffnx {Scheme Procedure} list->f64vector lst
@deffnx {Scheme Procedure} list->c32vector lst
@deffnx {Scheme Procedure} list->c64vector lst
-@deffnx {C Function} scm_list_to_u8vector lst
-@deffnx {C Function} scm_list_to_s8vector lst
-@deffnx {C Function} scm_list_to_u16vector lst
-@deffnx {C Function} scm_list_to_s16vector lst
-@deffnx {C Function} scm_list_to_u32vector lst
-@deffnx {C Function} scm_list_to_s32vector lst
-@deffnx {C Function} scm_list_to_u64vector lst
-@deffnx {C Function} scm_list_to_s64vector lst
-@deffnx {C Function} scm_list_to_f32vector lst
-@deffnx {C Function} scm_list_to_f64vector lst
-@deffnx {C Function} scm_list_to_c32vector lst
-@deffnx {C Function} scm_list_to_c64vector lst
+@deffnx {C Function} scm_list_to_u8vector (lst)
+@deffnx {C Function} scm_list_to_s8vector (lst)
+@deffnx {C Function} scm_list_to_u16vector (lst)
+@deffnx {C Function} scm_list_to_s16vector (lst)
+@deffnx {C Function} scm_list_to_u32vector (lst)
+@deffnx {C Function} scm_list_to_s32vector (lst)
+@deffnx {C Function} scm_list_to_u64vector (lst)
+@deffnx {C Function} scm_list_to_s64vector (lst)
+@deffnx {C Function} scm_list_to_f32vector (lst)
+@deffnx {C Function} scm_list_to_f64vector (lst)
+@deffnx {C Function} scm_list_to_c32vector (lst)
+@deffnx {C Function} scm_list_to_c64vector (lst)
Return a newly allocated homogeneous numeric vector of the indicated type,
initialized with the elements of the list @var{lst}.
@end deffn
@@ -1283,18 +1288,18 @@ initialized with the elements of the list @var{lst}.
@deffnx {Scheme Procedure} any->f64vector obj
@deffnx {Scheme Procedure} any->c32vector obj
@deffnx {Scheme Procedure} any->c64vector obj
-@deffnx {C Function} scm_any_to_u8vector obj
-@deffnx {C Function} scm_any_to_s8vector obj
-@deffnx {C Function} scm_any_to_u16vector obj
-@deffnx {C Function} scm_any_to_s16vector obj
-@deffnx {C Function} scm_any_to_u32vector obj
-@deffnx {C Function} scm_any_to_s32vector obj
-@deffnx {C Function} scm_any_to_u64vector obj
-@deffnx {C Function} scm_any_to_s64vector obj
-@deffnx {C Function} scm_any_to_f32vector obj
-@deffnx {C Function} scm_any_to_f64vector obj
-@deffnx {C Function} scm_any_to_c32vector obj
-@deffnx {C Function} scm_any_to_c64vector obj
+@deffnx {C Function} scm_any_to_u8vector (obj)
+@deffnx {C Function} scm_any_to_s8vector (obj)
+@deffnx {C Function} scm_any_to_u16vector (obj)
+@deffnx {C Function} scm_any_to_s16vector (obj)
+@deffnx {C Function} scm_any_to_u32vector (obj)
+@deffnx {C Function} scm_any_to_s32vector (obj)
+@deffnx {C Function} scm_any_to_u64vector (obj)
+@deffnx {C Function} scm_any_to_s64vector (obj)
+@deffnx {C Function} scm_any_to_f32vector (obj)
+@deffnx {C Function} scm_any_to_f64vector (obj)
+@deffnx {C Function} scm_any_to_c32vector (obj)
+@deffnx {C Function} scm_any_to_c64vector (obj)
Return a (maybe newly allocated) uniform numeric vector of the indicated
type, initialized with the elements of @var{obj}, which must be a list,
a vector, or a uniform vector. When @var{obj} is already a suitable
@@ -1368,6 +1373,57 @@ Like @code{scm_vector_writable_elements} (which see), but returns a
pointer to the elements of a uniform numeric vector of the indicated kind.
@end deftypefn
+@deffn {Scheme Procedure} uniform-vector-read! uvec [port_or_fd [start [end]]]
+@deffnx {C Function} scm_uniform_vector_read_x (uvec, port_or_fd, start, end)
+Fill the elements of @var{uvec} by reading
+raw bytes from @var{port-or-fdes}, using host byte order.
+
+The optional arguments @var{start} (inclusive) and @var{end}
+(exclusive) allow a specified region to be read,
+leaving the remainder of the vector unchanged.
+
+When @var{port-or-fdes} is a port, all specified elements
+of @var{uvec} are attempted to be read, potentially blocking
+while waiting formore input or end-of-file.
+When @var{port-or-fd} is an integer, a single call to
+read(2) is made.
+
+An error is signalled when the last element has only
+been partially filled before reaching end-of-file or in
+the single call to read(2).
+
+@code{uniform-vector-read!} returns the number of elements
+read.
+
+@var{port-or-fdes} may be omitted, in which case it defaults
+to the value returned by @code{(current-input-port)}.
+@end deffn
+
+@deffn {Scheme Procedure} uniform-vector-write uvec [port_or_fd [start [end]]]
+@deffnx {C Function} scm_uniform_vector_write (uvec, port_or_fd, start, end)
+Write the elements of @var{uvec} as raw bytes to
+@var{port-or-fdes}, in the host byte order.
+
+The optional arguments @var{start} (inclusive)
+and @var{end} (exclusive) allow
+a specified region to be written.
+
+When @var{port-or-fdes} is a port, all specified elements
+of @var{uvec} are attempted to be written, potentially blocking
+while waiting for more room.
+When @var{port-or-fd} is an integer, a single call to
+write(2) is made.
+
+An error is signalled when the last element has only
+been partially written in the single call to write(2).
+
+The number of objects actually written is returned.
+@var{port-or-fdes} may be
+omitted, in which case it defaults to the value returned by
+@code{(current-output-port)}.
+@end deffn
+
+
@node Bit Vectors
@subsection Bit Vectors
diff --git a/doc/ref/api-memory.texi b/doc/ref/api-memory.texi
index 8b015940c..6e806b71b 100644
--- a/doc/ref/api-memory.texi
+++ b/doc/ref/api-memory.texi
@@ -81,6 +81,11 @@ this mechanism.
Return an association list of statistics about Guile's current
use of storage.
+@deffn {Scheme Procedure} gc-live-object-stats
+@deffnx {C Function} scm_gc_live_object_stats ()
+Return an alist of statistics of the current live objects.
+@end deffn
+
@deftypefun void scm_gc_mark (SCM @var{x})
Mark the object @var{x}, and recurse on any objects @var{x} refers to.
If @var{x}'s mark bit is already set, return immediately. This function
diff --git a/doc/ref/api-scheduling.texi b/doc/ref/api-scheduling.texi
index 4eda18a9c..cbd9180b7 100644
--- a/doc/ref/api-scheduling.texi
+++ b/doc/ref/api-scheduling.texi
@@ -204,7 +204,7 @@ The non-local flow of control caused by continuations might sometimes
not be wanted. You can use @code{with-continuation-barrier} etc to
errect fences that continuations can not pass.
-@deffn {Sheme Procedure} with-continuation-barrier proc
+@deffn {Scheme Procedure} with-continuation-barrier proc
@deffnx {C Function} scm_with_continuation_barrier (proc)
Call @var{proc} and return its result. Do not allow the invocation of
continuations that would leave or enter the dynamic extent of the call
@@ -659,14 +659,17 @@ in all threads is one way to avoid such problems.
@sp 1
@deffn {Scheme Procedure} make-mutex
+@deffnx {C Function} scm_make_mutex ()
Return a new standard mutex. It is initially unlocked.
@end deffn
@deffn {Scheme Procedure} make-recursive-mutex
-Return a new recursive mutex. It is initialloy unlocked.
+@deffnx {C Function} scm_make_recursive_mutex ()
+Create a new recursive mutex. It is initialloy unlocked.
@end deffn
@deffn {Scheme Procedure} lock-mutex mutex
+@deffnx {C Function} scm_lock_mutex (mutex)
Lock @var{mutex}. If the mutex is already locked by another thread
then block and return only when @var{mutex} has been acquired.
@@ -683,7 +686,8 @@ blocked in @code{lock-mutex}, the wait is interrupted and the async is
executed. When the async returns, the wait resumes.
@end deffn
- @deffn {Scheme Procedure} try-mutex mutex
+@deffn {Scheme Procedure} try-mutex mx
+@deffnx {C Function} scm_try_mutex (mx)
Try to lock @var{mutex} as per @code{lock-mutex}. If @var{mutex} can
be acquired immediately then this is done and the return is @code{#t}.
If @var{mutex} is locked by some other thread then nothing is done and
@@ -691,18 +695,19 @@ the return is @code{#f}.
@end deffn
@deffn {Scheme Procedure} unlock-mutex mutex
+@deffnx {C Function} scm_unlock_mutex (mutex)
Unlock @var{mutex}. An error is signalled if @var{mutex} is not
locked by the calling thread.
@end deffn
-@c begin (texi-doc-string "guile" "make-condition-variable")
@deffn {Scheme Procedure} make-condition-variable
+@deffnx {C Function} scm_make_condition_variable ()
Return a new condition variable.
@end deffn
-@c begin (texi-doc-string "guile" "wait-condition-variable")
-@deffn {Scheme Procedure} wait-condition-variable cond-var mutex [time]
-Wait until @var{cond-var} has been signalled. While waiting,
+@deffn {Scheme Procedure} wait-condition-variable condvar mutex [time]
+@deffnx {C Function} scm_wait_condition_variable (condvar, mutex, time)
+Wait until @var{condvar} has been signalled. While waiting,
@var{mutex} is atomically unlocked (as with @code{unlock-mutex}) and
is locked again when this function returns. When @var{time} is given,
it specifies a point in time where the waiting should be aborted. It
@@ -720,14 +725,14 @@ the thread block while re-acquiring the mutex, execution of asyncs is
blocked.
@end deffn
-@c begin (texi-doc-string "guile" "signal-condition-variable")
-@deffn {Scheme Procedure} signal-condition-variable cond-var
-Wake up one thread that is waiting for @var{cv}.
+@deffn {Scheme Procedure} signal-condition-variable condvar
+@deffnx {C Function} scm_signal_condition_variable (condvar)
+Wake up one thread that is waiting for @var{condvar}.
@end deffn
-@c begin (texi-doc-string "guile" "broadcast-condition-variable")
-@deffn {Scheme Procedure} broadcast-condition-variable cond-var
-Wake up all threads that are waiting for @var{cv}.
+@deffn {Scheme Procedure} broadcast-condition-variable condvar
+@deffnx {C Function} scm_broadcast_condition_variable (condvar)
+Wake up all threads that are waiting for @var{condvar}.
@end deffn
@sp 1
diff --git a/doc/ref/api-undocumented.texi b/doc/ref/api-undocumented.texi
index 353e1669e..826b4d38b 100644
--- a/doc/ref/api-undocumented.texi
+++ b/doc/ref/api-undocumented.texi
@@ -855,3 +855,140 @@ Return the dash symbol for @var{keyword}.
This is the inverse of @code{make-keyword-from-dash-symbol}.
@end deffn
+@deffn {Scheme Procedure} dimensions->uniform-array dims prot [fill]
+@deffnx {Scheme Procedure} make-uniform-vector length prototype [fill]
+@deffnx {C Function} scm_dimensions_to_uniform_array (dims, prot, fill)
+Create and return a uniform array or vector of type
+corresponding to @var{prototype} with dimensions @var{dims} or
+length @var{length}. If @var{fill} is supplied, it's used to
+fill the array, otherwise @var{prototype} is used.
+@end deffn
+
+@deffn {Scheme Procedure} list->uniform-array ndim prot lst
+@deffnx {C Function} scm_list_to_uniform_array (ndim, prot, lst)
+Return a uniform array of the type indicated by prototype
+@var{prot} with elements the same as those of @var{lst}.
+Elements must be of the appropriate type, no coercions are
+done.
+
+The argument @var{ndim} determines the number of dimensions
+of the array. It is either an exact integer, giving the
+number directly, or a list of exact integers, whose length
+specifies the number of dimensions and each element is the
+lower index bound of its dimension.
+@end deffn
+
+@deffn {Scheme Procedure} array-prototype ra
+@deffnx {C Function} scm_array_prototype (ra)
+Return an object that would produce an array of the same type
+as @var{array}, if used as the @var{prototype} for
+@code{make-uniform-array}.
+@end deffn
+
+@deffn {Scheme Procedure} call-with-dynamic-root thunk handler
+@deffnx {C Function} scm_call_with_dynamic_root (thunk, handler)
+Call @var{thunk} with a new dynamic state and withina continuation barrier. The @var{handler} catches allotherwise uncaught throws and executes within the samedynamic context as @var{thunk}.
+@end deffn
+
+@deffn {Scheme Procedure} dynamic-root
+@deffnx {C Function} scm_dynamic_root ()
+Return an object representing the current dynamic root.
+
+These objects are only useful for comparison using @code{eq?}.
+
+@end deffn
+
+@deffn {Scheme Procedure} uniform-vector? obj
+@deffnx {C Function} scm_uniform_vector_p (obj)
+Return @code{#t} if @var{obj} is a uniform vector.
+@end deffn
+
+@deffn {Scheme Procedure} uniform-vector-ref v idx
+@deffnx {C Function} scm_uniform_vector_ref (v, idx)
+Return the element at index @var{idx} of the
+homogenous numeric vector @var{v}.
+@end deffn
+
+@deffn {Scheme Procedure} uniform-vector-set! v idx val
+@deffnx {C Function} scm_uniform_vector_set_x (v, idx, val)
+Set the element at index @var{idx} of the
+homogenous numeric vector @var{v} to @var{val}.
+@end deffn
+
+@deffn {Scheme Procedure} uniform-vector->list uvec
+@deffnx {C Function} scm_uniform_vector_to_list (uvec)
+Convert the uniform numeric vector @var{uvec} to a list.
+@end deffn
+
+@deffn {Scheme Procedure} uniform-vector-length v
+@deffnx {C Function} scm_uniform_vector_length (v)
+Return the number of elements in the uniform vector @var{v}.
+@end deffn
+
+@deffn {Scheme Procedure} make-u8vector len [fill]
+@deffnx {C Function} scm_make_u8vector (len, fill)
+Return a newly allocated uniform numeric vector which can
+hold @var{len} elements. If @var{fill} is given, it is used to
+initialize the elements, otherwise the contents of the vector
+is unspecified.
+@end deffn
+
+@deffn {Scheme Procedure} u8vector . l
+@deffnx {C Function} scm_u8vector (l)
+Return a newly allocated uniform numeric vector containing
+all argument values.
+@end deffn
+
+@deffn {Scheme Procedure} list->u8vector l
+@deffnx {C Function} scm_list_to_u8vector (l)
+Convert the list @var{l} to a numeric uniform vector.
+@end deffn
+
+@deffn {Scheme Procedure} any->u8vector obj
+@deffnx {C Function} scm_any_to_u8vector (obj)
+Convert @var{obj}, which can be a list, vector, or
+uniform vector, to a numeric uniform vector of
+type u8.
+@end deffn
+
+@deffn {Scheme Procedure} string-any-c-code char_pred s [start [end]]
+@deffnx {C Function} scm_string_any (char_pred, s, start, end)
+Check if the predicate @var{pred} is true for any character in
+the string @var{s}.
+
+Calls to @var{pred} are made from left to right across @var{s}.
+When it returns true (ie.@: non-@code{#f}), that return value
+is the return from @code{string-any}.
+
+The SRFI-13 specification requires that the call to @var{pred}
+on the last character of @var{s} (assuming that point is
+reached) be a tail call, but currently in Guile this is not the
+case.
+@end deffn
+
+@deffn {Scheme Procedure} string-every-c-code char_pred s [start [end]]
+@deffnx {C Function} scm_string_every (char_pred, s, start, end)
+Check if the predicate @var{pred} is true for every character
+in the string @var{s}.
+
+Calls to @var{pred} are made from left to right across @var{s}.
+If the predicate is true for every character then the return
+value from the last @var{pred} call is the return from
+@code{string-every}.
+
+If there are no characters in @var{s} (ie.@: @var{start} equals
+@var{end}) then the return is @code{#t}.
+
+The SRFI-13 specification requires that the call to @var{pred}
+on the last character of @var{s} (assuming that point is
+reached) be a tail call, but currently in Guile this is not the
+case.
+@end deffn
+
+@deffn {Scheme Procedure} inf? x
+@deffnx {C Function} scm_inf_p (x)
+Return @code{#t} if @var{x} is either @samp{+inf.0}
+or @samp{-inf.0}, @code{#f} otherwise.
+@end deffn
+
+
diff --git a/doc/ref/new-docstrings.texi b/doc/ref/new-docstrings.texi
index 7f3bb6f73..c8f16a3ee 100644
--- a/doc/ref/new-docstrings.texi
+++ b/doc/ref/new-docstrings.texi
@@ -1,274 +1,3 @@
@c module-for-docstring (guile)
-@c This one crops up here constantly although it is already
-@c in api-data.texi. Have to investigate somewhen.
-@deffn {Scheme Procedure} inf? x
-@deffnx {C Function} scm_inf_p (x)
-Return @code{#t} if @var{x} is either @samp{+inf.0}
-or @samp{-inf.0}, @code{#f} otherwise.
-@end deffn
-
-
-
-
-
-
-@deffn {Scheme Procedure} uniform-vector? obj
-@deffnx {C Function} scm_uniform_vector_p (obj)
-Return @code{#t} if @var{obj} is a uniform vector.
-@end deffn
-
-@deffn {Scheme Procedure} uniform-vector-set! v idx val
-@deffnx {C Function} scm_uniform_vector_set_x (v, idx, val)
-Set the element at index @var{idx} of the
-homogenous numeric vector @var{v} to @var{val}.
-@end deffn
-
-@deffn {Scheme Procedure} uniform-vector->list uvec
-@deffnx {C Function} scm_uniform_vector_to_list (uvec)
-Convert the homogeneous numeric vector @var{uvec} to a list.
-@end deffn
-
-@deffn {Scheme Procedure} make-u8vector len [fill]
-@deffnx {C Function} scm_make_u8vector (len, fill)
-Return a newly allocated uniform numeric vector which can
-hold @var{len} elements. If @var{fill} is given, it is used to
-initialize the elements, otherwise the contents of the vector
-is unspecified.
-@end deffn
-
-@deffn {Scheme Procedure} u8vector . l
-@deffnx {C Function} scm_u8vector (l)
-Return a newly allocated uniform numeric vector containing
-all argument values.
-@end deffn
-
-@deffn {Scheme Procedure} list->u8vector l
-@deffnx {C Function} scm_list_to_u8vector (l)
-Convert the list @var{l} to a numeric uniform vector.
-@end deffn
-
-@deffn {Scheme Procedure} any->u8vector obj
-@deffnx {C Function} scm_any_to_u8vector (obj)
-Convert @var{obj}, which can be a list, vector, or
-uniform vector, to a numeric uniform vector of
-type u8.
-@end deffn
-
-@deffn {Scheme Procedure} with-continuation-barrier proc
-@deffnx {C Function} scm_with_continuation_barrier (proc)
-Call @var{proc} and return the returned value but do not allow the invocation of continuations that would exit or reenter the dynamic extent of the call to @var{proc}. When a uncaught throw happens during the call to @var{proc}, a message is printed to the current error port and @code{#f} is returned.
-@end deffn
-
-@deffn {Scheme Procedure} dynamic-state? obj
-@deffnx {C Function} scm_dynamic_state_p (obj)
-Return @code{#t} if @var{obj} is a dynamic state object;
-return @code{#f} otherwise
-@end deffn
-
-@deffn {Scheme Procedure} current-dynamic-state
-@deffnx {C Function} scm_current_dynamic_state ()
-Return the current dynamic state object.
-@end deffn
-
-@deffn {Scheme Procedure} set-current-dynamic-state state
-@deffnx {C Function} scm_set_current_dynamic_state (state)
-Set the current dynamic state object to @var{state}
-and return the previous current dynamic state object.
-@end deffn
-
-@deffn {Scheme Procedure} with-dynamic-state state proc
-@deffnx {C Function} scm_with_dynamic_state (state, proc)
-Call @var{proc} while @var{state} is the current dynamic
-state object.
-@end deffn
-
-@deffn {Scheme Procedure} call-with-dynamic-root thunk handler
-@deffnx {C Function} scm_call_with_dynamic_root (thunk, handler)
-Evaluate @code{(thunk)} in a new dynamic context, returning its value.
-
-If an error occurs during evaluation, apply @var{handler} to the
-arguments to the throw, just as @code{throw} would. If this happens,
-@var{handler} is called outside the scope of the new root -- it is
-called in the same dynamic context in which
-@code{call-with-dynamic-root} was evaluated.
-
-If @var{thunk} captures a continuation, the continuation is rooted at
-the call to @var{thunk}. In particular, the call to
-@code{call-with-dynamic-root} is not captured. Therefore,
-@code{call-with-dynamic-root} always returns at most one time.
-
-Before calling @var{thunk}, the dynamic-wind chain is un-wound back to
-the root and a new chain started for @var{thunk}. Therefore, this call
-may not do what you expect:
-
-@lisp
-;; Almost certainly a bug:
-(with-output-to-port
- some-port
-
- (lambda ()
- (call-with-dynamic-root
- (lambda ()
- (display 'fnord)
- (newline))
- (lambda (errcode) errcode))))
-@end lisp
-
-The problem is, on what port will @samp{fnord} be displayed? You
-might expect that because of the @code{with-output-to-port} that
-it will be displayed on the port bound to @code{some-port}. But it
-probably won't -- before evaluating the thunk, dynamic winds are
-unwound, including those created by @code{with-output-to-port}.
-So, the standard output port will have been re-set to its default value
-before @code{display} is evaluated.
-
-(This function was added to Guile mostly to help calls to functions in C
-libraries that can not tolerate non-local exits or calls that return
-multiple times. If such functions call back to the interpreter, it should
-be under a new dynamic root.)
-@end deffn
-
-@deffn {Scheme Procedure} dynamic-root
-@deffnx {C Function} scm_dynamic_root ()
-Return an object representing the current dynamic root.
-
-These objects are only useful for comparison using @code{eq?}.
-
-@end deffn
-
-@deffn {Scheme Procedure} uniform-vector-ref v idx
-@deffnx {C Function} scm_uniform_vector_ref (v, idx)
-Return the element at index @var{idx} of the
-homogenous numeric vector @var{v}.
-@end deffn
-
-@deffn {Scheme Procedure} uniform-vector-length v
-@deffnx {C Function} scm_uniform_vector_length (v)
-Return the number of elements in the uniform vector @var{v}.
-@end deffn
-
-@deffn {Scheme Procedure} uniform-vector-read! uvec [port_or_fd [start [end]]]
-@deffnx {C Function} scm_uniform_vector_read_x (uvec, port_or_fd, start, end)
-Fill the elements of @var{uvec} by reading
-raw bytes from @var{port-or-fdes}, using host byte order.
-
-The optional arguments @var{start} (inclusive) and @var{end}
-(exclusive) allow a specified region to be read,
-leaving the remainder of the vector unchanged.
-
-When @var{port-or-fdes} is a port, all specified elements
-of @var{uvec} are attempted to be read, potentially blocking
-while waiting formore input or end-of-file.
-When @var{port-or-fd} is an integer, a single call to
-read(2) is made.
-
-An error is signalled when the last element has only
-been partially filled before reaching end-of-file or in
-the single call to read(2).
-
-@code{uniform-vector-read!} returns the number of elements
-read.
-
-@var{port-or-fdes} may be omitted, in which case it defaults
-to the value returned by @code{(current-input-port)}.
-@end deffn
-
-@deffn {Scheme Procedure} uniform-vector-write uvec [port_or_fd [start [end]]]
-@deffnx {C Function} scm_uniform_vector_write (uvec, port_or_fd, start, end)
-Write the elements of @var{uvec} as raw bytes to
-@var{port-or-fdes}, in the host byte order.
-
-The optional arguments @var{start} (inclusive)
-and @var{end} (exclusive) allow
-a specified region to be written.
-
-When @var{port-or-fdes} is a port, all specified elements
-of @var{uvec} are attempted to be written, potentially blocking
-while waiting for more room.
-When @var{port-or-fd} is an integer, a single call to
-write(2) is made.
-
-An error is signalled when the last element has only
-been partially written in the single call to write(2).
-
-The number of objects actually written is returned.
-@var{port-or-fdes} may be
-omitted, in which case it defaults to the value returned by
-@code{(current-output-port)}.
-@end deffn
-
-@deffn {Scheme Procedure} string-any-c-code char_pred s [start [end]]
-@deffnx {C Function} scm_string_any (char_pred, s, start, end)
-Check if the predicate @var{pred} is true for any character in
-the string @var{s}.
-
-Calls to @var{pred} are made from left to right across @var{s}.
-When it returns true (ie.@: non-@code{#f}), that return value
-is the return from @code{string-any}.
-
-The SRFI-13 specification requires that the call to @var{pred}
-on the last character of @var{s} (assuming that point is
-reached) be a tail call, but currently in Guile this is not the
-case.
-@end deffn
-
-@deffn {Scheme Procedure} string-every-c-code char_pred s [start [end]]
-@deffnx {C Function} scm_string_every (char_pred, s, start, end)
-Check if the predicate @var{pred} is true for every character
-in the string @var{s}.
-
-Calls to @var{pred} are made from left to right across @var{s}.
-If the predicate is true for every character then the return
-value from the last @var{pred} call is the return from
-@code{string-every}.
-
-If there are no characters in @var{s} (ie.@: @var{start} equals
-@var{end}) then the return is @code{#t}.
-
-The SRFI-13 specification requires that the call to @var{pred}
-on the last character of @var{s} (assuming that point is
-reached) be a tail call, but currently in Guile this is not the
-case.
-@end deffn
-
-@deffn {Scheme Procedure} make-recursive-mutex
-@deffnx {C Function} scm_make_recursive_mutex ()
-Create a new recursive mutex.
-@end deffn
-
-@deffn {Scheme Procedure} vector-copy vec
-@deffnx {C Function} scm_vector_copy (vec)
-Return a copy of @var{vec}.
-@end deffn
-
-@deffn {Scheme Procedure} dimensions->uniform-array dims prot [fill]
-@deffnx {Scheme Procedure} make-uniform-vector length prototype [fill]
-@deffnx {C Function} scm_dimensions_to_uniform_array (dims, prot, fill)
-Create and return a uniform array or vector of type
-corresponding to @var{prototype} with dimensions @var{dims} or
-length @var{length}. If @var{fill} is supplied, it's used to
-fill the array, otherwise @var{prototype} is used.
-@end deffn
-
-@deffn {Scheme Procedure} list->uniform-array ndim prot lst
-@deffnx {C Function} scm_list_to_uniform_array (ndim, prot, lst)
-Return a uniform array of the type indicated by prototype
-@var{prot} with elements the same as those of @var{lst}.
-Elements must be of the appropriate type, no coercions are
-done.
-
-The argument @var{ndim} determines the number of dimensions
-of the array. It is either an exact integer, giving the
-number directly, or a list of exact integers, whose length
-specifies the number of dimensions and each element is the
-lower index bound of its dimension.
-@end deffn
-
-@deffn {Scheme Procedure} array-prototype ra
-@deffnx {C Function} scm_array_prototype (ra)
-Return an object that would produce an array of the same type
-as @var{array}, if used as the @var{prototype} for
-@code{make-uniform-array}.
-@end deffn