Chris Antos 84ee96c64f Fix #2859; script error when cwd name contains %
The `string.gsub()` function in Lua always uses Lua patterns (which are
similar to regular expressions).  Cmder's custom prompt wants to perform
simple plain text find/replace operations on strings.  `string.gsub()`
is the right Lua function for that, but since it always uses Lua
patterns it's necessary to apply escaping to the input strings otherwise
they can get misinterpreted and cause runtime errors.

For example, if the current working directory name contains a percent
sign, such as literally "My%20Home".

This change fixes that.  It introduces a helper function `gsub_plain()`
which behaves like `string.gsub()` but applies appropriate escaping to
convert the plain text input strings into the corresponding Lua
patterns so that it can achieve plain text find/replace operations.

It also introduces separate helper functions for escaping the `find` and
`replace` parameters for `string.gsub()`, since they have different
escaping rules.
2023-07-10 18:07:53 -07:00
..
2022-11-02 19:15:58 +03:30
2023-01-22 12:30:30 -08:00
2023-05-23 11:11:39 +01:00
2022-01-15 11:00:58 -05:00
2022-11-19 02:32:02 +00:00
2022-10-15 12:58:22 +03:30
2023-05-23 11:11:39 +01:00
2022-01-15 11:00:58 -05:00

Vendor

Third parties software & init script.