Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive

MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: original meaning of System` functions

  • To: mathgroup at
  • Subject: [mg115283] Re: original meaning of System` functions
  • From: Leonid Shifrin <lshifr at>
  • Date: Thu, 6 Jan 2011 02:05:41 -0500 (EST)


Once you Protect and Lock the symbol, I am not aware of any way to do what
you want.
System-level DownValues and other ...Values are not exposed to the top
level. Neither can
you return to the original behavior if the function has been first modified
by the user and then
Locked. I don't claim this is totally impossible, I  just don't know any way
to achieve this. Perhaps
you will get other, more informative  responses.


On Wed, Jan 5, 2011 at 3:42 PM, Ralf Hemmecke <hemmecke at> wrote:

> 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
>> <mailto:hemmecke at>> 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

  • Prev by Date: Re: Session Privacy in Mathematica 8 w/ Wolfram|Alpha free-form input?
  • Next by Date: Re: Session Privacy in Mathematica 8 w/ Wolfram|Alpha free-form input?
  • Previous by thread: Re: original meaning of System` functions
  • Next by thread: Re: original meaning of System` functions