So I had a thought.

Why not rewrite preferences just a tad, so
they are stored as one big happy dictionary?

instead of
DrFrame.prefs.tabwidth
you would have
DrFrame.Preferences['tab.width']

This would make drPrefsFile even nicer, and would get me out of using compile and exec just to load preferences.

It would also make the style code cleaner (as I would store those as dictionaries as well).

The down side is rewriting any plugins that references DrFrame.prefs.

Think it is worth doing?