diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 92aea05b9..d1f2dfd6f 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,7 @@ +2001-10-12 Mikael Djurfeldt + + * validate.h (SCM_VALIDATE_DOUBLE_DEF_COPY): New macro. + 2001-10-08 Rob Browning * gc.c: support ia64 register backing store. diff --git a/libguile/validate.h b/libguile/validate.h index ba807c6a1..43e877ff8 100644 --- a/libguile/validate.h +++ b/libguile/validate.h @@ -289,6 +289,19 @@ } \ } while (0) +#define SCM_VALIDATE_DOUBLE_DEF_COPY(pos, k, default, cvar) \ + do { \ + if (SCM_UNBNDP (k)) \ + { \ + k = scm_make_real (default); \ + cvar = default; \ + } \ + else \ + { \ + cvar = SCM_NUM2DOUBLE (pos, k); \ + } \ + } while (0) + /* [low,high) */ #define SCM_VALIDATE_INUM_RANGE(pos,k,low,high) \ do { SCM_ASSERT(SCM_INUMP(k), k, pos, FUNC_NAME); \