}
+bool InsetInclude::needsCProtection(bool const /*maintext*/, bool const fragile) const
+{
+ // We need to \cprotect all types in fragile context
+ return fragile;
+}
+
+
void InsetInclude::doDispatch(Cursor & cur, FuncRequest & cmd)
{
switch (cmd.action()) {
runparams.par_begin = 0;
runparams.par_end = tmp->paragraphs().size();
runparams.is_child = true;
- if (!tmp->makeLaTeXFile(tmpwritefile, masterFileName(buffer()).
- onlyPath().absFileName(), runparams, Buffer::OnlyBody)) {
+ Buffer::ExportStatus retval =
+ tmp->makeLaTeXFile(tmpwritefile, masterFileName(buffer()).
+ onlyPath().absFileName(), runparams, Buffer::OnlyBody);
+ if (retval == Buffer::ExportKilled && buffer().isClone() &&
+ buffer().isExporting()) {
+ // We really shouldn't get here, I don't think.
+ LYXERR0("No conversion exception?");
+ throw ConversionException();
+ }
+ else if (retval != Buffer::ExportSuccess) {
if (!runparams.silent) {
docstring msg = bformat(_("Included file `%1$s' "
"was not exported correctly.\n "
ErrorList const & el = tmp->errorList("Export");
if (!el.empty())
msg = bformat(from_ascii("%1$s\n\n%2$s\n\n%3$s"),
- msg, el.begin()->error,
- el.begin()->description);
- throw ExceptionMessage(ErrorException, _("Error: "),
- msg);
+ msg, el.begin()->error, el.begin()->description);
+ throw ExceptionMessage(ErrorException, _("Error: "), msg);
}
}
runparams.encoding = oldEnc;
// If needed, use converters to produce a latex file from the child
if (tmpwritefile != writefile) {
ErrorList el;
- bool const success =
+ Converters::RetVal const retval =
theConverters().convert(tmp, tmpwritefile, writefile,
- included_file,
- inc_format, tex_format, el);
-
- if (!success && !runparams.silent) {
+ included_file, inc_format, tex_format, el);
+ if (retval == Converters::KILLED && buffer().isClone() &&
+ buffer().isExporting()) {
+ // We really shouldn't get here, I don't think.
+ LYXERR0("No conversion exception?");
+ throw ConversionException();
+ } else if (retval != Converters::SUCCESS && !runparams.silent) {
docstring msg = bformat(_("Included file `%1$s' "
"was not exported correctly.\n "
"LaTeX export is probably incomplete."),
included_file.displayName());
if (!el.empty())
msg = bformat(from_ascii("%1$s\n\n%2$s\n\n%3$s"),
- msg, el.begin()->error,
- el.begin()->description);
- throw ExceptionMessage(ErrorException, _("Error: "),
- msg);
+ msg, el.begin()->error, el.begin()->description);
+ throw ExceptionMessage(ErrorException, _("Error: "), msg);
}
}
} else {
Inset::DisplayType InsetInclude::display() const
{
- return type(params()) == INPUT ? Inline : AlignCenter;
+ return type(params()) == INPUT ? Inline : Display;
}