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
|
||||
;; *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))
|
||||
(print "Error in " file-name ": " message)
|
||||
(newline)
|
||||
(print-source-listing lines highlights
|
||||
(print-source-listing lines (list highlight)
|
||||
(*member-file-context*)
|
||||
a:error a:default
|
||||
"" "" "..."))
|
||||
(if (eq? (*member-file-check-syntax*) 'error)
|
||||
(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
|
||||
;; rest of the line. If the line doesn't contain anything, returns #f.
|
||||
|
@ -136,16 +138,16 @@
|
|||
(if (member key all-valid-keys)
|
||||
(list key val)
|
||||
(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))
|
||||
(error 'split-member-line (sprintf "Invalid key ~A" key)))))
|
||||
(if (member (string->symbol lc) all-valid-keys)
|
||||
(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))
|
||||
(error 'split-member-line (sprintf "No value for key ~A" lc)))
|
||||
(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))
|
||||
(error 'split-member-line
|
||||
(sprintf "No value for invalid key ~A" lc)))))))))
|
||||
|
@ -183,7 +185,9 @@
|
|||
(case k
|
||||
((card desfire credit) (dict-set d k (cons v (dict-ref d k '()))))
|
||||
(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
|
||||
;; list to periods.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue