+ lastbuffer->next()->StripLeadingSpaces(tc);
+ }
+ // restore the simple cut buffer
+ buf = simple_cut_clone;
+ }
+#else
+ // open the paragraph for inserting the buf
+ // if necessary
+ if (((*par)->size() > pos) || !(*par)->next()) {
+ (*par)->BreakParagraphConservative(current_view->buffer()->params,
+ pos);
+ paste_the_end = true;
+ }
+ // set the end for redoing later
+ *endpar = (*par)->next()->next();
+
+ // paste it!
+ lastbuffer->next((*par)->next());
+ (*par)->next()->previous(lastbuffer);
+
+ (*par)->next(buf);
+ buf->previous(*par);
+
+ if ((*par)->next() == lastbuffer)
+ lastbuffer = *par;
+
+ (*par)->PasteParagraph(current_view->buffer()->params);
+ // store the new cursor position
+ *par = lastbuffer;
+ pos = lastbuffer->size();
+ // maybe some pasting
+ if (lastbuffer->next() && paste_the_end) {
+ if (lastbuffer->next()->HasSameLayout(lastbuffer)) {
+ lastbuffer->PasteParagraph(current_view->buffer()->params);
+ } else if (!lastbuffer->next()->size()) {
+ lastbuffer->next()->MakeSameLayout(lastbuffer);
+ lastbuffer->PasteParagraph(current_view->buffer()->params);
+ } else if (!lastbuffer->size()) {
+ lastbuffer->MakeSameLayout(lastbuffer->next());
+ lastbuffer->PasteParagraph(current_view->buffer()->params);
+ } else
+ lastbuffer->next()->StripLeadingSpaces(tc);