Re: ClearAll ?? or what
- To: mathgroup at smc.vnet.net
- Subject: [mg102792] Re: ClearAll ?? or what
- From: dr DanW <dmaxwarren at gmail.com>
- Date: Thu, 27 Aug 2009 06:35:38 -0400 (EDT)
- References: <h7371j$b28$1@smc.vnet.net>
There is a utility package called CleanSlate` which does this for you. It was written for an older version of Mathematica, and I had some trouble with the way it interacted with the new help system (which resulted in multiple kernel crashes.) To prevent the help system crashes, put the following line in your init.m file: DeclarePackage["Utilities`CleanSlate`",{"CleanSlate"}]; At the top of your notebooks, put the line CleanSlate[Verbose->False]; make sure that that line is the first thing to execute on a fresh kernel start. Functionally, what happens is this: when the CleanSlate` package is loaded, the state of the memory is marked. On subsequent calls to CleanSlate[], the state of the memory is rewound to the marked state. So if you execute anything before loading CleanSlate`, say x=3, then x will not be reset when you call CleanSlate[] the next time. The crashing problem occurred because I was autoloading CleanSlate` in my init.m. Traditionally, your personal init.m file is supposed to be the last thing executed upon a clean kernel start, but it turns out that some of the paclets, including the paclet for Documentation Center, get loaded after your init.m. This meant that my first call to CleanSlate[] also wiped the state of the memory for Documentation Center, and everything crashed horribly. By declaring the CleanSlate` package in my init.m file, I make the kernel aware of the CleanSlate` context without loading the file until my first call to CleanSlate[]. I put CleanSlate[] at the top of every notebook and make sure it is the first thing executed. As I work, I occasionally do a Control-s (save), Control-a (select all), and Shift- Enter to clean out my memory from the shrapnel I left around while figuring out how to do something. I like a clean memory space. If anybody has another way to clean out the memory please post your methods. I am concerned about the longevity of CleanSlate` and whether it will be around or not in a future version of Mathematica. I do not know how it interacts with dynamic evaluation, and I have gotten occasional error messages in notebooks with dynamic content. Hope this helps. Please send me a direct email about your book and when it will be published. Regards, Daniel