Fix parsing of double-quoted values with backslash continuations
Describe the pull request
When UnescapeValueDoubleQuotes is enabled, the parser now correctly handles multiline double-quoted values that contain backslash line continuations. Previously, it would incorrectly stop at intermediate quotes before a continuation, causing key-value delimiter not found errors.
The fix checks if a line ends with a backslash after finding a closing quote, and continues reading if so, ensuring the actual closing quote is found.
Fixes parsing of values like:
# ~/.gitconfig
[alias]
hello = "!f() { \
echo "hello world"; \
};f"
Link to the issue: n/a
Checklist
- [x] I agree to follow the Code of Conduct by submitting this pull request.
- [x] I have read and acknowledge the Contributing guide.
- [x] I have added test cases to cover the new code.
Hi @unknwon, apologies for the ping.
I know the project has been quiet, and I'm not requesting a review. I just wanted to ask whether this PR (or any other one) has any chance of being merged.
It fixes an important issue for me, and I'm trying to decide whether I should wait or consider maintaining a fork.
Thank you.
Hey @felipecrs, thanks for the ping! I might be able to give a human-review some time this week, but can't commit on a timeline due to holiday travels!
Thanks a lot, @unknwon!