Cursorpos in Lisp: CURSORPOS is an LSUBR of 0-3 evaluated arguments. If no arguments are given, then the cursor coordinates of the default output TTY are returned as a dotted pair in the form (line# . column#). If args are specified, then the result is determined as shown below (returns "T" on success, "NIL" on failure) and if the last arg is a TTY output file then it is used instead of the default. Note that the "T" option alone will return the coordinates of TTY "T" rather than homing the cursor; see "T" below. With two numeric args given, the cursor is moved to the ARG1th line and ARG2th column. These are the special codes used for (CURSORPOS []): A Advance to a fresh line. If at beginning of line do nothing, else act like a CRLF. B move Backward. Decrements the horizontal position. If the horizontal position is 0, it is set to the horizontal screen size (wraparound from left margin to right margin). C Clear screen. The cursor goes to the upper left corner and the whole screen is cleared. On a printing tty (%TOMVU is 0) a CRLF is output, since "clearing the screen" is undefined. If "C" is output to the echo area, only the echo area is cleared, and only the echo area cursor is moved. D move Down. The vertical position is incremented. If it becomes equal to the vertical screen size, it is set to 0. E clear to Eof. The remainder of the current line, and all lower lines, are erased. The cursor doesn't move. F move Forward. The horizontal position is incremented. At the end of the line it wraps around to the beginning of the same line. H set Horizontal position. Takes one extra argument: it should be the desired horizontal position setting. The vertical position is not changed. An attempt to set the position beyond a margin will position it at the margin. I Outputs a one-position printing character. Takes an extra argument: the numeric ASCII code of the desired character. K Kill (erase) the character the cursor points at. The cursor does not move. The position erased is the one that would be written in next by ordinary output. L clear Line. The current line, starting with the position that the cursor points at, is erased. The cursor does not move. M (More) hang up until a character is read in then home-up. N (No home-up) similar, but don't home up after the character is read. P output a . Q output a . R Restore cursor position. The cursor is set to the most recently saved value. S Save cursor position. Remembers the current cursor position for use with "R". There is no stack for saved cursor positions; only the most recent saved position is remembered. T go to Top of screen (home up). The cursor is positioned at the upper left corner of the screen. Note: since "T" will be taken to mean output TTY "T" an alternate form must be used. (CURSORPOS 'top), (CURSORPOS 84.), and (CURSORPOS 'T 'T) will all work. U move Up. The vertical position is decremented. If it was 0, it becomes equal to the vertical size minus one. V set Vertical position. Takes an argument--the desired vertical position. An attempt to set the cursor beyond the top or bottom margin will position it as far as allowed in the desired direction. Similarly, "V" will not move the echo area cursor outside the echo area. Note that vertical positions in the echo area are to be specified relative to the top of the echo area. X backspace and erase one character ("B" followed by "K"). Z home down. The cursor is positioned at the lower left corner. ] obsolete - same as "L". [ insert line. The current line and all lines below it are pushed down one slot. A blank line appears at the current position. The cursor does not move. Works only on terminals which have %TOLID set ("\" also). See :TTYVAR TTYOPT for information on %TOLID. \ delete line. The current line disappears, and all the lines below it move up by one position. The bottom line becomes blank. The cursor does not move. ^ insert character. All the characters after the cursor move right one position. The last one moves off the right margin and disappears. A space appears at the cursor, which does not move. Works only on terminals which have %TOCID set ("_" also). See :TTYVAR TTYOPT for information on %TOCID. _ delete character. The character at the cursor disappears, and all the rest of the characters on the line move left one position. A space appears at the end of the line. The cursor does not move. Note: it's an underscore, not hyphen.