Use safer harp::parse_expr()
to decode file path strings
#843
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.
Addresses posit-dev/positron#6584
Minimal reprex was to put
source(".\R\utils.R")
in the console and try and request completions with tab after theutils.R
.This string actually doesn't parse. It sees
\R
and complains that this is an unrecognized escape sequence.This crashed ark on both mac and windows, so you don't need a windows machine to validate this fix, but it comes up on Windows because this is the string you get when you copy out of the windows file explorer (because they hate you).
Fixed by switching out the very old
r_string_decode()
for our more modern tooling ofparse_expr()
, which is safely wrapped in atry_catch()
. Related to but unaffected by #840. That PR will turn the actual error we get from anharp::Error
intoParseResult::SyntaxError
, butparse_expr()
is insulated from that difference.Screen.Recording.2025-06-17.at.1.42.53.PM.mov