I don't believe in this handwritten parser. The genlex parser reads strings correctly, including escaped characters, and this is potentially used in liquidsoap with request such as annotate:artist="My name is \"bob"\":FOO. Using quotes should also be a simple way to avoid the parsing issue you had with width=-1, right?