* 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.
re-define format to be format:format (instead of just define,
which interacts poorly with the module system). Thanks to Shuji
Narazaki for this change.
SCM_VALIDATE_LONG_COPY
* numbers.c: Use SCM_VALIDATE_ULONG_COPY, instead of
SCM_VALIDATE_INUM_COPY to let bigger numbers be used. Rename a
couple of formal arguments (and fix their uses) to make arguments
match the documentation.
of the test suite now.
* tests/version.test: Added -- version.c had 0% coverage before,
now at 100%.
* tests/chars.test: Added -- needed test of char-is-both?.
guile-func-name-check, and put "$fullfilename" and "$filename" in
quotes at uses to make sure re-splitting on whitespace does not
occur (so filenames w/ embedded whitespace would work okay, though
I sure hope we never have to deal with that! :-) ). Thanks to
Mikael for pointing out the source_dir != build_dir was broken.
SCM_OUT_OF_RANGE use SCM_MAKINUM, not scm_long2num. Added
SCM_COERCE_ROSTRING macro. Added SCM_VALIDATE_NONEMPTYLIST
macro. Fix SCM_VALIDATE_STRINGORSUBSTR macro to not use SLOPPY
variants.
* ports.c (scm_port_closed_p): Validate that the arg is a PORT,
then return whether it's an open port (was validating that it was
an open port -- this was a bug I introduced back in December, but
my careful reading of diffs caught it).
* numbers.c: Recombine the two conditional-compilation paths for
all the log* primitives -- they were split based on #ifndef
scm_long2num; factored out a SCM_LOGOP_RETURN macro, and fixed
some bugs and inconsistencies in the two sets of implementations.
(scm_lognot) Fixed *atrocious* re-use of a SCM as an integer!
* ioext.c: Use SCM_ASSERT_RANGE in a couple places, and
SCM_VALIDATE_INUM_COPY once where it should've been used.
* fluids.c (scm_internal_with_fluids): Use
SCM_VALIDATE_LIST_COPYLEN.
* filesys.c: Use SCM_NUM2LONG instead of SCM_VALIDATE_INUM_COPY;
this is questionable as it relaxes type safety, but other changes
were useful and all SCM_NUM2LONG's should probably be
revisited. Use SCM_OUT_OF_RANGE, SCM_WRONG_TYPE_ARG.
* evalext.c: line-break change on 1 line.
* eval.c (nconc2last): Takes a non-empty list as its first
argument, not just a list.
* dynl.c: Use new SCM_COERCE_ROSTRING macro.