From db04688faa20f3576257c0fe41752ec435beab9a Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:25 -0800 Subject: Import Upstream version 5c3 --- ramap.c | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) (limited to 'ramap.c') diff --git a/ramap.c b/ramap.c index 25a1df9..d00e400 100644 --- a/ramap.c +++ b/ramap.c @@ -538,6 +538,9 @@ SCM sc2array(s, ra, prot) switch TYP7(ARRAY_V(res)) { case tc7_vector: break; + case tc7_bvect: + if (BOOL_T==s || BOOL_F==s) break; + goto mismatch; case tc7_string: if ICHRP(s) break; goto mismatch; @@ -1375,11 +1378,14 @@ SCM array_map(ra0, proc, lra) ramapc(ramap_a, proc, ra0, lra, s_array_map); } return UNSPECIFIED; -#ifdef CCLO - case tc7_cclo: - lra = cons(sc2array(proc,ra0,EOL), lra); - proc = CCLO_SUBR(proc); - goto tail; +#if 1 /* def CCLO */ + case tc7_specfun: + if (tc16_cclo==TYP16(proc)) { + lra = cons(sc2array(proc,ra0,EOL), lra); + proc = CCLO_SUBR(proc); + goto tail; + } + goto gencase; #endif } } @@ -1425,15 +1431,18 @@ SCM array_for_each(proc, ra0, lra) ASSERT(BOOL_T==procedurep(proc), proc, ARG1, s_array_for_each); tail: switch TYP7(proc) { - default: + default: gencase: ramapc(rafe, proc, ra0, lra, s_array_for_each); return UNSPECIFIED; -#ifdef CCLO - case tc7_cclo: - lra = cons(ra0, lra); - ra0 = sc2array(proc, ra0, EOL); - proc = CCLO_SUBR(proc); - goto tail; +#if 1 /* def CCLO */ + case tc7_specfun: + if (tc16_cclo==TYP16(proc)) { + lra = cons(ra0, lra); + ra0 = sc2array(proc, ra0, EOL); + proc = CCLO_SUBR(proc); + goto tail; + } + goto gencase; #endif } } -- cgit v1.2.3