anchor.diff:                  D2 = lay(Arg, Ctxt1),
                   beside(D1, beside(text(":"), D2));
         	try_expr ->
  -	   Ctxt1 = reset_check_bracket(reset_prec(Ctxt)),
  -     Body = wrangler_syntax:try_expr_body(Node),
  -     {BodyStart, BodyEnd} = get_start_end_loc(Body),
  -     TryLoc = get_keyword_loc_before('try', Ctxt1, BodyStart),
  -     Bs =seq(Body,floating(text(",")),Ctxt1,fun lay/2),
  -     D1 = lay_body_elems(Bs, Body, Ctxt1),
  -     {_NodeStart, NodeEnd} = get_start_end_loc(Node),
  -     EndLoc = get_keyword_loc_before('end', Ctxt1, NodeEnd),
  -     Es0 = [{text("end"), {EndLoc, NodeEnd}}],
  -     Es1 = {append_leading_keyword("try", D1, Body, Ctxt1), {TryLoc, BodyEnd}},
  -     Es2 = case wrangler_syntax:try_expr_after(Node) of
  -	       [] -> Es0;
  -	       As ->
  -		   AsDocs= seq(As,floating(text(",")),Ctxt1,fun lay/2),
  -		   D2 = lay_elems(fun wrangler_prettypr_0:sep/1, AsDocs, As, Ctxt),
  -		   {AsStart, AsEnd} = get_start_end_loc(As),
  -		   AfterLoc=get_keyword_loc_before('after', Ctxt1, AsStart),
  -		   [{append_leading_keyword("after", D2, As, Ctxt1), {AfterLoc, AsEnd}}
  -		    |Es0]
  -	   end,
  -     Es3 = case wrangler_syntax:try_expr_handlers(Node) of
  -	       [] -> Es2;
  -	       Hs ->
  -		   D3 = lay_clauses(Hs,try_expr,Ctxt1),
  -		   {HsStart, HsEnd} = get_start_end_loc(Hs),
  -		   CatchLoc = get_keyword_loc_before('catch', Ctxt1, HsStart),
  -		   [{append_leading_keyword("catch", D3, Hs, Ctxt1), {CatchLoc, HsEnd}}|Es2]
  -	   end,
  -     case wrangler_syntax:try_expr_clauses(Node) of
  -	 [] ->
  -	     lay_body_elems_2([Es1|Es3],Ctxt1,[],{{1,1},{1,1}});
  -	 Cs ->
  -             D4 = lay_clauses(Cs, try_expr, Ctxt1),
  -	     {CsStart, CsEnd} = get_start_end_loc(Cs),
  -             OfLoc=get_keyword_loc_before('of', Ctxt1, CsStart),
  -             Es4 = {append_leading_keyword("of", D4, Cs, Ctxt1),{OfLoc, CsEnd}},
  -             lay_body_elems_2([Es1,Es4|Es3], Ctxt1, [], {{1,1},{1,1}})
  -     end;
  +                Ctxt1 = reset_check_bracket(reset_prec(Ctxt)),
  +                Body = wrangler_syntax:try_expr_body(Node),
  +                {BodyStart, BodyEnd} = get_start_end_loc(Body),
  +                TryLoc = get_keyword_loc_before('try', Ctxt1, BodyStart),
  +                Bs =seq(Body,floating(text(",")),Ctxt1,fun lay/2),
  +                D1 = lay_body_elems(Bs, Body, Ctxt1),
  +                {_NodeStart, NodeEnd} = get_start_end_loc(Node),
  +                EndLoc = get_keyword_loc_before('end', Ctxt1, NodeEnd),
  +                Es0 = [{text("end"), {EndLoc, NodeEnd}}],
  +                Es1 = case wrangler_syntax:try_expr_clauses(Node) of 
  +                          [] ->
  +                              {append_leading_keyword("try", D1, Body, Ctxt1), {TryLoc, BodyEnd}};
  +                          _ ->
  +                              {append_keywords("try", "of", D1, Body, Ctxt1), {TryLoc, BodyEnd}}
  +                      end,
  +                Es2 = case wrangler_syntax:try_expr_after(Node) of
  +                          [] -> Es0;
  +                          As ->
  +                              AsDocs= seq(As,floating(text(",")),Ctxt1,fun lay/2),
  +                              D2 = lay_elems(fun wrangler_prettypr_0:sep/1, AsDocs, As, Ctxt),
  +                              {AsStart, AsEnd} = get_start_end_loc(As),
  +                              AfterLoc=get_keyword_loc_before('after', Ctxt1, AsStart),
  +                              [{append_leading_keyword("after", D2, As, Ctxt1), {AfterLoc, AsEnd}}
  +                               |Es0]
  +                      end,
  +                Es3 = case wrangler_syntax:try_expr_handlers(Node) of
  +                          [] -> Es2;
  +                          Hs ->
  +                              D3 = lay_clauses(Hs,try_expr,Ctxt1),
  +                              {HsStart, HsEnd} = get_start_end_loc(Hs),
  +                             CatchLoc = get_keyword_loc_before('catch', Ctxt1, HsStart),
  +                              [{append_leading_keyword("catch", D3, Hs, Ctxt1), {CatchLoc, HsEnd}}|Es2]
  +                      end,
  +                case wrangler_syntax:try_expr_clauses(Node) of
  +                    [] ->
  +                        lay_body_elems_2([Es1|Es3],Ctxt1,[],{{1,1},{1,1}});
  +                    Cs ->
  +                        D4 = nest(Ctxt#ctxt.break_indent,lay_clauses(Cs, try_expr, Ctxt1)),
  +                        {CsStart, CsEnd} = get_start_end_loc(Cs),
  +                        Es4={D4, {CsStart, CsEnd}},
  +                        lay_body_elems_2([Es1,Es4|Es3], Ctxt1, [], {{1,1},{1,1}})
  +                end;
   	char ->
   	   V = wrangler_syntax:char_value(Node),
   	   case is_integer(V) and (V > 127) of
  
positive.code: 		 tokens = wrangler_misc:get_toks(Form)},
      OrigFormStr=wrangler_misc:concat_toks(wrangler_misc:get_toks(Form)),
      NewFormStr0= print_form(Form,reset_prec(Ctxt),fun lay/2),
      NewFormStr=repair_new_form_str(OrigFormStr, NewFormStr0, TabWidth,FileFormat),
      {ok, OrigToks, _} = wrangler_scan:string(OrigFormStr),
      {ok, NewToks, _} = wrangler_scan:string(NewFormStr),
      Change =get_changes(OrigToks, NewToks),
      {NewFormStr, Change}.
     
  
  get_changes(OrigToks, NewToks) ->
      OrigToks1 = remove_locs_whites_and_comments(OrigToks),
      NewToks1 = remove_locs(NewToks),
  
negative.code:                              false when OfStartLn/=0->
                                   above(CaseArgOfD, nest(CsStartCol-CaseStartCol, D2));
                               _->
                                   above(CaseArgOfD, nest(Ctxt1#ctxt.break_indent, D2))
                           end,
              CsEndLoc={CsEndLn, _CsEndCol} = get_end_loc_with_comment(lists:last(Cs)),
              {EndStartLn, _EndStartCol} = get_keyword_loc_after("end", Ctxt, CsEndLoc),
  