Hello Manuel/ Bernard. Thanks for this fix. I hope it will also resolve the issue I have on a "(let loop ()".
Unfortunately I have no time to look at this write now. I have stopped to try making bigloo 4.2c working (and make a 3.1b mixed with 3.6c fixs in order to make mutex working... ) I may have more time to submit testcase for other issues in 1 or 2 weeks. Best Regards, Pierre -----Original Message----- From: [email protected] [mailto:[email protected]] Sent: Wednesday, May 11, 2016 6:36 PM To: Ollagnon, Pierre-Francois Cc: [email protected] Subject: Re: [bigloo] Do function fail in interpreted mode Hi Pierre-Francois, > Hello Manuel, > > I am using the latest 4.3c (I am switching from an old 3.1b ...) and I face > some issues so here is the first one: > > > ;; (module test > ;; (main main)) > > ;; (define (main argv) > ;; (mytest "test")) > > > (define (myprint v1 v2) > (print 'not-printed)) > > > (define (mytest var1) > (do ((i 0 (+ i 1))) > ((>= (+ 3 i) 5) > (print 'printed) > (myprint (print i) (print var1)) ;;myprint is not executed ?? > )) > ;;If I remove the following print function the myprint works > (print var1) ;; var1 seems to have magically changed to 2 > ) > > ;; Trace When compiled > ;; printed > ;; 2 > ;; test > ;; not-printed > ;; test > > ;;Trace when not compiled: > ;; printed > ;; 2 > ;; test > ;; 2 > ;; 2 We have been able to fix that bug (many thanks to Bernard). I'm preparing a new version that I will upload in a couple of minutes. Thanks again for your report. -- Manuel
