anchor.diff:      case string:tokens(Info, " ") of
           [Target, Command] ->
               Cmd#cmd{name=error,
  +                    target=Target,
                       args=[{code, Code},
  -                          {target, Target},
                             {command, Command},
                             {text, Text}]}
       end.
   
   
  -
  -parse_notice(Cmd, [Facility, Text]) ->
  -    Cmd#cmd{args = [{facility, Facility}, {text, Text}]}.
  -
  -
  -
  +%%--------------------------------------------------------------------
  +parse_notice(Cmd, [Target, Text]) ->
  +    Cmd#cmd{args = [{text, Text}], target=Target};
  +parse_notice(Cmd, [Target | Text]) ->
  +    Cmd#cmd{target = string:strip(Target, right, $\s),
  +            args = [{text, irc_parser:join($:, Text)}]}.
  +
  +%%--------------------------------------------------------------------
   parse_server(Cmd, Args) when is_list(Args) ->
       parse_server(Cmd, irc_parser:split($:, Args));
   parse_server(Cmd, {Args,Description}) ->
  
positive.code: parse_line_8_test() ->
      ?assertMatch(X when is_record(X, cmd),
                   parse_line("AC N shinsterw 1 1167197569 sian leibniz.catalyst.net.nz DKTvAH ACAE[ :shinster\r\n")).
  
negative.code:                          mode="",
                           description=Description}}.
  
  %%--------------------------------------------------------------------
  parse_burst(Cmd, [Name, ChanTS, "+" ++ ChanMode, UserData]) ->
      parse_burst_userdata(Cmd#cmd{target=#chan{name=Name,
                                                chan_ts=ChanTS,
  