Skip to content

Add support for unicode escape sequences in fromJSON#3305

Merged
edolstra merged 2 commits intoNixOS:masterfrom
knl:interpret-u-escapes-in-JSON-strings
Jan 7, 2020
Merged

Add support for unicode escape sequences in fromJSON#3305
edolstra merged 2 commits intoNixOS:masterfrom
knl:interpret-u-escapes-in-JSON-strings

Conversation

@knl
Copy link
Copy Markdown
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

knl added 2 commits January 7, 2020 00:09
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
Copy Markdown
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
Copy Markdown
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