[Ecls-list] Patch: fix (declare ((some-type) some-variable))
Josh Elsasser
josh at elsasser.org
Sat Jan 24 21:07:31 UTC 2009
An assert in the declare handling is wrong, and doesn't account for
declarations of the form (declare ((type) variable)).
diff --git src/cmp/cmpenv.lsp src/cmp/cmpenv.lsp
index 501ed62..e48a532 100644
--- src/cmp/cmpenv.lsp
+++ src/cmp/cmpenv.lsp
@@ -318,7 +318,10 @@
((and (consp form) (eq (car form) 'DECLARE))
(push form all-declarations)
(dolist (decl (cdr form))
- (cmpassert (and (proper-list-p decl) (symbolp (first decl)))
+ (cmpassert (and (proper-list-p decl)
+ (or (symbolp (first decl))
+ (and (proper-list-p (first decl))
+ (symbolp (caar decl)))))
"Syntax error in declaration ~s" form)
(let* ((decl-name (first decl))
(decl-args (rest decl)))
More information about the ecl-devel
mailing list