1 LISP LIBRARY PACKAGES MANUAL 1 LISP LIBRARY PACKAGES MANUAL TEXEC 1 USER INTERFACE 1 TEXEC 6 TExec is a TEdit-based version of the Interlisp-D Executive. It features all of the functionality of the old Executive (including history commands, ?=, DWIM, Programmer's Assistant, editing of the current input form, parenthesis matching/blinking, etc.) plus the ability to scroll anywhere in the output for viewing and/or copy-selecting old text. You can invoke TExec interactively from the right-button background menu, or programmatically by calling (TEXEC region prompt). If region is not specified, you will be prompted to create a window. If prompt is not supplied, a # is used as the prompt. To allow the easy copy-selection of entire lines of input, you can use a carriage-return/line feed as the prompt, and the prompt will be printed on a different line from the type-in. E.g., (TEXEC REGION ©©''). A program executing underneath the ©©old©© (non-TExec) Executive can replace its executive program by calling (TTEXEC). Calling this function below any other sort of process will cause an error message to appear in the prompt window. 2 Using TExec 2 TExec lets you edit the current type-in using the TEdit editing commands. Type-in is considered editable until a final matching right parenthesis, right bracket, or carriage return is typed, at which point it becomes immutable. Any output to a TExec window such as from ^T or ?= is placed in front of the current type-in so as not to interfere with the user's typing. Unechoed input mode is implemented using a feature of TEdit known as ©©invisible characters.©© Such characters, though invisible, are present in the buffer, and will be copied if they are within the bounds of a copy-selection. The contents of a TExec window are saved in memory as a text stream. The maximum number of characters to be saved is specified by the variable TEXEC.BUFFERLIMIT. When this limit is reached, characters are deleted from the beginning of thebuffer as new ones are added to the end. The initial setting of TEXEC.BUFFERLIMIT is 10,000. The ESC key works the way it is described in the Programmer's Assistant chapter of the Interlisp-D Reference Manual, i.e., it is used as a character substitution mark by the Programmer's Assistant ©©USE'' command. Pressing ESCAPE does NOT cause recognition of keywords in USERWORDS as it does under TTYIN. The ^R (retype input) and case-changing commands of TTYIN are not implemented. Graphics do not get saved in the output, though this may eventually be implemented using image objects. (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC ) STARTINGPAGE# 109) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (270 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 618) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC)) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM) FORMATINFO (ARABIC)) (54 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC)) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM) FORMATINFO (ARABIC)) (270 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))))) )ø T(ÌÌø )ÌÌøT)ÌÌøTBøø PAGEHEADING VERSOHEADBøø PAGEHEADING RECTOHEADAøø PAGEHEADINGFOOTINGVAøø PAGEHEADINGFOOTINGR(ÌÌø(ÌÌø )øTMODERN MODERNMODERN MODERN HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN ] p ? ì HRULE.GETFNMODERN   HRULE.GETFNMODERN r å K0y &?zº