1 Lisp Library Modules, Medley Release 1.15, TEXEC 1 Lisp Library Modules, Medley Release 1.15, TEXEC TEXEC 1 TEXEC 1 TEXEC 6 TExec(TEXEC NIL TExec NIL NIL 287) is a version of the Interlisp-D executive which includes certain features of TEdit(TEDIT NIL TEdit NIL NIL 287), so that commands can be edited, much like text. TExec preserves 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. TExec makes it easy to use Interlisp to get information, then use that information to build new commands to Interlisp. TExec has two major advantages: You can put into a window something longer than a windowful and still be able to scroll back and forth in it. In the regular exec window, all you see are the last few lines. You can print something to the window, then use all or part if it at your next type-in. Requirements 1 TEdit Installation 1 Load TEDIT.LCOM and TEXEC.LCOM modules from the library. User Interface 1 The Executive is described in the IRM and in the Lisp Release Notes. TEdit is described in the Lisp Documentation Tools manual. Starting TExec(STARTING% TEXEC NIL Starting% TExec NIL NIL 287) TExec can be invoked interactively from the right-button (background) menu, or programmatically by calling (TEXEC(TEXEC (function) NIL NIL NIL 287) REGION PROMPT MENUFN) [Function] If REGION is not specified, the system issues a prompt to create a window. If prompt is not supplied, a # is used as the prompt. If MENUFN is not supplied, a command menu similar to TEdit is used. See the TEdit section in the Lisp Documentation Tools manual titled "Using the TEdit Window." Differences between TExec and TEdit(DIFFERENCES% BETWEEN% TEXEC% AND% TEDIT NIL Differences% between% TExec% and% TEdit NIL NIL 287) The following TEdit commands are not included in the TExec main menu: LOOKS, SUBSTITUTE, QUIT, and EXPANDED MENU. TExec has two Find commands which are not in TEdit: FORWARD FIND and BACKWARD FIND. FORWARD FIND(FORWARD% FIND (command) NIL NIL NIL 288) searches forward from the beginning of the text stream if no previous text string has been found or if the caret is in the current/next type-in; otherwise the search continues forward from the last find. BACKWARD FIND(BACKWARD% FIND (command) NIL NIL NIL 288) searces backwards from the type-in point if it is the first time, or from the last place it found the text. You can force BACKWARD FIND to start from the type-in point by placing the caret there with the mouse. To allow the easy copy-selection of entire lines of input, 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 ""). Pressing the escape key does not cause recognition of keywords in USERWORDS(USERWORDS (function) NIL NIL NIL 288) as it does under TTYIN. The ^R (retype input) and case-changing commands of TTYIN are not implemented. Display stream graphics(DISPLAYSTREAM% GRAPHICS NIL Displaystream% graphics NIL NIL 288) are not saved in the output. Using TExec(USING% TEXEC NIL Using% TExec NIL NIL 288) TExec allows editing the current type-in using TEdit commands (see the TEdit section in the Lisp Documentation Tools manual titled "Editing Text"). 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 CONTROL-T or ?= is placed in front of the current type-in so as not to interfere with your typing. Unechoed input mode(UNECHOED% INPUT% MODE NIL Unechoed% input% mode NIL NIL 288) is implemented using a feature of TEdit known as invisible characters(INVISIBLE% CHARACTERS NIL invisible% characters NIL NIL 288). Such characters, though invisible, are present in the buffer, and will be copied if they are within the bounds of a copy-selection. The primary terminal table, \PRIMTERMTABLE(PRIMTERMTABLE (variable) NIL NIL NIL 288) (the value of (GETTERMTABLE(GETTERMTABLE (function) NIL NIL NIL 288))) is used (different from TEdit) to allow control characters to be echoed as CONTROL-X (where is x is the control character), as they are in the Old Interlisp Executive. 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 selecting the LIMIT command in the menu. When this limit is reached, characters are deleted from the beginning of the buffer as new ones are added to the end. The initial setting is 10,000 characters. The escape key works the way it is described in the Programmer's Assistant(PROGRAMMER'S% ASSISTANT NIL Programmer's% Assistant NIL NIL 288) section of the IRM. It is used as a character substitution mark by the Programmer's Assistant USE command. Limitations 1 TExec does not understand Common Lisp(COMMON% LISP NIL Common% Lisp NIL NIL 288) syntax, so it is best to call it from an Interlisp exec. =? is not implemented. [This page intentionally left blank] (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "") STARTINGPAGE# 287) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 702) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (54 15 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 (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 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))))),2HH -$$T-T-T,ll,HH ,HH,HH-T-T,,F PAGEHEADING VERSOHEADF PAGEHEADING RECTOHEADE PAGEHEADINGFOOTINGVE PAGEHEADINGFOOTINGR  HELVETICA  HELVETICACLASSIC TITAN CLASSIC  HELVETICA  HELVETICACLASSICCLASSIC MODERN MODERNMODERN HRULE.GETFNMODERN  1 HRULE.GETFNMODERN  1 HRULE.GETFNMODERN   HRULE.GETFNMODERN     HRULE.GETFNMODERN   IM.INDEX.GETFNT IM.INDEX.GETFN   y   W   HRULE.GETFNMODERN    HRULE.GETFNMODERN     HRULE.GETFNMODERN "     1IM.INDEX.GETFNl "IM.INDEX.GETFN  `   Y   #aIM.INDEX.GETFNF     5    )IM.INDEX.GETFNCLASSIC  *IM.INDEX.GETFNCLASSIC | L   B &IM.INDEX.GETFNCLASSIC AIM.INDEX.GETFN  +IM.INDEX.GETFN[   T  =IM.INDEX.GETFNF =IM.INDEX.GETFN *IM.INDEX.GETFNCLASSIC  )IM.INDEX.GETFN   3  AIM.INDEX.GETFN  W   HRULE.GETFNMODERN % +IM.INDEX.GETFN:     %    Sz