(error 'format-error
:complaint
"must specify exactly two sections"))
- (expand-bind-defaults ((index (expand-next-arg))) params
+ (expand-bind-defaults ((index nil)) params
(setf *only-simple-args* nil)
- (let ((clauses nil))
+ (let ((clauses nil)
+ (case `(or ,index ,(expand-next-arg))))
(when last-semi-with-colon-p
(push `(t ,@(expand-directive-list (pop sublists)))
clauses))
(push `(,(decf count)
,@(expand-directive-list sublist))
clauses)))
- `(case ,index ,@clauses)))))
+ `(case ,case ,@clauses)))))
remaining)))
(defun parse-conditional-directive (directives)
(let ((*simple-args* *simple-args*))
(values (expand-directive-list sublist)
*simple-args*))
- (cond ((eq *simple-args* (cdr new-args))
+ (cond ((and new-args (eq *simple-args* (cdr new-args)))
(setf *simple-args* new-args)
`(when ,(caar new-args)
,@guts))