mirror of
https://git.code.sf.net/p/zsh/code
synced 2026-04-18 06:53:35 -04:00
53299: zparseopts: improve accuracy of bad-option message
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2026-04-05 dana <dana@dana.is>
|
||||
|
||||
* 53299: Src/Modules/zutil.c, Test/V12zparseopts.ztst:
|
||||
zparseopts: improve accuracy of bad-option message
|
||||
|
||||
2026-04-05 Oliver Kiddle <opk@zsh.org>
|
||||
|
||||
* Ronan Pigott: 54208: Completion/Unix/Command/_cp:
|
||||
|
||||
@@ -1980,7 +1980,7 @@ bin_zparseopts(char *nam, char **args, UNUSED(Options ops), UNUSED(int func))
|
||||
while (*++o) {
|
||||
if (!(d = sopts[(unsigned char) *o])) {
|
||||
if (fail) {
|
||||
if (*o != '-')
|
||||
if (*o != '-' || o > *pp + 1)
|
||||
zwarnnam(nam, "bad option: -%c", *o);
|
||||
else
|
||||
zwarnnam(nam, "bad option: -%s", o);
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
0:zparseopts -D -E
|
||||
>ret: 0, optv: -a -b 1 -c-d -z, argv: -e
|
||||
|
||||
for 1 in '-a -x -z' '-ax -z' '-a --x -z'; do
|
||||
for 1 in '-a -x -z' '-ax -z' '-a --x -z' -axy -a-xy; do
|
||||
() {
|
||||
local -a optv
|
||||
zparseopts -D -E -F -a optv - a b: c:- z
|
||||
@@ -71,6 +71,10 @@
|
||||
>ret: 1, optv: , argv: -ax -z
|
||||
?(anon):zparseopts:2: bad option: --x
|
||||
>ret: 1, optv: , argv: -a --x -z
|
||||
?(anon):zparseopts:2: bad option: -x
|
||||
>ret: 1, optv: , argv: -axy
|
||||
?(anon):zparseopts:2: bad option: --
|
||||
>ret: 1, optv: , argv: -a-xy
|
||||
|
||||
for 1 in '-a 1 2 3' '1 2 3'; do
|
||||
() {
|
||||
|
||||
Reference in New Issue
Block a user