fix(nostrand): read arguments with EdnReader instead of a forked copy - #115
Merged
Conversation
…#114) The forked ArgumentReader was a 2016 copy of EdnReader, so ##Inf, ##NaN and #:ns{} could not be typed as nos arguments, and a digit-leading keyword like :1 came back as a symbol that prints identically. Its two HACKs existed to let filesystem paths through the reader. One verbatim-symbol fallback in ReadArguments covers both, so absolute paths, '~/foo' and @A read as they did before. The command line is still read joined first, so a form split across shell words joins as it used to and only an unreadable token drops to per-argument reading. eofIsError: false with a sentinel keeps a mid-form EOF distinguishable from a finished argument, so an unterminated '{:a' falls back rather than silently truncating.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Closes #114
nostrand/ArgumentReader.cs, a 1059-line copy ofEdnReadertaken in 2016, is gone.nosarguments read withclojure.lang.EdnReader, so##Inf,##NaNand#:ns{}read, and:1is a keyword rather than a symbol that prints like one.ReadArguments, so absolute paths,'~/foo'and@aread as they did before.