chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: #1754: sandbox egg test fails on missing ##sys#eval-decorator proced


From: Chicken Trac
Subject: Re: #1754: sandbox egg test fails on missing ##sys#eval-decorator procedure
Date: Sun, 17 Oct 2021 08:43:56 -0000

#1754: sandbox egg test fails on missing ##sys#eval-decorator procedure
----------------------------------------------+--------------------------
            Reporter:  Vasilij Schneidermann  |      Owner:  (none)
                Type:  defect                 |     Status:  new
            Priority:  minor                  |  Milestone:  someday
           Component:  extensions             |    Version:  5.2.0
          Resolution:                         |   Keywords:  sandbox eval
Estimated difficulty:  easy                   |
----------------------------------------------+--------------------------

Comment (by Shawn Rutledge):

 Confirmed.  The egg is not usable this way, AFAICT; I ran into it like
 this:

         <eval>    [widget-property-set!] (safe-environment-set! eval-env
 (quote parent) (-> widget parent))
         <eval>    [widget-property-set!] (->impl291 widget (quote292
 parent))
         <eval>    [widget-property-set!] (safe-environment-set! eval-env
 (quote self) widget)
         <eval>    [widget-property-set!] (safe-eval parsed #:environment
 eval-env)      <--

 and your suggestion fixes it:

 {{{
 Index: sandbox.scm
 ===================================================================
 --- sandbox.scm (revision 37281)
 +++ sandbox.scm (working copy)
 @@ -222,8 +222,21 @@
                 x2) )
           x2) ) )

 +(define (eval-dec p ll h cntr)
 +  (##sys#decorate-lambda
 +   p
 +   (lambda (x) (and (not (##sys#immediate? x)) (##core#inline
 "C_lambdainfop" x)))
 +   (lambda (p i)
 +     (##sys#setslot
 +      p i
 +      (##sys#make-lambda-info
 +       (let ((o (open-output-string)))
 +         (write ll o)
 +         (get-output-string o))))
 +     p) ) )
 +
    (define (decorate p ll h)
 -    (##sys#eval-decorator p ll h #f) )
 +    (eval-dec p ll h #f) )

    (define (compile x e h)
      (check-point fuel/compile)
 }}}

-- 
Ticket URL: <https://bugs.call-cc.org/ticket/1754#comment:1>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]