Re: Releasing several Holds simultaneously

*To*: mathgroup at smc.vnet.net*Subject*: [mg82304] Re: [mg82248] Releasing several Holds simultaneously*From*: Sseziwa Mukasa <mukasa at jeol.com>*Date*: Wed, 17 Oct 2007 04:03:12 -0400 (EDT)*References*: <200710160727.DAA08807@smc.vnet.net>

On Oct 16, 2007, at 3:27 AM, Andrew Moylan wrote: > Hold[a := Hold[1]] > > How can I release both of these Holds (and thus execute a:=1) > simultaneously? > > ReleaseHold[%] doesn't work; it evaluates a := Hold[1] before the > other hold > is removed. > > % /. Hold[x_]:>x does the same thing, because /. only matches once > per part. I believe you mean a=1 not a:-=1, but you can use MapAt to put the ReleaseHolds in the right place before evaluation: MapAt[ReleaseHold[#] &, Hold[a = Hold[1]], Position[Hold[a = Hold[1]], Hold[_]]] Regards, Ssezi

**References**:**Releasing several Holds simultaneously***From:*"Andrew Moylan" <andrew.j.moylan@gmail.com>