Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I just changed my default notebook context to 'unique to this Notebook' so that variables don't roll across numerous open notebooks. Doing this, however, made the command ClearAll["Global*"] stop working to clear all declared variables. I also tried, ClearAll[Evaluate[Context[] <> "*"]], but that didn't work either. Any ideas?

share|improve this question
add comment

1 Answer

up vote 6 down vote accepted

As soon as you set your notebook context to 'unique to this Notebook', the notebook's context is no longer Global`, but, well, unique to the notebook.

I can't test right now, but assuming you are not in an explicitly opened context (like after Begin or BeginPackage), I think the following should work:

ClearAll@@{$Context<>"*"}

At least it works in a kernel with manually changed $Context.

share|improve this answer
    
It works, so +1. –  rcollyer May 30 '13 at 19:02
    
Awesome, totally works! Any ideas why variables aren't going back to blue (from black)? –  zhermes May 30 '13 at 19:38
    
@zhermes: I have no idea. IIRC the variables actually already start out being black when the notebook uses its own context (can't check now); no idea why. Maybe the colouring algorithm doesn't take the different context into account correctly. –  celtschk May 30 '13 at 19:47
    
I think you could just do ClearAll@"`*"... –  rm -rf May 31 '13 at 3:21
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.