docs: def split_unescaped(char, string, include_empty_strings=False):
      '''
      :param char: The character on which to split the string
      :type char: string
      :param string: The string to split
      :type string: string
      :returns: List of substrings of *string*
      :rtype: list of strings
  
      Splits *string* whenever *char* appears without an odd number of
      backslashes ('\\') preceding it, discarding any empty string
      elements.
  
      '''
      words = []
      pos = len(string)
      lastpos = pos
      while pos >= 0:
          pos = get_last_pos_of_char(char, string[:lastpos])
          if pos >= 0:
              if pos + 1 != lastpos or include_empty_strings:
                  words.append(string[pos + 1: lastpos])
              lastpos = pos
      if lastpos != 0 or include_empty_strings:
          words.append(string[:lastpos])
      words.reverse()
      return words