aboutsummaryrefslogtreecommitdiffstats
path: root/ramap.c
diff options
context:
space:
mode:
authorLaMont Jones <lamont@debian.org>2003-05-07 08:36:40 -0600
committerBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:27 -0800
commite21d47d7813159bb71e0671df9b52ec0470c358d (patch)
tree3c7770ea846123c291f599044e9f234ac17616bb /ramap.c
parent8cfce36c6a4fc2e0a0ab6ef2db66a23cbe462693 (diff)
parentdeda2c0fd8689349fea2a900199a76ff7ecb319e (diff)
downloadscm-e21d47d7813159bb71e0671df9b52ec0470c358d.tar.gz
scm-e21d47d7813159bb71e0671df9b52ec0470c358d.zip
Import Debian changes 5d6-3.2debian/5d6-3.2
scm (5d6-3.2) unstable; urgency=low * Fix hppa compile. Closes: #144062 scm (5d6-3.1) unstable; urgency=low * NMU with patch from James Troup, to fix FTBFS on sparc. Closes: #191171 scm (5d6-3) unstable; urgency=low * Add build depend on xlibs-dev (Closes: #148020) scm (5d6-2) unstable; urgency=low * Remove libregexx-dev from build-depends. * Change build to use ./scmlit rather than scmlit (should fix some build problems) (looks like alpha is mostly building) * New release (Closes: #140175) * Built with turtlegraphics last time (Closes: #58515) scm (5d6-1) unstable; urgency=low * New upstream. * Add xlib and turtlegr to requested list of features. (closes some bug) * Make clean actually clean most everything up. * Remove hacks renaming build to something else and just set build as a .PHONY target in debian/rules. * Add the turtlegr code. scm (5d5-1) unstable; urgency=low * New upstream * Has fixes for 64 bit archs. May fix alpha compile problem. Does fix (Closes: #140175) * Take out -O2 arg. scm (5d4-3) unstable; urgency=low * Don't link with regexx, but just use libc6's regular expression functions. * Define (terms) to output /usr/share/common-licenses/GPL (Closes: #119321) scm (5d4-2) unstable; urgency=low * Add texinfo to build depends (Closes: #107011) scm (5d4-1) unstable; urgency=low * New upstream release. * Move install-info --remove to prerm. scm (5d3-5) unstable; urgency=low * Move scm info files to section "The Algorithmic Language Scheme" to match up with guile. scm (5d3-4) unstable; urgency=low * Fix build depends (Closes: #76691) scm (5d3-3) unstable; urgency=low * Fix path in scm dhelp file. scm (5d3-2) unstable; urgency=low * Actually put the header files in the package. Oops. scm (5d3-1) unstable; urgency=low * New upstream. (Closes: #74761) * Make (terms) use new license location. * Make use libregexx rather than librx. * Fix build depends for above. * Using new regex lib seems to fix crash (Closes: #66787) * Consider adding scm-dev package with headers, but instead just add the headers to the scm package. (Closes: #70787) * Add doc-base support.
Diffstat (limited to 'ramap.c')
-rw-r--r--ramap.c44
1 files changed, 21 insertions, 23 deletions
diff --git a/ramap.c b/ramap.c
index caf220f..08ba177 100644
--- a/ramap.c
+++ b/ramap.c
@@ -15,26 +15,26 @@
* the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111, USA.
*
* As a special exception, the Free Software Foundation gives permission
- * for additional uses of the text contained in its release of GUILE.
+ * for additional uses of the text contained in its release of SCM.
*
- * The exception is that, if you link the GUILE library with other files
+ * The exception is that, if you link the SCM library with other files
* to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
- * linking the GUILE library code into it.
+ * linking the SCM library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the
- * Free Software Foundation under the name GUILE. If you copy
+ * Free Software Foundation under the name SCM. If you copy
* code from other Free Software Foundation releases into a copy of
- * GUILE, as the General Public License permits, the exception does
+ * SCM, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
- * If you write modifications of your own for GUILE, it is your choice
+ * If you write modifications of your own for SCM, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*/
@@ -115,7 +115,7 @@ int ra_matchp(ra0, ras)
ra1 = CAR(ras);
switch (IMP(ra1) ? 0 : TYP7(ra1)) {
default: scalar:
- CAR(ras) = sc2array(ra1,ra0,EOL); break;
+ CAR(ras) = sc2array(ra1, ra0, EOL); break;
case tc7_vector:
case tcs_uves:
if (1 != ndim) return 0;
@@ -304,11 +304,11 @@ static int racp(src, dst)
for (; n-- > 0; i_s += inc_s, i_d += inc_d)
aset(dst, cvref(src, i_s, UNDEFINED), MAKINUM(i_d));
break;
- case tc7_string: if (tc7_string != TYP7(dst)) goto gencase;
+ case tc7_string: if (tc7_string != TYP7(src)) goto gencase;
for (; n-- > 0; i_s += inc_s, i_d += inc_d)
CHARS(dst)[i_d] = CHARS(src)[i_s];
break;
- case tc7_bvect: if (tc7_bvect != TYP7(dst)) goto gencase;
+ case tc7_bvect: if (tc7_bvect != TYP7(src)) goto gencase;
if (1==inc_d && 1==inc_s && i_s%LONG_BIT==i_d%LONG_BIT && n>=LONG_BIT) {
long *sv = (long *)VELTS(src);
long *dv = (long *)VELTS(dst);
@@ -502,7 +502,7 @@ SCM ura_write(ra, port)
SCM ra, port;
{
if (NIMP(ra) && ARRAYP(ra))
- return uve_write(ra2contig(ra,1), port);
+ return uve_write(ra2contig(ra, 1), port);
else
return uve_write(ra, port);
}
@@ -1081,7 +1081,7 @@ static int ramap(ra0, proc, ras)
if (argc >= 5) {
heap_ve = make_vector(MAKINUM(2*argc), BOOL_F);
rav = VELTS(heap_ve);
- argv = &(rav[n]);
+ argv = &(rav[argc]);
}
for (k = 0; k < argc; k++) {
rav[k] = CAR(ras);
@@ -1276,23 +1276,22 @@ SCM array_map(ra0, proc, lra)
SCM ra0, proc, lra;
{
long narg = ilength(lra);
- ASSERT(BOOL_T==procedurep(proc), proc, ARG2, s_array_map);
tail:
+#ifndef RECKLESS
+ scm_arity_check(proc, narg, s_array_map);
+#endif
switch TYP7(proc) {
- wna: wta(UNDEFINED, (char *)WNA, s_array_map);
default: gencase:
- ASRTGO(scm_arity_check(proc, narg, s_array_map), wna);
ramapc(ramap, proc, ra0, lra, s_array_map);
return UNSPECIFIED;
- case tc7_subr_1: ASRTGO(1==narg, wna);
+ case tc7_subr_1:
ramapc(ramap_1, proc, ra0, lra, s_array_map);
return UNSPECIFIED;
- case tc7_subr_2: ASRTGO(2==narg, wna);
- case tc7_subr_2o: ASRTGO(2>=narg, wna);
+ case tc7_subr_2:
+ case tc7_subr_2o:
ramapc(ramap_2o, proc, ra0, lra, s_array_map);
return UNSPECIFIED;
case tc7_cxr: if (! SUBRF(proc)) goto gencase;
- ASRTGO(1==narg, wna);
ramapc(ramap_cxr, proc, ra0, lra, s_array_map);
return UNSPECIFIED;
case tc7_rpsubr: {
@@ -1361,8 +1360,9 @@ SCM array_map(ra0, proc, lra)
#if 1 /* def CCLO */
case tc7_specfun:
if (tc16_cclo==TYP16(proc)) {
- lra = cons(sc2array(proc,ra0,EOL), lra);
+ lra = cons(sc2array(proc, ra0, EOL), lra);
proc = CCLO_SUBR(proc);
+ narg++;
goto tail;
}
goto gencase;
@@ -1381,7 +1381,7 @@ static int rafe(ra0, proc, ras)
if (argc >= 5) {
heap_ve = make_vector(MAKINUM(2*argc), BOOL_F);
rav = VELTS(heap_ve);
- argv = &(rav[n]);
+ argv = &(rav[argc]);
}
rav[0] = ra0;
for (k = 1; k < argc; k++) {
@@ -1402,7 +1402,6 @@ SCM array_for_each(proc, ra0, lra)
SCM proc, ra0, lra;
{
long narg = ilength(lra) + 1;
- ASSERT(BOOL_T==procedurep(proc), proc, ARG1, s_array_for_each);
tail:
#ifndef RECKLESS
scm_arity_check(proc, narg, s_array_for_each);
@@ -1435,7 +1434,6 @@ SCM array_imap(ra, proc)
long *indv = &auto_indv[0];
sizet i;
ASSERT(NIMP(ra), ra, ARG1, s_array_imap);
- ASSERT(BOOL_T==procedurep(proc), proc, ARG2, s_array_imap);
i = INUM(array_rank(ra));
#ifndef RECKLESS
scm_arity_check(proc, i+0L, s_array_imap);
@@ -1676,7 +1674,7 @@ void init_ramap()
add_feature(s_array_for_each);
scm_ldstr("\n\
(define (array-indexes ra)\n\
- (let ((ra0 (apply make-array '() (array-shape ra))))\n\
+ (let ((ra0 (apply create-array '#() (array-shape ra))))\n\
(array-index-map! ra0 list)\n\
ra0))\n\
");