Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #16741

[PATCH] fc: trim range instead of erroring out

From Martijn Dekker <martijn@inlv.org>
Newsgroups gnu.bash.bug
Subject [PATCH] fc: trim range instead of erroring out
Date 2020-08-11 16:59 +0100
Message-ID <mailman.1580.1597161606.2739.bug-bash@gnu.org> (permalink)
References <bee8013d-39e9-7433-934f-89fce4134369@inlv.org>

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

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

Back to gnu.bash.bug | Previous | Next | Find similar


Thread

[PATCH] fc: trim range instead of erroring out Martijn Dekker <martijn@inlv.org> - 2020-08-11 16:59 +0100

csiph-web