[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Clearing the screen and other such things.



I'm not sure whether it is a good idea to add such things or not,
but the specific proposal is severely flawed and should be fixed
before being considered.

ERASE-REST-OF-SCREEN is rarely useful, while a function to erase
multiple lines can be quite useful (e.g. N lines from current line).
In general your proposed functions all need to take arguments to do
multiple operations instead of one.  It is MUCH easier to expand
DELETE-CHAR N than it is to recognize N consecutive DELETE-CHARs, and
merge them into one terminal operation.  However, instead of
INSERT-CHARS N, what you really want is INSERT-STRING, and instead of
INSERT/DELETE-LINES N, what you want is a INSERT/DELETE-LINES N M
which is insert/delete N lines in the M-line region after the current
line (again, this is easy to simulate on terminals with simple
insert-delete line commands, but pattern recognizing the other
direction is difficult).  You can apply the same technique if you
want to INSERT/DELETE-CHARS, and indeed to ERASE-LINE, by giving a
column to stop at, making it easy to support windowing.  Erase-to-column
is the only one that can't be efficiently supported on your average
terminal (requiring the typeout of lots of spaces if the column
in question isn't the last column of the screen).