diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/CaretModelImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/CaretModelImpl.java index f06f42e612da..8cca2185e03e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/CaretModelImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/CaretModelImpl.java @@ -185,9 +185,19 @@ public class CaretModelImpl implements CaretModel, PrioritizedDocumentListener, validateCallContext(); moveToLogicalPosition(myEditor.offsetToLogicalPosition(offset), locateBeforeSoftWrap); if (!ignoreWrongMoves && !myEditor.offsetToLogicalPosition(myOffset).equals(myEditor.offsetToLogicalPosition(offset))) { + StringBuilder documentInfo = new StringBuilder(); + Document document = myEditor.getDocument(); + for (int line = 0; line < document.getLineCount(); line++) { + documentInfo.append(line).append(": ").append(document.getLineStartOffset(line)).append("-") + .append(document.getLineEndOffset(line)).append(", "); + } + if (documentInfo.length() > 0) { + documentInfo.setLength(documentInfo.length() - 1); + } LOG.error( "caret moved to wrong offset. Requested:" + offset + " but actual:" + myOffset - + ". Soft wraps data: " + myEditor.getSoftWrapModel() + ", folding data: " + myEditor.getFoldingModel()); + + ". Soft wraps data: " + myEditor.getSoftWrapModel() + ", folding data: " + myEditor.getFoldingModel() + ", " + + "document info: " + documentInfo); } }