summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>2001-01-31 15:18:47 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>2001-01-31 15:18:47 +0000
commitb8446ce883e7155def42f479a39b6a870b318720 (patch)
treee7561d47cbbfe20e2abf3778805af744f58103d8
parentc2886a5ae11f376ff8e7c8307d96f7ad96bc407e (diff)
downloadguile-b8446ce883e7155def42f479a39b6a870b318720.tar.gz
* unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays.
-rw-r--r--libguile/ChangeLog4
-rw-r--r--libguile/unif.c6
2 files changed, 8 insertions, 2 deletions
diff --git a/libguile/ChangeLog b/libguile/ChangeLog
index 3477aa69e..89e41586b 100644
--- a/libguile/ChangeLog
+++ b/libguile/ChangeLog
@@ -1,3 +1,7 @@
+2001-01-31 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
+
+ * unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays.
+
2001-01-29 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
* struct.c (scm_make_vtable_vtable): Removed unnecessary "" from
diff --git a/libguile/unif.c b/libguile/unif.c
index 96d1fd472..0eef7cfc4 100644
--- a/libguile/unif.c
+++ b/libguile/unif.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1997,1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998, 2000, 2001 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -2225,7 +2225,9 @@ static void
rapr1 (SCM ra,scm_sizet j,scm_sizet k,SCM port,scm_print_state *pstate)
{
long inc = 1;
- long n = SCM_INUM (scm_uniform_vector_length (ra));
+ long n = (SCM_TYP7 (ra) == scm_tc7_smob
+ ? 0
+ : SCM_INUM (scm_uniform_vector_length (ra)));
int enclosed = 0;
tail:
switch SCM_TYP7 (ra)