RSG (Ryan Specialty Group) recently announced a rename to Ryan Specialty (no
"Group"), but I'm not sure if the legal name has been changed yet or not, so
I'll wait on that.
csvm2csv was not failing when csvm-expand exited with a non-zero
status. Further, the tests were written incorrectly to account for this.
* build-aux/csvm2csv: Set `pipefail' option.
* build-aux/test/test-csvm2csv: Fix tests.
While tabs aren't desirable, users that are not developers will be modifying
these files, and so we need to be permissive in what we want to
accept. That doesn't mean that we need to forego occasional formatting, though.
This now uses year ranges, which I'll update annually.
This also renames "R-T Specialty" to "Ryan Specialty Group". The latter is
the parent company of the former. I was originally employed under the
former when LoVullo Associates was purchased, by I now work for the parent
company.
This will allow the variable abstractions to fully encapsulate values while
still permitting binary searches on sorted rows.
* csvm-expand: Renamed from `csvm2csv'. Add directive support.
* csvm2csv: New script to perform sorting. Invokes aforementioned.
* test/test-csvm2csv: Update for sorting.
* build-aux/csvm2csv: Fail on invalid var definition.
(expand_vars): Fail in invalid reference.
(parseline): Fail on non-numeric range.
* build-aux/test/test-csvm2csv
(test-fail-unknown-var-ref, test-fail-non-numeric-range)
(test-fail-invalid-var-dfn): New tests.
This allows variables to contain any type of expansion, treating them
as (recursively) string replacements.
* csvm2csv: Add Copyright year.
(expand_vars): New function.
(parseline): Use it. Expand before all other replacements so that
variable expansions may support all types of expressions. Expand
variables in range expressions.
* test/test-csvm2csv: New file.
Oops---we do not want a newline as part of the preimage, which is what
`<<<' does.
* build-aux/list2typedef (output-item)[value]: Remove newline from preimage.
* build-aux/test/test-list2typedef (test-typedef-gen): Update hashes.
(test-collision-value-check): Add new collisions.