title: Eval and lexical variables
body: <p>I'm doing a small project just for fun, and I added <code>eval</code> support for it to make debug easier. But later I found a problem:</p>
  
  <pre><code>(let ((x 1))
      (eval (1+ x)))
  
  (defun foo (x form)
      (eval form))
  (foo 1 '(1+ x))
  </code></pre>
  
  <p>Code above won't work. Could someone please explain why and how to work it around? Thanks very much.</p>