PureYAML/Sources/Parsing
Mihaela M c1dda8bbab fix(parsing): reject a document marker inside a multi-line scalar
A line that begins with a document marker ('---' or '...') followed by a
boundary is forbidden inside a multi-line scalar, since it is ambiguous
with a document boundary. A multi-line quoted scalar folded such a line
into its value instead of rejecting it.

scanQuotedScalar now checks, on crossing each line break, whether the next
line begins a document marker, and rejects the scalar if so. The check
requires the marker at the line start with a following boundary, so inline
dashes ('a --- b'), '---' with no boundary ('---b'), an indented '---',
and dots not at a line start stay ordinary content.

Measured against the official YAML test-suite, parse-level conformance
rises from 268/333 (80.5%) to 270/333 (81.1%) with no regression.
2026-06-27 23:20:52 +02:00
..
BlockScalarChomping.swift fix(parsing): classify the keep block-scalar chomping indicator 2026-06-26 07:50:07 +02:00
BlockScalarStyle.swift
CollectionStyle.swift
Event.swift
EventComposer.Merge.swift
EventComposer.swift
EventStreamComposedNode.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
EventStreamComposer.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
EventStreamComposerMode.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
EventStreamContainer.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
EventStreamContainerKind.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
Mark.swift
MergeResolution.swift
NodeKind.swift
NodeProperties.swift
NodeResult.swift
ParseError.swift fix(parsing): reject a document marker inside a multi-line scalar 2026-06-27 23:20:52 +02:00
Parser.Events.swift
Parser.ScalarComposition.swift
Parser.swift
Reader.swift
Scalar.swift fix(parsing): enforce the full YAML 1.2 double-quoted escape table 2026-06-27 16:19:25 +02:00
ScalarStyle.swift
Scanner.Directives.swift fix(parsing): reject content after a document end marker 2026-06-27 17:56:37 +02:00
Scanner.FlowContext.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
Scanner.Helpers.swift fix(parsing): reject inline nested block mappings 2026-06-27 18:28:57 +02:00
Scanner.Indentation.swift fix(parsing): comments and over-indented blanks ending block scalars 2026-06-27 15:34:13 +02:00
Scanner.Scalars.swift fix(parsing): reject a document marker inside a multi-line scalar 2026-06-27 23:20:52 +02:00
Scanner.swift fix(parsing): reject a block sequence inline as a mapping value 2026-06-27 18:35:58 +02:00
ScannerFlowContextKind.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
TagNormalizer.swift
Text.swift
Token.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
TokenCursor.swift fix(parsing): reject inline nested block mappings 2026-06-27 18:28:57 +02:00
TokenEventParser.Block.swift fix(parsing): reject a block sequence inline after a node property 2026-06-27 23:14:54 +02:00
TokenEventParser.Flow.swift fix(parsing): reject empty entries in flow collections 2026-06-27 16:26:46 +02:00
TokenEventParser.Helpers.swift fix(parsing): reject a comment interrupting a multi-line plain scalar 2026-06-27 19:47:28 +02:00
TokenEventParser.swift fix(parsing): reject an anchor or tag on an alias node 2026-06-27 21:11:10 +02:00
TokenKind.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00