diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm index 69cd1a584..6c96bdbd6 100644 --- a/module/ice-9/psyntax.scm +++ b/module/ice-9/psyntax.scm @@ -2607,6 +2607,16 @@ ((_ (k ...) ((keyword . pattern) template) ...) #'(lambda (x) ;; embed patterns as procedure metadata + #((macro-type . syntax-rules) + (patterns pattern ...)) + (syntax-case x (k ...) + ((dummy . pattern) #'template) + ...))) + ((_ (k ...) docstring ((keyword . pattern) template) ...) + (string? (syntax->datum #'docstring)) + #'(lambda (x) + ;; the same, but allow a docstring + docstring #((macro-type . syntax-rules) (patterns pattern ...)) (syntax-case x (k ...)