Prevent the local bindings of `make-eval-tree' from shadowing the form
authorVegard Øye <vegard_oye@hotmail.com>
Fri, 25 Feb 2011 14:24:55 +0000 (15:24 +0100)
committerVegard Øye <vegard_oye@hotmail.com>
Fri, 25 Feb 2011 14:24:55 +0000 (15:24 +0100)
commit19d745c016916da2f08ce5855f0a3635cd3f5da9
tree7b94fc64cb4181243eccfd3668f0e01905bae768
parent632e20162ac2244d2c65a72b5b5346f64683042e
Prevent the local bindings of `make-eval-tree' from shadowing the form

Emacs' dynamic scoping can be troublesome when evaluating a form
defined outside the current scope. If any of `make-eval-tree's local
variables occur in the FORM argument, they could influence the
evaluation of the form.

The solution used here is the same as for macros: make an uninterned
symbol with `make-symbol' and substitute that into the function
definition. The resulting (eval `(defun ...)) code isn't very pretty;
if there is a cleaner solution, I'd like to know.
test-framework.el