original_docstring: Determine whether string argument 'term' appears one or more times in
      string argument 'specstr' as a proper symbol (not just as part of a longer
      symbol string or a number).
      
docstring: Determine whether string argument 'term' appears one or more times in
  string argument 'specstr' as a proper symbol (not just as part of a longer
  symbol string or a number).
docstring_tokens: Determine whether string argument ' term ' appears one or more times in string argument ' specstr ' as a proper symbol ( not just as part of a longer symbol string or a number ) .
code: def proper_match(specstr, term):
      """Determine whether string argument 'term' appears one or more times in
      string argument 'specstr' as a proper symbol (not just as part of a longer
      symbol string or a number).
      """
      ix = 0
      term_len = len(term)
      while ix < len(specstr) and term_len > 0:
          found_ix = specstr[ix:].find(term)
          pos = found_ix + ix
          if found_ix > -1:
              try:
                  if specstr[pos + term_len] not in [')', '+', '-', '/', '*', ' ',
                                            ']', ',', '<', '>', '=', '&', '^']:
                      # then term continues with additional name characters:
                      # no match after all
                      ix = pos + term_len
                      continue
              except IndexError:
                  # no other chars remaining, so doesn't matter
                  pass
              if isNumericToken(term):
                  # have to be careful that we don't replace part
                  # of another number, e.g. origterm == '0'
                  # with repterm == 'abc', and the numeric literal '130'
                  # appears in specstr. The danger is that we'd end up
                  # with new specstr = '13abc'
                  if specstr[pos-1] in num_chars + ['.', 'e'] or \
                     specstr[pos + term_len] in num_chars + ['.', 'e']:
                      ix = pos + term_len
                      continue
              return True
          else:
              break
      return False
code_tokens: def proper_match ( specstr , term ) : ix = 0 term_len = len ( term ) while ix < len ( specstr ) and term_len > 0 : found_ix = specstr [ ix : ] . find ( term ) pos = found_ix + ix if found_ix > - 1 : try : if specstr [ pos + term_len ] not in [ ')' , '+' , '-' , '/' , '*' , ' ' , ']' , ',' , '<' , '>' , '=' , '&' , '^' ] : ix = pos + term_len continue except IndexError : pass if isNumericToken ( term ) : if specstr [ pos - 1 ] in num_chars + [ '.' , 'e' ] or specstr [ pos + term_len ] in num_chars + [ '.' , 'e' ] : ix = pos + term_len continue return True else : break return False
short_docstring: Determine whether string argument 'term' appears one or more times in
  string argument 'specstr' as a proper symbol (not just as part of a longer
  symbol string or a number).
short_docstring_tokens: Determine whether string argument ' term ' appears one or more times in string argument ' specstr ' as a proper symbol ( not just as part of a longer symbol string or a number ) .
comment: """Determine whether string argument 'term' appears one or more times in
      string argument 'specstr' as a proper symbol (not just as part of a longer
      symbol string or a number).
      """$SEP$# then term continues with additional name characters:$SEP$# no match after all$SEP$# no other chars remaining, so doesn't matter$SEP$# have to be careful that we don't replace part$SEP$# of another number, e.g. origterm == '0'$SEP$# with repterm == 'abc', and the numeric literal '130'$SEP$# appears in specstr. The danger is that we'd end up$SEP$# with new specstr = '13abc'