> > I forgot to mention one important trick: if the files are there so > > there is no need to overwrite, unbundling would succeed and they do > > not have to be unbundled to the document directory. This is because we > > compare file checksum before we extract. > > > So if the files are there and are unchanged, then we don't need to extract > them. OK. But if they aren't there, or if they have changed, then we have to > write them to a subdirectory. We do not happily copy a file to /usr/bin/. So > we will often have to write to a subdirectory, and, for many workflows, this > will happen early enough in the process that, in effect, everything will be > in the subdirectory anyway.
If the majority of the users keep their files in a subdirectory, my feature is not in the way of anything, right? So why do you want to enforce such a policy when you do not have to? The point here is that we give advanced users some freedom to embed any file, which will not cause any harm to others. I might be the only one here to expect a large user group of the embed-editing mode, and this is not a problem for them at all. For the rest of the users, when they unbundle a .lyx file with such files, they are given a choice between 'unbundling to document directory' (the without-any-thinking yes-button), and 'continue editing in bundled mode'. I do not see any problem with this solution. > The only reason not to require this is because > you'd like to be able to keep your files elsewhere in your tree. I'm > prepared to allow that this could be convenient. But I don't see any reason > you really have to do that. Now, the critical question is why someone would like to embed any file outside of the document directory. I doubt this is a valid question because why don't you then disallow the use of such files in the *current* lyx version? They are evil because they can cause problems! Such a lyx file can not be compiled under another system! All I am saying, and nobody has ever answered this, is that this is not a problem *introduced* by embedding, it is exactly the problem this feature tries to address. Your approach solves the easy problem of bundling files under the document directory, but does nothing in this case. I do not see why people criticize my approach as not addressing the problem good enough, whereas your approach tries to avoid it altogether. Then, if you still ask why I would like to embed any file outside of the document directory. Open your user's guide and see how many such files are there. We keep out images under a common directory and all documents use them through something like ../../images. In my case, I simply do not want to have a copy of my bib file for all the papers I write so I keep them in a common directory. I also have a folder for all the logos I might use in my slides and posters. Another example would be referring to figures in my paper directory from a poster folder. Sure enough, I can use symbolic or hard link but we all know the OS differences in such links, I can also use advanced svn external handling which may cause some other problems. The point is, if a user has to try all these because lyx imposes a restriction, it is easier just to toss lyx away. Cheers, Bo