diff --git a/cgen.scm b/cgen.scm index 2dbb95b7..996ad4cd 100644 --- a/cgen.scm +++ b/cgen.scm @@ -817,6 +817,7 @@ (else #f)) (define (allocate-symbol sym) +(trace:error `(JAE DEBUG allocate-symbol ,sym ,(Cyc-reserved-symbol? sym))) (if (and (not (member sym *symbols*)) (not (Cyc-reserved-symbol? sym))) (set! *symbols* (cons sym *symbols*)))) diff --git a/runtime.c b/runtime.c index 54118fc0..ce22e4e6 100644 --- a/runtime.c +++ b/runtime.c @@ -614,11 +614,8 @@ object Cyc_is_symbol(object o){ return boolean_f;} object Cyc_is_reserved_symbol(object o) { -TODO: why did this return #t all the time in self-compiled cyclone -when equalp was used below instead of equal? should switch them and -debug to investigate. is this the same reason why the Cyc_procedure error -is thrown when trying to self-compile eval.c???? - if (Cyc_is_symbol(o) == boolean_t && equal(o, quote_Cyc_191procedure)) + if (Cyc_is_symbol(o) == boolean_t && + equalp(o, quote_Cyc_191procedure) == boolean_t) return boolean_t; return boolean_f; }