Skip to content
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

Add support for unicode escape sequences in fromJSON #3305

Merged
merged 2 commits into from Jan 7, 2020

Conversation

knl
Copy link
Contributor

@knl knl commented Jan 6, 2020

As fromTOML supports unicode escape sequences, bring fromJSON on par. JSON defaults
to UTF-8 encoding (every JSON parser must support UTF-8), thus this change parses the
u hex hex hex hex sequence (escaped u followed by 4 hexadecimal digits) into an
UTF-8 representation.

Add a test to verify correct parsing, using all escape sequences from json.org.

Caught by @basvandijk while debugging Hydra issue, where JSON strings coming from GitHub contained \ u (on purpose written with a space in between to avoid this Hydra issue), which prevented the evaluation of any jobset in a project, as JSON parsing was failing.

Fixes #2257

As fromTOML supports \u and \U escapes, bring fromJSON on par. As JSON defaults
to UTF-8 encoding (every JSON parser must support UTF-8), this change parses the
`\u hex hex hex hex` sequence (\u followed by 4 hexadecimal digits) into an
UTF-8 representation.

Add a test to verify correct parsing, using all escape sequences from json.org.
@edolstra edolstra merged commit 04bbfa6 into NixOS:master Jan 7, 2020
@edolstra
Copy link
Member

edolstra commented Jan 7, 2020

Thanks!

dtzWill pushed a commit to dtzWill/nix that referenced this pull request Jan 7, 2020
…rings

Add support for unicode escape sequences in fromJSON

(cherry picked from commit 04bbfa6)
@piegamesde
Copy link
Member

As far as I can tell, this code has not been released yet. When will it be included in a release? Will/can it be back-ported to 2.3?

horriblename pushed a commit to horriblename/nmd that referenced this pull request Oct 4, 2023
Support for Unicode escape sequences (`\uabcd`) was added to Nix in
version 2.4 (NixOS/nix#3305), so in order to
maintain compatibility with 2.3 (which IMO is debatable) we should
output non-ASCII characters as-is.
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.

Unicode in Github description causes hydra to fail to evaluate
3 participants