title: Deparse, substitute with three-dots arguments
body: <p>Let consider a typical <code>deparse(substitute(</code> R call:</p>
  
  <pre><code>f1 &lt;-function(u,x,y)
  {print(deparse(substitute(x)))}
  
  varU='vu'
  varX='vx'
  varY='vy'
  f1(u=varU,x=varX,y=varY)
  </code></pre>
  
  <p>That results in</p>
  
  <pre><code>[1] "varX"
  </code></pre>
  
  <p>which is what we expect and we want.</p>
  
  <p>Then, comes the trouble, I try to get a similar behaviour using the <code>...</code> arguments i.e.</p>
  
  <pre><code>f2 &lt;- function(...)
  {  l &lt;- list(...)
    x=l$x
    print(deparse(substitute(x))) ### this cannot work but I would like something like that
  }
  </code></pre>
  
  <p>That, not surprisingly, does not work :</p>
  
  <pre><code>f2(u=varU,x=varX,y=varY)
  [1] "\"vx\"" ### wrong ! I would like "varX"
  </code></pre>
  
  <p>I tried to get the expected behaviour using a different combination of solutions but none provides me what expected and it seems that I am still not clear enough on lazy eval to find myself the how-to in a resonable amount of time.</p>