Author Intrusion 0.3.0 "Madeleine L’Engle"

screenshot-2013-08-27This was a very productive month, but sadly it didn't change the appearance of the editor. Mostly, I was working on the interactiveness of the application to allow editing to be done with a reasonable speed and get rid of a lot of slowness while opening a large document (my 47k novella). Start up speed went from just 800 s to 1.4 s and paging through the document no longer has a 4 s slowdown when the margins went from double-digits to triple and then quadrupedal (mainly by getting rid of the line numbers and rewriting the cache).

(Minor note, the reason I have "mmm" in the image is because I was getting hung up on the words of the novella and not the length and usage. So, I used Perl to convert all lowercase letters to "m" to focus.)

As you can tell from the change log below, I made a bunch of other changes to general usability.

I am sad to say that I did write a number of utilities to let me round-trip between Author Intrusion and my old Creole-based system. The biggest reason was editing. I don't have the ability to isolate a chapter while editing at the moment and it simply became "too big" to edit properly. I always intended to allow for focusing on parts of the project, but I need to spend a month working on the command system before I can really get into that.

Which means, this coming month will be working on pluggable commands. In specific, the "Control-Q" stuff of Visual Studio and providing more than a few hard-coded keyboard commands.

It still isn't really usable for most people, though.


  • Removed the margins from the default editor because it was slowing down the system with large documents. +Changed
  • Fixed a bug where the project line buffer was not disconnecting from events properly. +Changed
  • Context menu doesn't have Copy, Cut, and Paste (and no automatic separator). +Changed
  • Context menu automatically selects first item in menu. +Changed


  • Changing text spans through block analysis will cause the line to update on screen. +New
  • Properties for blocks and projects are persisted across savings. +New


  • Reworking the block analyzers so they can be selectively re-run against the blocks in a collection. +New
  • Block analysis is automatically performed when a document is loaded. +New
    • Analysis state is serialized so blocks aren't reanalyzed on loading. +New
  • Local Word Spelling:
    • Updated the Local Words spelling plugin to update the entire document when words are added to either dictionaries. +New
    • Text spans are not updated if the spelling errors haven't changed. +New


  • MfGames.GtkExt 0.2.0
  • MfGames.GtkExt.TextEditor 0.3.0