function: Also error for read-only var in positional arg

We have this hack where any positional arguments are taken as argument
names if "--argument-names" is given, and that didn't check for
read-only variables.

Fixes #11295

(cherry picked from commit d203ee4d53)
This commit is contained in:
Fabian Boehm
2025-03-17 19:52:09 +01:00
parent 5771085280
commit c7efbf590e
2 changed files with 13 additions and 0 deletions

View File

@@ -183,6 +183,11 @@ function foo --argument-names status; end
echo status $status
# CHECK: status 2
function foo --argument-names foo status; end
# CHECKERR: {{.*}}function.fish (line {{\d+}}): function: variable 'status' is read-only
# CHECKERR: function foo --argument-names foo status; end
# CHECKERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
functions -q foo
echo exists $status
# CHECK: exists 1