-
Notifications
You must be signed in to change notification settings - Fork 858
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unclear whether raw tab is allowed inside multi-line basic string #571
Comments
Nice catch @jorisvr! :) I think we should clarify that not "all whitespace" is allowed unescaped. |
Basic strings is designed to input chars which can't easy input, like control chars, use escape mark ( these marks created in computer epoch ). So there is no difference between basic strings and literal strings about treating
|
Even though it's fairly easy to type a tab, it seems that these whitespace characters were overlooked in the definition of multi-line basic strings, and in fact needlessly forbidden in single-line basic strings. Let's let tabs be free in all strings. The escape code |
Done. :) |
It is unclear from the specification whether raw tab characters are allowed inside multi-line basic strings.
On the one hand, the section Multi-line basic strings states that "All other whitespace and newline characters remain intact.". This suggests that all whitespace is allowed inside the string. And whitespace has already been defined as tabs and spaces.
On the other hand, the same section states that "Any Unicode character may be used except those that must be escaped ... (U+0000 to U+001F, U+007F)".
So which is it ? Allowed because whitespace, or forbidden because control character ?
The ABNF definition forbids raw tab characters inside multi-line basic strings, but the ABNF is currently not authoritative.
The text was updated successfully, but these errors were encountered: