miller/test/cases/io-recutils
John Kerl f17276e0c4
Fix recutils parser for empty-valued fields with "+"-continuation (#2203)
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>
2026-07-15 14:55:33 -04:00
..
0001 Add GNU recutils (.rec) as a Miller I/O format (#2201) 2026-07-15 11:51:16 -04:00
0002 Add GNU recutils (.rec) as a Miller I/O format (#2201) 2026-07-15 11:51:16 -04:00
0003 Add GNU recutils (.rec) as a Miller I/O format (#2201) 2026-07-15 11:51:16 -04:00
0004 Add GNU recutils (.rec) as a Miller I/O format (#2201) 2026-07-15 11:51:16 -04:00
0005 Add GNU recutils (.rec) as a Miller I/O format (#2201) 2026-07-15 11:51:16 -04:00
0006 Fix recutils parser for empty-valued fields with "+"-continuation (#2203) 2026-07-15 14:55:33 -04:00
0007 Fix recutils parser for empty-valued fields with "+"-continuation (#2203) 2026-07-15 14:55:33 -04:00