fix(scripting): escape embedded quotes in display-text names - #245
Merged
Conversation
Names quoted in a step's display line (script, layout, table, menu-set) had no escape convention, so a name containing a literal quote rendered ambiguously and its round-trip correctness was untested. DisplayQuoting centralizes the quote/unquote logic FileMaker's own calculation strings use: a literal quote is doubled rather than left bare. - Add DisplayQuoting with Quote/QuoteWithId/TryParseQuoted/ TryParseQuotedWithId/TryParseNamedRef helpers. - Replace the seven hand-rolled quote emitters and parsers (Perform Script, Perform Script on Server[ with Callback], Go to Layout, Go to Related Record, Install Menu Set, Install OnTimer Script) with calls into the shared helper. - Add round-trip tests for names containing embedded quotes. Closes #221
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
DisplayQuotingcentralizing the quote/unquote convention FileMaker's own calculation strings use (a literal quote is doubled rather than left bare), and replaces the seven hand-rolled quote emitters/parsers (Perform Script, Perform Script on Server[ with Callback], Go to Layout, Go to Related Record, Install Menu Set, Install OnTimer Script) with calls into the shared helperTest plan
dotnet testpasses, including new round-trip tests for names containing embedded quotesCloses #221