Wrote some macros to sit at the end of the virtual function tables and complain at compile-time (best) or run-time (okay) if not all entries are initialized. This is the biggest single source of bugs. The first half-dozen classes were clean and I began to wonder if I was closing the barn after all the horses were gone. However, they weren't all gone. Caught a couple of other errors too. Also updated most of the classes to use the new inheritence conventions and mechanisms. It took all day and probably saved 3-5 days of catching them by hand.
Maybe I should have spent more time up front on the inheritence and virtual function table mechanisms. Don't think I could have anticipated all the problems. Even hindsight isn't perfect.
I need to figure out how to get the regression tests into the distribution. Probably imitate some package like libxml that is already doing it. Also need to figure out how to make --with-z and --without-z really work, even if libxml doesn't. Wish there were more docs, examples, and tutorials for the GNU build tools, including the standard/usual M4 macros.