From dbffe4b7c48f9bf362e27078fd2e3bdf9598948a Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Sat, 31 Aug 2024 22:54:38 -0400 Subject: [PATCH] Fix escape sequence parsing --- asv.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/asv.go b/asv.go index 6b4f3a0..6a9e895 100644 --- a/asv.go +++ b/asv.go @@ -156,12 +156,17 @@ func (this *Decoder) ReadUnit () (unit Unit, next rune, err error) { char, _, err := this.reader.ReadRune() if err != nil { return Unit(str.String()), 0, err } - if esc { + switch { + case esc: esc = false - } else if IsSeparator(char) { + str.WriteRune(char) + case char == Escape: + esc = true + case IsSeparator(char): return Unit(str.String()), char, nil + default: + str.WriteRune(char) } - str.WriteRune(char) } }