|
|
1.1 ! root 1: ! 2: ! 3: ! 4: ! 5: ! 6: ! 7: ! 8: APPENDIX B ! 9: ! 10: ! 11: Special Symbols ! 12: ! 13: ! 14: ! 15: ! 16: The values of these symbols have a predefined meaning. ! 17: Some values are counters while others are simply flags whose ! 18: value the user can change to affect the operation of lisp ! 19: system. In all cases, only the value cell of the symbol is ! 20: important, the function cell is not. The value of some of ! 21: the symbols (like ER%misc) are functions - what this means ! 22: is that the value cell of those symbols either contains a ! 23: lambda expression, a binary object, or symbol with a func- ! 24: tion binding. ! 25: ! 26: The values of the special symbols are: ! 27: ! 28: $gccount$ - The number of garbage collections which have ! 29: occurred. ! 30: ! 31: $gcprint - If bound to a non nil value, then after each ! 32: garbage collection and subsequent storage allocation a ! 33: summary of storage allocation will be printed. ! 34: ! 35: $ldprint - If bound to a non nil value, then during each ! 36: _f_a_s_l or _c_f_a_s_l a diagnostic message will be printed. ! 37: ! 38: ER%all - The function which is the error handler for all ! 39: errors (see 10) ! 40: ! 41: ER%brk - The function which is the handler for the error ! 42: signal generated by the evaluation of the _b_r_e_a_k func- ! 43: tion (see 10). ! 44: ! 45: ER%err - The function which is the handler for the error ! 46: signal generated by the evaluation of the _e_r_r function ! 47: (see 10). ! 48: ! 49: ER%misc - The function which is the handler of the error ! 50: signal generated by one of the unclassified errors (see ! 51: 10). Most errors are unclassified at this point. ! 52: ! 53: ER%tpl - The function which is the handler to be called when ! 54: an error has occurred which has not been handled (see ! 55: 10). ! 56: ! 57: ER%undef - The function which is the handler for the error ! 58: signal generated when a call to an undefined function ! 59: is made. ! 60: 9 ! 61: ! 62: 9 B-1 ! 63: ! 64: ! 65: ! 66: ! 67: ! 68: ! 69: ! 70: B-2 ! 71: ! 72: ! 73: ^w - When bound to a non nil value this will prevent output ! 74: to the standard output port (poport) from reaching the ! 75: standard output (usually a terminal). Note that ^w is ! 76: a two character symbol and should not be confused with ! 77: ^W which is how we would denote control-w. The value ! 78: of ^w is checked when the standard output buffer is ! 79: flushed which occurs after a _t_e_r_p_r, _d_r_a_i_n or when the ! 80: buffer overflows. This is most useful in conjunction ! 81: with ptport described below. System error handlers ! 82: rebind ^w to nil when they are invoked to assure that ! 83: error messages are not lost. (This was introduced for ! 84: Maclisp compatibility). ! 85: ! 86: defmacro-for-compiling - The has an effect during compila- ! 87: tion. If non-nil it causes macros defined by defmacro ! 88: to be compiled and included in the object file. ! 89: ! 90: environment - The UNIX environment in assoc list form. ! 91: ! 92: errlist - When a _r_e_s_e_t is done, the value of errlist is ! 93: saved away and control is thrown to the top level. ! 94: _E_v_a_l is then mapped over the saved away value of this ! 95: list. ! 96: ! 97: errport - This port is initially bound to the standard error ! 98: file. ! 99: ! 100: evalhook - The value of this symbol, if bound, is the name ! 101: of a function to handle evalhook traps (see 14.4) ! 102: ! 103: float-format - The value of this symbol is a string which is ! 104: the format to be used by print to print flonums. See ! 105: the documentation on the UNIX function printf for a ! 106: list of allowable formats. ! 107: ! 108: funcallhook - The value of this symbol, if bound, is the ! 109: name of a function to handle funcallhook traps (see ! 110: 14.4). ! 111: ! 112: gcdisable - If non nil, then garbage collections will not be ! 113: done automatically when a collectable data type runs ! 114: out. ! 115: ! 116: ibase - This is the input radix used by the lisp reader. It ! 117: may be either eight or ten. Numbers followed by a ! 118: decimal point are assumed to be decimal regardless of ! 119: what ibase is. ! 120: ! 121: linel - The line length used by the pretty printer, pp. ! 122: This should be used by _p_r_i_n_t but it is not at this ! 123: time. ! 124: ! 125: nil - This symbol represents the null list and thus can be ! 126: ! 127: ! 128: Printed: July 21, 1983 ! 129: ! 130: ! 131: ! 132: ! 133: ! 134: ! 135: ! 136: B-3 ! 137: ! 138: ! 139: written (). Its value is always nil. Any attempt to ! 140: change the value will result in an error. ! 141: ! 142: piport - Initially bound to the standard input (usually the ! 143: keyboard). A read with no arguments reads from piport. ! 144: ! 145: poport - Initially bound to the standard output (usually the ! 146: terminal console). A print with no second argument ! 147: writes to poport. See also: ^w and ptport. ! 148: ! 149: prinlength - If this is a positive fixnum, then the _p_r_i_n_t ! 150: function will print no more than prinlength elements of ! 151: a list or hunk and further elements abbreviated as ! 152: `...'. The initial value of prinlength is nil. ! 153: ! 154: prinlevel - If this is a positive fixnum, then the _p_r_i_n_t ! 155: function will print only prinlevel levels of nested ! 156: lists or hunks. Lists below this level will be abbre- ! 157: viated by `&' and hunks below this level will be abbre- ! 158: viated by a `%'. The initial value of prinlevel is ! 159: nil. ! 160: ! 161: ptport - Initially bound to nil. If bound to a port, then ! 162: all output sent to the standard output will also be ! 163: sent to this port as long as this port is not also the ! 164: standard output (as this would cause a loop). Note ! 165: that ptport will not get a copy of whatever is sent to ! 166: poport if poport is not bound to the standard output. ! 167: ! 168: readtable - The value of this is the current readtable. It ! 169: is an array but you should NOT try to change the value ! 170: of the elements of the array using the array functions. ! 171: This is because the readtable is an array of bytes and ! 172: the smallest unit the array functions work with is a ! 173: full word (4 bytes). You can use _s_e_t_s_y_n_t_a_x to change ! 174: the values and (_s_t_a_t_u_s _s_y_n_t_a_x ...) to read the values. ! 175: ! 176: t - This symbol always has the value t. It is possible to ! 177: change the value of this symbol for short periods of ! 178: time but you are strongly advised against it. ! 179: ! 180: top-level - In a lisp system without ! 181: /usr/lib/lisp/toplevel.l loaded, after a _r_e_s_e_t is done, ! 182: the lisp system will _f_u_n_c_a_l_l the value of top-level if ! 183: it is non nil. This provides a way for the user to ! 184: introduce his own top level interpreter. When ! 185: /usr/lib/lisp/toplevel.l is loaded, it sets top-level ! 186: to franz-top-level and changes the _r_e_s_e_t function so ! 187: that once franz-top-level starts, it cannot be replaced ! 188: by changing top-level. Franz-top-level does provide a ! 189: way of changing the top level however, and that is ! 190: through user-top-level. ! 191: 9 ! 192: ! 193: 9 Printed: July 21, 1983 ! 194: ! 195: ! 196: ! 197: ! 198: ! 199: ! 200: ! 201: B-4 ! 202: ! 203: ! 204: user-top-level - If this is bound then after a _r_e_s_e_t, the ! 205: top level function will _f_u_n_c_a_l_l the value of this sym- ! 206: bol rather than go through a read eval print loop. ! 207: ! 208: ! 209: ! 210: ! 211: ! 212: ! 213: ! 214: ! 215: ! 216: ! 217: ! 218: ! 219: ! 220: ! 221: ! 222: ! 223: ! 224: ! 225: ! 226: ! 227: ! 228: ! 229: ! 230: ! 231: ! 232: ! 233: ! 234: ! 235: ! 236: ! 237: ! 238: ! 239: ! 240: ! 241: ! 242: ! 243: ! 244: ! 245: ! 246: ! 247: ! 248: ! 249: ! 250: ! 251: ! 252: ! 253: ! 254: ! 255: ! 256: 9 ! 257: ! 258: 9 Printed: July 21, 1983 ! 259: ! 260: ! 261:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.