diff --git a/share/functions/abbr.fish b/share/functions/abbr.fish index 9f9e6f700..add6cc763 100644 --- a/share/functions/abbr.fish +++ b/share/functions/abbr.fish @@ -59,7 +59,7 @@ function abbr --description "Manage abbreviations" # We return 0 if any arg exists, whereas `set -q` returns the number of undefined arguments. # But we should be consistent with `type -q` and `command -q`. for var in $escaped - set -q $escaped; and return 0 + set -q $var; and return 0 end return 1 else diff --git a/tests/checks/abbr.fish b/tests/checks/abbr.fish index c78107ff6..edb25a8d6 100644 --- a/tests/checks/abbr.fish +++ b/tests/checks/abbr.fish @@ -94,3 +94,15 @@ abbr --add --global __abbr14 bbbbbbbbbbbbb abbr --erase __abbr13 __abbr14 abbr | grep __abbr13 abbr | grep __abbr14 + +abbr -q banana +echo $status +# CHECK: 1 + +abbr -q __abbr8 banana +echo $status +# CHECK: 0 + +abbr -q banana __abbr8 foobar +echo $status +# CHECK: 0