summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordana <dana@dana.is>2026-06-21 02:38:38 +0000
committerdana <dana@dana.is>2026-06-23 19:36:14 -0500
commit2e7a39d1d5bd897d9648fc38fedf07aa061be2df (patch)
treed4dc0c47957ae16cdbe4956c786d12f4ec1c1eba
parent54818: docs: clarify _arguments {...} action behaviour (diff)
downloadzsh-2e7a39d1d5bd897d9648fc38fedf07aa061be2df.tar
zsh-2e7a39d1d5bd897d9648fc38fedf07aa061be2df.tar.gz
zsh-2e7a39d1d5bd897d9648fc38fedf07aa061be2df.tar.bz2
zsh-2e7a39d1d5bd897d9648fc38fedf07aa061be2df.tar.lz
zsh-2e7a39d1d5bd897d9648fc38fedf07aa061be2df.tar.xz
zsh-2e7a39d1d5bd897d9648fc38fedf07aa061be2df.tar.zst
zsh-2e7a39d1d5bd897d9648fc38fedf07aa061be2df.zip
54831: comparguments: treat empty description as if missing
-rw-r--r--ChangeLog3
-rw-r--r--Src/Zle/computil.c3
-rw-r--r--Test/Y03arguments.ztst8
3 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 87bbf9763..fd0167f9f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2026-06-23 dana <dana@dana.is>
+ * 54831: Src/Zle/computil.c, Test/Y03arguments.ztst:
+ comparguments: treat empty description as if missing
+
* 54818: Doc/Zsh/compsys.yo: clarify _arguments {...} action
behaviour
diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c
index e4edb9631..75f01521e 100644
--- a/Src/Zle/computil.c
+++ b/Src/Zle/computil.c
@@ -1471,6 +1471,9 @@ parse_cadef(char *nam, char **args)
zwarnnam(nam, "invalid option definition: %s", *args);
return NULL;
}
+ // treat empty description as if missing
+ if (p == descr)
+ descr = NULL;
*p++ = '\0';
c = *p;
} else
diff --git a/Test/Y03arguments.ztst b/Test/Y03arguments.ztst
index f58fa4123..b118f2626 100644
--- a/Test/Y03arguments.ztst
+++ b/Test/Y03arguments.ztst
@@ -823,6 +823,14 @@ F:shouldn't offer -t in the first case (with stacked options)
>line: {tst -x}{}
>DESCRIPTION:{%2Fxargdesc%f}
+ tst_arguments : -x '-y[]'
+ comptest $'tst -\t'
+0:empty description
+>line: {tst -}{}
+>DESCRIPTION:{option}
+>NO:{-x}
+>NO:{-y}
+
%clean
zmodload -ui zsh/zpty