LMFL#!C(:HOST "SYS" :BACKUP-DATE 2760032199. :SYSTEM-TYPE :LOGICAL :VERSION 6. :TYPE "LISP" :NAME "DEFSYSTEM" :DIRECTORY ("REL3-SOURCE" "UCL") :SOURCE-PATTERN "( :DIRECTORY (\"REL3-SOURCE\") :NAME :WILD :TYPE :WILD :VERSION :NEWEST)" :VERSION-LIMIT 0. :CHARACTERS T :NOT-BACKED-UP T :CREATION-DATE 2758828030. :AUTHOR "REL3" :LENGTH-IN-BYTES 6606. :LENGTH-IN-BLOCKS 7. :BYTE-SIZE 8.)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ;;;-*- Mode:Common-Lisp; Package:USER; Base:10 -*-;;;                           RESTRICTED RIGHTS LEGEND;;;Use, duplication, or disclosure by the Government is subject to;;;restrictions as set forth in subdivision (b)(3)(ii) of the Rights in;;;Technical Data and Computer Software clause at 52.227-7013.;;;                     TEXAS INSTRUMENTS INCORPORATED.;;;                              P.O. BOX 2909;;;                           AUSTIN, TEXAS 78769;;;                                 MS 2151;; Copyright (c) 1986,1987 Texas Instruments Incorporated.  All Rights Reserved.;;; Change history:;;;;;;  Date      AuthorDescription;;; -------------------------------------------------------------------------------------;;;   3/19/87  DANReadded `debug' module.;;;   3/12/87  DANChanged PATCHABLE pathname to new convention and added WARNINGS pathname.;;;   3/06/87  DAN      Removed `debug' module. It still has problems.;;;   2/27/87  TWERemoved the SYS host prefix from the `debug' module since it is;;;specified in the pathname default.  This caused problems with;;;the change history analysis program.;;;   2/26/87  DANAdded UCL-debugger to the defsystem. It has to be loaded after UCL is built.(DEFSYSTEM UCL  (:NAME "Universal Command Loop")  (:SHORT-NAME "UCL")  (:NICKNAMES "UCL")  (:PATHNAME-DEFAULT "SYS:UCL;")  (:PATCHABLE "SYS:PATCH.UCL;" PATCH)  (:warnings-pathname-default "sys:cwarns;ucl.lisp")  (:MODULE break"break-patch")  (:MODULE comm"command"); UCL:COMMAND flavor definition.  Holds all of a command's data.  (:MODULE comp"completion"); Generally useful functions for completion on Lisp and non-Lisp symbols.  (:MODULE dcom"defcom"); Utilities for Programmers to set up the required UCL data structures.  (:MODULE defs"definitions"); Macros and variables used by UCL  (:MODULE disp"display"); Command definitions for the Command Display.  (:MODULE dsup"def-support"); Functions used by UCL macros.  (:MODULE edit"edit"); Command definitions for the Command Editor.  (:MODULE ekeys"edit-keys"); Command definitions for the Keysroke Editor (a part of the Command Editor).  (:MODULE ename"edit-names"); Command definitions for the Name Editor (a part of the Command Editor).  (:MODULE loop"command-loop"); Flavor definitions and command loop methods of the UCL.  (:MODULE menus"menus"); Code for building and maintaining UCL command menus.  (:MODULE modes"top-level-modes"); Flavors for completing on and processing typed expressions.  (:MODULE num"numeric-arg"); Flavor definition of a UCL loop which processes numeric arguments for UCL.  (:MODULE select"selective-features"); Flavor definition to mix into UCL to selectively cut out features.  (:MODULE table"table"); UCL:COMMAND-TABLE flavor definition. Groups commands for name & key lookup.  (:MODULE temp"temporary-commands"); Utility functions for creating on-the-fly commands and command tables.  (:MODULE univ"universal-commands")   ; Universal commands given to every UCL application.  (:MODULE util"utility")  (:MODULE wind"window"); Flavor definition of window used by UCL utilities such as Command Display,;  Command Editor, Name Editor, and Keystroke Editor.  There are several;  tricks done here.  Note that these utilities make use of the UCL.  (:MODULE debug        "EH;ucl-debugger")      ; UCL-debugger  (:MODULE kit("starter-kit")); the starter kit    (:AUXILIARY kit)  (:COMPILE-LOAD      dsup)  (:COMPILE-LOAD-INIT defs  (dsup)(:FASLOAD dsup) (:FASLOAD dsup))  (:COMPILE-LOAD-INIT util  (defs)(:FASLOAD defs))  (:COMPILE-LOAD      comp(:FASLOAD defs util))  (:COMPILE-LOAD-INIT menus (defs)(:FASLOAD defs util))  (:COMPILE-LOAD-INIT comm  (defs)(:FASLOAD defs util))  (:COMPILE-LOAD-INIT table (defs)(:FASLOAD defs util comm))  (:COMPILE-LOAD-INIT dcom  (defs)(:FASLOAD defs util comm table))  (:COMPILE-LOAD-INIT modes (defs dcom) (:FASLOAD defs util dcom) (:FASLOAD defs util dcom))  (:COMPILE-LOAD-INIT temp  (defs)(:FASLOAD defs util comm table dcom))  (:COMPILE-LOAD-INIT loop  (defs dcom)(:FASLOAD defs util dcom comm table dcom)                        (:FASLOAD defs util dcom comm table dcom))  (:COMPILE-LOAD      select(:FASLOAD defs util loop ))  (:COMPILE-LOAD-INIT wind  (comp modes comm dcom defs util loop menus select table temp)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select))  (:COMPILE-LOAD-INIT disp  (comp modes comm dcom defs util loop menus select table temp)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select wind)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select wind))  (:COMPILE-LOAD-INIT edit  (comp modes comm dcom defs util loop menus select table temp)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select wind)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select wind))  (:COMPILE-LOAD-INIT ekeys (comp modes comm dcom defs util loop menus select table temp)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select wind)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select wind))  (:COMPILE-LOAD-INIT ename (comp modes comm dcom defs util loop menus select table temp)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select wind disp edit ekeys)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select wind disp edit ekeys))  (:COMPILE-LOAD-INIT univ  (comp modes comm dcom defs util loop menus select table temp)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select))  (:COMPILE-LOAD-INIT num   (comp modes comm dcom defs util loop menus select table temp)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select))  (:COMPILE-LOAD-INIT break (comp modes comm dcom defs util loop menus select table temp)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select))  (:compile-load-init debug (comp modes comm dcom defs util loop menus select table temp)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select)    (:FASLOAD defs util comp menus comm table dcom modes temp loop select))  )(UNLESS (FIND-PACKAGE "UCL")(MAKE-PACKAGE "UCL"))eturning NIL.A resource of stack groups is used.  BIND-THESE is a list of variables which should retain theirbindings during BODY.  BINDING-LIST takes a list of (var form) entries, where FORM is evalledin the separate stack group to get a value to bind VAR to.BINDING-LIST and BIND-THESE shouldn't have anycommon variables; but if they do, variables in BIND-THESE are bound before those in BINDING-LIST.Input streams such as *TERMINAL-IO* are automatically bound during BODY.  In addition, the calling stack group and frame are stored in UCL:*STACK-GROUP* 