Improved error messages:
- specify when a search fails or a mark isn't set;
- warn when line addresses are out of range or when a range of
lines is reversed.
Addresses are limited to the number of lines in the file so a
command like ':2000000000' (go to the two billionth line) no
longer causes a long pause.
Improved vi compatibility of '+' and '-' operators that aren't
followed immediately by a number:
:4+++= 7
:3-2= 1
:3 - 2= 4 (yes, really!)
In a command like ':,$' the empty address before the separator now
correctly refers to the current line. (The similar case ':1,' was
already being handled.)
And all with a tidy reduction in bloat (32-bit build):
function old new delta
colon 4029 4069 +40
.rodata 99348 99253 -95
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 40/-95) Total: -55 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>