diff --git a/CHANGELOG.md b/CHANGELOG.md index 20f1da1..d51357b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,8 +15,9 @@ characters). * `,`, `<`, and `>` are now legal identifier characters. They were previously reserved for KQL but this is no longer necessary. -* Code points under `0x20`, code points above `0x10FFFF`, Delete control - character (`0x7F`), and the [unicode "direction control" +* Code points under `0x20` (except newline and whitespace code points), code + points above `0x10FFFF`, Delete control character (`0x7F`), and the [unicode + "direction control" characters](https://www.w3.org/International/questions/qa-bidi-unicode-controls) are now completely banned from appearing literally in KDL documents. They can now only be represented in regular strings, and there's no facilities to diff --git a/SPEC.md b/SPEC.md index 32df285..c598a2f 100644 --- a/SPEC.md +++ b/SPEC.md @@ -714,7 +714,8 @@ node-terminator := single-line-comment | newline | ';' | eof prop := string optional-node-space equals-sign optional-node-space value value := type? optional-node-space (string | number | keyword) type := '(' optional-node-space string optional-node-space ')' -equals-sign := See Table (Equals Sign) + +equals-sign := See Table ([Equals Sign](#equals-sign)) string := identifier-string | quoted-string | raw-string @@ -762,8 +763,6 @@ bom := '\u{FEFF}' disallowed-literal-code-points := See Table (Disallowed Literal Code Points) -equals-sign := See Table ([Equals Sign](#equals-sign)) - unicode-space := See Table (All [White_Space](#whitespace) unicode characters which are not `newline`) single-line-comment := '//' ^newline* (newline | eof)