mirror of
https://github.com/johnkerl/miller.git
synced 2026-07-21 10:29:02 +00:00
The reader's three-pass pipeline (backslash-join -> fold "+"-continuations onto raw lines -> split each folded line on ": ") broke on fields written as bare "Name:" (colon, no trailing space, no value) whose value is supplied entirely by following "+" lines -- the idiomatic recutils pattern for e.g. a "%doc:" field. Folding the continuation onto the raw line destroyed the ": " substring needed for the later split, so parsing such a field crashed with a "missing field separator" error, even on well-formed input. Found by testing against GNU recutils' own tutorial example (books.rec, from the manual's "A Little Example" page), now added as a fixture. Restructured parsing to split each line into a key/value field before folding continuations, so folding happens on the value rather than the raw line; when the preceding value is empty, the continuation becomes the value outright instead of gaining a spurious leading newline. Adds regression coverage (test/cases/io-recutils/0006, 0007) and a docs section covering the empty-value + continuation pattern. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
11 lines
367 B
Text
11 lines
367 B
Text
# A record descriptor whose %doc field has no value of its own -- just a
|
|
# bare colon -- with the actual text supplied entirely by the "+"
|
|
# continuation line that follows.
|
|
# Source: https://www.gnu.org/software/recutils/manual/html_node/A-Little-Example.html
|
|
|
|
%rec: Book
|
|
%doc:
|
|
+ A book in my personal collection.
|
|
|
|
Title: GNU Emacs Manual
|
|
Author: Richard M. Stallman
|