17 Jun 2000 aaronl   » (Master)

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 want whoever
// 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.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!