title: julia eval an expression including an escape variable
body: <p>Using eval against the following expression is straightforward:</p>
  <pre><code>exp = :(x + 1)
  x = 1
  eval(exp)
  </code></pre>
  <p>I cannot figure out how to evaluate the following expression that involves an escaped variable:</p>
  <pre><code>x = 1
  exp = :($(esc(x)) + 1)
  </code></pre>
  <p>A dump of the exp gives:</p>
  <pre><code>head: Symbol call
  args: Array{Any}((3,))
    1: Symbol +
    2: Expr
      head: Symbol escape
      args: Array{Any}((1,))
        1: Int64 1             &lt;-- current value of x
    3: Int64 1
  </code></pre>
  <p>I figured out how to replace the escaped variable value like this:</p>
  <pre><code>exp.args[2].args[1] = 2
  </code></pre>
  <p><code>dump(exp)</code> is now:</p>
  <pre><code>head: Symbol call
  args: Array{Any}((3,))
    1: Symbol +
    2: Expr
      head: Symbol escape
      args: Array{Any}((1,))
        1: Int64 2            &lt;-- Replaced value
    3: Int64 1
  </code></pre>
  <p>I am missing one last step that I could not find in spite of searching the docs and stackoverflow.</p>