
(*********************************************************************

        Adapted from
        Roman E. Maeder: Programming in Mathematica,
        Second Edition, Addison-Wesley, 1991.

 *********************************************************************)


WrapHold::usage = "WrapHold[expr] wraps Hold[] around the head
	and the elements of expr without evaluating them."

SetAttributes[WrapHold, HoldAll]

WrapHold[expr_] :=
	Map[ Hold, MapAt[Hold, Hold[expr], {1, 0}], {2}] [[1]]
