* ioext.c (scm_setfileno): throw a runtime error if SET_FILE_FD_FIELD
authorGary Houston <ghouston@arglist.com>
Sat, 29 Mar 1997 18:42:43 +0000 (18:42 +0000)
committerGary Houston <ghouston@arglist.com>
Sat, 29 Mar 1997 18:42:43 +0000 (18:42 +0000)
commit67ec36676ea1eb123d62f87d1269f5e37c228af3
tree25398769c7f73d69074fedc015f84e42943df94d
parent9337637f9a078de747d54e1448107a9a9d09e92d
* ioext.c (scm_setfileno): throw a runtime error if SET_FILE_FD_FIELD
wan't defined.  Don't include fd.h.

* Previously fd.h was regenerated whenever configure was run,
forcing a couple of files to be recompiled.

* fd.h.in: deleted, SET_FILE_FD_FIELD moved to ioext.c.
* configure.in: AC_DEFINE FD_SETTER instead of HAVE_FD_SETTER.
Check for _fileno as well as _file.
Don't output fd.h.
* ioext.c: don't fd.h.
* acconfig.h: remove duplicate HAVE_FD_SETTER and change the
other to FD_SETTER.

* Change the stratigy for getting information about errno
(and now signal number) values, e.g., ENOSYS, SIGKILL.  Instead of
generating lists of symbols during the build process, which will
not always work, include comprehensive lists in the distribution.
To help keep the lists up to date, the "check_signals" and
"check_errnos" make targets can be used.

* configure.in: don't check for a command to extract errno codes.
* Makefile.am: update file lists, remove errnos.list and errnos.c
targets, add cpp_err_symbols.c, cpp_sig_symbols.c, check_signals,
check_errnos targets.
(CLEANFILES): remove errnos.c and errnos.list, add
cpp_err_symbols_here cpp_err_symbols_diff cpp_err_symbols_new
cpp_sig_symbols_here cpp_sig_symbols_diff cpp_sig_symbols_new
* errnos.default: deleted.
* cpp_signal.c: new file.
* cpp_errno.c: renamed from errnos_get.c.
* cpp_err_symbols, cpp_sig_symbols: new files.
* cpp_cnvt.awk: renamed from errnos_cnvt_awk.
* error.c (scm_init_error): #include cpp_err_symbols instead of
errnos.c.
* posix.c (scm_init_posix): don't intern signal symbols.  #include
cpp_sig_symbols.c.
* strop.c (scm_i_index): allow the lower bound to be equal to the
length of the string, so a null string doesn't always give an error.

* posix.h: new prototypes.
* posix.c (scm_status_exit_val, scm_status_term_sig,
scm_status_stop_sig): new functions, as in scsh.  They break down
process status values as returned by waitpid.
18 files changed:
libguile/ChangeLog
libguile/Makefile.am
libguile/Makefile.in
libguile/acconfig.h
libguile/aclocal.m4
libguile/configure
libguile/configure.in
libguile/cpp_cnvt.awk [new file with mode: 0644]
libguile/cpp_errno.c [new file with mode: 0644]
libguile/cpp_signal.c [new file with mode: 0644]
libguile/error.c
libguile/filesys.c
libguile/fports.h
libguile/ioext.c
libguile/posix.c
libguile/posix.h
libguile/scmconfig.h.in
libguile/strop.c