author | Camm Maguire <camm@debian.org> | 2013年10月28日 13:16:13 +0000 |
---|---|---|
committer | Camm Maguire <camm@debian.org> | 2013年10月28日 13:16:13 +0000 |
commit | 79dcaf0f7327ad05fea7482610ccbc9490f98475 (patch) | |
tree | 54834fe592b993e95d22e0bec3249eb91b713fd4 | |
parent | 767820020c1aa106749962b681101bc29dcd0d9a (diff) | |
download | gcl-79dcaf0f7327ad05fea7482610ccbc9490f98475.tar.gz |
-rwxr-xr-x | gcl/cmpnew/gcl_cmpeval.lsp | 4 |
diff --git a/gcl/cmpnew/gcl_cmpeval.lsp b/gcl/cmpnew/gcl_cmpeval.lsp index 37f1c428d..dabf9820c 100755 --- a/gcl/cmpnew/gcl_cmpeval.lsp +++ b/gcl/cmpnew/gcl_cmpeval.lsp @@ -1148,7 +1148,9 @@ (parse-body-header src) (let* ((aux (member '&aux ll));FIXME centralize with new-defun-args (ll (ldiff ll aux)) - (regs (mapcan (lambda (x) (if (symbolp x) (list x) (cons (if (symbolp (car x)) (car x) (cadar x)) (cddr x)))) ll)) + (regs (mapcan (lambda (x &aux (lp (listp x))) + (cons (if lp (if (listp (car x)) (cadar x) (car x)) x) + (when (when lp (cddr x)) (list (caddr x))))) ll)) (regs (set-difference regs '(&optional &rest &key &allow-other-keys))) (od (split-decls regs decls)) (rd (cons `(declare (optimize (safety ,(decl-safety decls)))) (pop od))) |