anchor.diff:  maybe_parentheses(D,Prec,Ctxt) ->
       case Ctxt#ctxt.prec of
         P when P > Prec -> lay_parentheses(D,Ctxt);
  -      _ -> D
  +        _ -> D 
  +             %%maybe_parentheses_1(D, Node, Ctxt)
       end.
   
   maybe_parentheses_1(D, Node, Ctxt) ->
  
positive.code: 	    
  lay(Node,Ctxt) ->
      case refac_syntax:get_ann(Node) of
        [] ->
  	  %% Hooks are not called if there are no annotations.
  	  lay_1(Node,Ctxt);
        _As ->
  	  case Ctxt#ctxt.hook of
  	    ?NOHOOK -> lay_1(Node,Ctxt);
  	    Hook -> Hook(Node,Ctxt,fun lay_1/2)
  	  end
      end.
  
  %% This handles attached comments:
  
  
  lay_1(Node, Ctxt) ->
      case refac_syntax:has_comments(Node) of
  	true ->
  	    {{NodeStartLn, _}, {NodeEndLn, _}} = refac_util:get_start_end_loc(Node),
  	    D1 = lay_2(Node, Ctxt),
  	    PreCs = refac_syntax:get_precomments(Node),
  	    PostCs = refac_syntax:get_postcomments(Node),
  	    D2 = case PostCs of
  		     [] ->
  			 D1;
  		     _ ->
  			 PostCsLn = element(1, refac_syntax:get_pos(hd(PostCs))),
  			 case PostCsLn > NodeEndLn + 1 of
  			     true ->
  				 lay_postcomments(refac_syntax:get_postcomments(Node), above(D1, text("")));
  			     false ->
  				 lay_postcomments(refac_syntax:get_postcomments(Node), D1)
  			 end
  		 end,
  	    case PreCs of
  		[] -> D2;
  		_ -> LastPreC = lists:last(PreCs),
  		     PreCLn = element(1, refac_syntax:get_pos(LastPreC)),
  		     LastPreCLines = length(refac_syntax:comment_text(LastPreC)),
  		     case NodeStartLn > PreCLn + LastPreCLines of
  			 true ->
  			     lay_precomments(refac_syntax:get_precomments(Node), above(text(""), D2));
  			 false ->
  			     lay_precomments(refac_syntax:get_precomments(Node), D2)
  		     end
  	    end;
  	false ->
  	    lay_2(Node, Ctxt)
      end.
  
  %% For pre-comments, all padding is ignored.
  
  
  lay_precomments([],D) -> D;
  lay_precomments(Cs,D) ->
      above(floating(break(stack_comments(Cs,false)),-1,-1),D).
  
  %% For postcomments, individual padding is added.
  
  
  lay_postcomments([],D) -> D;
  lay_postcomments(Cs,D) ->
      beside(D,floating(break(stack_comments(Cs,true)),1,0)).
  
  %% Format (including padding, if `Pad' is `true', otherwise not)
  %% and stack the listed comments above each other,
  
  
  stack_comments([C| Cs],Pad) ->
      D = stack_comment_lines(refac_syntax:comment_text(C)),
      D1 = case Pad of
  	   true ->
  	       P = case refac_syntax:comment_padding(C) of
  		     none -> ?PADDING;
  		     P1 -> P1
  		   end,
  	       beside(text(spaces(P)),D);
  	   false -> D
  	 end,
      case Cs of
        [] ->
  	  D1;    % done
        _ -> above(D1,stack_comments(Cs,Pad))
      end;
  stack_comments([],_) -> empty().
  
  
negative.code: %% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
  %% USA
  %%
  %%
  %% $Id: refac_prettypr.erl,v 1.4 2008/04/30 09:28:12 hl Exp $
  %%
  