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:
parent
298aa6e315
commit
7e7904004c
3 changed files with 19 additions and 16 deletions
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue