From b4a9d4ae423364b30fb12ddcd884f3f26a3b8608 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Wed, 15 Mar 2017 11:32:43 +0000 Subject: [PATCH] WIP, temporarily reverted set params --- scheme/base.sld | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/scheme/base.sld b/scheme/base.sld index bcdfa116..e3096b58 100644 --- a/scheme/base.sld +++ b/scheme/base.sld @@ -957,9 +957,9 @@ "(void *data, int argc, closure _, object k, object obj)" " make_pair(p, obj, NULL); gc_thread_data *thd = (gc_thread_data *)data; - //Cyc_global_set(thd, thd->param_objs, &p); // TODO: needed?? seems to be segfauling, though cdr(&p) = thd->param_objs; - thd->param_objs = (object)(&p); + global_set((thd->param_objs), &p); + //thd->param_objs = (object)(&p); return_closcall1(data, k, thd->param_objs); ") (define *parameter-id* 0) (define (make-parameter init . o) @@ -976,19 +976,19 @@ (lambda args (cond ((null? args) - (cdr (assoc key (get-param-objs)))) - ;value) + ;(cdr (assoc key (get-param-objs)))) + value) ((eq? (car args) ') - (let ((cell (assoc key (get-param-objs)))) - (set-cdr! cell (cadr args)))) - ;(set! value (cadr args))) + ;(let ((cell (assoc key (get-param-objs)))) + ; (set-cdr! cell (cadr args)))) + (set! value (cadr args))) ((eq? (car args) ') converter) (else ;(error "bad parameter syntax" args) - (let ((cell (assoc key (get-param-objs)))) - (set-cdr! cell (converter (car args)))) - ;(set! value (converter (car args))) + ;(let ((cell (assoc key (get-param-objs)))) + ; (set-cdr! cell (converter (car args)))) + (set! value (converter (car args))) ))))) (define current-output-port (make-parameter (Cyc-stdout)))