diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:25 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:25 -0800 |
commit | db04688faa20f3576257c0fe41752ec435beab9a (patch) | |
tree | 6d638c2e1f65afd5f49d20b2d22ce35bd74705ff /ramap.c | |
parent | 1edcb9b62a1a520eddae8403c19d841c9b18737f (diff) | |
download | scm-db04688faa20f3576257c0fe41752ec435beab9a.tar.gz scm-db04688faa20f3576257c0fe41752ec435beab9a.zip |
Import Upstream version 5c3upstream/5c3
Diffstat (limited to 'ramap.c')
-rw-r--r-- | ramap.c | 33 |
1 files changed, 21 insertions, 12 deletions
@@ -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 } } |