bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] fc: trim range instead of erroring out


From: Martijn Dekker
Subject: [PATCH] fc: trim range instead of erroring out
Date: Tue, 11 Aug 2020 16:59:57 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.11.0

As I use/try/test many shells, I'm in the habit of using POSIX commands such as 'fc -l 1' to list the complete history.

If there have been more than $HISTSIZE command, the list is trimmed at the beginning without renumbering, and bash errors out:

$ fc -l 1
bash-5.0: fc: history specification out of range

This is different from every other shell, and also looks like it's contrary to the POSIX spec:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/fc.html#tag_20_44_05
| When a range of commands is used, it shall not be an error to specify
| first or last values that are not in the history list; fc shall
| substitute the value representing the oldest or newest command in the
| list, as appropriate. For example, if there are only ten commands in
| the history list, numbered 1 to 10:
|
| fc -l
| fc 1 99
|
| shall list and edit, respectively, all ten commands.

The attached patch removes the error and limits the range to available commands as specified.

- Martijn

--
||      modernish -- harness the shell
||      https://github.com/modernish/modernish
||
||      KornShell lives!
||      https://github.com/ksh93/ksh

Attachment: fc.patch
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]