commit e56820bea459e08af1c44310852e75c5edbe1792
Author: Guillaume Munch <[email protected]>
Date: Wed Feb 3 18:42:04 2016 +0000
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.
diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp
index 382d1f9..9d121cb 100644
--- a/src/BufferParams.cpp
+++ b/src/BufferParams.cpp
@@ -1030,7 +1030,7 @@ void BufferParams::writeFile(ostream & os, Buffer const *
buf) const
to_utf8(makeRelPath(from_utf8(filepath), from_utf8(sysdir)));
if (!prefixIs(relpath, "../") && !FileName::isAbsolute(relpath))
filepath = addPath("/systemlyxdir", relpath);
- else if (!lyxrc.save_origin)
+ else if (!save_transient_properties || !lyxrc.save_origin)
filepath = "unavailable";
os << "\\origin " << quoteIfNeeded(filepath) << '\n';