Skip to content

Quote value with leading or trailing Unicode whitespace#621

Open
rootvector2 wants to merge 1 commit into
apache:masterfrom
rootvector2:quote-unicode-whitespace
Open

Quote value with leading or trailing Unicode whitespace#621
rootvector2 wants to merge 1 commit into
apache:masterfrom
rootvector2:quote-unicode-whitespace

Conversation

@rootvector2

Copy link
Copy Markdown
Contributor

printWithQuotes decides MINIMAL-mode encapsulation from the first and last character, but only against ascii bounds: c <= Constants.COMMENT for the leading char and isTrimChar (c <= ' ') for the trailing one. The parser's ignoreSurroundingSpaces strips any Character.isWhitespace on read, and several whitespace code points sit above ' ' (U+3000 ideographic space, U+2028/U+2029, U+2003, U+1680, U+205F, U+2000..U+200A). A value bounded by one of them, such as  a , is written unquoted and read back trimmed to a. Quote when the first or last character is Character.isWhitespace, matching what the reader trims. isTrimChar is left alone since it is shared with the getTrim path that mirrors String.trim.

Found while round-tripping unicode whitespace through the printer with ignoreSurroundingSpaces.

  • Read the contribution guidelines for this project.
  • Read the ASF Generative Tooling Guidance if you use Artificial Intelligence (AI).
  • I used AI to create any part of, or all of, this pull request. Which AI tool was used to create this pull request, and to what extent did it contribute?
  • Run a successful build using the default Maven goal with mvn; that's mvn on the command line by itself.
  • Write unit tests that match behavioral changes, where the tests fail if the changes to the runtime are not applied. This may not always be possible, but it is a best practice.
  • Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • Each commit in the pull request should have a meaningful subject line and body.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant