On 10/3/19 6:19 PM, Jim Monte wrote:
Description:
=============================================================================
Documentation of quick substitution is incorrect (or does not match
behavior).
I believe this issue is an error with the documentation of history
"Quick Substitution" that has existed since the first snapshot available at
web.archive.org in 2007 at
https://web.archive.org/web/20071223174140/http://www.gnu.org/software/bash/manual/html_node/Event-Designators.html
At the least it is true that bash does not behave as the documentation
states,
but it does act in a way that is more reasonable (to me) than what is
written.
The documentation states that ^string1^string2^ is equivalent to
!!:s/string1/string2/. However, bash treats it as equivalent to
!!:s^string1^string2^.
This is correct, and I changed the documentation.
=============================================================================
Behavior of empty "old" string in a substitution is undefined.
The earlier example also shows a related but different issue with the
!!:s//a/b/ command, where the string to locate is empty.
It causes /a to be replaced by a and the b/ is appended.
It's not, actually. It's documented in the man page, but due to an
oversight the text doesn't appear in the texinfo manual.
=============================================================================
BUG
If an event designator has a leading - character, it is ignored.
It's treated as an offset with value 0, and otherwise ignored. If it's not
followed by a digit string, it should be treated as part of a search
string.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU c...@case.edu http://tiswww.cwru.edu/~chet/