| OCR Text |
Show the command line at the current cursor location). T xtual ommand ar tring of alpha-numeric characters, which, when ent red in th command window au a particular function to be invoked, e.g., "copy," "delete," "move.' Commands ar entered in the command window by typing the string and pressing return. Keymaps are arrangements of keystroke-function pairs which specify which functions are to be associated with which keystrokes. These associations are conveniently stored in association lists, or a-lists. The car of each association is referred to as the key and its cdr is called the datum. The key in the keymap a-list is the first character of the keystroke. When the keystroke is composed of more then one character, e.g., Esc-H, or Ctrl-X-Ctrl-S, the datum contains another keymap which defines all of the remaining valid keystrokes beginning with that character. Figure 3.1 shows a sample keymap structure. The datum associated with the Esc character in Figure 3.1 contains a keymap structure because there are multiple keystrokes which begin with Esc. When the last character of a keystroke has been pressed, traversing the keymap with the keystroke will bring us to the corresponding datum which contains the appropriate function to invoke. A null datum means that the keystroke entered is unbound, a datum containing a keymap means that the keystroke hasn't been completed. The keymap contains two special non-character keys, the :COMMANDS and :SPECIAL keys . The datum associated with the :COMMANDS key is a keymap of string-function pairs. Each of these strings represent a valid text command, e.g., "move," "copy," "delete." The function associated with these strings identify which function to invoke when the associated text command is entered. The datum associated with the :SPECIAL key is a list of characters paired with a particular function. This allows multiple keystrokes which perform the same operation to be grouped together. The functions used under the :SPECIAL section require one parameter, this being which character was typed to invoke this function. |