Patch from Paul Fox to fix the reported vi status line problems.
Paul writes:
the bugs were being caused because when edit_status() and/or
show_status_line() were being called, the current status wasn't
always yet up to date. i've changed things so that the
formatting/checking/displaying of the status line occurs more
rigorously as the last thing before the user is asked for input.
i did some minor optimization so we don't have to count the
file's lines every time, but this could be improved. (yes, i
know that turning file_modified into a counter will cause it to
be wrong once in blue moon. i'm willing to risk that. ymmv.
this could be fixed with the addition of one more boolean.)