anchor.diff:    (:implementation sbcl
       (ql-sbcl:rmdir entry)))
   
  +(defimplementation (delete-directory :qualifier :around) (directory)
  +  ;; Don't delete non-directories with delete-directory
  +  (if (directoryp directory)
  +      (call-next-method)
  +      (error "delete-directory - not a directory -- ~A" directory)))
  +
   (definterface delete-directory-tree (pathname)
     (:documentation "Delete the directory tree rooted at PATHNAME.")
     (:implementation t
  
positive.code:     (directory (merge-pathnames *wild-entry* directory)
                 #+sbcl :resolve-symlinks #+sbcl nil)))
  
  (definterface directoryp (entry)
    (:documentation "Return true if ENTRY refers to a directory.")
    (:implementation t
      (not (or (pathname-name entry)
               (pathname-type entry)
               (pathname-version entry))))
    (:implementation allegro
      (ql-allegro:file-directory-p entry))
    (:implementation lispworks
      (ql-lispworks:file-directory-p entry)))
  
  (definterface delete-directory (entry)
    (:documentation "Delete the directory ENTRY. Might signal an error
  
negative.code:   (:implementation ccl
      (ql-ccl:delete-directory pathname)))
  
  (defimplementation (delete-directory-tree :qualifier :around) (pathname)
    (if (directoryp pathname)
        (call-next-method)
        (progn
          (warn "delete-directory-tree - not a directory, ~
                 deleting anyway -- ~s" pathname)
          (delete-file pathname))))
  
  