* scm_validate.h: Added SCM_NUM2LONG_DEF macro. Make
authorGreg J. Badros <gjb@cs.washington.edu>
Wed, 12 Jan 2000 01:51:18 +0000 (01:51 +0000)
committerGreg J. Badros <gjb@cs.washington.edu>
Wed, 12 Jan 2000 01:51:18 +0000 (01:51 +0000)
commitc1bfcf602b80bca6c6ccec0a100ec59258c4160d
treed94171f20b886a35e02b324407af13d27d3957b5
parentd61f6b028874eee1656d3b4211189fcb80cb8ec0
* scm_validate.h: Added SCM_NUM2LONG_DEF macro.  Make
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.
guile-readline/readline.c
libguile/dynl.c
libguile/eval.c
libguile/evalext.c
libguile/filesys.c
libguile/fluids.c
libguile/ioext.c
libguile/numbers.c
libguile/ports.c
libguile/scm_validate.h