}
text_.setCursor(cur.top(), pit, pos);
- cur.clearSelection();
cur.finishUndo();
}
{
LYXERR(Debug::ACTION, "InsetText::doDispatch(): cmd: " << cmd);
+ // See bug #9042, for instance.
+ if (isPassThru() && lyxCode() != ARG_CODE) {
+ // Force any new text to latex_language FIXME: This
+ // should only be necessary in constructor, but new
+ // paragraphs that are created by pressing enter at
+ // the start of an existing paragraph get the buffer
+ // language and not latex_language, so we take this
+ // brute force approach.
+ cur.current_font.setLanguage(latex_language);
+ cur.real_current_font.setLanguage(latex_language);
+ }
+
switch (cmd.action()) {
case LFUN_PASTE:
case LFUN_CLIPBOARD_PASTE:
// environment. Standard collapsable insets should not
// redefine this, non-standard ones may call this.
InsetLayout const & il = getLayout();
+ if (il.forceOwnlines())
+ os << breakln;
if (!il.latexname().empty()) {
if (il.latextype() == InsetLayout::COMMAND) {
// FIXME UNICODE
os << breakln;
else
os << safebreakln;
- os << "\\end{" << from_utf8(il.latexname()) << "}\n";
+ os << "\\end{" << from_utf8(il.latexname()) << "}" << breakln;
if (!il.isDisplay())
os.protectSpace(true);
}
}
+ if (il.forceOwnlines())
+ os << breakln;
}
}
-void InsetText::forToc(docstring & os, size_t maxlen) const
+void InsetText::forOutliner(docstring & os, size_t maxlen) const
{
if (!getLayout().isInToc())
return;
- text().forToc(os, maxlen, false);
+ text().forOutliner(os, maxlen, false);
}
tocstring = par.labelString();
if (!tocstring.empty())
tocstring += ' ';
- arginset->text().forToc(tocstring, length);
+ arginset->text().forOutliner(tocstring, length);
} else
- par.forToc(tocstring, length);
+ par.forOutliner(tocstring, length);
dit.pos() = 0;
toc.push_back(TocItem(dit, toclevel - min_toclevel,
tocstring, doing_output, tocstring));