anchor.diff:      (format stream "#<CMD-INFO ~s~{ ~a~}>"
               (command-info-pattern cmd)
               (command-info-flags cmd)))
  -  (define-condition parser-error ()
  -    ((message :reader message-of :initarg :message)))
  -  (defmethod print-object ((err parser-error) stream)
  -    (princ (message-of err) stream)))
  +
  +  (define-condition parser-error (simple-error)
  +    ((message :reader message-of :initarg :message))
  +    (:report (lambda (err stream)
  +               (princ (message-of err) stream)))))
   
   ;; "get" thing "from" container
   ;; "get" thing "from"
  
positive.code:         *commands*)))))
  
  (defmacro defcommand ((actor &rest pattern) flags &body body)
    (let* ((err (gensym "ERR"))
           (body-docstr (when (stringp (first body))
                          (prog1
                              (list (first body))
                            (setf body (rest body)))))
  
negative.code:      nil)
      (t
       (trace-msg "Single character matched")
       (values t
               (string-left-trim '(#\space) (subseq string 1))
               (rest tokens)))))
  
  (defun pattern-match-string (string tokens)
    (trace-msg "Matching string ~a in middle" (first tokens))
  