I cannot figure out why I have to evaluate this twice (in Mathematica 7) for the assignment to take.
First evaluation:
Unprotect[Rule];
Attributes[Rule]
pp = Plot | LogLinearPlot | ListPlot | ParametricPlot3D;
(h : pp)[True -> False] ^:= Print["Irrelevant data"]
(*
Out[2]= {SequenceHold}
During evaluation of In[1]:= UpSetDelayed::write: Tag Rule in (h:Plot|LogLinearPlot|ListPlot|ParametricPlot3D)[True->False] is Protected. >>
Out[4]= $Failed
*)
As can be seen from Out[2]= {SequenceHold}
, Unprotect[Rule]
worked, yet the error message indicates otherwise. If I evaluate the cell a second time, the assignment takes and no error is generated.
Why does this happen?