From 070c15903dbe302bb363fa8e2ecb1c994417faa3 Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Sun, 16 Aug 2009 10:24:05 +0200 Subject: [PATCH] The sequence functions did not understand the newest specialized array types. --- src/CHANGELOG | 2 ++ src/lsp/seq.lsp | 25 +++---------------------- 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/src/CHANGELOG b/src/CHANGELOG index ca1c8766b..a0b657628 100644 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -8,6 +8,8 @@ ECL 9.8.4: - The MSVC port did not define @ECL_LDRPATH@ and failed to build ecl.dll + - The sequence functions did not understand the newest specialized array types. + ECL 9.8.3: ========== diff --git a/src/lsp/seq.lsp b/src/lsp/seq.lsp index 2a56762da..9a6fe68f9 100644 --- a/src/lsp/seq.lsp +++ b/src/lsp/seq.lsp @@ -79,29 +79,10 @@ ;; Furthermore, we also give up trying to find if the element ;; type is *. Instead we just compare with some specialized ;; types and otherwise fail. - (dolist (i '( - (NIL . NIL) + (dolist (i '((NIL . NIL) (LIST . LIST) - #-unicode - (SIMPLE-STRING . BASE-CHAR) - #-unicode - (STRING . BASE-CHAR) - #+unicode - (SIMPLE-BASE-STRING . BASE-CHAR) - #+unicode - (BASE-STRING . BASE-CHAR) - #+unicode - (SIMPLE-STRING . CHARACTER) - #+unicode - (STRING . CHARACTER) - (BIT-VECTOR . BIT) - ((VECTOR EXT:BYTE8) . EXT:BYTE8) - ((VECTOR EXT:INTEGER8) . EXT:INTEGER8) - ((VECTOR EXT:CL-INDEX) . EXT:CL-INDEX) - ((VECTOR FIXNUM) . FIXNUM) - ((VECTOR SHORT-FLOAT) . SHORT-FLOAT) - ((VECTOR LONG-FLOAT) . LONG-FLOAT) - ((VECTOR T) . T)) + . #.(mapcar #'(lambda (i) `((VECTOR ,i) . ,i)) + +upgraded-array-element-types+)) (if (subtypep type 'vector) ;; Does this have to be a type-error? ;; 17.3 for MAKE-SEQUENCE says it should be an error,