diff --git a/bbstool.scm b/bbstool.scm index aca3c99..3989022 100644 --- a/bbstool.scm +++ b/bbstool.scm @@ -161,8 +161,9 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ((problems) (let loop ((mb MB)) (when (not (null? mb)) - (when (member-highlights? (car mb)) + (when (not (member-valid? (car mb))) (newline) + (print-member-table (car mb)) (print-member-source (car mb))) (loop (cdr mb))))) ) diff --git a/member-record.scm b/member-record.scm index 92bcb87..50a1352 100644 --- a/member-record.scm +++ b/member-record.scm @@ -44,6 +44,7 @@ member-record-info member-missing-keys member-highlights? + member-valid? member-destroyed? member-suspended? @@ -72,7 +73,8 @@ testing month period - configuration) + configuration + primes) ;; Checks whether given string is a 4-digit decimal number. (define (is-4digit-string? s) @@ -199,6 +201,11 @@ (define (member-highlights? mr) (dict-has-key? mr 'highlights)) + ;; True if member record is OK + (define (member-valid? mr) + (and (not (member-highlights? mr)) + (is-4digit-prime? (member-id mr)))) + ;; Returns true if the member record represents destroyed member. The ;; *current-month* is a global parameter from period module. (define (member-destroyed? mr)