Suppose I have a list of names of Symbols:
f1 := Print[\"f1 is evaluated!\"];
list = {\"f1\", \"f2\"};
The obvious way to
You may consider this construct:
SetAttributes[block, HoldRest]
block[s : {__String}, body_] :=
Function[, Block[{##}, body], HoldAll] @@
Join @@ MakeExpression /@ s
Second attempt at a shorter version of Leonid's second function:
block =
Function[, Block @@ ToHeldExpression@ToString@#~Join~Hold@#2, HoldRest]