X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetInfo.cpp;h=46d656c817c9ad9d78a221f321867717e368c566;hb=eb294eadb5e7f22880da399ae082f74567bbfc4e;hp=67aca81fe714ee556c44cd37ca4297224364f25b;hpb=dc502c827985e1d0399ab0009aa6f807d14d5267;p=lyx.git diff --git a/src/insets/InsetInfo.cpp b/src/insets/InsetInfo.cpp index 67aca81fe7..46d656c817 100644 --- a/src/insets/InsetInfo.cpp +++ b/src/insets/InsetInfo.cpp @@ -159,6 +159,8 @@ set getTexFileList(string const & filename) getVectorFromString(file.fileContents("UTF-8"), from_ascii("\n")); // Normalise paths like /foo//bar ==> /foo/bar + // No "auto const &" because doc is modified later + // coverity[auto_causes_copy] for (auto doc : doclist) { doc = subst(doc, from_ascii("\r"), docstring()); while (contains(doc, from_ascii("//"))) @@ -984,7 +986,19 @@ void InsetInfo::build() if (initialized_) break; // check in packages.lst - if (LaTeXFeatures::isAvailable(params_.name)) { + bool available; + // we also allow version check with version separated by blank + if (contains(params_.name, ' ')) { + string name; + string const version = split(params_.name, name, ' '); + int const y = convert(version.substr(0,4)); + int const m = convert(version.substr(4,2)); + int const d = convert(version.substr(6,2)); + available = LaTeXFeatures::isAvailableAtLeastFrom(name, y, m, d); + } else + available = LaTeXFeatures::isAvailable(params_.name); + + if (available) { gui = _("yes"); info(from_ascii("yes"), params_.lang); } else {