projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.8.21.33: make doctrings.lisp understand embedded examples better
[sbcl.git]
/
src
/
compiler
/
parse-lambda-list.lisp
diff --git
a/src/compiler/parse-lambda-list.lisp
b/src/compiler/parse-lambda-list.lisp
index
5f5bdc0
..
6109cbd
100644
(file)
--- a/
src/compiler/parse-lambda-list.lisp
+++ b/
src/compiler/parse-lambda-list.lisp
@@
-84,6
+84,10
@@
(unless (member state
'(:required :optional :post-rest :post-more))
(compiler-error "misplaced &KEY in lambda list: ~S" list))
(unless (member state
'(:required :optional :post-rest :post-more))
(compiler-error "misplaced &KEY in lambda list: ~S" list))
+ #-sb-xc-host
+ (when (optional)
+ (compiler-style-warn
+ "&OPTIONAL and &KEY found in the same lambda list: ~S" list))
(setq keyp t
state :key))
(&allow-other-keys
(setq keyp t
state :key))
(&allow-other-keys
@@
-96,6
+100,8
@@
(&aux
(when (member state '(:rest :more-context :more-count))
(compiler-error "misplaced &AUX in lambda list: ~S" list))
(&aux
(when (member state '(:rest :more-context :more-count))
(compiler-error "misplaced &AUX in lambda list: ~S" list))
+ (when auxp
+ (compiler-error "multiple &AUX in lambda list: ~S" list))
(setq auxp t
state :aux))
(t (bug "unknown LAMBDA-LIST-KEYWORD in lambda list: ~S." arg)))
(setq auxp t
state :aux))
(t (bug "unknown LAMBDA-LIST-KEYWORD in lambda list: ~S." arg)))