creation of port types (replaces scm_newptob). Just as for the
smobs, we need to separate the internal representation of smob
types from the interface, so that we easily can add new fields and
rearrange things without caring about backward compatibility.
This change was forced by the need in GOOPS to create classes
representing port types.
(scm_set_ptob_mark, scm_set_ptob_free, scm_set_ptob_print,
scm_set_ptob_equalp, scm_set_ptob_flush_input, scm_set_ptob_close,
scm_set_ptob_seek, scm_set_ptob_truncate,
scm_set_ptob_input_waiting_p): New setters.
(scm_newptob): Rewritten to use scm_make_port_type. For backward
compatibility.
(scm_ptobs): Changed type scm_ptobfuns --> scm_ptob_descriptor.
(scm_prinport): Removed.
(scm_port_print): Added.
(scm_print_port_mode): Added.
(void_port_ptob, print_void_port, close_void_port, noop0):
Removed. Removed #include "genio.h" Added #include "objects.h",
#include "smobs.h"
(local_free): Added.
(scm_fptob): Removed. Instead use new interface.
(scm_make_fptob): Added. (Need to create basic ports in a
specific order in ports.c.)
* gdbint.c (gdb_print, gdb_read): call scm_truncate_file.
* ports.c (scm_truncate_file): renamed from scm_ftruncate.
allow the 1st argument to be a fdes or filename as well as a
port (as in the filesys.c version).
* filesys.c (scm_truncate_file): removed.
rl_outstream on error before closing it.
* readline.c: #include "libguile/_scm.h" (so that we get the
configuration information) and fix other includes so that they'll
work on a system where guile is not yet installed.
support.
* guile-readline: New directory, see ChangeLog there.
* configure.in: Cause configure to descend into guile-readline
dir.
* Makefile.am: Likewise for make.
* NEWS: Explain how to activate the readline support.
* configure, Makefile.in, aclocal.m4: Regenerated.
SCM_TYP7, SCM_TYP7S, SCM_TYP16, SCM_TYP16S, SCM_GCTYP16,
SCM_GCMARKP, SCM_GC8MARKP): Don't cast to int. Either SCM or no
cast at all is more appropriate in every case. At the moment, we
assume everywhere that SCM is an integral type anyway.