#include "support/lstrings.h"
#include "support/lyxlib.h"
#include "support/filetools.h"
+#include "support/os.h"
+
#include <boost/filesystem/operations.hpp>
namespace fs = boost::filesystem;
using lyx::support::quoteName;
using lyx::support::rtrim;
using lyx::support::subst;
+using lyx::support::addName;
using std::endl;
using std::find_if;
}
std::ostringstream command;
- command << "python " << quoteName(script)
+ command << lyx::support::os::python() << ' ' << quoteName(script)
<< ' ' << quoteName(filename)
<< ' ' << quoteName(tempfile);
string const command_str = command.str();
keyword_item outputTypeTags[] = {
{ "docbook", DOCBOOK },
{ "latex", LATEX },
- { "linuxdoc", LINUXDOC },
{ "literate", LITERATE }
};
lexrc.printError("Unknown output type `$$Token'");
return;
case LATEX:
- case LINUXDOC:
case DOCBOOK:
case LITERATE:
outputType_ = static_cast<OutputType>(le);
if (loaded_)
return true;
- // Read style-file, current directory is searched before system ones
- string real_file = path + "/" + name_ + ".layout";
- if (!fs::exists(real_file))
- real_file = libFileSearch("layouts", name_, "layout");
- loaded_ = const_cast<LyXTextClass*>(this)->read(real_file) == 0;
+ // Read style-file, provided path is searched before the system ones
+ string layout_file;
+ if (!path.empty())
+ layout_file = addName(path, name_ + ".layout");
+ if (layout_file.empty() || !fs::exists(layout_file))
+ layout_file = libFileSearch("layouts", name_, "layout");
+ loaded_ = const_cast<LyXTextClass*>(this)->read(layout_file) == 0;
if (!loaded_) {
lyxerr << "Error reading `"
- << makeDisplayPath(real_file)
+ << makeDisplayPath(layout_file)
<< "'\n(Check `" << name_
<< "')\nCheck your installation and "
"try Options/Reconfigure..." << endl;