Wrap arguments in quotes when spawning custom integrations on Windows#19237
Merged
sergiou87 merged 2 commits intodevelopmentfrom Sep 12, 2024
Merged
Wrap arguments in quotes when spawning custom integrations on Windows#19237sergiou87 merged 2 commits intodevelopmentfrom
sergiou87 merged 2 commits intodevelopmentfrom
Conversation
…hell or editor) is launched
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.
Closes #19218
Description
After the changes in #19224 , the quotes entered by the user are preserved until the very last moment, right before spawning the custom shell/editor, when the list of arguments is parsed into an array of strings.
When this happens, the strings in this array don't have quotes added by the user. For example:
-p "Git Bash" -d %TARGET_PATH"is converted to
['-p', 'Git Bash', '-d', '%TARGET_PATH']This is the expected behavior, however
spawnbehavior whenshell: trueoption is present will make the spawned process to receive the parameters as if they were split by spaces again:['-p', 'Git', 'Bash', '-d', '%TARGET_PATH']Which is wrong...
This PR adds a "safe" wrapper around
spawnthat adds the quotes to every parameter (and to the command) on Windows whenshell: trueis present.Release notes
Notes: [Fixed] Arguments with spaces are passed correctly to custom editors or shells on Windows