anchor.diff:  list_synopsis(#state{ cmds=[] }) -> [];
   list_synopsis(#state{ cmds=Cmds }) -> 
       "I also respond to these commands:\r\n"
  -        ++ string:join([S || #cmd{ synopsis=S } <- Cmds], ", ").
  +        ++ string:join([S || #cmd{ synopsis=S } <- Cmds], "\n").
   
   reply(Message, State) ->    
       {#yabot_msg{ message=Message }, State}.
  
positive.code: 
  cmd_string(Exec, Args) ->
      string:join(
        [Exec|[os_escape(Arg) || Arg <- [Args]]],
        " "
       ).
  
  
negative.code:     reply(
        case args_ok(Spec, length(Args)) of
            ok ->
                OsCmd = cmd_string(Exec, Args),
                io:format("~s exec: ~s~n", [?MODULE, OsCmd]),
                os:cmd(OsCmd);
            Oops ->
                io_lib:format("~s~nusage: ~s", [Oops, Cmd#cmd.synopsis])
        end,
  