38 |
|
|
39 |
object sLtypep; |
object sLtypep; |
40 |
|
|
41 |
Fdefun(args) |
void |
42 |
object args; |
Fdefun(object args) |
43 |
{ |
{ |
44 |
object endp_temp; |
object endp_temp; |
45 |
|
|
65 |
vs_push(make_simple_string( |
vs_push(make_simple_string( |
66 |
"~S is being redefined.")); |
"~S is being redefined.")); |
67 |
ifuncall2(sLwarn, vs_head, name); |
ifuncall2(sLwarn, vs_head, name); |
68 |
vs_pop; |
vs_popp; |
69 |
} |
} |
70 |
vs_base = vs_top; |
vs_base = vs_top; |
71 |
if (lex_env[0] == Cnil && lex_env[1] == Cnil && lex_env[2] == Cnil) { |
if (lex_env[0] == Cnil && lex_env[1] == Cnil && lex_env[2] == Cnil) { |
90 |
putf(name->s.s_plist, |
putf(name->s.s_plist, |
91 |
form, |
form, |
92 |
sSfunction_documentation); |
sSfunction_documentation); |
93 |
vs_pop; |
vs_popp; |
94 |
break; |
break; |
95 |
} |
} |
96 |
if (type_of(form) != t_cons || form->c.c_car != sLdeclare) |
if (type_of(form) != t_cons || form->c.c_car != sLdeclare) |
98 |
} |
} |
99 |
} |
} |
100 |
|
|
101 |
siLAmake_special() |
void |
102 |
|
siLAmake_special(void) |
103 |
{ |
{ |
104 |
check_arg(1); |
check_arg(1); |
105 |
check_type_symbol(&vs_base[0]); |
check_type_symbol(&vs_base[0]); |
108 |
vs_base[0]->s.s_stype = (short)stp_special; |
vs_base[0]->s.s_stype = (short)stp_special; |
109 |
} |
} |
110 |
|
|
111 |
siLAmake_constant() |
void |
112 |
|
siLAmake_constant(void) |
113 |
{ |
{ |
114 |
check_arg(2); |
check_arg(2); |
115 |
check_type_symbol(&vs_base[0]); |
check_type_symbol(&vs_base[0]); |
119 |
1, vs_base[0]); |
1, vs_base[0]); |
120 |
vs_base[0]->s.s_stype = (short)stp_constant; |
vs_base[0]->s.s_stype = (short)stp_constant; |
121 |
vs_base[0]->s.s_dbind = vs_base[1]; |
vs_base[0]->s.s_dbind = vs_base[1]; |
122 |
vs_pop; |
vs_popp; |
123 |
} |
} |
124 |
|
|
125 |
Feval_when(arg) |
void |
126 |
object arg; |
Feval_when(object arg) |
127 |
{ |
{ |
128 |
object endp_temp; |
object endp_temp; |
129 |
|
|
149 |
} |
} |
150 |
} |
} |
151 |
|
|
152 |
Fdeclare(arg) |
void |
153 |
object arg; |
Fdeclare(object arg) |
154 |
{ |
{ |
155 |
FEerror("DECLARE appeared in an invalid position.", 0); |
FEerror("DECLARE appeared in an invalid position.", 0); |
156 |
} |
} |
157 |
|
|
158 |
Flocally(body) |
void |
159 |
object body; |
Flocally(object body) |
160 |
{ |
{ |
161 |
object *oldlex = lex_env; |
object *oldlex = lex_env; |
|
object x, ds, vs, v; |
|
162 |
|
|
163 |
lex_copy(); |
lex_copy(); |
164 |
body = find_special(body, NULL, NULL); |
body = find_special(body, NULL, NULL); |
167 |
lex_env = oldlex; |
lex_env = oldlex; |
168 |
} |
} |
169 |
|
|
170 |
Fthe(args) |
void |
171 |
object args; |
Fthe(object args) |
172 |
{ |
{ |
173 |
object endp_temp; |
object endp_temp; |
174 |
|
|
208 |
DEF_ORDINARY("VARIABLE-DOCUMENTATION",sSvariable_documentation,SI,""); |
DEF_ORDINARY("VARIABLE-DOCUMENTATION",sSvariable_documentation,SI,""); |
209 |
DEF_ORDINARY("WARN",sLwarn,LISP,""); |
DEF_ORDINARY("WARN",sLwarn,LISP,""); |
210 |
|
|
211 |
init_toplevel() |
void |
212 |
|
init_toplevel(void) |
213 |
{ |
{ |
214 |
make_special_form("DEFUN",Fdefun); |
make_special_form("DEFUN",Fdefun); |
215 |
make_si_function("*MAKE-SPECIAL", siLAmake_special); |
make_si_function("*MAKE-SPECIAL", siLAmake_special); |