1
$\begingroup$

So we know from here what the *Dump contexts signify and here Rojo found a very useful goody that involves them:

In[320]:= StyleManager`OpenStyleManager // OwnValues

Out[320]= {HoldPattern[StyleManager`OpenStyleManager] :> 
  System`Dump`AutoLoad[Hold[StyleManager`OpenStyleManager], 
    Hold[StyleManager`OpenStyleManager], 
    "NotebookTools`Stylesheets`"] /; System`Dump`TestLoad}

Note that this adds another auto-loading mechanism to the ones here. Although a more restricted one.

What is interesting about this though is the context it loads: NotebookTools`StylesheetsDump` which contains a whole slew of fun symbols. Similarly there is a NotebookTools`ControlsDump` context we can play with.

We can figure out which Dumps can be loaded via this mechanism:

Cases[
   ToExpression[Names["*`*"], StandardForm, 
    OwnValues], {_ :> 
      Verbatim[Condition][System`Dump`AutoLoad[__, s_], ___]} :> s
   ] // DeleteDuplicates // Sort
(* The output is 1016 contexts long *)

But that's an overwhelming amount of stuff to try to trawl through to pull out gems like Rojo's.

All of this is build up to wondering if anyone else has a good way to find gems in these Dump contexts. I'm sure there's useful functionality buried in there, but I just don't know how to find it (i.e. every day using Mathematica).

$\endgroup$

closed as too broad by Jason B., MarcoB, m_goldberg, Jens, RunnyKine Jan 3 '17 at 1:08

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.