# Confused about ReleaseHold & Defer

GROUPS:
 (updated with formatting fix)Hi all, I am attempting to follow along a (very nice) example I got from http://blog.wolfram.com/2012/07/20/on-the-importance-of-being-edgy-electrostatic-and-magnetostatic-problems-with-sharp-edges/I am having a problem with the "Getting the right format from Wolfram Alpha" part. Namely, in the attached cdf example there is a command:In[2]:= WolframAlpha["equation of motion of a classical sinusoidal driven harmonic oscillator",{{"Result",1},"Output"}]Out[2]= HoldComplete[{m Subsuperscript[\[Omega], 0, 2] x[t]+m (x^\[Prime]\[Prime])[t]==F Sin[t Subscript[\[Omega], d]-Subscript[\[Phi], d]]}]followed by part of: In[3] ...     Join[ReleaseHold[%], {x[0] == x0, x'[0] == v0}When I execute these command I get an error "Join::heads: Heads Defer and List at positions 1 and 2 are expected to be the same."When I look at the Head of the Out[2] i.e.aa=  WolframAlpha["equation of motion of a classical sinusoidal driven harmonic oscillator",{{"Result",1},"Output"}]Head[ReseaseHold[aa]] I get "Defer" rather than "List"I can only proceed if I do Join[First@ReleaseHold[%], {x[0] == x0, x'[0] == v0}  to get around the "Defer" head.Similarly, with the next example where a function is defined:\[Phi]LineSegment[{x_, y_, z_}] =  WolframAlpha[    "electric potential of a charged line segment", {{"Result", 1},      "Input"}][[1]] /. {Subscript[\[Epsilon], 0] -> 1/(4 Pi), l -> 1,    Q -> 1}my output looks like:ReleaseHold[ Hold[Log[(    1/2 + z + Sqrt[r + (z + 1/2)^2])/((1 - 1)/2 + z + Sqrt[     r + (z + (1 - 1)/2)^2])]/((4 \[Pi])/(   4 \[Pi]))] //. {r :> x^2 + y^2}]which will not evalute when I call the function, i.e. \LineSegment[{1,1,1}] = rather than the example's output of Log[(    1/2 + z + Sqrt[r + (z + 1/2)^2])/((1 - 1)/2 + z + Sqrt[ r + (z + (1 - 1)/2)^2])]/((4 \[Pi])/(   4 \[Pi]))] //. {r :> x^2 + y^2}]and again if I use \[Phi]LineSegment[{x_, y_, z_}] = First@ WolframAlpha[    "electric potential of a charged line segment", {{"Result", 1},      "Input"}][[1]] /. {Subscript[\[Epsilon], 0] -> 1/(4 Pi), l -> 1,    Q -> 1}things work out fine.So, my question(s) boil down to a mix of : am I misunderstanding the use of ReleaseHold? is my "solution" just a kludge? did things change between v8 and v9 (I am running v9.0.1)Thanks.