- ,@(remove no-error-clause cases)))))))
- (let ((var (gensym))
- (outer-tag (gensym))
- (inner-tag (gensym))
- (tag-var (gensym))
- (annotated-cases (mapcar #'(lambda (case) (cons (gensym) case))
- cases)))
+ ;; FIXME: What if there's more than one :NO-ERROR
+ ;; clause? The code here and above doesn't seem
+ ;; either to remove both of them or to signal
+ ;; a good error, so it's probably wrong.
+ ,@(remove no-error-clause clauses)))))))
+ (let ((var (gensym "HC-VAR-"))
+ (outer-tag (gensym "OUTER-HC-TAG-"))
+ (inner-tag (gensym "INNER-HC-TAG-"))
+ (tag-var (gensym "HC-TAG-VAR-"))
+ (tagged-clauses (mapcar (lambda (clause)
+ (cons (gensym "HC-TAG-") clause))
+ clauses)))