summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordana <dana@dana.is>2026-06-10 20:44:59 -0500
committerdana <dana@dana.is>2026-06-10 20:47:14 -0500
commit8d4b0f6511d24dfa54141a2eaf5d276b2a3cfbd7 (patch)
tree3a5926f88355005f444544b7c7b50e600560eb9b
parentChangeLog for preceding 3 commits (diff)
downloadzsh-8d4b0f6511d24dfa54141a2eaf5d276b2a3cfbd7.tar
zsh-8d4b0f6511d24dfa54141a2eaf5d276b2a3cfbd7.tar.gz
zsh-8d4b0f6511d24dfa54141a2eaf5d276b2a3cfbd7.tar.bz2
zsh-8d4b0f6511d24dfa54141a2eaf5d276b2a3cfbd7.tar.lz
zsh-8d4b0f6511d24dfa54141a2eaf5d276b2a3cfbd7.tar.xz
zsh-8d4b0f6511d24dfa54141a2eaf5d276b2a3cfbd7.tar.zst
zsh-8d4b0f6511d24dfa54141a2eaf5d276b2a3cfbd7.zip
unposted: kill: fix -l argument error, add tests
fixes this issue: % kill -l 6term kill: unknown signal: SIGterm
-rw-r--r--ChangeLog5
-rw-r--r--Src/jobs.c1
-rw-r--r--Test/B11kill.ztst23
3 files changed, 29 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 78b3329ec..8f27d1644 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2026-06-10 dana <dana@dana.is>
+
+ * unposted: Src/jobs.c, Test/B11kill.ztst: kill: fix -l
+ argument error, add tests
+
2026-06-09 Bart Schaefer <schaefer@zsh.org>
* Philippe: 54731: Src/Modules/db_gdbm.c, Test/V11db_gdbm.ztst:
diff --git a/Src/jobs.c b/Src/jobs.c
index 43148fc3c..729cd2b29 100644
--- a/Src/jobs.c
+++ b/Src/jobs.c
@@ -2869,6 +2869,7 @@ bin_kill(char *nam, char **argv, UNUSED(Options ops), UNUSED(int func))
printf("%d\n", sig);
} else {
if (*signame) {
+ signame = casemodify(*argv, CASMOD_UPPER);
zwarnnam(nam, "unknown signal: SIG%s",
signame);
returnval++;
diff --git a/Test/B11kill.ztst b/Test/B11kill.ztst
index dc6bf9b89..ed87f0996 100644
--- a/Test/B11kill.ztst
+++ b/Test/B11kill.ztst
@@ -84,3 +84,26 @@
1:Plain kill with empty pid should not send signal to current process group
?(eval):kill:3: illegal pid:
+# posix doesn't actually define which numbers map to which signals, but the
+# first three seem pretty universal so we'll trust them
+ kill -l
+ kill -l HUP
+ kill -l sighup
+ kill -l 1
+ kill -l 137
+ kill -l 9009
+ kill -l 6term
+ kill -l sig6term
+1:kill -l
+*>HUP INT QUIT *
+*>1
+*>1
+*>HUP
+*>KILL
+*>9009
+*?*: SIG6TERM
+*?*: SIG6TERM
+
+ print -r - ${(f)${ kill -L }}
+0:kill -L
+*>*1*HUP*2*INT*3*QUIT*