added append docs from R4RS.
* strings.c: Docstring typo fix, + eliminate unneeded IMP tests.
Thanks Dirk Hermann!
* chars.h: Provide SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR and
deprecate SCM_ICHRP, SCM_ICHR, SCM_MAKICHR. Thanks Dirk Hermann!
* *.h, *.c: Use SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR throughout.
Drop use of SCM_P for function prototypes... assume an ANSI C
compiler. Thanks Dirk Hermann!
return SCM_UNSPECIFIED instead of a (not-scheme-object) integer
that caused a seg fault. Also fixed `set-port-column!'s
docstring. Thanks Han-Wen Nienhuys for finding the bug!
regex-posix.c, scmsigs.c, stime.c, strings.c, variable.c, stime.c,
strings.c, variable.c: Added lots of documentation, cleaned up
some existing documentation. Occasionally changed formal params
to match docs. Also folded an #ifdef into the inners of a
primitive instead of having two copies of the primitive
(`get-internal-real-time', from stime.c)
* init.c (scm_init_standard_ports): when stdout is a tty, make the
current-output-port unbuffered by default. this is less confusing
for interactive use. it was line-buffered because of a
performance problem with unbuffered ports, but I think it will be
OK now.
is not defined.
* stime.c (scm_localtime, scm_mktime): if neither HAVE_TM_ZONE nor
HAVE_TZNAME are defined, use an empty string instead of giving two
spurious compile-time errors.
* error.c, gh_data.c, ports.c, script.c, strop.c: include <string.h>.
* strings.c (scm_string_ref): make the 2nd argument compulsory.
previously it defaulted to zero for no good reason that I can see.
use a local variable for SCM_INUM (k). replace
SCM_VALIDATE_INUM_DEF with SCM_VALIDATE_INUM_COPY.
(scm_makfromstr): cosmetic changes.
(scm_string): Accept only chars in the list, not strings, for
conformance to R5RS (particularly for list->string, which is
supposed to be the inverse of string->list.) remove
SCM_DEFER_INTS/SCM_ALLOW_INTS, which is unnecessary since
scm_makstr handles the cell allocation. when reporting wrong-type
arg, don't report the position as 1.
* posix.c (scm_init_posix): intern PIPE_BUF if it's defined.
* boot-9.scm (find-and-link-dynamic-module): pass strings, not symbols,
to string-append.
fill_select_type, set_element): modified so that Scheme
"select" tests port buffers for the ability to provide input
or accept output. Previously only the underlying file descriptors
were checked. Rewrote the docstring.
* expect.scm (expect): don't call char-ready? before expect-select,
since select now checks port buffers itself. don't bother to check
the time first either, since expect-select does it.
suggests removing tag.c altogether (and using a new `class-of'
instead).
* strings.c: Added documentation from Gregg A. Reynolds. Edited
a bit by me to use FOO instead of @var{foo} and to have the
summary come before preconditions on input. Also dropped trailing
(rnrs) note.
* gsubr.c: Do not use SCM_DEFINE for `gsubr-apply'. Register the
function with scm_make_subr_opt w/ last arg of 0 so it is not
visible at the Scheme level. Mikael says (on devel-guile) that
this is the right thing because the first arg to the proc is the
guts of a compiled closure and shouldn't be exposed to the Scheme
level.
* list.c: Put some variable initialization code at the point of
declaration; Added a comment for list*; Formatting changes.
* load.c: use SCM_NNULLP to make sure the end of a list is not
reached yet.