Skip to content

fix(nostrand): read arguments with EdnReader instead of a forked copy - #115

Merged
skydread1 merged 1 commit into
developfrom
fix/nostrand-argument-reader
Jul 30, 2026
Merged

fix(nostrand): read arguments with EdnReader instead of a forked copy#115
skydread1 merged 1 commit into
developfrom
fix/nostrand-argument-reader

Conversation

@skydread1

@skydread1 skydread1 commented Jul 30, 2026

Copy link
Copy Markdown
Member

Closes #114

  • nostrand/ArgumentReader.cs, a 1059-line copy of EdnReader taken in 2016, is gone. nos arguments read with clojure.lang.EdnReader, so ##Inf, ##NaN and #:ns{} read, and :1 is a keyword rather than a symbol that prints like one.
  • The two HACKs that let filesystem paths past the reader are replaced by one symbol fallback in ReadArguments, 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.

…#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.
@skydread1 skydread1 self-assigned this Jul 30, 2026
@skydread1
skydread1 merged commit 6bff919 into develop Jul 30, 2026
1 check passed
@skydread1
skydread1 deleted the fix/nostrand-argument-reader branch July 30, 2026 07:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

nos arguments are read by a stale fork of EdnReader, so ##Inf is rejected and :1 reads as a symbol

1 participant