diff options
author | Andy Wingo <wingo@pobox.com> | 2013-02-18 17:59:38 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2013-02-18 17:59:38 +0100 |
commit | 9b977c836bf147d386944c401113aba32776fa68 (patch) | |
tree | d097e1a2376e26bc6b03447445ae239d5514a7a8 /module/srfi/srfi-4 | |
parent | 180ac9d7b0bac97bdead2813a1b0b23d19002c3e (diff) | |
parent | 739941679c2c7dc36c29c30aff7d4c1b436ba773 (diff) | |
download | guile-9b977c836bf147d386944c401113aba32776fa68.tar.gz |
Merge remote-tracking branch 'origin/stable-2.0'
Conflicts:
libguile/array-handle.c
libguile/deprecated.h
libguile/inline.c
libguile/inline.h
module/ice-9/deprecated.scm
module/language/tree-il/peval.scm
Diffstat (limited to 'module/srfi/srfi-4')
-rw-r--r-- | module/srfi/srfi-4/gnu.scm | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/module/srfi/srfi-4/gnu.scm b/module/srfi/srfi-4/gnu.scm index 39d6350e7..7f595d628 100644 --- a/module/srfi/srfi-4/gnu.scm +++ b/module/srfi/srfi-4/gnu.scm @@ -1,6 +1,6 @@ ;;; Extensions to SRFI-4 -;; Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc. +;; Copyright (C) 2009, 2010, 2011, 2012, 2013 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 @@ -101,14 +101,14 @@ `(define (,(symbol-append 'any-> tag 'vector) obj) (cond ((,(symbol-append tag 'vector?) obj) obj) ((pair? obj) (,(symbol-append 'list-> tag 'vector) obj)) - ((generalized-vector? obj) - (let* ((len (generalized-vector-length obj)) + ((and (array? obj) (eqv? 1 (array-rank obj))) + (let* ((len (array-length obj)) (v (,(symbol-append 'make- tag 'vector) len))) (let lp ((i 0)) (if (< i len) (begin (,(symbol-append tag 'vector-set!) - v i (generalized-vector-ref obj i)) + v i (array-ref obj i)) (lp (1+ i))) v)))) (else (scm-error 'wrong-type-arg #f "" '() (list obj)))))) |