anchor.diff:      t_l1(T, A1, A2, [type_star(H) | A3]);
   
   %% <BR /> typing
  -t_l1([[{br, P}] | T], A1, A2, A3) -> t_l1(T, A1, A2, [{br, P} | A3]);
  +t_l1([[{br, P}] | T], A1, A2, A3) ->
  +    t_l1(T, A1, A2, [{br, P} | A3]);
   
   %% Block level tags - these are look ahead they must be
  -%% on a single line (ie directly followed by a linefeed and nothing else
  +%% on a single line (ie directly followed by a lf and nothing else
   t_l1([[{{{tag, _Type}, Tag}, _} = H | T1] = List | T], A1, A2, A3) ->
       case is_blank(T1) of
           false -> t_l1(T, A1, A2, [{normal , List} | A3]);
  
positive.code:     end.
  
  type_ws1([])                        -> blank;
  type_ws1([{{linefeed, _}, _} | []]) -> blank;
  type_ws1([[] | T])                  -> type_ws1(T);
  type_ws1([{{ws, _}, _} | T])        -> type_ws1(T);
  type_ws1(_L)                        -> try_codeblock.
  
negative.code: l1([$] | T], A1, A2)       -> l1(T, [], [{{inline, close}, "]"}, l2(A1) | A2]);
  l1([?SPACE | T], A1, A2)   -> l1(T, [], [{{ws, sp}, " "}, l2(A1) | A2]);
  l1([?TAB | T], A1, A2)     -> l1(T, [], [{{ws, tab}, "\t"}, l2(A1) | A2]);
  l1([?CR, ?LF | T], A1, A2) -> l1(T, [], [{{lf, crlf}, [?CR , ?LF]}, l2(A1) | A2]);
  l1([?LF | T], A1, A2)      -> l1(T, [], [{{lf, lf}, [?LF]}, l2(A1) | A2]);
  %% this final clause accumulates line fragments
  l1([H|T], A1, A2)          -> l1(T, [H |A1] , A2).
  
  