summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg J. Badros <gjb@cs.washington.edu>2000-01-20 20:59:33 +0000
committerGreg J. Badros <gjb@cs.washington.edu>2000-01-20 20:59:33 +0000
commit2de14ecd1cc69f46c6a632e8594633065e6d960c (patch)
tree04ed2656f0a01c132fe3be2984388fb9d8ce4c1e
parent14469b7c69feb0f2c5b8a093f19fe2a548b31c5b (diff)
downloadguile-2de14ecd1cc69f46c6a632e8594633065e6d960c.tar.gz
Patch from Dirk Hermann:
* 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.
-rw-r--r--libguile/list.c15
-rw-r--r--libguile/load.c8
2 files changed, 11 insertions, 12 deletions
diff --git a/libguile/list.c b/libguile/list.c
index d98348cfb..916d0eb7d 100644
--- a/libguile/list.c
+++ b/libguile/list.c
@@ -61,17 +61,14 @@
/* creating lists */
-/* SCM_P won't help us deal with varargs here. */
SCM
scm_listify (SCM elt, ...)
{
va_list foo;
- SCM answer;
- SCM *pos;
+ SCM answer = SCM_EOL;
+ SCM *pos = &answer;
var_start (foo, elt);
- answer = SCM_EOL;
- pos = &answer;
while (elt != SCM_UNDEFINED)
{
*pos = scm_cons (elt, SCM_EOL);
@@ -94,7 +91,7 @@ SCM_DEFINE (scm_list, "list", 0, 0, 1,
SCM_DEFINE (scm_list_star, "list*", 1, 0, 1,
(SCM arg, SCM rest),
-"")
+ "Return an improper list of the arguments.")
#define FUNC_NAME s_scm_list_star
{
if (SCM_NNULLP (rest))
@@ -120,16 +117,17 @@ SCM_DEFINE (scm_null_p, "null?", 1, 0, 0,
"")
#define FUNC_NAME s_scm_null_p
{
- return SCM_BOOL(SCM_NULLP(x));
+ return SCM_BOOL (SCM_NULLP (x));
}
#undef FUNC_NAME
+
SCM_DEFINE (scm_list_p, "list?", 1, 0, 0,
(SCM x),
"")
#define FUNC_NAME s_scm_list_p
{
- return SCM_BOOL(scm_ilength(x)>=0);
+ return SCM_BOOL (scm_ilength (x) >= 0);
}
#undef FUNC_NAME
@@ -164,6 +162,7 @@ scm_ilength(SCM sx)
return -1;
}
+
SCM_DEFINE (scm_length, "length", 1, 0, 0,
(SCM lst),
"")
diff --git a/libguile/load.c b/libguile/load.c
index 4f573672a..86deef07a 100644
--- a/libguile/load.c
+++ b/libguile/load.c
@@ -285,7 +285,7 @@ SCM_DEFINE (scm_search_path, "search-path", 2, 1, 0,
SCM walk;
max_path_len = 0;
- for (walk = path; SCM_NIMP (walk); walk = SCM_CDR (walk))
+ for (walk = path; SCM_NNULLP (walk); walk = SCM_CDR (walk))
{
SCM elt = SCM_CAR (walk);
SCM_ASSERT (SCM_ROSTRINGP (elt), elt,
@@ -324,7 +324,7 @@ SCM_DEFINE (scm_search_path, "search-path", 2, 1, 0,
SCM walk;
max_ext_len = 0;
- for (walk = extensions; SCM_NIMP (walk); walk = SCM_CDR (walk))
+ for (walk = extensions; SCM_NNULLP (walk); walk = SCM_CDR (walk))
{
SCM elt = SCM_CAR (walk);
SCM_ASSERT (SCM_ROSTRINGP (elt), elt,
@@ -348,7 +348,7 @@ SCM_DEFINE (scm_search_path, "search-path", 2, 1, 0,
/* Try every path element. At this point, we know the path is a
proper list of strings. */
- for (; SCM_NIMP (path); path = SCM_CDR (path))
+ for (; SCM_NNULLP (path); path = SCM_CDR (path))
{
int len;
SCM dir = SCM_CAR (path);
@@ -364,7 +364,7 @@ SCM_DEFINE (scm_search_path, "search-path", 2, 1, 0,
/* Try every extension. At this point, we know the extension
list is a proper, nonempty list of strings. */
- for (exts = extensions; SCM_NIMP (exts); exts = SCM_CDR (exts))
+ for (exts = extensions; SCM_NNULLP (exts); exts = SCM_CDR (exts))
{
SCM ext = SCM_CAR (exts);
int ext_len = SCM_ROLENGTH (ext);