anchor.diff:  
   float_end(Cs, St, Line, Col, Toks, Ncs0) ->
       Ncs = lists:reverse(Ncs0),
  -    case catch list_to_float(Ncs) of
  +    case catch list_to_float(remove_digit_separators(Ncs)) of
           F when is_float(F) ->
               tok3(Cs, St, Line, Col, Toks, float, Ncs, F);
           _ ->
  
positive.code: 
  scan_fraction([C|Cs], St, Line, Col, Toks, Ncs) when ?DIGIT(C) ->
      scan_fraction(Cs, St, Line, Col, Toks, [C|Ncs]);
  scan_fraction([$_|Cs], St, Line, Col, Toks, Ncs) ->
      scan_fraction(Cs, St, Line, Col, Toks, Ncs);
  scan_fraction([E|Cs], St, Line, Col, Toks, Ncs) when E =:= $e; E =:= $E ->
      scan_exponent_sign(Cs, St, Line, Col, Toks, [E|Ncs]);
  scan_fraction([]=Cs, _St, Line, Col, Toks, Ncs) ->
  
negative.code:     {more,{Cs,Col,Toks,Line,Ncs,fun scan_number/6}};
  scan_number(Cs, St, Line, Col, Toks, Ncs0) ->
      Ncs = lists:reverse(Ncs0),
      case catch list_to_integer(remove_digit_separators(Ncs)) of
          N when is_integer(N) ->
              tok3(Cs, St, Line, Col, Toks, integer, Ncs, N);
          _ ->
  