Forbid read-eval syntax in formatted/linted files #180
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Brief
Forbid read-eval syntax in formatted/linted files
This particularly targets Eastwood (since it's the only member of our stack that evals code, and therefore can run read-eval syntax) and tools.reader (which we internally use for various purposes).
It also is bound at
formatting-stack.core
level in case any other mechanisms happen to be sensitive.Fixes #158
QA plan
project
orbranch
formattertest
and nottest-resources
, since ns parsing (and refresh-dirs parsing) is part of how our Eastwood integration worksstrategy
.Author checklist
#=()
syntax. However#=
is not part of the Clojure API: it's absent from https://clojure.org/reference/reader#_dispatch , https://clojure.org/guides/weird_characters#=()
is a problem. My experience was that#=()
can be detected and fixed.Reviewer checklist