anchor.diff:      end;
   scan_string([$\n | Cs], Stack, Toks, {Line, _Col}, State,  Errors, TabWidth,FileFormat) ->
       scan_string(Cs, [$\n | Stack], Toks, {Line + 1, 1}, State, Errors, TabWidth,FileFormat);
  -scan_string([$\\,$" | Cs], Stack, Toks, {Line, Col}, State,  Errors, TabWidth,FileFormat) ->
  -    case reverse(Stack) of 
  -	[StartPos, $" |S] ->
  -	    scan(Cs, [], [{string, StartPos, S++[$\\]} | Toks],{Line, Col+2}, State, Errors, TabWidth,FileFormat);
  -	_ ->
  -	    scan_string(Cs, [$", $\\| Stack], Toks, {Line, Col+2}, State, Errors, TabWidth,FileFormat)
  -    end;
  -%% scan_string([$\\ | Cs], Stack, Toks, {Line, Col}, State,  Errors, TabWidth,FileFormat) ->
  -%%     sub_scan_escape( Cs, [fun scan_string_escape/8, $\\ | Stack], Toks, {Line, Col+1}, State, Errors, TabWidth,FileFormat);
  +scan_string([$\\ | Cs], Stack, Toks, {Line, Col}, State,  Errors, TabWidth,FileFormat) ->
  +     sub_scan_escape( Cs, [fun scan_string_escape/8, $\\ | Stack], Toks, {Line, Col+1}, State, Errors, TabWidth,FileFormat);
   scan_string([C | Cs], Stack, Toks, {Line, Col}, State, Errors, TabWidth,FileFormat) 
      when C==$\t ->
       scan_string(Cs, [C | Stack], Toks, {Line, Col+TabWidth}, State,Errors, TabWidth,FileFormat);
  
positive.code: sub_scan_escape([O1 | Cs], [Fun | Stack], Toks,
  		{Line, Col}, State, Errors, TabWidth,FileFormat)
      when O1 >= $0, O1 =< $7 ->
      Val = O1 - $0,
      Fun([Val | Cs], Stack, Toks, {Line, Col}, State,
  	Errors, TabWidth,FileFormat);
  %% \^X -> CTL-X
  sub_scan_escape([$^, C | Cs], [Fun | Stack], Toks,
  		{Line, Col}, State, Errors, TabWidth,FileFormat) ->
      Val = C band 31,
      Fun([Val | Cs], Stack, Toks, {Line, Col}, State,
  	Errors, TabWidth,FileFormat);
  sub_scan_escape([$^] = Cs, Stack, Toks, {Line, Col},
  		State, Errors, TabWidth,FileFormat) ->
  
negative.code: 		{Line, Col}, State, Errors, TabWidth,FileFormat)
      when O1 >= $0, O1 =< $7, O2 >= $0, O2 =< $7, O3 >= $0,
  	 O3 =< $7 ->
      %%Val = (O1 * 8 + O2) * 8 + O3 - 73 * $0,
      Fun([O1, O2,O3 | Cs], Stack, Toks, {Line, Col+2}, State,
  	Errors, TabWidth,FileFormat);
  sub_scan_escape([O1, O2] = Cs, Stack, Toks, {Line, Col},
  		State, Errors, TabWidth,FileFormat)
  