is defined, to avoid warnings; it's only used in the
conflict-checking code. Which might go away anyway.
(SCM_CEVAL): All goto's targeting the `dispatch' label are in
conditionals; put the label definition in an #if too, to stifle
warnings.
function call in SCM_DEFER_INTS/SCM_ALLOW_INTS.
(scm_dynamic_link, scm_dynamic_unlink, scm_dynamic_func): Always
call the sysdep functions with deferred ints.
* dynl.c, dynl-dl.c, dynl-dld.c, dynl-shl.c (sysdep_dynl_link,
sysdep_dynl_unlink, sysdep_dynl_func): Expect to be called with
deferred interrupts and insert SCM_ALLOW_INTS before throwing an
error.
* dynl.c (scm_dynamic_unlink, scm_dynamic_call): Return
SCM_UNSPECIFIED.
check. Correctly check for struct printer tag.
* boot-9.scm (with-regexp-parts): Comment this out. It has no
users in the core, and relies on mildly hairy details of the old
regexp interface.
* boot-9.scm (ipow-by-squaring, butlast): Fix uses of outdated
function names.
* boot-9.scm (with-excursion-getter-and-setter, q-rear): Doc
fixes.
(expect-port, expect-timeout, expect-timeout-proc,
expect-eof-proc, expect-char-proc, expect, expect-strings,
expect-select): Make these public definitions.
(expect-strings): Use make-regexp and regexp-exec, instead of
regcomp and regexec. We've omitted the REG_NEWLINE flag; hope
that's okay.
condition during lookup (when using threads).
(scm_lookupcar): Implement in terms of scm_lookupcar1.
(SCM_CEVAL): Use scm_lookupcar1 instead of scm_lookupcar in one
place.
the Scheme variable *struct-printer*. This variable can be set by
Scheme code to override the printing of structures.
(scm_print_struct): If struct_printer is set, call it. If it is
not set, or returns #f, print the structure in the old fashion.
Include "eval.h" for scm_apply.
make-struct-printer, set-struct-printer-in-vtable!): New bindings
to support printing of structures.
(record-type-vtable, make-record-type): Add slot to hold printing
function and initialize it with something appropriate. Removed
commented out printing code.
(record-type-name, record-type-fields): Adjusted slot offsets.
(%print-module): Reduce argument list to "mod" and "port".
scm_struct_i_n_words to get the number of fields, not
-scm_struct_n_extra_words.
On the route to fancier struct printing:
* struct.c (scm_print_struct): New function to print a structure.
Include "genio.h" to support it. This function doesn't do
anything interesting right now, but I think it should be here
anyway.
* struct.h: Include "print.h" and add prototype for
scm_print_struct.
* print.c (scm_iprin1): Call scm_print_struct instead of trying to
print structures ourself.