I forgot to post yesterday. Yesterday I resurected my normal mode patch from about a year ago. It's a major hack and it's not working. I also tried resurecting the tabs dialog in AbiWord. I don't understand how it's supposed to work.
Today, I spent from the time I woke up until dinner working on the Normal mode patch. The radical hacks I made are completely crazy and didn't help at all because I didn't and don't understand the cause of the problems. The hacks are best exemplified up by this comment:
// m_hackPP is a pretty gruesome hack. The idea is that we
// is trying to find out about attributes and properties to hear our
// our version of them - for example, the way margins are displayed on
// the screen rather than in the document. This is the kind of stuff
// that is necessary for non-WYSIWYG display like Normal mode. We could
// write into **ppAP the margins that we display, but since ppAP is a
// handle to the actual properties and attributes for the document,
// it would actually change the margins in the document. That's bad.
// So, we have m_hackPP which is a PP_AttrProp that is a copy of the one
// representing the attributes and properties of the document but with
// the margins and etc. changed. The reason why we can't just create a
// new PP_AttrProp everytime getAttrProp is called is because the caller
// believes it is getting a pointer to the document's PP_AttrProp and it
// wouldn't dare free that. So, we have to keep one in the view that all
// callers can share. I hope there are never any situations when they
// should be different. I told you it was gruesome.
All that hackishness for nothing. From 10PM to 4AM I worked on making dependencies work in AbiWord's crazy build system, which currently requires you to make clean whenever you change a header file. They still don't work. They still are not close to working. Understandably, I am in a bad mood because I just restled with make for hours. I want to convert the build system switched to autoconf even though I hate autoconf too.