flyx / NimYAML

YAML implementation for Nim
https://nimyaml.org
Other
186 stars 36 forks source link

Fails to parse a triple dot in string lit #114

Closed quantimnot closed 2 years ago

quantimnot commented 2 years ago

I ran into this today (using 741fd18):

import yaml
var val: string

# works:
load[string] """
---
>
  ...
""", val
load[string] """
---
|
  ...
""", val
load[string] """
---
"..."
""", val

# fails:
load[string] """
---
>
  p
  ...
""", val
[NimYAML] Error in file serialization.nim at line 1357:
Unexpected exception: LexerError
… stacktrace [YamlStreamError: This line #2 at "." is less indented than necessary]
/Volumes/origin/ws/posix/issue_tripledot.nim(3) issue_tripledot
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/serialization.nim(1345) load
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/serialization.nim(1321) construct
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/serialization.nim(1151) constructChild
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/stream.nim(113) peek
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/stream.nim(106) next
[[reraised from:
/Volumes/origin/ws/posix/issue_tripledot.nim(3) issue_tripledot
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/serialization.nim(1345) load
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/serialization.nim(1327) construct
]]

… stacktrace [LexerError: This line #2 at "." is less indented than necessary]
/Volumes/origin/ws/posix/issue_tripledot.nim(3) issue_tripledot
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/serialization.nim(1345) load
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/serialization.nim(1321) construct
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/serialization.nim(1151) constructChild
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/stream.nim(113) peek
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/stream.nim(99) next
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/parser.nim(160) :anonymous
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/parser.nim(790) beforeBlockIndentation
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/private/lex.nim(750) next
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/private/lex.nim(1064) indentationSettingToken
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/private/lex.nim(1026) insideLine
/Volumes/origin/ws/ports/direct/rdn/org.nimyaml.nimyaml/origin.src/yaml/private/lex.nim(578) readBlockScalar

[NimYAML] Please report this bug.