docs: def spew_length(self, length):
          """Move current position backwards by length."""
          pos = self.pos
          if not pos or length > pos:
              return None
  
          row = self.row
          for char in reversed(self.string[pos - length:pos]):
              pos -= 1
              if char == '\n':  # handle a newline char
                  row -= 1
  
          self.pos = pos
          self.col = self.eol_distance_last()
          self.row = row
  
          if self.has_space():  # Set eos if there is no more space left.
              self.eos = 0