diff --git a/libguile/debug.c b/libguile/debug.c index 92fb2e138..5259b4cec 100644 --- a/libguile/debug.c +++ b/libguile/debug.c @@ -421,7 +421,7 @@ GUILE_PROC (scm_procedure_source, "procedure-source", 1, 0, 0, "") #define FUNC_NAME s_scm_procedure_source { - SCM_VALIDATE_NIMP(1,proc); + SCM_VALIDATE_NIM (1,proc); switch (SCM_TYP7 (proc)) { case scm_tcs_closures: { @@ -456,7 +456,7 @@ GUILE_PROC (scm_procedure_environment, "procedure-environment", 1, 0, 0, "") #define FUNC_NAME s_scm_procedure_environment { - SCM_VALIDATE_NIMP(1,proc); + SCM_VALIDATE_NIM (1,proc); switch (SCM_TYP7 (proc)) { case scm_tcs_closures: return SCM_ENV (proc); diff --git a/libguile/filesys.c b/libguile/filesys.c index 258d8f7a1..dac0af37b 100644 --- a/libguile/filesys.c +++ b/libguile/filesys.c @@ -406,7 +406,7 @@ GUILE_PROC (scm_stat, "stat", 1, 0, 0, SCM_SYSCALL (rv = fstat (SCM_INUM (object), &stat_temp)); else { - SCM_VALIDATE_NIMP(1,object); + SCM_VALIDATE_NIM (1,object); if (SCM_ROSTRINGP (object)) { SCM_COERCE_SUBSTR (object); diff --git a/libguile/procs.c b/libguile/procs.c index fcd0bfa57..88d30daa9 100644 --- a/libguile/procs.c +++ b/libguile/procs.c @@ -326,7 +326,7 @@ GUILE_PROC (scm_procedure, "procedure", 1, 0, 0, "") #define FUNC_NAME s_scm_procedure { - SCM_VALIDATE_NIMP(1,proc); + SCM_VALIDATE_NIM (1,proc); if (SCM_PROCEDURE_WITH_SETTER_P (proc)) return SCM_PROCEDURE (proc); else if (SCM_STRUCTP (proc)) diff --git a/libguile/ramap.c b/libguile/ramap.c index 813fd1d7a..b3f0a81af 100644 --- a/libguile/ramap.c +++ b/libguile/ramap.c @@ -1754,7 +1754,7 @@ GUILE_PROC(scm_array_index_map_x, "array-index-map!", 2, 0, 0, #define FUNC_NAME s_scm_array_index_map_x { scm_sizet i; - SCM_VALIDATE_NIMP(1,ra); + SCM_VALIDATE_NIM (1,ra); SCM_VALIDATE_PROC(2,proc); switch (SCM_TYP7(ra)) { diff --git a/libguile/random.c b/libguile/random.c index cdfbb0b83..5dac2b37e 100644 --- a/libguile/random.c +++ b/libguile/random.c @@ -364,7 +364,7 @@ GUILE_PROC (scm_random, "random", 1, 1, 0, SCM_ASSERT_RANGE (1,n,m > 0); return SCM_MAKINUM (scm_c_random (SCM_RSTATE (state), m)); } - SCM_VALIDATE_NIMP(1,n); + SCM_VALIDATE_NIM (1,n); if (SCM_REALP (n)) return scm_makdbl (SCM_REALPART (n) * scm_c_uniform01 (SCM_RSTATE (state)), 0.0); diff --git a/libguile/scm_validate.h b/libguile/scm_validate.h index eab2e3d16..4c6d3ebac 100644 --- a/libguile/scm_validate.h +++ b/libguile/scm_validate.h @@ -1,4 +1,4 @@ -/* $Id: scm_validate.h,v 1.2 1999-12-12 18:08:24 gjb Exp $ */ +/* $Id: scm_validate.h,v 1.3 1999-12-12 18:30:09 gjb Exp $ */ /* Copyright (C) 1999 Free Software Foundation, Inc. * * This program is free software; you can redistribute it and/or modify @@ -88,9 +88,15 @@ #define SCM_MUST_MALLOC(size) (scm_must_malloc((size), FUNC_NAME)) -#define SCM_VALIDATE_NIMP(pos,scm) \ +#define SCM_VALIDATE_NIM (pos,scm) \ do { SCM_ASSERT(SCM_NIMP(scm), scm, pos, FUNC_NAME); } while (0) +#define SCM_MAKE_NIM_VALIDATE(pos,var,pred) \ + do { SCM_ASSERT (SCM_NIMP(var) && SCM ## pred(var), var, pos, FUNC_NAME); } while (0) + +#define SCM_MAKE_VALIDATE(pos,var,pred) \ + do { SCM_ASSERT (SCM ## pred(var), var, pos, FUNC_NAME); } while (0) + #define SCM_VALIDATE_BOOL(pos,flag) \ do { SCM_ASSERT(SCM_BOOL_T == flag || SCM_BOOL_F == flag, flag, pos, FUNC_NAME); } while (0) diff --git a/libguile/scmsigs.c b/libguile/scmsigs.c index b8e190899..c46835578 100644 --- a/libguile/scmsigs.c +++ b/libguile/scmsigs.c @@ -258,7 +258,7 @@ GUILE_PROC(scm_sigaction, "sigaction", 1, 2, 0, } else { - SCM_VALIDATE_NIMP(2,handler); + SCM_VALIDATE_NIM (2,handler); #ifdef HAVE_SIGACTION action.sa_handler = take_signal; if (orig_handlers[csig].sa_handler == SIG_ERR) diff --git a/libguile/sort.c b/libguile/sort.c index 716d75f3c..99b9a3ca2 100644 --- a/libguile/sort.c +++ b/libguile/sort.c @@ -423,8 +423,8 @@ GUILE_PROC (scm_restricted_vector_sort_x, "restricted-vector-sort!", 4, 0, 0, size_t vlen, spos, len, size = sizeof (SCM); SCM *vp; - SCM_VALIDATE_NIMP(1,vec); - SCM_VALIDATE_NIMP(2,less); + SCM_VALIDATE_NIM (1,vec); + SCM_VALIDATE_NIM (2,less); switch (SCM_TYP7 (vec)) { case scm_tc7_vector: /* the only type we manage is vector */ @@ -469,8 +469,8 @@ GUILE_PROC (scm_sorted_p, "sorted?", 2, 0, 0, if (SCM_NULLP (items)) return SCM_BOOL_T; - SCM_VALIDATE_NIMP(1,items); - SCM_VALIDATE_NIMP(2,less); + SCM_VALIDATE_NIM (1,items); + SCM_VALIDATE_NIM (2,less); if (SCM_CONSP (items)) { @@ -544,7 +544,7 @@ GUILE_PROC (scm_merge, "merge", 3, 0, 0, long alen, blen; /* list lengths */ SCM build, last; cmp_fun_t cmp = scm_cmp_function (less); - SCM_VALIDATE_NIMP(3,less); + SCM_VALIDATE_NIM (3,less); if (SCM_NULLP (alist)) return blist; @@ -650,7 +650,7 @@ GUILE_PROC (scm_merge_x, "merge!", 3, 0, 0, { long alen, blen; /* list lengths */ - SCM_VALIDATE_NIMP(3,less); + SCM_VALIDATE_NIM (3,less); if (SCM_NULLP (alist)) return blist; else if (SCM_NULLP (blist)) @@ -723,8 +723,8 @@ GUILE_PROC (scm_sort_x, "sort!", 2, 0, 0, long len; /* list/vector length */ if (SCM_NULLP(items)) return SCM_EOL; - SCM_VALIDATE_NIMP(1,items); - SCM_VALIDATE_NIMP(2,less); + SCM_VALIDATE_NIM (1,items); + SCM_VALIDATE_NIM (2,less); if (SCM_CONSP (items)) { @@ -756,8 +756,8 @@ GUILE_PROC (scm_sort, "sort", 2, 0, 0, long len; /* list/vector length */ if (SCM_NULLP(items)) return SCM_EOL; - SCM_VALIDATE_NIMP(1,items); - SCM_VALIDATE_NIMP(2,less); + SCM_VALIDATE_NIM (1,items); + SCM_VALIDATE_NIM (2,less); if (SCM_CONSP (items)) { SCM_VALIDATE_LIST_COPYLEN(1,items,len); @@ -847,8 +847,8 @@ GUILE_PROC (scm_stable_sort_x, "stable-sort!", 2, 0, 0, if (SCM_NULLP (items)) return SCM_EOL; - SCM_VALIDATE_NIMP(1,items); - SCM_VALIDATE_NIMP(2,less); + SCM_VALIDATE_NIM (1,items); + SCM_VALIDATE_NIM (2,less); if (SCM_CONSP (items)) { SCM_VALIDATE_LIST_COPYLEN(1,items,len); @@ -884,8 +884,8 @@ GUILE_PROC (scm_stable_sort, "stable-sort", 2, 0, 0, long len; /* list/vector length */ if (SCM_NULLP (items)) return SCM_EOL; - SCM_VALIDATE_NIMP(1,items); - SCM_VALIDATE_NIMP(2,less); + SCM_VALIDATE_NIM (1,items); + SCM_VALIDATE_NIM (2,less); if (SCM_CONSP (items)) { SCM_VALIDATE_LIST_COPYLEN(1,items,len); @@ -926,7 +926,7 @@ GUILE_PROC (scm_sort_list_x, "sort-list!", 2, 0, 0, { long len; SCM_VALIDATE_LIST_COPYLEN(1,items,len); - SCM_VALIDATE_NIMP(2,less); + SCM_VALIDATE_NIM (2,less); return scm_merge_list_step (&items, scm_cmp_function (less), less, len); } #undef FUNC_NAME /* scm_sort_list_x */ @@ -939,7 +939,7 @@ GUILE_PROC (scm_sort_list, "sort-list", 2, 0, 0, { long len; SCM_VALIDATE_LIST_COPYLEN(1,items,len); - SCM_VALIDATE_NIMP(2,less); + SCM_VALIDATE_NIM (2,less); items = scm_list_copy (items); return scm_merge_list_step (&items, scm_cmp_function (less), less, len); } diff --git a/libguile/srcprop.c b/libguile/srcprop.c index 9c0be93b4..16cfb40dd 100644 --- a/libguile/srcprop.c +++ b/libguile/srcprop.c @@ -169,7 +169,7 @@ GUILE_PROC (scm_source_properties, "source-properties", 1, 0, 0, #define FUNC_NAME s_scm_source_properties { SCM p; - SCM_VALIDATE_NIMP(1,obj); + SCM_VALIDATE_NIM (1,obj); if (SCM_MEMOIZEDP (obj)) obj = SCM_MEMOIZED_EXP (obj); #ifndef SCM_RECKLESS @@ -191,7 +191,7 @@ GUILE_PROC (scm_set_source_properties_x, "set-source-properties!", 2, 0, 0, #define FUNC_NAME s_scm_set_source_properties_x { SCM handle; - SCM_VALIDATE_NIMP(1,obj); + SCM_VALIDATE_NIM (1,obj); if (SCM_MEMOIZEDP (obj)) obj = SCM_MEMOIZED_EXP (obj); #ifndef SCM_RECKLESS @@ -210,7 +210,7 @@ GUILE_PROC (scm_source_property, "source-property", 2, 0, 0, #define FUNC_NAME s_scm_source_property { SCM p; - SCM_VALIDATE_NIMP(1,obj); + SCM_VALIDATE_NIM (1,obj); if (SCM_MEMOIZEDP (obj)) obj = SCM_MEMOIZED_EXP (obj); #ifndef SCM_RECKLESS @@ -243,7 +243,7 @@ GUILE_PROC (scm_set_source_property_x, "set-source-property!", 3, 0, 0, { scm_whash_handle h; SCM p; - SCM_VALIDATE_NIMP(1,obj); + SCM_VALIDATE_NIM (1,obj); if (SCM_MEMOIZEDP (obj)) obj = SCM_MEMOIZED_EXP (obj); #ifndef SCM_RECKLESS diff --git a/libguile/stacks.c b/libguile/stacks.c index 6b6de12a8..1900b9a67 100644 --- a/libguile/stacks.c +++ b/libguile/stacks.c @@ -523,7 +523,7 @@ GUILE_PROC (scm_stack_id, "stack-id", 1, 0, 0, dframe = scm_last_debug_frame; else { - SCM_VALIDATE_NIMP(1,stack); + SCM_VALIDATE_NIM (1,stack); if (SCM_DEBUGOBJP (stack)) dframe = (scm_debug_frame *) SCM_DEBUGOBJ_FRAME (stack); else if (scm_tc7_contin == SCM_TYP7 (stack)) @@ -593,7 +593,7 @@ GUILE_PROC(scm_last_stack_frame, "last-stack-frame", 1, 0, 0, long offset = 0; SCM stack; - SCM_VALIDATE_NIMP(1,obj); + SCM_VALIDATE_NIM (1,obj); if (SCM_DEBUGOBJP (obj)) dframe = (scm_debug_frame *) SCM_DEBUGOBJ_FRAME (obj); else if (scm_tc7_contin == SCM_TYP7 (obj)) diff --git a/libguile/unif.c b/libguile/unif.c index c3d649480..cbf635141 100644 --- a/libguile/unif.c +++ b/libguile/unif.c @@ -1683,7 +1683,7 @@ GUILE_PROC(scm_bit_position, "bit-position", 3, 0, 0, { long i, lenw, xbits, pos; register unsigned long w; - SCM_VALIDATE_NIMP(2,v); + SCM_VALIDATE_NIM (2,v); SCM_VALIDATE_INT_COPY(3,k,pos); SCM_ASSERT ((pos <= SCM_LENGTH (v)) && (pos >= 0), k, SCM_OUTOFRANGE, FUNC_NAME);