* lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
commitc97cd6c005e138856d99ecef86fa04674c34b779
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 9 Aug 2016 17:05:03 +0000 (9 13:05 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 9 Aug 2016 17:05:03 +0000 (9 13:05 -0400)
tree28ff4e151014231c4c9e33d49285727336565765
parent9cf9095838aefec9871b9922a95cb4c199696eb8
* lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing

Change the code which detects and circumvents the case where one of the
variables used in λ-lifting is shadowed, so that it also works when the
shadowing comes before the λ-lifted function (bug#24171).

(cconv--remap-llv): New function, extracted from cconv-convert.
(cconv-convert): Use it, but differently for `let' and `let*'.
lisp/emacs-lisp/cconv.el