-
- // This paragraph has zero size, so highlight the previous one
- while (dit.paragraph().size() == 0)
- dit.backwardPos();
-
- // Now make the selection.
- // if pos_end is 0, this means it is end-of-paragraph
- pos_type const s = dit.paragraph().size();
- pos_type const end = err.pos_end ? min(err.pos_end, s) : s;
- pos_type const start = min(err.pos_start, end);
- pos_type const range = end == start ? s - start : end - start;
- // end-of-paragraph cannot be highlighted, so highlight the last thing
- dit.pos() = range ? start : end - 1;
- BufferView * bv = const_cast<BufferView *>(bufferview());
- // FIXME LFUN
- // If we used an LFUN, we would not need these lines:
- bv->putSelectionAt(dit, max(range, pos_type(1)), false);
- bv->processUpdateFlags(Update::Force | Update::FitCursor);