- `(cond ,@(mapcar #'(lambda (clause)
- `((= (logand byte ,(caar clause))
- ,(cadar clause))
- ,@(cdr clause)))
- clauses))))
+ `(cond ,@(mapcar (lambda (clause)
+ (destructuring-bind
+ ((mask match) &body body)
+ clause
+ `((= (logand byte ,mask) ,match)
+ ,@body)))
+ clauses)
+ (t (error "disassembly failure for bytecode ~X"
+ byte)))))