(scm_init_backtrace): Initialize `the-last-stack' to a fluid.
(scm_backtrace): `the-last-stack' is now a fluid.
* init.c (scm_boot_guile_1): Moved call to scm_init_backtrace
after scm_init_fluids.
coop_wait_for_runnable_thread): Disable interrupts so that no
async is executed before a potential error_revive.
(scm_internal_select): Disable interrupts during the parts of the
code which manipulate the sleep queue and the file descriptors.
* coop.c (coop_qinit): Initialize fields used by
scm_internal_select.
(coop_qget, coop_qget, coop_tmp_queue): Made global.
(coop_next_runnable_thread): If GUILE_ISELECT enabled, use
replacement in iselect.c.
(coop_mutex_lock, coop_condition_variable_wait, coop_abort,
coop_join): If GUILE_ISELECT enabled, use
coop_wait_for_runnable_thread instead of
coop_next_runnable_thread.
(usleep, sleep): New replacements for system functions if
GUILE_ISELECT is enabled.
* coop-threads.h: Declare coop_wait_for_runnable_thread.
* coop-defs.h (coop_t): Added fields used by scm_internal_select.
* filesys.c: Added #include "iselect.h". Moved FD-macros to
iselect.h. Implement Scheme level `select' using
scm_internal_select. (See NEWS.)
* genio.c (scm_getc): Block with scm_internal_select. (See NEWS.)
* init.c: Call scm_init_iselect.
* fports.c (scm_fgets): Use malloc/free rather than scm_must_malloc
and scm_must_free, since ultimately the string returned will be copied
by scm_makfrom0str anyway. Also, read any characters that may have
been pushed onto the port with scm_ungetc.
* ports.c (scm_generic_fgets): Same as for scm_fgets.
* ioext.c (scm_read_line): Free string after Guilifying it.
* ports.h (scm_ptobfuns): fgets method returns a char *, not a char.
out to interact badly with the Emacs support and the Tcl/Tk
support. It's not a high enough priority at the moment to be
worth fixing. I'm leaving the other readline support in, though.
* symbols.h (SCM_SUBSTRP): Don't mask off the S bit; that's
exactly what we want to leave in to detect substrings.
(SCM_ROSTRINGP, ROUCHARS): Formatting tweaks.
* tags.h: Fix diagrams and comments describing the S tag bit;
remove vestigial remarks about the D tag bit.
(SCM_TYP7, SCM_TYP7S): Rephrased for readability.
* strings.c: Formatting tweaks.
name conflicts with the Qt user interface toolkit.
* threads.m4 (CY_AC_WITH_THREADS): Use new library name.
* configure.in: Same.
* aclocal.m4, configure: Regenerated.
Give more details about the deleted header files, and functions.
Clarify explanation of build-guile.
Make all the syscall changes subheadings of "Changes to Scheme
functions and syntax".
* readline.c, readline.h: New files.
* init.c: #include "readline.h".
(scm_boot_guile_1): Call scm_init_readline, if we have it.
* Makefile.am (libguile_la_SOURCES): Include readline.c.
* Makefile.in: Regenerated.
* scmconfig.h.in: Regenerated, after change to ../configure.