Skip to content

1.1.2

Choose a tag to compare

@Solganis Solganis released this 14 Jul 05:28
1e201e5

Bug fixes

  • Repetition: matching a ... is now iterative, so prog <files>... over a few thousand files parses instead of exhausting the stack
  • Diagnostics: each caret is drawn under its own source line (and clamped to the line end), not all under the first
  • Error output: a parse error under pythonw (where sys.stderr is None) or a closed stream no longer crashes with an AttributeError
  • Subcommand dispatch: run(schema=...) is refused with a TypeError naming on(..., schema=...), instead of failing deep inside

Performance

  • import docopt2 no longer pulls in dataclasses, inspect, typing_extensions, pathlib, decimal, uuid or datetime: the typed machinery builds on first use. About 11 ms off every run

Internal

  • Diagnostic, Snippet and Caret are plain classes, not dataclasses (that decorator dragged inspect into every import). repr and equality unchanged
  • Mutation testing runs weekly in CI, report-only