Deduplicate lints.

Why see the same message twice?
This commit is contained in:
Calvin Rose
2026-03-15 18:27:13 -05:00
parent 079776d39e
commit 8b89901298
+3 -3
View File
@@ -2674,17 +2674,17 @@
(var resumeval nil)
(def f
(fiber/new
(fn []
(fn :compile-and-lint []
(array/clear lints)
(def res (compile source env where lints))
(unless (empty? lints)
(when (next lints)
# Convert lint levels to numbers.
(def levels (get env *lint-levels* lint-levels))
(def lint-error (get env *lint-error*))
(def lint-warning (get env *lint-warn*))
(def lint-error (or (get levels lint-error lint-error) 0))
(def lint-warning (or (get levels lint-warning lint-warning) 2))
(each [level line col msg] lints
(each [level line col msg] (distinct lints) # some macros might cause code to be duplicated. Avoid repeated messages.
(def lvl (get lint-levels level 0))
(cond
(<= lvl lint-error) (do