mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-25 08:07:22 +08:00
864bb1f7a6
This disables an extra round of escaping in the `string replace -r` replacement string. Currently, to add a backslash to an a or b (to "escape" it): string replace -ra '([ab])' '\\\\\\\$1' a 7 backslashes! This removes one of the layers, so now 3 or 4 works (each one escaped for the single-quotes, so pcre receives two, which it reads as one literal): string replace -ra '([ab])' '\\\\$1' a This is backwards-incompatible as replacement strings will change meaning, so we put it behind a feature flag. The name is kinda crappy, though. Fixes #5474.
2 lines
102 B
Plaintext
2 lines
102 B
Plaintext
--features 'no-string-replace-fewer-backslashes' -C 'string replace -ra "\\\\" "\\\\\\\\" -- "a\b\c"'
|