Georg Baum wrote:
> The insetinclude changes are needed because it is possible that the
> bibliography is in an included file. 

I wonder how often this happens in reality.

> Therefore we need to load the included 
> file when we fill the bib file cache.
> What is maybe not needed is the call of updateBibfilesCache() in 
> Buffer::readDocument(). We could defer that until the cache is really
> needed: Add a flag to Buffer that indicates whether the cache is needed.
> This flag would be set to false initially. All calls of
> updateBibfilesCache() would be a noop until this flag is set, and it would
> be set in Buffer::getBibfilesCache(). Buffer::getBibfilesCache() would also
> call updateBibfilesCache() if the flag was not set. From that point on the
> cache would be kept valid.

Hm, sounds sensible. You just have to take care that the natbib labels are 
shown on startup. I remember this was a problem.

> This would avoid loading the child documents if they are not needed, but it
> would not avoid loading them when natbib labels are used. This is simply
> not possible if the natbib information should be correct.

Couldn't we avoid loading the child documents unless the information for a 
given label is missing?

> Shall I implement that?

Yes, please.

Jürgen

Reply via email to