(end_input_void_port): renamed to end_input_default.
* init.c (scm_standard_stream_to_port): create a void port instead
of opening /dev/null if the standard file descriptors are bad.
advantages: no portability problems, doesn't waste a file descriptor,
simplifies the code (thanks to Marius for the idea).
* vports.c (s_scm_make_soft_port): call scm_port_non_buffer.
* void ports: make reading from a void port give EOF instead of
segv:
* ports.c (s_scm_sys_make_void_port): modified docstring.
(fill_input_void_port): new proc.
(scm_init_ports): set up fill_input_void_port.
* ports.c (scm_port_non_buffer): new proc.
(scm_void_port): call scm_port_non_buffer.
* fports.c (scm_setvbuf): docstring: remove the fcntl documentation
which was incorrectly appended.
the fdes is valid before doing anything else. check that
the file descriptor supports the modes required.
(scm_fport_buffer_add): don't throw an error if fstat doesn't
work: just use the default buffer size.
* throw.c: change an outdated comment about scm_internal_catch
BODY: it doesn't take a jumpbuf arg.
* init.c (scm_standard_stream_to_port): install a handler in case
scm_fdes_to_port throws an error. don't check here whether the
file descriptor is valid, since scm_fdes_to_port will do that.
set the revealed count depending on whether the port got the
standard file descriptor.
(stream_body_data): new type.
(stream_body, stream_handler): new procs.
(coop_timeout_qinsert): Moved here from iselect.c
(coop_new_mutex_init, coop_new_condition_variable_init): New
functions. The strange names are temporary. Use scm_mutex_init
and scm_cond_init instead.
(coop_mutex_trylock): New function. Uses errno.h:EBUSY. errno.h
is ANSI C, but should we check for individual error codes in
configure.in?
(coop_condition_variable_timed_wait_mutex): New function.
(coop_key_create, coop_setspecific, coop_getspecific,
coop_key_delete,
scm_big_xor, scm_big_and, scm_big_test): Added new lowlevel bignum
logical functions from SCM.
(logand, logior, logxor, logtest, logbit?): Extended scheme
logical functions to use bignums from SCM.
(lognot): Removed call to `SCM_VALIDATE_INUM' that prevented
lognot from using bignums.
eliminating some warnings.
* unif.c, strports.c, print.c, options.c: Fix some warnings on
mis-use of SCM/long
* gc.c, gc.h: Added scm_return_first_int(), and added comment re:
what the scm_return_first* functions do.