[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.
- Re: #1754: sandbox egg test fails on missing ##sys#eval-decorator procedure,
Chicken Trac <=