Bo Peng wrote:
 This would give two modes of operations:

 - directory-in-a-zip: the most transparent for users. Whether we
  actually unpack everytime or unpack on-demand from the zip is an
  implementation detail.

This is more or less my idea.

Right. The only difference between this approach and the one you implemented has to do with out of tree files. And as I've said in my other message, with the changes forced by security issues, even that issue has shrunk to near nothingness. The only real question is where to store the information about the original location of the file, so you can do the "update from external file" thing. Whether there is just a copy in the bundle isn't the issue. Your version has a copy in the bundle, too. But you keep a kind of link to the original file by storing the original pathname in the LyX file. Jose's idea was that this isn't cross-platform, so we should store it somewhere else. But you keep the connection---on the only machine where it works---either way.

Now, why prefer Jose's way? Well, it makes sense to store machine-specific information in the session file. But the more important point is that going that way dramatically simplifies the code. The "bundling" code will consist of but a few pieces: The zip-unzip stuff; the copy-to-bundle stuff; the session-related stuff that keeps information about the original file; and the update business. The insets themselves hardly need to be touched (from the old code).

rh

Reply via email to