]> git.lyx.org Git - features.git/commitdiff
Do not save \origin when \save_transient_properties is false (#9958)
authorGuillaume Munch <gm@lyx.org>
Wed, 3 Feb 2016 18:42:04 +0000 (18:42 +0000)
committerGuillaume Munch <gm@lyx.org>
Tue, 9 Feb 2016 17:48:16 +0000 (17:48 +0000)
\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.

src/BufferParams.cpp

index 382d1f928b50019f0e13e3f478c84f4f128042cf..9d121cb4f410dc3a322521ee58024de9e085558f 100644 (file)
@@ -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';