diff options
author | Andy Wingo <wingo@pobox.com> | 2010-01-11 20:45:52 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-01-11 20:45:52 +0100 |
commit | 5a9c6dcbb3bdda159cc45edb9d8b34e7b5043b9e (patch) | |
tree | f134dc2de9ec331029bcb0ccac7200aa95a10f48 | |
parent | 411313403cac04d1b1b1c7f579da32eaaaf4d80d (diff) | |
download | guile-5a9c6dcbb3bdda159cc45edb9d8b34e7b5043b9e.tar.gz |
fix erroneous compilation of #@2(1 2 3) as #(1 2 3)
* module/language/glil/compile-assembly.scm (dump-object): Fix the
vector case to only match 0-indexed, vectors, not arrays like #@2(1 2
3).
-rw-r--r-- | module/language/glil/compile-assembly.scm | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/module/language/glil/compile-assembly.scm b/module/language/glil/compile-assembly.scm index 32c5a9d3a..21ef95975 100644 --- a/module/language/glil/compile-assembly.scm +++ b/module/language/glil/compile-assembly.scm @@ -1,6 +1,6 @@ ;;; Guile VM assembler -;; Copyright (C) 2001, 2009 Free Software Foundation, Inc. +;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc. ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -558,7 +558,8 @@ `(,@kar ,@(dump-object (cdr x) (addr+ addr kar)) (cons)))) - ((vector? x) + ((and (vector? x) + (equal? (array-shape x) (list (list 0 (1- (vector-length x)))))) (let* ((len (vector-length x)) (tail (if (>= len 65536) (too-long "vector") |