- ParagraphList paragraphs(pars.begin() + startpit, pars.begin() + endpit + 1);
-
- for_each(paragraphs.begin(), paragraphs.end(), resetOwnerAndChanges());
+ ParagraphList paragraphs(boost::next(pars.begin(), startpit),
+ boost::next(pars.begin(), endpit + 1));
+
+ ParagraphList::iterator it = paragraphs.begin();
+ ParagraphList::iterator it_end = paragraphs.end();
+
+ for (; it != it_end; it++) {
+ // ERT paragraphs have the Language latex_language.
+ // This is invalid outside of ERT, so we need to change it
+ // to the buffer language.
+ if (it->ownerCode() == InsetBase::ERT_CODE) {
+ it->changeLanguage(buf.params(), latex_language,
+ buf.getLanguage());
+ }
+ it->setInsetOwner(0);
+ }