Do not save \origin when \save_transient_properties is false (#9958)

\origin is a transient property in the sense that in a collaborative context
each co-author is going to have a different value for it. Moreover, \save_origin
is a global (lyxrc) setting that cannot yet be deactivated for a single file,
but one author's setting is going to impact other authors, even those who have
set save_origin=false.

There is only one location where lyxrc.save_origin produces an effect, modified
by this patch. With this patch, everything happens as if lyxrc.save_origin was
false whenever save_transient_properties=false.

This is not a file format change. When a file has
save_transient_properties=false but an origin is set (for instance a file
produced before this patch) then the origin produces its effect before the file
is saved. This produces the same effect as if the user decided to disable
save_origin between two sessions.
This commit is contained in:
Guillaume Munch 2016-02-03 18:42:04 +00:00
parent 2804011957
commit e56820bea4

View File

@ -1030,7 +1030,7 @@ void BufferParams::writeFile(ostream & os, Buffer const * buf) const
to_utf8(makeRelPath(from_utf8(filepath), from_utf8(sysdir))); to_utf8(makeRelPath(from_utf8(filepath), from_utf8(sysdir)));
if (!prefixIs(relpath, "../") && !FileName::isAbsolute(relpath)) if (!prefixIs(relpath, "../") && !FileName::isAbsolute(relpath))
filepath = addPath("/systemlyxdir", relpath); filepath = addPath("/systemlyxdir", relpath);
else if (!lyxrc.save_origin) else if (!save_transient_properties || !lyxrc.save_origin)
filepath = "unavailable"; filepath = "unavailable";
os << "\\origin " << quoteIfNeeded(filepath) << '\n'; os << "\\origin " << quoteIfNeeded(filepath) << '\n';