1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 12:20:26 +02:00

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.
This commit is contained in:
Greg J. Badros 2000-01-20 20:59:33 +00:00
parent 14469b7c69
commit 2de14ecd1c
2 changed files with 11 additions and 12 deletions

View file

@ -61,17 +61,14 @@
/* creating lists */ /* creating lists */
/* SCM_P won't help us deal with varargs here. */
SCM SCM
scm_listify (SCM elt, ...) scm_listify (SCM elt, ...)
{ {
va_list foo; va_list foo;
SCM answer; SCM answer = SCM_EOL;
SCM *pos; SCM *pos = &answer;
var_start (foo, elt); var_start (foo, elt);
answer = SCM_EOL;
pos = &answer;
while (elt != SCM_UNDEFINED) while (elt != SCM_UNDEFINED)
{ {
*pos = scm_cons (elt, SCM_EOL); *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_DEFINE (scm_list_star, "list*", 1, 0, 1,
(SCM arg, SCM rest), (SCM arg, SCM rest),
"") "Return an improper list of the arguments.")
#define FUNC_NAME s_scm_list_star #define FUNC_NAME s_scm_list_star
{ {
if (SCM_NNULLP (rest)) if (SCM_NNULLP (rest))
@ -120,16 +117,17 @@ SCM_DEFINE (scm_null_p, "null?", 1, 0, 0,
"") "")
#define FUNC_NAME s_scm_null_p #define FUNC_NAME s_scm_null_p
{ {
return SCM_BOOL(SCM_NULLP(x)); return SCM_BOOL (SCM_NULLP (x));
} }
#undef FUNC_NAME #undef FUNC_NAME
SCM_DEFINE (scm_list_p, "list?", 1, 0, 0, SCM_DEFINE (scm_list_p, "list?", 1, 0, 0,
(SCM x), (SCM x),
"") "")
#define FUNC_NAME s_scm_list_p #define FUNC_NAME s_scm_list_p
{ {
return SCM_BOOL(scm_ilength(x)>=0); return SCM_BOOL (scm_ilength (x) >= 0);
} }
#undef FUNC_NAME #undef FUNC_NAME
@ -164,6 +162,7 @@ scm_ilength(SCM sx)
return -1; return -1;
} }
SCM_DEFINE (scm_length, "length", 1, 0, 0, SCM_DEFINE (scm_length, "length", 1, 0, 0,
(SCM lst), (SCM lst),
"") "")

View file

@ -285,7 +285,7 @@ SCM_DEFINE (scm_search_path, "search-path", 2, 1, 0,
SCM walk; SCM walk;
max_path_len = 0; 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 elt = SCM_CAR (walk);
SCM_ASSERT (SCM_ROSTRINGP (elt), elt, SCM_ASSERT (SCM_ROSTRINGP (elt), elt,
@ -324,7 +324,7 @@ SCM_DEFINE (scm_search_path, "search-path", 2, 1, 0,
SCM walk; SCM walk;
max_ext_len = 0; 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 elt = SCM_CAR (walk);
SCM_ASSERT (SCM_ROSTRINGP (elt), elt, 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 /* Try every path element. At this point, we know the path is a
proper list of strings. */ proper list of strings. */
for (; SCM_NIMP (path); path = SCM_CDR (path)) for (; SCM_NNULLP (path); path = SCM_CDR (path))
{ {
int len; int len;
SCM dir = SCM_CAR (path); 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 /* Try every extension. At this point, we know the extension
list is a proper, nonempty list of strings. */ 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); SCM ext = SCM_CAR (exts);
int ext_len = SCM_ROLENGTH (ext); int ext_len = SCM_ROLENGTH (ext);