> I'm in agreeance with JMarc on this point. A footnote should look like a
> footnote. Just like it does now. We can of course still improve on
> the current situation but I don't think this does.
Ok, I give in. (Although I still think that for footnotes that can be
contained in one paragraph, it would be a nicer display.)
> The default paragraph settings for a given layout are used for each
> paragraph of a given type. Whenever a particular paragraph has its
> settings changed we copy-on-write. However unlike LStrings we're probably
> more likely to end up with multiple identical copies as a user makes a
> change and then reverts it. It would be nice to have a default ParaParams
> and a change set or diff for those occasions. But then again the memory
> usage isn't going to be any worse than we have now.
Yes, this is all correct. One clarification: The ParaParams structure *will*
be a diff to the properties inherited from the layout. Just as it is now.
If we wanted to ensure maximum reuse, we would have a list of all instantiated
ParaParams, and whenever one is change, search this list to find a match.
However, that would probably not reduce total memory use, because of the memory
requirements of this list. Also, it would change updating a ParaParams
structure from a constant time operation to something worse, potentially
exponential!
Greets,
Asger