-1 if (not self._wrapped)
                 else (-len(self._wrapped)
                       + self._last_wrapped_idx_pos_for_hist_idx_pos(
-                          self._len_full_history + self._history_idx_neg)))
+                          self._len_full_history + max(self._history_idx_neg,
+                                                       -_LOG_MAX_LEN))))
             self.bookmark()
 
     def append(self, to_append: str) -> None:
             del self._wrapped[bookmark_idx_neg]
             if bookmark_idx_neg > self._wrapped_idx_neg:
                 self._wrapped_idx_neg += 1
+        if self._newest_read_history_idx_pos < self._history_offset:
+            return
         bookmark_wrapped_idx_pos = (
                 0 if (not self._wrapped)
                 else (1 + self._last_wrapped_idx_pos_for_hist_idx_pos(