GNU bug report logs -
#12883
[2.0.6] CSE bug
Previous Next
Reported by: ludo <at> gnu.org (Ludovic Courtès)
Date: Wed, 14 Nov 2012 15:28:02 UTC
Severity: normal
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hi Stefan,
Stefan Israelsson Tampe <stefan.itampe <at> gmail.com> skribis:
> --- a/module/language/tree-il/cse.scm
> +++ b/module/language/tree-il/cse.scm
> @@ -324,10 +324,11 @@
> (and (< n env-len)
> (match (vlist-ref env n)
> ((#(exp* name sym db-len*) . h*)
> - (and (unroll db m (- db-len db-len*))
> - (if (and (= h h*) (tree-il=? exp* exp))
> - (make-lexical-ref (tree-il-src exp) name sym)
> - (lp (1+ n) (- db-len db-len*))))))))))))
> + (let ((niter (- (- db-len db-len*) m)))
> + (and (unroll db m niter)
> + (if (and (= h h*) (tree-il=? exp* exp))
> + (make-lexical-ref (tree-il-src exp) name sym)
> + (lp (1+ n) (- db-len db-len*)))))))))))))
>
> (define (lookup-lexical sym env)
> (let ((env-len (vlist-length env)))
I can confirm it solves the problem, but I don’t fully understand what’s
going on here. Could you elaborate? :-)
Also, it would be great if you could send a ‘git format-patch’ kind of
patch, with the original test case (and possibly others) added to
cse.test, along with the URL of this bug, and a proper ChangeLog-style
commit log.
TIA, :-)
Ludo’.
This bug report was last modified 12 years and 268 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.