Dear Marc,<div><br></div><div>If I got the manual right, the object file below is compiled in such a way that the (not optimize-dead-local-variables) is completely effective. Even so, the c variable is not reproduced by ,be .</div>

<div><br></div><div>Regarding this I wonder, in this example is this option enabled as it should (I suppose so), and if so, approx what variables are not optimized away when this declare is enabled? (I mean, now that c was optimized away, approx which can be expected not to be optimized away.)</div>

<div><br></div><div>If there is some way to get /virtually/ all dead variables not optimized away also in compiled mode it would be very valuable.</div><div><br></div><div>Thanks,</div><div>Mikael</div><div><br></div><div>

<div>$ cat a.scm</div><div>(declare (not optimize-dead-local-variables))</div><div>(define (b)</div><div>(let ((c 5))</div><div>c</div><div>(/ 0 0)</div><div>7))</div></div><div><div><div>$ gsc</div><div>Gambit v4.5.3</div>

<div><br></div><div>> (compile-file "a.scm" options: '(debug))</div><div>"/tmp/a.o1"</div><div>> (load "a.o1")</div><div>"/tmp/a.o1"</div><div>> (b)</div><div>*** ERROR IN b, "a.scm"@5.1 -- Divide by zero</div>

<div>(/ 0 0)</div><div>1> ,be</div><div>0  b                                       "a.scm"@5:1                             (/ 0 0)</div><div>1  (interaction)                           (console)@3:1                           (b)</div>

<div>1></div></div></div><div><br></div><div><br></div>