Many streams that maintain a text cursor also display some visible indication of it. The object that represents this display is (somewhat confusingly) also called a cursor.
cursor [Protocol Class]
Summary: The protocol class that corresponds to cursors. If you want to create a new class that behaves like cursor, it should be a subclass of cursor . Subclasses of cursor must obey the cursor protocol. Members of this class are mutable.
Summary: Returns t if object is a cursor; otherwise, it returns nil .
Summary: The :sheet initarg is used to specify the sheet with which the cursor is associated.
Summary: The instantiable class that implements a text cursor. Typically, ports will further specialize this class.
cursor-sheet [Generic Function]
Summary: Returns the sheet with which the cursor cursor is associated.
cursor-position [Generic Function]
Summary: Returns the x and y position of the cursor cursor as two values.
(setf* cursor-position) [Generic Function]
Arguments: x y cursor
Summary: Sets the x and y position of the cursor cursor to the specified position. For the details of setf* , see C.4, Multiple-Value Setf
cursor-visibility [Generic Function]
(setf cursor-visibility) [Generic Function]
Arguments: visibility cursor
Summary: Returns (or sets) the visibility of the cursor cursor . The visibility is one of :on (the cursor will be visible at its current position), :off (the cursor is active, but not visible at its current position), or nil (the cursor is to be deactivated).
display-cursor [Generic Function]
Arguments: cursor state
Summary: This draws or erases the cursor cursor . If state is :draw , the cursor will be drawn. If the state is :erase , the cursor will be erased.
Common Lisp Interface Manager 2.0 User's Guide - 7 Aug 2017