Skip to content

fix(objective-c): escape control characters in string literals - #3447

Merged
schani merged 8 commits into
masterfrom
fix/objc-control-string-escapes
Sep 5, 2026
Merged

fix(objective-c): escape control characters in string literals#3447
schani merged 8 commits into
masterfrom
fix/objc-control-string-escapes

Conversation

@schani

@schani schani commented Sep 5, 2026

Copy link
Copy Markdown
Member

Objective-C literals rejected C0/C1 control escapes. Encode them as UTF-8 octal escapes while preserving literal backslashes.

Adds an ordinary JSON sample with repeated C0/C1 strings that infer an enum and a separate literal-backslash string. The existing Objective-C fixture compiles and round-trips it. blns-object.json remains skipped because Foundation drops BOM object keys.

Validation: baseline compilation rejects the control literals; Objective-C, Go, PHP, and Zod fixture round-trips pass with the fix. The cJSON fixture driver also round-trips without Valgrind. Kotlin/Jackson and Klaxon skip this sample because their enum serializers emit unescaped control characters. Core build and Biome pass. Production change: 14 added/removed lines.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Generated-output differences

2 files differ — 0 modified, 2 new, 0 deleted
2101 changed lines — +2101 / −0

Open the generated-output report →

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Generated-output differences

86 files differ — 81 modified, 5 new, 0 deleted
9258 changed lines — +8624 / −634

Open the generated-output report →

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Generated-output differences

131 files differ — 81 modified, 50 new, 0 deleted
15683 changed lines — +15045 / −638

Open the generated-output report →

@schani
schani enabled auto-merge (squash) September 5, 2026 17:47
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Generated-output differences

220 files differ — 87 modified, 133 new, 0 deleted
29751 changed lines — +29093 / −658

Open the generated-output report →

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Generated-output differences

232 files differ — 87 modified, 145 new, 0 deleted
59132 changed lines — +58474 / −658

Open the generated-output report →

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Generated-output differences

1259 files differ — 1090 modified, 169 new, 0 deleted
101361 changed lines — +99674 / −1687

Open the generated-output report →

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Generated-output differences

1258 files differ — 1090 modified, 168 new, 0 deleted
101319 changed lines — +99632 / −1687

Open the generated-output report →

@schani
schani merged commit 1d6ef5c into master Sep 5, 2026
35 checks passed
@schani
schani deleted the fix/objc-control-string-escapes branch September 5, 2026 18:46
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