message: Make sure we aren't trying to create Positions with negative line or character when updating mark locations
  This hasn't been confirmed to actually be the issue, but it sure looks suspect, as pointed out.
  Refs
diff: @@ -360,13 +360,13 @@ export class HistoryTracker {
  if (pos.isBefore(newMark.position)) {
  if (ch === '\n') {
  newMark.position = new Position(
  - newMark.position.line - 1,
  + Math.max(newMark.position.line - 1, 0),
  newMark.position.character
  );
  } else if (pos.line === newMark.position.line) {
  newMark.position = new Position(
  newMark.position.line,
  - newMark.position.character - 1
  + Math.max(newMark.position.character - 1, 0)
  );
  }
  }
  @@ -389,9 +389,10 @@ export class HistoryTracker {
  // Ensure the position of every mark is within the range of the document.
  + const docEnd = TextEditor.getDocumentEnd();
  for (const mark of newMarks) {
  - if (mark.position.isAfter(TextEditor.getDocumentEnd())) {
  - mark.position = TextEditor.getDocumentEnd();
  + if (mark.position.isAfter(docEnd)) {
  + mark.position = docEnd;
  }
  }
  