about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoshua Krusell <js.shirin@gmail.com>2021-02-03 16:46:59 +0100
committerOliver Kiddle <opk@zsh.org>2021-02-13 00:54:59 +0100
commit3d6e5b6231f0d80873c6f83924a48df223121e72 (patch)
treeb0779bb6f16c8bc85c1572f56928b45d393043bb
parent2cf6032a301d994c578e5e1942c4815e85651647 (diff)
downloadzsh-3d6e5b6231f0d80873c6f83924a48df223121e72.tar.gz
zsh-3d6e5b6231f0d80873c6f83924a48df223121e72.tar.xz
zsh-3d6e5b6231f0d80873c6f83924a48df223121e72.zip
47905: Add leading '-' to zparseopts option parsing errors
-rw-r--r--ChangeLog6
-rw-r--r--Src/Modules/zutil.c8
-rw-r--r--Test/V12zparseopts.ztst8
3 files changed, 14 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 4946b84c3..20f7eccf3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2021-02-13  Oliver Kiddle  <opk@zsh.org>
+
+	* 47905: Joshua Krusell: Src/Modules/zutil.c,
+	Test/V12zparseopts.ztst: Add leading '-' to zparseopts option
+	parsing errors
+
 2021-02-11  Bart Schaefer  <schaefer@zsh.org>
 
 	* unposted: NEWS, README: mention the effects of 47997.
diff --git a/Src/Modules/zutil.c b/Src/Modules/zutil.c
index c8017d0c0..cecea6d51 100644
--- a/Src/Modules/zutil.c
+++ b/Src/Modules/zutil.c
@@ -1874,9 +1874,9 @@ bin_zparseopts(char *nam, char **args, UNUSED(Options ops), UNUSED(int func))
 		if (!(d = sopts[STOUC(*o)])) {
 		    if (fail) {
 			if (*o != '-')
-			    zwarnnam(nam, "bad option: %c", *o);
+			    zwarnnam(nam, "bad option: -%c", *o);
 			else
-			    zwarnnam(nam, "bad option: %s", o);
+			    zwarnnam(nam, "bad option: -%s", o);
 			return 1;
 		    }
 		    o = NULL;
@@ -1889,7 +1889,7 @@ bin_zparseopts(char *nam, char **args, UNUSED(Options ops), UNUSED(int func))
 		    } else if (!(d->flags & ZOF_OPT) ||
 			       (pp[1] && pp[1][0] != '-')) {
 			if (!pp[1]) {
-			    zwarnnam(nam, "missing argument for option: %s",
+			    zwarnnam(nam, "missing argument for option: -%s",
 				    d->name);
 			    return 1;
 			}
@@ -1916,7 +1916,7 @@ bin_zparseopts(char *nam, char **args, UNUSED(Options ops), UNUSED(int func))
 		else if (!(d->flags & ZOF_OPT) ||
 			 (pp[1] && pp[1][0] != '-')) {
 		    if (!pp[1]) {
-			zwarnnam(nam, "missing argument for option: %s",
+			zwarnnam(nam, "missing argument for option: -%s",
 				d->name);
 			return 1;
 		    }
diff --git a/Test/V12zparseopts.ztst b/Test/V12zparseopts.ztst
index c41c49022..816e1d041 100644
--- a/Test/V12zparseopts.ztst
+++ b/Test/V12zparseopts.ztst
@@ -65,11 +65,11 @@
     } $=1
   done
 0:zparseopts -F
-?(anon):zparseopts:2: bad option: x
+?(anon):zparseopts:2: bad option: -x
 >ret: 1, optv: , argv: -a -x -z
-?(anon):zparseopts:2: bad option: x
->ret: 1, optv: , argv: -ax -z
 ?(anon):zparseopts:2: bad option: -x
+>ret: 1, optv: , argv: -ax -z
+?(anon):zparseopts:2: bad option: --x
 >ret: 1, optv: , argv: -a --x -z
 
   for 1 in '-a 1 2 3' '1 2 3'; do
@@ -168,5 +168,5 @@
     print -r - ret: $?, optv: $optv, argv: $argv
   } -ab1 -c
 0:missing optarg
-?(anon):zparseopts:2: missing argument for option: c
+?(anon):zparseopts:2: missing argument for option: -c
 >ret: 1, optv: , argv: -ab1 -c