anchor.diff:  scan_string([], Stack, Toks, {Line, Col}, State, Errors, TabWidth,FileFormat) ->
       more([], Stack, Toks, {Line, Col}, State, Errors, TabWidth, FileFormat, fun scan_string/8);
   scan_string(Eof, Stack, _Toks, {Line, Col}, State, Errors, TabWidth,FileFormat) ->
  -    [StartPos, $" | S] = reverse(Stack),
  +     [StartPos, $" | S] = reverse(Stack),
       SS = string:substr(S, 1, 16),
       done(Eof, [{{string, $", SS}, StartPos} | Errors], [],
   	 {Line, Col}, State, TabWidth,FileFormat).
  
positive.code: scan_string_escape([nl | Cs], Stack, Toks, {Line, _Col}, State, Errors, TabWidth,FileFormat) ->
      scan_string(Cs, [$\n | Stack], Toks, {Line + 1, 1}, State, Errors, TabWidth,FileFormat);
  scan_string_escape([C | Cs], Stack, Toks, {Line, Col}, State, Errors, TabWidth,FileFormat) ->
      scan_string(Cs, [C, $\\| Stack], Toks, {Line, Col+1}, State, Errors, TabWidth,FileFormat);
  scan_string_escape(Eof, Stack, _Toks, {Line, Col},State, Errors, TabWidth,FileFormat) ->
      [StartPos, $" | S] = reverse(Stack),
      SS = string:substr(S, 1, 16),
  
negative.code: name_char(_) -> false.
  
  scan_char([$\\ | Cs], Stack, Toks, {Line, Col}, State, Errors, TabWidth,FileFormat) ->
      sub_scan_escape(Cs, [fun scan_char_escape/8, $\\ | Stack], Toks, {Line, Col}, State, Errors, TabWidth,FileFormat);
  scan_char([$\n | Cs], Stack, Toks, {Line, Col}, State,  Errors, TabWidth,FileFormat) ->
      scan(Cs, Stack, [{char, {Line, Col}, $\n} | Toks], {Line + 1, Col}, State, Errors, TabWidth,FileFormat);
  scan_char([], Stack, Toks, {Line, Col}, State, Errors, TabWidth,FileFormat) ->
  