Commit | Line | Data |
---|---|---|
977235e0 C |
1 | ." $Header: /na/franz/doc/RCS/chb.n,v 1.1 83/01/31 07:11:40 jkf Exp $ |
2 | .Ap 2 Special\ Symbols | |
3 | .pp | |
4 | The values of these symbols have a predefined meaning. | |
5 | Some values are counters | |
6 | while others are simply flags whose value the user can change to affect | |
7 | the operation of lisp system. | |
8 | In all cases, only the value cell of the symbol is important, the function | |
9 | cell is not. | |
10 | The value of some of the symbols (like \fBER%misc\fP) | |
11 | are functions - what this means is that the value cell of those symbols | |
12 | either contains a lambda expression, | |
13 | a binary object, | |
14 | or symbol with a function binding. | |
15 | .pp | |
16 | The values of the special symbols are: | |
17 | .in .5i | |
18 | .de Sa | |
19 | .sp 1v | |
20 | .ti -.5i | |
21 | \fB\\$1\fP\ \-\ \\ | |
22 | .. | |
23 | .Sa $gccount$ | |
24 | The number of garbage collections which have occurred. | |
25 | .Sa $gcprint | |
26 | If bound to a non nil value, then after each garbage collection and | |
27 | subsequent storage allocation a summary of storage allocation will | |
28 | be printed. | |
29 | .Sa $ldprint | |
30 | If bound to a non nil value, then during each | |
31 | .i fasl | |
32 | or | |
33 | .i cfasl | |
34 | a diagnostic message will be printed. | |
35 | .Sa ER%all | |
36 | The function which is the error handler for all errors (see \(sc10) | |
37 | .Sa ER%brk | |
38 | The function which is the handler for the | |
39 | error signal generated by the evaluation of the | |
40 | .i break | |
41 | function (see \(sc10). | |
42 | .Sa ER%err | |
43 | The function which is the handler for the error | |
44 | signal generated by the evaluation of the | |
45 | .i err | |
46 | function (see \(sc10). | |
47 | .Sa ER%misc | |
48 | The function which is the handler of the error | |
49 | signal generated by one of the unclassified errors (see \(sc10). | |
50 | Most errors are unclassified at this point. | |
51 | .Sa ER%tpl | |
52 | The function which is the handler to be called | |
53 | when an error has occurred which | |
54 | has not been handled (see \(sc10). | |
55 | .Sa ER%undef | |
56 | The function which is the handler for the | |
57 | error signal generated when a call to an undefined function | |
58 | is made. | |
59 | .Sa ^w | |
60 | When bound to a non nil value this will prevent output to the standard | |
61 | output port (poport) from reaching the standard output (usually a terminal). | |
62 | Note that ^w is a two character symbol and should not be confused | |
63 | with ^W which is how we would denote control-w. | |
64 | The value of ^w is checked when the standard output buffer is flushed | |
65 | which occurs after a | |
66 | .i terpr , | |
67 | .i drain | |
68 | or when the buffer overflows. | |
69 | This is most useful in conjunction with ptport described below. | |
70 | System error handlers rebind ^w to nil when they are invoked to assure | |
71 | that error messages are not lost. | |
72 | (This was introduced for Maclisp compatibility). | |
73 | .Sa defmacro-for-compiling | |
74 | The has an effect during compilation. | |
75 | If non-nil it causes macros defined by defmacro to be | |
76 | compiled and included in the | |
77 | object file. | |
78 | .Sa environment | |
79 | The UNIX environment in assoc list form. | |
80 | .Sa errlist | |
81 | When a | |
82 | .i reset | |
83 | is done, the value of errlist is saved away and control is thrown to | |
84 | the top level. | |
85 | \fIEval\fP | |
86 | is then mapped over the saved away | |
87 | value of this list. | |
88 | .Sa errport | |
89 | This port is initially bound to the standard error file. | |
90 | .Sa evalhook | |
91 | The value of this symbol, if bound, is the name of a function to handle | |
92 | evalhook traps (see \(sc14.4) | |
93 | .Sa float-format | |
94 | The value of this symbol is a string which is the format to be used | |
95 | by print to print flonums. | |
96 | See the documentation on the UNIX function printf for a list | |
97 | of allowable formats. | |
98 | .Sa funcallhook | |
99 | The value of this symbol, if bound, is the name of a function to handle | |
100 | funcallhook traps (see \(sc14.4). | |
101 | .Sa gcdisable | |
102 | If non nil, then garbage collections will not be done automatically when | |
103 | a collectable data type runs out. | |
104 | .Sa ibase | |
105 | This is the input radix used by the lisp reader. | |
106 | It may be either eight or ten. | |
107 | Numbers followed by a decimal point are assumed to be decimal regardless | |
108 | of what ibase is. | |
109 | .Sa linel | |
110 | The line length used by the pretty printer, pp. | |
111 | This should be used by | |
112 | .i print | |
113 | but it is not at this time. | |
114 | .Sa nil | |
115 | This symbol represents the null list and thus can be written (). | |
116 | Its value is always nil. | |
117 | Any attempt to change the value will result in an error. | |
118 | .Sa piport | |
119 | Initially bound to the standard input (usually the keyboard). | |
120 | A read with no arguments reads from piport. | |
121 | .Sa poport | |
122 | Initially bound to the standard output (usually the terminal console). | |
123 | A print with no second argument writes to poport. | |
124 | See also: ^w and ptport. | |
125 | .Sa prinlength | |
126 | If this is a positive fixnum, then the \fIprint\fP function will print | |
127 | no more than prinlength elements of a list or hunk and further elements | |
128 | abbreviated as `...'. | |
129 | The initial value of prinlength is nil. | |
130 | .Sa prinlevel | |
131 | If this is a positive fixnum, then the \fIprint\fP function will print | |
132 | only prinlevel levels of nested lists or hunks. | |
133 | Lists below this level will be abbreviated by `&' and hunks below this | |
134 | level will be abbreviated by a `%'. | |
135 | The initial value of prinlevel is nil. | |
136 | .Sa ptport | |
137 | Initially bound to nil. | |
138 | If bound to a port, then all output sent to the standard output will | |
139 | also be sent to this port as long as this port is not also | |
140 | the standard output (as this would cause a loop). | |
141 | Note that ptport will not get a copy of whatever is sent to poport | |
142 | if poport is not bound to the standard output. | |
143 | .Sa readtable | |
144 | The value of this is the current readtable. | |
145 | It is an array but you should NOT try to change the value of the elements | |
146 | of the array using the array functions. | |
147 | This is because the readtable is an array of bytes and the smallest | |
148 | unit the array functions work with is a full word (4 bytes). | |
149 | You can use | |
150 | .i setsyntax | |
151 | to change the values and | |
152 | .i "(status syntax ...)" | |
153 | to read the values. | |
154 | .Sa t | |
155 | This symbol always has the value t. | |
156 | It is possible to change the value of this symbol for short | |
157 | periods of time but you are strongly advised against it. | |
158 | .Sa top-level | |
159 | In a lisp system without /usr/lib/lisp/toplevel.l loaded, after a | |
160 | .i reset | |
161 | is done, the lisp system will | |
162 | .i funcall | |
163 | the value of top-level if it is | |
164 | non nil. | |
165 | This provides a way for the user to introduce his own top level interpreter. | |
166 | When /usr/lib/lisp/toplevel.l is loaded, it sets top-level to franz-top-level | |
167 | and changes the | |
168 | .i reset | |
169 | function so that once franz-top-level starts, it cannot | |
170 | be replaced by changing top-level. | |
171 | Franz-top-level does provide a way of changing | |
172 | the top level however, and that is | |
173 | through user-top-level. | |
174 | .Sa user-top-level | |
175 | If this is bound then after a | |
176 | .i reset , | |
177 | the top level function will | |
178 | .i funcall | |
179 | the value of this symbol rather than go through a read eval print | |
180 | loop. |