anchor.diff:  %% The following directive is needed for (significantly) faster
   %% compilation of the generated .erl file by the HiPE compiler
   -compile([{hipe, [{regalloc, linear_scan}]}]).
  +-compile({inline, meta_from_token/1, meta_from_location/1, line_from_location/1}).
   -import(lists, [reverse/1, reverse/2]).
  +
  +meta_from_token_with_endline(Begin, End) ->
  +  case ?formatter_metadata() of
  +    true ->
  +      [{line, line_from_location(?location(Begin))},
  +       {end_line, line_from_location(?location(End))}];
  +    false ->
  +      meta_from_token(Begin)
  +  end.
   
   meta_from_token(Token) ->
     meta_from_location(?location(Token)).
   
  -meta_from_location({Line, {_Column, _EndColumn}, _}) when is_integer(Line) ->
  -  [{line, Line}].
  +meta_from_location(Location) ->
  +  [{line, line_from_location(Location)}].
  +
  +line_from_location({Line, {_Column, _EndColumn}, _}) when is_integer(Line) ->
  +  Line.
   
   %% Handle metadata in literals
   
  
positive.code: access_expr -> bracket_at_expr : '$1'.
  access_expr -> bracket_expr : '$1'.
  access_expr -> capture_op_eol int : build_unary_op('$1', number_value('$2')).
  access_expr -> fn_eoe stab end_eoe : build_fn('$1', reverse('$2')).
  access_expr -> open_paren stab close_paren : build_stab(reverse('$2')).
  access_expr -> open_paren stab ';' close_paren : build_stab(reverse('$2')).
  access_expr -> open_paren ';' stab ';' close_paren : build_stab(reverse('$3')).
  access_expr -> open_paren ';' stab close_paren : build_stab(reverse('$3')).
  access_expr -> open_paren ';' close_paren : build_stab([]).
  access_expr -> empty_paren : warn_empty_paren('$1'), nil.
  access_expr -> number : '$1'.
  access_expr -> list : element(1, '$1').
  
negative.code: build_stab([{'->', Meta, [Left, Right]} | T]) ->
    build_stab(Meta, T, Left, [Right], []);
  
  build_stab(Other) ->
    build_block(Other).
  
  build_stab(Before, Stab, After) ->
    case build_stab(Stab) of
      {'__block__', _, Block} ->
        {'__block__', meta_from_token_with_endline(Before, After), Block};
      Other ->
        Other
    end.
  
  build_stab(Old, [{'->', New, [Left, Right]} | T], Marker, Temp, Acc) ->
    H = {'->', Old, [Marker, build_block(reverse(Temp))]},
  