1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-11 08:10:21 +02:00

* ramap.c (scm_array_map): Renamed to scm_array_map_x. Removed

Scheme-level name `array-map' and renamed `serial-array-map' to
`serial-array-map!'.
This commit is contained in:
Mikael Djurfeldt 1997-09-24 21:29:02 +00:00
parent 298aa6e315
commit 7e7904004c
3 changed files with 19 additions and 16 deletions

View file

@ -1,5 +1,9 @@
Wed Sep 24 22:09:52 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
* ramap.c (scm_array_map): Renamed to scm_array_map_x. Removed
Scheme-level name `array-map' and renamed `serial-array-map' to
`serial-array-map!'.
* backtrace.c: Introduced exception handlers which now enclose
`display-error' and `display-backtrace' so that error reporting
won't get into infinite loops if an error occurs during displaying

View file

@ -1645,34 +1645,33 @@ ramap_a (ra0, proc, ras)
return 1;
}
SCM_PROC(s_serial_array_map, "serial-array-map", 2, 0, 1, scm_array_map);
SCM_PROC(s_array_map, "array-map", 2, 0, 1, scm_array_map);
SCM_PROC(s_array_map_x, "array-map!", 2, 0, 1, scm_array_map);
SCM_PROC(s_serial_array_map_x, "serial-array-map!", 2, 0, 1, scm_array_map_x);
SCM_PROC(s_array_map_x, "array-map!", 2, 0, 1, scm_array_map_x);
SCM
scm_array_map (ra0, proc, lra)
scm_array_map_x (ra0, proc, lra)
SCM ra0;
SCM proc;
SCM lra;
{
SCM_ASSERT (SCM_BOOL_T == scm_procedure_p (proc), proc, SCM_ARG2, s_array_map);
SCM_ASSERT (SCM_BOOL_T == scm_procedure_p (proc), proc, SCM_ARG2, s_array_map_x);
switch (SCM_TYP7 (proc))
{
default:
gencase:
scm_ramapc (ramap, proc, ra0, lra, s_array_map);
scm_ramapc (ramap, proc, ra0, lra, s_array_map_x);
return SCM_UNSPECIFIED;
case scm_tc7_subr_1:
scm_ramapc (ramap_1, proc, ra0, lra, s_array_map);
scm_ramapc (ramap_1, proc, ra0, lra, s_array_map_x);
return SCM_UNSPECIFIED;
case scm_tc7_subr_2:
case scm_tc7_subr_2o:
scm_ramapc (ramap_2o, proc, ra0, lra, s_array_map);
scm_ramapc (ramap_2o, proc, ra0, lra, s_array_map_x);
return SCM_UNSPECIFIED;
case scm_tc7_cxr:
if (!SCM_SUBRF (proc))
goto gencase;
scm_ramapc (ramap_cxr, proc, ra0, lra, s_array_map);
scm_ramapc (ramap_cxr, proc, ra0, lra, s_array_map_x);
return SCM_UNSPECIFIED;
case scm_tc7_rpsubr:
{
@ -1685,14 +1684,14 @@ scm_array_map (ra0, proc, lra)
{
while (SCM_NNULLP (lra) && SCM_NNULLP (SCM_CDR (lra)))
{
scm_ramapc (p->vproc, SCM_UNDEFINED, ra0, lra, s_array_map);
scm_ramapc (p->vproc, SCM_UNDEFINED, ra0, lra, s_array_map_x);
lra = SCM_CDR (lra);
}
return SCM_UNSPECIFIED;
}
while (SCM_NNULLP (lra) && SCM_NNULLP (SCM_CDR (lra)))
{
scm_ramapc (ramap_rp, proc, ra0, lra, s_array_map);
scm_ramapc (ramap_rp, proc, ra0, lra, s_array_map_x);
lra = SCM_CDR (lra);
}
return SCM_UNSPECIFIED;
@ -1733,22 +1732,22 @@ scm_array_map (ra0, proc, lra)
if (proc == p->sproc)
{
if (ra0 != SCM_CAR (lra))
scm_ramapc (scm_array_identity, SCM_UNDEFINED, ra0, scm_cons (SCM_CAR (lra), SCM_EOL), s_array_map);
scm_ramapc (scm_array_identity, SCM_UNDEFINED, ra0, scm_cons (SCM_CAR (lra), SCM_EOL), s_array_map_x);
lra = SCM_CDR (lra);
while (1)
{
scm_ramapc (p->vproc, SCM_UNDEFINED, ra0, lra, s_array_map);
scm_ramapc (p->vproc, SCM_UNDEFINED, ra0, lra, s_array_map_x);
if (SCM_IMP (lra) || SCM_IMP (SCM_CDR (lra)))
return SCM_UNSPECIFIED;
lra = SCM_CDR (lra);
}
}
scm_ramapc (ramap_2o, proc, ra0, lra, s_array_map);
scm_ramapc (ramap_2o, proc, ra0, lra, s_array_map_x);
lra = SCM_CDR (lra);
if SCM_NIMP
(lra)
for (lra = SCM_CDR (lra); SCM_NIMP (lra); lra = SCM_CDR (lra))
scm_ramapc (ramap_a, proc, ra0, lra, s_array_map);
scm_ramapc (ramap_a, proc, ra0, lra, s_array_map_x);
}
return SCM_UNSPECIFIED;
}

View file

@ -63,7 +63,7 @@ extern int scm_ra_difference SCM_P ((SCM ra0, SCM ras));
extern int scm_ra_product SCM_P ((SCM ra0, SCM ras));
extern int scm_ra_divide SCM_P ((SCM ra0, SCM ras));
extern int scm_array_identity SCM_P ((SCM src, SCM dst));
extern SCM scm_array_map SCM_P ((SCM ra0, SCM proc, SCM lra));
extern SCM scm_array_map_x SCM_P ((SCM ra0, SCM proc, SCM lra));
extern SCM scm_array_for_each SCM_P ((SCM proc, SCM ra0, SCM lra));
extern SCM scm_array_index_map_x SCM_P ((SCM ra, SCM proc));
extern SCM scm_raequal SCM_P ((SCM ra0, SCM ra1));