PureYAML/Sources/Parsing
Mihaela Mihaljevic c236945323 fix(parsing): reject a multi-line implicit key in a flow sequence
A flow-sequence single-pair implicit key is single-line
(c-s-implicit-json-key uses s-separate-in-line), so its ':' may not cross
a line break: '[ "key"\n :value ]' is malformed. A flow MAPPING adjacent
value may still span lines ('{ "foo"\n :bar }' stays valid), which is why
the check is scoped to flow levels that are sequences.

Track per-flow-level whether it is a sequence ('[' vs '{') in a
flowIsSequence stack pushed/popped with the flow level, and in fetchValue
reject a pending simple key whose ':' crossed a line break when the
current flow level is a sequence.

Surpasses libyaml on ZXT5 (5MUD, the flow-mapping analogue, stays valid);
whole-suite conformance 397/402, canonical events 308/308.
2026-06-24 21:50:41 +02:00
..
BlockScalarChomping.swift
BlockScalarStyle.swift
CollectionStyle.swift
Event.swift
EventComposer.Merge.swift
EventComposer.swift
EventStreamComposer.swift
LibYAML.CharacterClass.swift fix(parsing): treat flow '?' before a non-indicator as scalar content 2026-06-24 18:50:46 +02:00
LibYAML.IndentEngine.swift
LibYAML.NodeProperties.swift
LibYAML.Parser.Block.swift feat(parsing): parse block mappings with empty keys 2026-06-24 18:27:45 +02:00
LibYAML.Parser.Directives.swift feat(parsing): run the whole library on the ported engine 2026-06-24 18:02:22 +02:00
LibYAML.Parser.Document.swift fix(parsing): reject misplaced directives, refresh suite manifest 2026-06-24 19:51:39 +02:00
LibYAML.Parser.Flow.swift fix(parsing): parse a leading ':' flow-sequence entry as an empty-key pair 2026-06-24 19:07:04 +02:00
LibYAML.Parser.Helpers.swift
LibYAML.Parser.Node.swift
LibYAML.Parser.swift feat(parsing): run the whole library on the ported engine 2026-06-24 18:02:22 +02:00
LibYAML.ParserError.swift
LibYAML.ParserState.swift
LibYAML.Reader.swift
LibYAML.Scanner.Anchor.swift feat(parsing): accept full YAML 1.2 anchor and alias names 2026-06-24 18:11:58 +02:00
LibYAML.Scanner.BlockScalar.swift fix(parsing): reject a comment with no preceding whitespace 2026-06-24 20:00:21 +02:00
LibYAML.Scanner.Directive.swift fix(parsing): reject misplaced directives, refresh suite manifest 2026-06-24 19:51:39 +02:00
LibYAML.Scanner.Fetch.swift fix(parsing): reject a multi-line implicit key in a flow sequence 2026-06-24 21:50:41 +02:00
LibYAML.Scanner.FlowScalar.swift feat(parsing): run the whole library on the ported engine 2026-06-24 18:02:22 +02:00
LibYAML.Scanner.Guards.swift fix(parsing): reject a block sequence that opens mid-line 2026-06-24 21:44:27 +02:00
LibYAML.Scanner.PlainScalar.swift fix(parsing): fold over a tab-only blank line in a plain scalar 2026-06-24 19:18:05 +02:00
LibYAML.Scanner.SkipToToken.swift fix(parsing): require flow continuation lines to be indented 2026-06-24 20:45:12 +02:00
LibYAML.Scanner.swift fix(parsing): reject a multi-line implicit key in a flow sequence 2026-06-24 21:50:41 +02:00
LibYAML.Scanner.Tag.swift
LibYAML.ScannerError.swift
LibYAML.SimpleKey.swift fix(parsing): accept tabs as separation, reject them as indentation 2026-06-24 19:14:12 +02:00
LibYAML.swift
LibYAML.Token.swift
LibYAML.TokenType.swift feat(parsing): run the whole library on the ported engine 2026-06-24 18:02:22 +02:00
Mark.swift
NodeKind.swift
ParseError.LibYAML.swift feat(parsing): run the whole library on the ported engine 2026-06-24 18:02:22 +02:00
ParseError.swift
Parser.Events.swift feat(parsing): run the whole library on the ported engine 2026-06-24 18:02:22 +02:00
Parser.ScalarComposition.swift fix(parsing): resolve a non-specific '!' tagged scalar as a string 2026-06-24 20:10:02 +02:00
Parser.swift
Reader.swift
Scalar.swift
ScalarStyle.swift
TagNormalizer.swift
Text.swift