parent
774cf149c4
commit
9ae263f83f
|
@ -1,5 +1,5 @@
|
||||||
/* uLisp ARM 2.7b - www.ulisp.com
|
/* uLisp ARM 2.7c - www.ulisp.com
|
||||||
David Johnson-Davies - www.technoblogy.com - 9th June 2019
|
David Johnson-Davies - www.technoblogy.com - 20th June 2019
|
||||||
|
|
||||||
Licensed under the MIT license: https://opensource.org/licenses/MIT
|
Licensed under the MIT license: https://opensource.org/licenses/MIT
|
||||||
*/
|
*/
|
||||||
|
@ -972,8 +972,11 @@ object *closure (int tc, object *fname, object *state, object *function, object
|
||||||
function = cdr(function);
|
function = cdr(function);
|
||||||
// Dropframe
|
// Dropframe
|
||||||
if (tc) {
|
if (tc) {
|
||||||
while (*env != NULL && car(*env) != NULL) pop(*env);
|
if (*env != NULL && car(*env) == NULL) {
|
||||||
} else push(nil, *env);
|
pop(*env);
|
||||||
|
while (*env != NULL && car(*env) != NULL) pop(*env);
|
||||||
|
} else push(nil, *env);
|
||||||
|
}
|
||||||
// Push state
|
// Push state
|
||||||
while (state != NULL) {
|
while (state != NULL) {
|
||||||
object *pair = first(state);
|
object *pair = first(state);
|
||||||
|
@ -1014,6 +1017,7 @@ object *closure (int tc, object *fname, object *state, object *function, object
|
||||||
if (args != NULL) error2(fname, PSTR("has too many arguments"));
|
if (args != NULL) error2(fname, PSTR("has too many arguments"));
|
||||||
if (trace) { pserial(')'); pln(pserial); }
|
if (trace) { pserial(')'); pln(pserial); }
|
||||||
// Do an implicit progn
|
// Do an implicit progn
|
||||||
|
if (tc) push(nil, *env);
|
||||||
return tf_progn(function, *env);
|
return tf_progn(function, *env);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue