anchor.diff:  sub_scan_escape([O1, O2 | Cs], [Fun | Stack], Toks,
   		{Line, Col}, State, Errors, TabWidth,FileFormat)
       when O1 >= $0, O1 =< $7, O2 >= $0, O2 =< $7 ->
  -    Val = O1 * 8 + O2 - 9 * $0,
  -    Fun([Val | Cs], Stack, Toks, {Line, Col+1}, State,
  +    %% Val = O1 * 8 + O2 - 9 * $0,
  +    Fun([O1, O2 | Cs], Stack, Toks, {Line, Col+1}, State,
   	Errors, TabWidth,FileFormat);
   sub_scan_escape([O1] = Cs, Stack, Toks, {Line, Col},
   		State, Errors, TabWidth,FileFormat)
  
positive.code:     end;
  scan_dot([$\n | Cs], _Stack, Toks, {Line, Col}, State, Errors, TabWidth,FileFormat) ->
      done(Cs, Errors, [{whitespace, {Line, Col+1}, '\n'}, {dot, {Line, Col}} | Toks], {Line + 1, 1}, State, TabWidth,FileFormat);
  scan_dot([C | Cs], _Stack, Toks, {Line, Col}, State, Errors, TabWidth,FileFormat)
    when C >= $\000, C =< $\s ->
      done(Cs, Errors, [{whitespace, {Line,Col+1}, '\s'}, {dot, {Line, Col}} | Toks],{Line, Col + 2}, State, TabWidth,FileFormat);
  
negative.code:     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) ->
      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);
  