histedit: Disallow fc -s first last
The POSIX SYNOPSIS (and our manual which steals it verbatim) says:
fc -s [old=new] [first]
and, indeed, we only use the first non-= argument
instead of enforcing the usage, which is confusing.
bash:
2025 ls
2026 id
$ fc -s ls=who 2025 2026
who
nabijaczleweli pts/2 2023-02-07 17:36 (192.168.1.109)
nabijaczleweli pts/3 2023-02-07 17:38 (192.168.1.109)
nabijaczleweli pts/4 2023-02-07 16:58 (192.168.1.109)
nabijaczleweli pts/5 2023-02-07 17:45 (192.168.1.109)
ksh93:
240 id
241 ls
$ fc -s ls=who 241 240
ksh: hist: -e - requires single argument
yash:
2 ls
3 id
$ fc -s ls=who 2 3
fc: too many operands are specified
zsh:
2 id
3 ls
tarta% fc -s ls=who 3 2
fc: bad option: -s
dash (before):
1 ls
2 id
$ fc -s ls=who 1 2
who
nabijaczleweli pts/2 2023-02-07 17:36 (192.168.1.109)
nabijaczleweli pts/3 2023-02-07 17:38 (192.168.1.109)
nabijaczleweli pts/4 2023-02-07 16:58 (192.168.1.109)
nabijaczleweli pts/5 2023-02-07 17:45 (192.168.1.109)
dash (after):
1 ls
2 id
$ fc -s ls=who 1 2
src/dash: 3: fc: -s takes one history argument
Adapted-from: NetBSD src bin/sh/histedit.c rev 1.38 by aymeric@
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
1 file changed