mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Fix
This commit is contained in:
parent
a94da0e030
commit
1aa621a3d1
1 changed files with 21 additions and 12 deletions
|
@ -147,14 +147,17 @@ SCM_DEFINE (scm_assq, "assq", 2, 0, 0,
|
||||||
"return the entire alist entry found (i.e. both the key and the value).")
|
"return the entire alist entry found (i.e. both the key and the value).")
|
||||||
#define FUNC_NAME s_scm_assq
|
#define FUNC_NAME s_scm_assq
|
||||||
{
|
{
|
||||||
for (; SCM_CONSP (alist); alist = SCM_CDR (alist))
|
SCM ls = alist;
|
||||||
|
for (; SCM_CONSP (ls); ls = SCM_CDR (ls))
|
||||||
{
|
{
|
||||||
SCM tmp = SCM_CAR (alist);
|
SCM tmp = SCM_CAR (ls);
|
||||||
SCM_VALIDATE_CONS (SCM_ARG2, alist);
|
SCM_ASSERT_TYPE (SCM_CONSP (tmp), alist, SCM_ARG2, FUNC_NAME,
|
||||||
|
"association list");
|
||||||
if (SCM_EQ_P (SCM_CAR (tmp), key))
|
if (SCM_EQ_P (SCM_CAR (tmp), key))
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
SCM_VALIDATE_NULL (2, alist);
|
SCM_ASSERT_TYPE (SCM_NULLP (ls), alist, SCM_ARG2, FUNC_NAME,
|
||||||
|
"association list");
|
||||||
return SCM_BOOL_F;
|
return SCM_BOOL_F;
|
||||||
}
|
}
|
||||||
#undef FUNC_NAME
|
#undef FUNC_NAME
|
||||||
|
@ -165,14 +168,17 @@ SCM_DEFINE (scm_assv, "assv", 2, 0, 0,
|
||||||
"Behaves like @code{assq} but uses @code{eqv?} for key comparison.")
|
"Behaves like @code{assq} but uses @code{eqv?} for key comparison.")
|
||||||
#define FUNC_NAME s_scm_assv
|
#define FUNC_NAME s_scm_assv
|
||||||
{
|
{
|
||||||
for(; SCM_CONSP (alist); alist = SCM_CDR (alist))
|
SCM ls = alist;
|
||||||
|
for(; SCM_CONSP (ls); ls = SCM_CDR (ls))
|
||||||
{
|
{
|
||||||
SCM tmp = SCM_CAR (alist);
|
SCM tmp = SCM_CAR (ls);
|
||||||
SCM_VALIDATE_CONS (SCM_ARG2, alist);
|
SCM_ASSERT_TYPE (SCM_CONSP (tmp), alist, SCM_ARG2, FUNC_NAME,
|
||||||
|
"association list");
|
||||||
if (SCM_NFALSEP (scm_eqv_p (SCM_CAR (tmp), key)))
|
if (SCM_NFALSEP (scm_eqv_p (SCM_CAR (tmp), key)))
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
SCM_VALIDATE_NULL (2, alist);
|
SCM_ASSERT_TYPE (SCM_NULLP (ls), alist, SCM_ARG2, FUNC_NAME,
|
||||||
|
"association list");
|
||||||
return SCM_BOOL_F;
|
return SCM_BOOL_F;
|
||||||
}
|
}
|
||||||
#undef FUNC_NAME
|
#undef FUNC_NAME
|
||||||
|
@ -183,14 +189,17 @@ SCM_DEFINE (scm_assoc, "assoc", 2, 0, 0,
|
||||||
"Behaves like @code{assq} but uses @code{equal?} for key comparison.")
|
"Behaves like @code{assq} but uses @code{equal?} for key comparison.")
|
||||||
#define FUNC_NAME s_scm_assoc
|
#define FUNC_NAME s_scm_assoc
|
||||||
{
|
{
|
||||||
for(; SCM_CONSP (alist); alist = SCM_CDR (alist))
|
SCM ls = alist;
|
||||||
|
for(; SCM_CONSP (ls); ls = SCM_CDR (ls))
|
||||||
{
|
{
|
||||||
SCM tmp = SCM_CAR (alist);
|
SCM tmp = SCM_CAR (ls);
|
||||||
SCM_VALIDATE_CONS (SCM_ARG2, alist);
|
SCM_ASSERT_TYPE (SCM_CONSP (tmp), alist, SCM_ARG2, FUNC_NAME,
|
||||||
|
"association list");
|
||||||
if (SCM_NFALSEP (scm_equal_p (SCM_CAR (tmp), key)))
|
if (SCM_NFALSEP (scm_equal_p (SCM_CAR (tmp), key)))
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
SCM_VALIDATE_NULL (2, alist);
|
SCM_ASSERT_TYPE (SCM_NULLP (ls), alist, SCM_ARG2, FUNC_NAME,
|
||||||
|
"association list");
|
||||||
return SCM_BOOL_F;
|
return SCM_BOOL_F;
|
||||||
}
|
}
|
||||||
#undef FUNC_NAME
|
#undef FUNC_NAME
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue