ber@enea.UUCP (06/23/83)
I'm quite convinced that these two bugs in vi (version 3.6) has been
discussed before somewhere, but just in case ...
1. An error in the address evaluation for the command "^B" dispositions
the line on the screen and it can even make the first line modified.
Do a ":se number" and then 3^F followed by 3^B. You don't end up at
the beginning of the file again.
The fix:
In ex_vmain.c for the ^B-case it says
case CTRL(b):
...
addr = dot - vcline - 2 + (cnt-1)*basWLINES;
which should be
... + 2 - .......
2. The other one I say is a bug even if someone would say it's a feature.
If you create a new file with "vi foo" and then do a ":r otherfoo", then
exit with "ZZ". The file "foo" is gone!! Even if you insert new lines in
"foo" and then do a ":r", the new file will disappear. I'm not sure where
to fix this, not introducing a new bug. It's the handling of all these
"chng"-flags that's a bit of a mess. In ex_io.c the routine "rop3" ends
with a sync(), which resets the chng-flag. If one make the end of "rop"
to look like
rop3(c);
if (c == 'r')
change();
it seems to fix it. Would appreciate any comments.
Is there anyone compiling, in some organized form, all bug reports while
waiting for the next release from Bell/Berkeley ("All about bugs in vi",
"... in csh", "... in nroff")? Anything for USENIX, EUUG?
Bjorn Eriksen (...!decvax!mcvax!enea!ber)
ENEA DATA Sweden