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