Fix period parsing, tests broken.

This commit is contained in:
Dominik Pantůček 2023-03-20 14:11:02 +01:00
parent 056644ff66
commit 700dd7cfd3

View file

@ -56,28 +56,31 @@
(define (sort-period-markers l) (define (sort-period-markers l)
(sort l (sort l
(lambda (a b) (lambda (a b)
(month<? (cdr a) (cdr b))))) (month<? (cadr a) (cadr b)))))
;; Converts list of start/stop markers to list of pairs of months - ;; Converts list of start/stop markers to list of pairs of months -
;; periods. ;; periods.
(define (period-markers->periods l) (define (period-markers->periods l)
(print "===")
(let loop ((l l) (let loop ((l l)
(ps '()) (ps '())
(cb #f)) (cb #f))
(print l)
(if (null? l) (if (null? l)
(if cb (if cb
(reverse (cons (cons cb #f) ps)) (reverse (cons (cons cb #f) ps))
(reverse ps)) (reverse ps))
(let ((m (car l)) (let ((m (car l))
(rmt (if cb 'stop 'start))) (rmt (if cb 'stop 'start)))
(print " m: " m)
(if (eq? (car m) rmt) (if (eq? (car m) rmt)
(if cb (if cb
(loop (cdr l) (loop (cdr l)
(cons (cons cb (cdr m)) ps) (cons (cons cb (cadr m)) ps)
#f) #f)
(loop (cdr l) (loop (cdr l)
ps ps
(cdr m))) (cadr m)))
(if (eq? (*member-file-check-syntax*) 'error) (if (eq? (*member-file-check-syntax*) 'error)
(error 'period-markers->periods "Invalid start/stop sequence marker" m) (error 'period-markers->periods "Invalid start/stop sequence marker" m)
(reverse ps) ; Just ignore it for now (reverse ps) ; Just ignore it for now