(scm_class_keyword): Removed. (Class is automatically created by
make_smob_classes.)
(scm_smob_class): Array of smob classes indexed by smobnum.
(scm_make_extended_class): "Plugin" function pointer for creation
of wrapper classes for smob and struct types.
(scm_class_of): Handle compiled closures. (Currently regarded as
<procedure>.);
Use scm_smob_class to handle smob types;
Handle scm_tc16_bigpos, scm_tc16_bigneg, and, scm_tc16_keyword
through scm_smob_class;
Handle structs.
* smob.h (SCM_TC2SMOBNUM): New macro for conversion between tc16
type code and smobnum.
(scm_class_keyword): Removed. (Class is automatically created by
make_smob_classes.)
(scm_smob_class): Array of smob classes indexed by smobnum.
(scm_make_extended_class): "Plugin" function pointer for creation
of wrapper classes for smob and struct types.
(scm_class_of): Handle compiled closures. (Currently regarded as
<procedure>.);
Use scm_smob_class to handle smob types;
Handle scm_tc16_bigpos, scm_tc16_bigneg, and, scm_tc16_keyword
through scm_smob_class;
Handle structs.
* Makefile.am, init.c, libguile.h, objects.c, root.h: Replaced
"kw" --> "keywords" everywhere.
(I doubt that this will cause big compatibility problems since the
application interface is unaffected.)
status of a module.;
Mark `the-root-module' and `the-scm-module' as system modules.
(process-define-module): Add new keyword :no-backtrace.
* boot-9.scm (environment-module): Bugfixed.
(set-module-eval-closure!): Add a pointer back from the eval
closure to the module.
* eval.c, eval.h (scm_top_level_lookup_closure): New function:
Extract the lookup closure from an environment.
(scm_system_module_env_p): New function: Return non-#f if MODULE
is a system module.
* eval.c, procs.c, procs.h, procprop.c: Renamed getter ->
procedure throughout.
procedure-with-setters.
* print.c (scm_iprin1): Use scm_procedure_name instead of
scm_procedure_property for compiled closures.
* eval.c, print.c (scm_iprin1): Added entries for scm_tc7_pws.
* gc.c (scm_gc_mark): Mark struct setter slot.
* gc.c (scm_gc_sweep): Bugfix: Look for SCM_STRUCT_F_LIGHT flag at
scm_struct_i_flags instead of scm_vtable_index_layout!
* gc.c (scm_gc_mark, scm_gc_sweep): Added case labels for
scm_tc7_pws.
procedure throughout.
* eval.c, print.c (scm_iprin1): Added entries for scm_tc7_pws.
* eval.c, debug.c, tags.h (SCM_IM_SET_X): Renamed from SCM_IM_SET.
* eval.c: Renamed "set" --> "set_x" in various names for
consistency of name correspondence between Scheme and C;
Renamed scm_i_set_x --> scm_sym_set_x and made global.
Renamed s_set_x --> scm_s_set_x and made global.
* eval.c (SCM_CEVAL): Added ENTER_APPLY in code for SCM_IM_APPLY.
(Thanks to Eric Hanchrow.)
* getopt-long.scm (parse-option-spec): Store 'optional as the
value-required? field for options that take optional values.
(process-short-option): Grab a value for the option when it takes
either an optional or required value.