Safe failback on missing member info.

This commit is contained in:
Dominik Pantůček 2023-04-23 13:35:28 +02:00
parent 75de98779b
commit 738db88cf8

View file

@ -222,10 +222,14 @@
;; Returns member info key value
(define (brmember-info mr key . defaults)
(let ((info (ldict-ref mr 'info)))
(if (null? defaults)
(ldict-ref info key)
(ldict-ref info key (car defaults)))))
(let ((info (ldict-ref mr 'info #f)))
(if info
(if (null? defaults)
(ldict-ref info key)
(ldict-ref info key (car defaults)))
(if (null? defaults)
(error 'brmember-info "Info key is missing.")
(car defaults)))))
;; Return mandatory keys with #f as value
(define (brmember-missing-keys mr)