anchor.diff:                                :test #'string-equal))
                     (or (not (member :modules patterns))
                         (member (name-of module)
  -                              (getf patterns :modules))))
  +                              (getf patterns :modules)))
  +                  (or (null command)
  +                      (not (member :commands patterns))
  +                      (member command
  +                              (getf patterns :commands))))
            (return-from access-denied
              (if (eql consequence 'allow)
                  nil
  
positive.code:                         (source message)
                          cmd))
                (t
                  (handle-command cmd-module (intern (string-upcase cmd) (find-package "ORCA")) message args)))))
          ;; CMD-MODULE is NIL if the command was not found
          cmd-module))))
  
  
negative.code:                                             :test #'string=))
                                    *orca-modules*)))
          (when cmd-module
            (let* ((cmd-sym (intern (string-upcase cmd) (find-package "ORCA")))
                   (denied (access-denied cmd-module message cmd-sym)))
              (cond
                (denied
                  (funcall denied message)
  