diff --git a/src/Makefile b/src/Makefile index 014e25c..6140ed8 100644 --- a/src/Makefile +++ b/src/Makefile @@ -530,7 +530,9 @@ UTIL-BST-LSET-SOURCES=util-bst-lset.scm util-bst.import.scm \ util-bst-lset.o: util-bst-lset.import.scm util-bst-lset.import.scm: $(UTIL-BST-LSET-SOURCES) -MAILMAN-SOURCES=mailman.scm mailman2.import.scm +MAILMAN-SOURCES=mailman.scm mailman2.import.scm \ + mailman-common.import.scm util-bst-lset.import.scm \ + configuration.import.scm mailman.o: mailman.import.scm mailman.import.scm: $(MAILMAN-SOURCES) diff --git a/src/configuration.scm b/src/configuration.scm index 9b9b796..1badd3b 100644 --- a/src/configuration.scm +++ b/src/configuration.scm @@ -38,6 +38,7 @@ *summary-mailto* *doku-base* *mailman2-bin* + *mailman-version* load-configuration! ) @@ -93,6 +94,10 @@ (define *mailman2-bin* (make-parameter #f)) (define =mailman2-bin= "/usr/lib/mailman/bin") + ;; Which version of mailman to use + (define *mailman-version* (make-parameter #f)) + (define =mailman-version= 2) + (define (load-single-configuration! fname) (when (file-exists? fname) (let loop ((lines (read-lines (open-input-file fname)))) @@ -128,6 +133,9 @@ ((mailman2) (when (not (*mailman2-bin*)) (*mailman2-bin* v))) + ((mailman-version) + (when (not (*mailman-version*)) + (*mailman-version* (string->number v)))) ))) (loop (cdr lines))))))) @@ -155,6 +163,8 @@ (when (not (*doku-base*)) (*doku-base* =doku-base=)) (when (not (*mailman2-bin*)) - (*mailman2-bin* =mailman2-bin=))) + (*mailman2-bin* =mailman2-bin=)) + (when (not (*mailman-version*)) + (*mailman-version* =mailman-version=))) ) diff --git a/src/mailman.scm b/src/mailman.scm index d502c8e..e8eb02a 100644 --- a/src/mailman.scm +++ b/src/mailman.scm @@ -48,10 +48,10 @@ (chicken module) mailman2 mailman-common - util-bst-lset) - - (define *mailman-version* (make-parameter 2)) + util-bst-lset + configuration) + ;; Syntax for simplifying export of case-version procedures (define-syntax define-mailman-proc (syntax-rules () ((_ name proc2)