Phillip Wood <phillip.wood123@xxxxxxxxx> writes: >> Instead, introduce a new option `-Z` that switches to NUL-delimited >> input and output. The old `-z` option is marked as deprecated with a >> hint that its output may become unparsable. > > The commit message explains the problem well, I agree adding a new > option is the cleanest solution. > >... >> @@ -246,6 +246,12 @@ respectively print: >> -z:: >> Only meaningful with `--batch`, `--batch-check`, or >> `--batch-command`; input is NUL-delimited instead of >> + newline-delimited. This option is deprecated in favor of >> + `-Z` as the output can otherwise be ambiguous. >> + >> +-Z:: >> + Only meaningful with `--batch`, `--batch-check`, or >> + `--batch-command`; input and output is NUL-delimited instead of >> newline-delimited. > > The documentation changes look good. I wonder if we should put the > documentation for "-Z" above "-z" so users see the preferred option > first. Hmph, I expected "-z" and "-Z" to be orthogonal, the former controlling how input records are delimited, the latter controlling how output records are delimited, as it usually is a good idea to keep things that could be orthogonal to be orthogonal to avoid unnecessarily robbing users flexibility. "-Z is a new way that is preferred over -z" was something I did not expect, actually. I am not outright rejecting such a deliberately limiting design, but I'll have to think about it a bit.