alias: Escape the function name when replacing

Fixes #8720
This commit is contained in:
Fabian Boehm 2023-06-17 07:46:07 +02:00
parent f980125fb9
commit 38ac21ba5e

View File

@ -17,7 +17,7 @@ function alias --description 'Creates a function wrapping a command'
for func in (functions -n) for func in (functions -n)
set -l output (functions $func | string match -r -- "^function .* --description (?:'alias (.*)'|alias\\\\ (.*))\$") set -l output (functions $func | string match -r -- "^function .* --description (?:'alias (.*)'|alias\\\\ (.*))\$")
if set -q output[2] if set -q output[2]
set output (string replace -r -- '^'$func'[= ]' '' $output[2]) set output (string replace -r -- '^'(string escape --style=regex -- $func)'[= ]' '' $output[2])
echo alias $func (string escape -- $output[1]) echo alias $func (string escape -- $output[1])
end end
end end