errnos_get.c.
Add a rule to generate errnos.c from errnos.
* error.c (scm_init_error): include errnos.c.
* errnos_cnvt.awk: new file, converts the list of errno codes to
C expressions.
* errnos_get.c: new file.
* errnos.default: new file, contains errnos to try if they can't
be extracted from errno.h.
* configure.in: if using GCC, try and extract errno codes from
errno.h.
Added AC_PROG_AWK.
* Makefile.am: Made libguile into a libtool library.
* PLUGIN/guile.config: Removed "-L ../libguile" from xtra_cflags.
Set libtool_libs to indicate that libguile is a libtool library.
See guile/ChangeLog for details.
* .cvsignore: ignore "*.lo", the libtool library objects.
<sys/types.h> as well as <sys/socket.h>. I've never known
<sys/types.h> to cause any portability problems, and Solaris's
<sys/socket.h> needs it.
* configure: Rebuilt.
ANSI declarations combined with K&R definitions. We'll
appease it a little bit. But when it invades France, we fight.
* print.c (scm_iprlist): Change 'tlr' argument to an int.
* print.h (scm_iprlist): Here too.
* numbers.c (scm_divbigdig): Change definition to match
declaration in numbers.h.
* unif.c (scm_makflo): Change definition to match declaration in
unif.h.
PLUGIN/guile.libs.in. This is for including additonal libraries
needed for dynamic linking.
* Makefile.am (EXTRA_DIST): Distribute PLUGIN/guile.libs.in
instead of PLUGIN/guile.libs.
PLUGIN/guile.libs.in. This is for including additonal libraries
needed for dynamic linking.
* Makefile.am (EXTRA_DIST): Distribute PLUGIN/guile.libs.in
instead of PLUGIN/guile.libs.
* Makefile.am: Added explicit dependency "dynl.o: dynl.x".
occurrences of the given element from the list, not just the
first. This is how the Emacs Lisp functions behave, how the
analogous Common Lisp functions behave, and (I believe) how the
older Maclisp functions worked. I realize that this change may
break code, but it seemed better to break it before the Guile
release than after.
Their prototypes were already present in gc.h, but they weren't
implemented.
(scm_init_storage): Initialize scm_protects.
* root.c (scm_protects): New element of scm_sys_protects.
30 change. That file is only meant for communication between the
configuration process and load.c. If code linked against libguile
wants to get at the paths mentioned in libpath.h, it can call
functions declared in load.h.
use separate data pointers, to allow them to be designed
independently and reused.
(scm_body_thunk, scm_handle_by_proc, scm_handle_by_message):
Renamed from catch_body, catch_handler, and uncaught_throw; made
generically useful.
(struct scm_catch_body_data): Renamed from catch_body_data; moved
to throw.h.
(scm_catch): Use the above.
(scm_throw): Don't bother printing a message for an uncaught
throw; we establish a default handler in init.
* throw.h (scm_internal_catch): Prototype updated.
(scm_body_thunk, scm_handle_by_proc, scm_handle_by_message): New
decls.
(struct scm_body_thunk_data): New structure, used as data
argument to scm_body_thunk.
* init.c (struct main_func_closure): New structure, packaging up
the data to pass to the user's main function.
(scm_boot_guile): Create one. Pass it to scm_boot_guile_1.
(scm_boot_guile_1): Pass it through to invoke_main_func. Use
scm_internal_catch to establish a catch-all handler, using
scm_handle_by_message. This replaces the special-case code in
scm_throw.
(invoke_main_func): Body function for scm_internal_catch; invoke
the user's main function, using the main_func_closure pointer to
decide what to pass it.
* root.c (struct cwdr_body_data): Remove handler_proc member.
(cwdr): Use scm_handle_by_proc instead of cwdr_handler.
(cwdr_handler): Removed.