Next: expander clauses utils, Up: expander clauses [Index]
Some functions accept an optional argument synner: when used, it
must be a function accepting 1 or 2 arguments, the first argument being
a string error message and the optional second argument being a subform;
synner must raise a compound condition object with components:
&who, &message, &syntax. The
synner argument is meant to be used as follows:
(define-syntax (my-macro stx)
(case-define synner
((message)
(synner message #f))
((message subform)
(syntax-violation 'my-macro message stx subform)))
(syntax-case stx ()
(pattern body)
(_
(synner "invalid syntax"))))