3 lines
21 KiB
HTML
3 lines
21 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>24-GLOBAL-VARIABLES</title><link href="navigation.css" rel="stylesheet" type="text/css"/><link href="document.css" rel="stylesheet" type="text/css"/></head><body><p class="top_nav"><a href="part26.htm">< Previous</a><span> | </span><a href="../Medley-Primer.html">Contents</a><span> | </span><a href="part28.htm">Next ></a></p><h1 style="padding-top: 3pt;padding-left: 35pt;text-indent: 0pt;text-align: left;"><a name="bookmark26">24. GLOSSARY OF GLOBAL SYSTEM VARIABLES</a></h1><p style="padding-left: 35pt;text-indent: 0pt;line-height: 6pt;text-align: left;"><span><img width="640" height="8" alt="image" src="Image_158.png"/></span></p><p style="text-indent: 0pt;text-align: left;"><br/></p><p style="padding-top: 15pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">As you can tell by now, there are many system variables in Medley that are useful to know. The following sections gather many of the important variables together into</p><p style="padding-left: 107pt;text-indent: 0pt;text-align: left;">groups relating to directory searching, system flags, history lists, system menus, windows, and, of course, the catchall miscellaneous category.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><h2 style="padding-left: 35pt;text-indent: 0pt;text-align: left;">Directories </h2><p style="text-indent: 0pt;text-align: left;"><br/></p><p class="s3" style="padding-top: 5pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">DISPLAYFONTDIRECTORIES</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;line-height: 106%;text-align: justify;">Its value is a list of directories to search for the bitmap files for display font s. Usually, it contains the <span class="s3">FONT </span>directory where you copies the bitmap files (see Chapter 16), and the current connected directory. The current connected</p><p style="padding-left: 143pt;text-indent: 0pt;line-height: 12pt;text-align: justify;">directory is specified by the atom <span class="s3">NIL</span>. Here is an example value of</p><p class="s3" style="padding-left: 143pt;text-indent: 0pt;text-align: left;">DISPLAYFONTDIRECTORIES<span class="p">.</span></p><p style="text-indent: 0pt;text-align: left;"><br/></p><p style="padding-left: 142pt;text-indent: 0pt;text-align: left;"><span><img width="450" height="256" alt="image" src="Image_159.gif"/></span></p><p style="padding-left: 107pt;text-indent: 62pt;line-height: 186%;text-align: left;">Figure 24.1. Value for the Atom <span class="s3">DISPLAYFONTDIRECTORIES INTERPRESSFONTDIRECTORIES</span></p><p style="padding-left: 143pt;text-indent: 0pt;line-height: 10pt;text-align: justify;">Is set to a list of directories to search for the font width files for InterPress font s.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><p class="s3" style="padding-left: 107pt;text-indent: 0pt;text-align: left;">DIRECTORIES</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">This variable is bound to a list of the directories you will be using (see Figure 24-2). The system uses this variable when it is trying to find a file to load. It checks each directory in the list, until the file is foun d. <span class="s3">NIL </span>in list means to check the current connected directory.</p><p class="s3" style="padding-top: 9pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">LISPUSERSDIRECTORIES</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">Its value is a list of directories to search for library package files.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><h2 style="padding-top: 4pt;padding-left: 35pt;text-indent: 0pt;text-align: left;">Flags </h2><p style="text-indent: 0pt;text-align: left;"><br/></p><p class="s3" style="padding-top: 5pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">DWIMIFYCOMPFLG</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;line-height: 106%;text-align: justify;">This flag, if set to <span class="s3">T</span>, will cause all expressions to be completely dwinified before the expression is compiled (see Chapter 9). In this state, when the system does not recognize a function of keyword, it will compare the word to a system</p><p style="padding-left: 143pt;text-indent: 0pt;line-height: 107%;text-align: justify;">maintained list to determine whether the word is a macro, <span class="s3">CLISP </span>word, or misspelled user-defined variable.</p><p style="padding-top: 6pt;padding-left: 143pt;text-indent: 0pt;line-height: 107%;text-align: justify;">An example of swinifying before compilation is to convert an <span class="s3">IF </span>call to a <span class="s3">COND</span>. before they are compiled. Undwimified expressions can cause inaccurate</p><p style="padding-left: 143pt;text-indent: 0pt;line-height: 107%;text-align: justify;">compilation. This flag is set by the system to <span class="s3">NIL</span>. Normally, you want this set to <span class="s3">T</span>. For more information on DWIM, refer to the <i>IRM</i>.</p><p class="s3" style="padding-top: 9pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">SYSPRETTYFLAG</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;line-height: 107%;text-align: justify;">When set to <span class="s3">T</span>, all lists returned to the executive window are pretty printed. This flag is originally set by the system to <span class="s3">NIL</span>.</p><p class="s3" style="padding-top: 9pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">CLISPIFTRANFLG</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;line-height: 107%;text-align: justify;">When set to <span class="s3">T</span>, keeps the <span class="s3">IF </span>expression, rather than the <span class="s3">COND </span>translation in your code.</p><p class="s3" style="padding-top: 9pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">PRETTYTABFLG</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;line-height: 107%;text-align: justify;">When set to <span class="s3">T</span>, the pretty printer puts out a tab character rather than several spaces to try to make code align. If <span class="s3">NIL</span>, it uses space characters instead.</p><p class="s3" style="padding-top: 9pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">FONTCHANGEFLG</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">If NIL, then when pretty printing no font changes will happen (e.g., a smaller font for comments, bold for clip words, and so forth). The default is the atom ALL, so different font s are used where appropriate.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><p class="s3" style="padding-left: 107pt;text-indent: 0pt;text-align: left;">AUTOBACKTRACEFLG</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">There are many possible values for this variable. They affect when the back</p><p style="padding-left: 143pt;text-indent: 0pt;text-align: left;">trace window appears with the break window, and how much detail is included in it. The values of this variable include:</p><p style="padding-top: 7pt;padding-left: 155pt;text-indent: -12pt;line-height: 107%;text-align: left;">• <span class="s3">NIL</span>, its initial value. The back trace window is not brought up when an error is generated, until you open it yourself.</p><p style="padding-top: 6pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">• <span class="s3">T</span>, which means that the back trace <span class="s3">BT </span>window is opened for error breaks</p><p style="padding-top: 7pt;padding-left: 155pt;text-indent: -12pt;line-height: 107%;text-align: left;">• <span class="s3">BT! </span>brings up a back trace window with more detail, <span class="s3">BT!</span>, window for error breaks</p><p style="padding-top: 6pt;padding-left: 155pt;text-indent: -12pt;line-height: 107%;text-align: left;">• <span class="s3">ALWAYS </span>brings up a backtrace <span class="s3">BT </span>window for both error breaks, and breaks caused by calling the function <span class="s3">BREAK</span></p><p style="padding-top: 7pt;padding-left: 155pt;text-indent: -12pt;line-height: 107%;text-align: left;">• <span class="s3">ALWAYS! </span>brings up a backtrace window with more detail, <span class="s3">BT!</span>, for both error breaks and breaks caused by calling the function</p><p style="text-indent: 0pt;text-align: left;"><br/></p><p class="s3" style="padding-top: 5pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">NOSPELLFLG</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">Is initially bound to <span class="s3">NIL</span>, so that <span class="s3">DWIM </span>tries to correct all spelling errors,</p><p style="padding-left: 143pt;text-indent: 0pt;text-align: left;">whether they are in a form you just typed in or within a function being run. If the variable is <span class="s3">T</span>, then no spelling correction is performed. This variable is</p><p style="padding-left: 143pt;text-indent: 0pt;text-align: left;">automatically reset to <span class="s3">T </span>when you are compiling a file. If it has some other non-</p><p class="s3" style="padding-left: 143pt;text-indent: 0pt;text-align: left;">NIL <span class="p">value, then spelling correction is only performed on type-in.</span></p><p style="text-indent: 0pt;text-align: left;"><br/></p><h2 style="padding-left: 35pt;text-indent: 0pt;text-align: left;">History Lists </h2><p class="s3" style="padding-top: 10pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">LISPXHISTORY</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">Originally set to the list <span class="s3">(NIL 0 30 100) </span>, with the following argument</p><p style="padding-left: 143pt;text-indent: 0pt;line-height: 107%;text-align: left;">interpretation. The <span class="s3">NIL </span>is the list (implemented as a circular queue) to which the top level commands append. 0 is the current prompt number. 30 is the</p><p style="padding-left: 143pt;text-indent: 0pt;line-height: 11pt;text-align: left;">maximum length of the history list. 100 is the highest number used as a</p><p style="padding-left: 143pt;text-indent: 0pt;text-align: left;">prompt. This is a system maintained list used by the programmers assistant commands <span class="s3">REDO</span>, <span class="s3">UNDO</span>, <span class="s3">FIX</span>, and ?? use to retrieve past function calls.</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;line-height: 107%;text-align: left;">To delete the history list, reset the variable <span class="s3">LISPXHISTORY </span>to its original value of <span class="s3">(NIL 0 30 100)</span>.</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">Setting this variable to <span class="s3">NIL </span>disables all the programmers assistant features.</p><p class="s3" style="padding-top: 10pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">EDITHISTORY</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;line-height: 107%;text-align: left;">This is also set to (<span class="s3">NIL 0 30 100</span>), and has the same description as <span class="s3">LISPXHISTORY</span>. This list allows you to <span class="s3">UNDO </span>edits. You reset this the same way as <span class="s3">LISPXHISTORY</span>.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><h2 style="padding-left: 35pt;text-indent: 0pt;text-align: left;">System Menus </h2><p style="text-indent: 0pt;text-align: left;"><br/></p><p style="padding-top: 4pt;padding-left: 107pt;text-indent: 0pt;line-height: 106%;text-align: left;">System menus are all bound to global varieables and are easy to modyfy. If the menu name is set to the <span class="s3">NIL </span>value, the menu will be recreated using an items list bound to a global variable.</p><p style="padding-top: 9pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">To change a system menu, edit the items list bound to the appropriate global variable (system menus use this items list with the default <span class="s3">WHENSELECTEDFN </span>), then set the</p><p style="padding-left: 107pt;text-indent: 0pt;text-align: left;">value of the name to NIL. The next time you need the menu, it will be created from the items list you just edited. The names of system menus and the items lists follow.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><p style="padding-left: 107pt;text-indent: 0pt;text-align: left;">BackgroundMenu</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">This is the variable bound to the menu this displays when you press the right button in the grey background area of the screen.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><p style="padding-left: 107pt;text-indent: 0pt;text-align: left;">BackgroundMenuCommands</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;line-height: 107%;text-align: left;">This list is used for the list of <span class="s3">ITEMS </span>for the background menu when it is created.</p><p style="padding-top: 9pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">WindowMenu</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">This is the variable bound to the default window menu displayed when the right mouse button is pressed inside of a window.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><p style="padding-top: 4pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">WindowMenuCommands</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">This is the list of <span class="s3">ITEM</span>S for the WindowMenu.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><p style="padding-left: 107pt;text-indent: 0pt;text-align: left;">BreakMenu</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">The menu displayed when the middle mouse button is pressed in a break</p><p style="padding-left: 143pt;text-indent: 0pt;text-align: left;">window.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><p style="padding-left: 107pt;text-indent: 0pt;text-align: left;">BreakMenuCommands</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">The list of <span class="s3">ITEM </span>for the BreakMenu.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><h2 style="padding-left: 35pt;text-indent: 0pt;text-align: left;">Windows </h2><p style="text-indent: 0pt;text-align: left;"><br/></p><p class="s3" style="padding-top: 5pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">PROMPTWINDOW</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">Global name of the prompt window.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><p class="s3" style="padding-top: 5pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">T</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">Although the value <span class="s3">T </span>has several meanings (such as universal <span class="s3">TRUE</span>), it also</p><p style="padding-left: 143pt;text-indent: 0pt;text-align: left;">stands for the standard output stream. As this is usually the executive window, it may be used as the name for the TTY Window at the top level. Mouse</p><p style="padding-left: 143pt;text-indent: 0pt;line-height: 106%;text-align: left;">processes have their own TTY Windows. A reference to the window T in a mouse driven function (e.g., a <span class="s3">WHENSELECTEFN</span>, Chapter 12) will open a TTY Window for Mouse.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><h2 style="padding-top: 4pt;padding-left: 35pt;text-indent: 0pt;text-align: left;">Miscellaneous </h2><p class="s3" style="padding-top: 9pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">CLEANUPOPTION</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: justify;">This is a list of options that you set to automate clean-up after a work session. Example options are listing files, or recompilation. You will want to keep this set to NIL until you become comfortable with the machine.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><p class="s3" style="padding-left: 107pt;text-indent: 0pt;text-align: left;">FILELST</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: justify;">The list of all the files you loaded.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><p class="s3" style="padding-left: 107pt;text-indent: 0pt;text-align: left;">SYSFILES</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: justify;">The list of all the files you loaded for the <span class="s3">SYSOUT </span>file.</p><p class="s3" style="padding-top: 10pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">INITIALS</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">An atom you can bind to your name. If bound, the editor will add your name, in addition to the date, in the editor comment at the beginning of each function.</p><p class="s3" style="padding-top: 9pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">FIRSTNAME</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">If this variable is set, the system will use it to greet you personally when you log on to your machine.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><p class="s3" style="padding-top: 5pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">INITIALSLST</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;line-height: 107%;text-align: left;">A list of elements of the form (<span class="s3">USERNAME </span>. I<span class="s3">NITIALS</span>) or (<span class="s3">USERNAME FIRSTNAME INITIALS</span>). This list is used by the function <span class="s3">GREET </span>to set your <span class="s3">INITIALS </span>, and your <span class="s3">FIRSTNAME </span>when you log in.</p><p class="s3" style="padding-top: 10pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">#CAREFULCOLUMNS</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">An integer. <span class="s3">PRETTYPRINT </span>estimates the number of characters in an atom,</p><p style="padding-left: 143pt;text-indent: 0pt;line-height: 106%;text-align: left;">instead of computing it, for efficiency. Unfortunately, for very long atom names, errors can occur. <span class="s3">#CAREFULCOLUMNS </span>is the number of columns from the right within which <span class="s3">PRETTYPRINT </span>should compute the number of characters in each</p><p style="padding-left: 143pt;text-indent: 0pt;line-height: 106%;text-align: left;">atom, to prevent these errors. Initially this is set to zero. <span class="s3">PRETTYPRINT </span>never computes the number of characters in an atom. If you set it to 20 or 30, when <span class="s3">PRETTYPRINT </span>comes within 20 or 30 columns of the right of the window, it will begin computing exactly how many characters are in each atom. This will</p><p style="padding-left: 143pt;text-indent: 0pt;text-align: left;">prevent errors.</p><p style="text-indent: 0pt;text-align: left;"><br/></p><p class="s3" style="padding-left: 107pt;text-indent: 0pt;text-align: left;">DWIMWAIT</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">Bound to the number of seconds DWIM should wait before it uses the default response, <span class="s3">FIXSPELLDEFAULT </span>, to answer its question.</p><p class="s3" style="padding-top: 10pt;padding-left: 107pt;text-indent: 0pt;text-align: left;">FIXSPELLDEFAULT</p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">Bound to either <span class="s3">Y </span>or <span class="s3">N</span>. Its value is used as the default answer to questions</p><p style="padding-left: 143pt;text-indent: 0pt;line-height: 107%;text-align: left;">asked by <span class="s3">DWIM </span>that you don’t answer in <span class="s3">DWIMWAIT </span>seconds. It is initially bound to Y, but is rebound to <span class="s3">N </span>when <span class="s3">DWIMIFY</span>ing.</p><p style="padding-top: 10pt;padding-left: 108pt;text-indent: 0pt;text-align: left;">\<span class="s3">TimeZoneComp</span></p><p style="padding-top: 7pt;padding-left: 143pt;text-indent: 0pt;text-align: left;">This is the global variable set to the absolute value of the time offset from Greenwich. For EST, \<span class="s3">TimeZoneComp </span>should be set to 5.</p><p class="nav"> </p><p class="nav"> </p><p class="nav"><a href="part26.htm">< Previous</a><span> | </span><a href="../Medley-Primer.html">Contents</a><span> | </span><a href="part28.htm">Next ></a></p><p class="nav"> </p></body></html>
|