* 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.
A new argument-processing package from Russ McManus.
* getopt-long.scm: New file.
* Makefile.am (ice9_sources): Added getopt-long.scm.
* Makefile.in: Regenerated.
* ice-9/optargs.scm: New file.
* ice-9/Makefile.am (ice9_sources): Add optargs.scm here. Makefile.in
not regenerated because I don't have the right version of Automake.
:autoload MODULENAME BINDINGS to the define-module form.
The autoload specifier tells the module system to load the module
MODULENAME at the first occasion that any variable with its name
among BINDINGS is referenced.
(make-autoload-interface): New procedure: Constructs a stand-in
for the public interface for the module to be autoloaded.
interface is set to the module itself. In this way we can use
beautify-user-module! to beautify a module prepared for object
code.
(process-define-module): Special case: Try to load object code as
well if a module does :use-module on itself.
* boot-9.scm: Bugfix: Since boot-9.scm is now loaded from
invoke_main_func, we can no longer be sure that all modules have
been registered when boot-9.scm is loaded.
(register-modules): New function: Register and tag modules
registered by scm_register_module_xxx since last call to this
function. Modules are tagged with the dynamic object passed as
argument. (Already linked modules should be tagged with #f.)
(init-dynamic-module, link-dynamic-module): Call register-modules
first to register linked modules.
* boot-9.scm (init-dynamic-module): Remove module from
registered-modules as soon as possible in case we are recursively
invoked; Set public interface before doing the dynamic-call.
* boot-9.scm (map-in-order): Removed (replaced by scm_serial_map).
(abort-hook, before-error-hook, after-error-hook,
before-backtrace-hook, after-backtrace-hook, before-read-hook,
after-read-hook, exit-hook): Make hooks with `make-hook'.
* boot-9.scm: Make hooks first class citizens and make them easier
to use from C:
(make-hook, add-hook!, remove-hook!, run-hooks): Moved to
libguile/feature.c.
* boot-9.scm: Added warnings about bindings used in
libguile/modules.c: the-module, set-current-module,
make-modules-in, beautify-user-module!, module-eval-closure.