diff --git a/src/brmember-parser.scm b/src/brmember-parser.scm index 8068404..4ad58a4 100644 --- a/src/brmember-parser.scm +++ b/src/brmember-parser.scm @@ -59,7 +59,8 @@ councilstart councilstop revisionstart revisionstop grantstart grantstop - joined destroyed)) + joined destroyed + feestart feestop)) (define ignored-keys '(mail2)) (define known-keys (append mandatory-keys optional-keys)) @@ -83,6 +84,9 @@ (joined member start) (destroyed member stop) + + (feestart fee start) + (feestop fee stop) )) (define start-stop-markers (map car start-stop-markers-lookup)) @@ -109,7 +113,7 @@ (info ,(lambda (mr output key value) (case key - ((student suspend member revision chair council grant) + ((student suspend member revision chair council grant fee) (let* ((res (period-markers->cal-periods value)) (ok? (car res)) (periods (cadr res)) @@ -159,7 +163,10 @@ mr0 (cdr value) "Whitespace not allowed in nick" 3 'error) mr0))) (else - (brmember-sub-set mr output key (car value)))))))) + (brmember-sub-set mr output key (car value)))))) + (fee + ,(lambda (mr output key value) + mr)))) ;; Pass 4: Final checks - add defaults (define (member-schema-finalize mr) @@ -253,7 +260,7 @@ (caar passes) (interpreter-pass mr pass-name (ldict-ref mr prev-name) pass-proc))))))) - ;; Loads member file source. Performs passes 0, 1 and 2. + ;; Loads member file source. Performs passes 0-4 (define (load-brmember-file mr) (let* ((mrif (brmember-input-file mr)) (source (read-lines mrif)) diff --git a/src/members-print.scm b/src/members-print.scm index 86e14c1..adf90c4 100644 --- a/src/members-print.scm +++ b/src/members-print.scm @@ -114,7 +114,7 @@ (caddr c))) (brmember-credit mr)) #:border '(((#:right light) ... none) ...)))) - ((suspend student member council chair revision grant) + ((suspend student member council chair revision grant fee) (let* ((pdata (cons (list "Since" "Until") (map (lambda (p)