On Tue, 27 Mar 2007, Peter Dalgaard wrote: >The way around this is to add a further layer of substitute() to insert >the value of e: >> eval(substitute(substitute(call,list(u2=quote(x),u3=1)),list(call=e[[1]]))) > u1 + x + 1 Or eval(do.call(substitute, list(e[[1]], list(u2=quote(x),u3=1))) -thomas