diff options
Diffstat (limited to 'gnu/services/messaging.scm')
-rw-r--r-- | gnu/services/messaging.scm | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm index 9f59d6eac6..34723dc11c 100644 --- a/gnu/services/messaging.scm +++ b/gnu/services/messaging.scm @@ -49,8 +49,9 @@ ;;; ;;; Code: -(define (id ctx . parts) - (datum->syntax ctx (apply symbol-append (map syntax->datum parts)))) +(define-syntax-rule (id ctx parts ...) + "Assemble PARTS into a raw (unhygienic) identifier." + (datum->syntax ctx (symbol-append (syntax->datum parts) ...))) (define-syntax define-maybe (lambda (x) @@ -94,21 +95,21 @@ "" doc)) #'(doc ...) #'(target ...)))) #`(begin - (define common-fields + (define #,(id #'stem #'common-fields) '(#,@(filter-map (make-pred #f) #'(field ...) #'(target ...)))) - (define-configuration prosody-configuration + (define-configuration #,(id #'stem #'prosody-configuration) #,@(filter-map (make-pred 'global) #'((field (field-type def) doc) ...) #'(target ...))) - (define-configuration virtualhost-configuration + (define-configuration #,(id #'stem #'virtualhost-configuration) #,@(filter-map (make-pred 'virtualhost) #'((field (new-field-type new-def) new-doc) ...) #'(target ...))) - (define-configuration int-component-configuration + (define-configuration #,(id #'stem #'int-component-configuration) #,@(filter-map (make-pred 'int-component) #'((field (new-field-type new-def) new-doc) ...) #'(target ...))) - (define-configuration ext-component-configuration + (define-configuration #,(id #'stem #'ext-component-configuration) #,@(filter-map (make-pred 'ext-component) #'((field (new-field-type new-def) new-doc) ...) #'(target ...))))))))) |