anchor.diff:    (when (probe-file (orca-path "data/mtg.lisp"))
       (with-open-file (inf (orca-path "data/mtg.lisp")
                            :direction :input)
  -      (setf *magic-players* (read inf))
  -      (setf *magic-matches* (read inf)))))
  +      (setf *magic-players* (read inf nil))
  +      (setf *magic-matches* (read inf nil))
  +      (setf *magic-locked* (read inf nil)))))
   
   (defun save-tournament ()
     (with-open-file (ouf (orca-path "data/mtg.lisp")
  
positive.code:                        :if-exists :supersede
                         :if-does-not-exist :create)
      (print *magic-players* ouf)
      (print *magic-matches* ouf)))
  
  (define-admin-command mreset (message directp)
    (reset-tournament))
  
  (define-fun-command madd (message directp &rest nicks)
    (let ((old-player-len (length *magic-players*)))
      (add-magic-players nicks)
      (reply-to message "added ~d players" (- (length *magic-players*)
                                              old-player-len))))
  
  (define-fun-command mdrop (message directp &rest nicks)
    (let ((old-player-len (length *magic-players*)))
      (drop-magic-players nicks)
      (reply-to message "dropped ~d players" (- old-player-len
                                                (length *magic-players*)))))
  
  (define-fun-command mmatch (message directp winner loser)
    (cond
  
negative.code: 
  (defvar *magic-players* nil)
  (defvar *magic-matches* nil)
  (defvar *magic-locked* nil)
  
  (defun magic-wins-of (nick)
    (count-if (lambda (match)
  