Rev 4988 starts an important refactoring of Leo's init code.

**Important**: the code on the trunk should be functionally identical
to the previous rev.  The transition to the new_config code base has
*not* been made.

This code may be slightly less stable than usual, but that can't be
helped. I apologize in advance for any problems in the code, but my
immediate needs as a developer take priority in this case.  I promise
that the eventual results will be worth it.

I would appreciate any help testing the new code.  Despite my best
efforts at testing, the only way to validate the new code is to use
it.  Please report any problems immediately.

Here is the checkin log:

QQQQQ
Removed calls to c.config from all ctors.  This is the start of an
important reorg.

All unit tests pass, pylint is happy, and I am happily eating my own
dog food.

leoApp.py:

- Fixed a naming problem that prevented the new_config code from
recognizing local settings.

leoAtFile.py:

- Create at.finishCreate to init two user settings.
  g.getScript now calls at.finishCreate as well as the atFile ctor.

leoConfig.py:

- Improved tracing for g.app.config.get.
  Eventually, g.app.config.get is likely to disappear,
  but until then these traces are very helpful.

leoFileCommand.py:

- When g.new_config is True, we must delay the "first redraw" until
after Phase 4.
  Thus, the first redraw will happen in g.openWithFileName.
  This complication is absolutely essential.

leoFrame.py:

- Made some changes "without a net".
  The nullFrame ctor now creates all the component objects.
  This caused some surprising complications, which *might*
  go away when the Commands ctor creates its frame directly,
  rather than having newLeoCommanderAndFrame do it.

leoGlobals.py:

- Added trace_masterKeyHandler and trace_masterKeyHandlerGC.
  These used to be in leoKeys.py, but *all* global switches belong in
leoGlobals.py.

- Made g.openLeoOrZipFile a child of g.openWithFileName.
  Strictly speaking, this is inaccurate, because it is called from
  several other places, but it's much more convenient in the new
location.

- Added comments about the load phases to g.openWithFileName.
  These Phases are the heart of the new load/config process.

- g.getScript now calls the new at.finishCreate method.

leoMenu.py:

- Moved some "late" code to leoMenu.finishCreate.

unitTest.leo:

- Removed or disabled some irrelevant/unfinished tests that were
failing.
  There is no harm in this, and now "real" failures will become
apparent.
QQQQQ

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/leo-editor?hl=en.

Reply via email to