Handles list of error symbols.
This commit is contained in:
parent
dd8719f554
commit
7a5975df63
1 changed files with 11 additions and 7 deletions
|
@ -102,17 +102,19 @@
|
||||||
|
|
||||||
;; Reports error with highlighted source line(s), configured via the
|
;; Reports error with highlighted source line(s), configured via the
|
||||||
;; *member-file-check-syntax* parameter.
|
;; *member-file-check-syntax* parameter.
|
||||||
(define (report-line-error file-name lines highlights message)
|
(define (report-line-error file-name lines highlight message)
|
||||||
(when (not (eq? (*member-file-check-syntax*) 'quiet))
|
(when (not (eq? (*member-file-check-syntax*) 'quiet))
|
||||||
(print "Error in " file-name ": " message)
|
(print "Error in " file-name ": " message)
|
||||||
(newline)
|
(newline)
|
||||||
(print-source-listing lines highlights
|
(print-source-listing lines (list highlight)
|
||||||
(*member-file-context*)
|
(*member-file-context*)
|
||||||
a:error a:default
|
a:error a:default
|
||||||
"" "" "..."))
|
"" "" "..."))
|
||||||
(if (eq? (*member-file-check-syntax*) 'error)
|
(if (eq? (*member-file-check-syntax*) 'error)
|
||||||
(exit 1)
|
(exit 1)
|
||||||
#f))
|
(list member-file-error-symbol
|
||||||
|
(list highlight
|
||||||
|
message))))
|
||||||
|
|
||||||
;; Parses given key-value line. Key is up to first space, value is the
|
;; Parses given key-value line. Key is up to first space, value is the
|
||||||
;; rest of the line. If the line doesn't contain anything, returns #f.
|
;; rest of the line. If the line doesn't contain anything, returns #f.
|
||||||
|
@ -136,16 +138,16 @@
|
||||||
(if (member key all-valid-keys)
|
(if (member key all-valid-keys)
|
||||||
(list key val)
|
(list key val)
|
||||||
(if file-name
|
(if file-name
|
||||||
(report-line-error file-name lines (list line-number)
|
(report-line-error file-name lines line-number
|
||||||
(sprintf "Invalid key ~A" key))
|
(sprintf "Invalid key ~A" key))
|
||||||
(error 'split-member-line (sprintf "Invalid key ~A" key)))))
|
(error 'split-member-line (sprintf "Invalid key ~A" key)))))
|
||||||
(if (member (string->symbol lc) all-valid-keys)
|
(if (member (string->symbol lc) all-valid-keys)
|
||||||
(if file-name
|
(if file-name
|
||||||
(report-line-error file-name lines (list line-number)
|
(report-line-error file-name lines line-number
|
||||||
(sprintf "No value for key ~A" lc))
|
(sprintf "No value for key ~A" lc))
|
||||||
(error 'split-member-line (sprintf "No value for key ~A" lc)))
|
(error 'split-member-line (sprintf "No value for key ~A" lc)))
|
||||||
(if file-name
|
(if file-name
|
||||||
(report-line-error file-name lines (list line-number)
|
(report-line-error file-name lines line-number
|
||||||
(sprintf "No value for invalid key ~A" lc))
|
(sprintf "No value for invalid key ~A" lc))
|
||||||
(error 'split-member-line
|
(error 'split-member-line
|
||||||
(sprintf "No value for invalid key ~A" lc)))))))))
|
(sprintf "No value for invalid key ~A" lc)))))))))
|
||||||
|
@ -183,7 +185,9 @@
|
||||||
(case k
|
(case k
|
||||||
((card desfire credit) (dict-set d k (cons v (dict-ref d k '()))))
|
((card desfire credit) (dict-set d k (cons v (dict-ref d k '()))))
|
||||||
(else
|
(else
|
||||||
(dict-set d k v))))))
|
(if (eq? k member-file-error-symbol)
|
||||||
|
(dict-set d k (cons v (dict-ref d k '())))
|
||||||
|
(dict-set d k v)))))))
|
||||||
|
|
||||||
;; Converts given key in member info dictionary from period markers
|
;; Converts given key in member info dictionary from period markers
|
||||||
;; list to periods.
|
;; list to periods.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue