Re: original meaning of System` functions
- To: mathgroup at smc.vnet.net
- Subject: [mg115290] Re: original meaning of System` functions
- From: Ralf Hemmecke <hemmecke at gmail.com>
- Date: Thu, 6 Jan 2011 02:07:05 -0500 (EST)
True, it looks impossible, but maybe there is still a way to get System`ClearAll in its original Mathematica meaning. I simply want to get access to the builtin behaviour of the "function". Possible or impossible? Note, I am not asking for user-defined functions, but rather for modified system-defined constructs. Deep inside the Mathematica kernel, the original meaning must have been hardcoded. How to access that? Ralf On 01/05/2011 01:12 PM, Leonid Shifrin wrote: > Hi, > > Since you both Protected and Locked these commands, it looks like you > made all the steps to ensure that their definitions can not be altered > in the same session, and thus their original definitions can not be > inspected or used (at least AFAIK). Given the nature of these commands, > I wonder whether this confirmation of impossibility to undo these > changes was what you were actually after :) > > Regards, > Leonid > > > On Tue, Jan 4, 2011 at 3:51 PM, hemmecke <hemmecke at gmail.com > <mailto:hemmecke at gmail.com>> wrote: > > Is there any way to call the original Mathematica behaviour of a > function from the System context in case it has previously been > unprotected and redefined? > > For example, how can I access the original meaning of ClearAll after > > Unprotect[ClearAll,Clear]; ClearAll[__]:=True;Clear[__]:=True; > > ? > > I just temporarily (i.e. in some safe environment) want to access the > system defined meaning, but actually don't want to undo any modified > behaviour. > > Ralf > > In[1]:= Unprotect[ClearAll,Clear]; ClearAll[__]:=True;Clear[__]:=True; > > In[2]:= SetAttributes[ClearAll,{Protected, Locked}] > > In[3]:= SetAttributes[Clear,{Protected, Locked}] > > In[4]:= a[x_]:=x^3 > > In[5]:= ClearAll[a] > > Out[5]= True > > In[6]:= ClearAll[ClearAll] > > Out[6]= True > > In[7]:= System`ClearAll[a] > > Out[7]= True > > In[8]:= ??a > Global`a > > a[x_] := x^3 > >