RE: almost ok
- To: mathgroup at smc.vnet.net
- Subject: [mg19230] RE: [mg19216] almost ok
- From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
- Date: Wed, 11 Aug 1999 02:06:46 -0400
- Sender: owner-wri-mathgroup at wolfram.com
antoine.zahnd at iprolink.ch wrote:
-------------------------
I wish to define functions to switch between several output Format.
Everything is almost ok:
defaultFFelem[]:=(Format[FF[c_,p_][d_]]=.)
customFFelem[]:=(Format[FF[c_,p_][d_]]:=Subscripted[d[c]])
But executing defaultFFelem[] when the Format is already "cleared" ends
with the message
Unset::"norep":
"Assignment on \!\(FF\) for \!\(MakeBoxes[\(\(\(FF[\(c_, \
p_\)]\)[d_]\), FormatType_\)]\) not found."
Is there a test to avoid this message, or an alternative way?
---------------------
I have three ways to avoid the message.
The "Format definition" is stored in FormatValues[FF].
The next line will clear the definition, but it also
gets rid off any other definitions for
Format[FF[....]]
In[1]:=
FormatValues[FF]={};
------------
Instead you could turn off the annoying message before clearing the
definition as I do below. Then you might want to turn the message back on
after clearing the definition, but how do you know the message wasn't turned
off in the first place? I wanted to do that at one time. I checked with
tech support and there is no built-in mechanism to see if a message has been
turned off via Off[symb::tag].
In[2]:=
Off[Unset::norep];
Format[FF[c_,p_][d_]]=. ;
--------------------
The best solution may be to temporarily clear the meaning of "Message" using
Block as I do below. That way the message will still be on *If And Only If*
it was on before clearing the Format definition.
In[4]:=
Block[{Message},
(Format[FF[c_,p_][d_]]=.)];
-------------
Regards,
Ted Ersek