   (interactive)
   (require 'mailcap nil t)
   (let ((completion-ignore-case t)
-        (completion-function (if svn-status-use-ido-completion
-                                 'ido-completing-read
-                               'completing-read))
         (mime-types (when (fboundp 'mailcap-mime-types)
                       (mailcap-mime-types))))
     (svn-status-property-set-property
      (svn-status-marked-files) "svn:mime-type"
-     (funcall completion-function "Set svn:mime-type for the marked files: "
+     (funcall (svn-status-completion-function) "Set svn:mime-type for the marked files: "
               (mapcar (lambda (x) (cons x x)) ; for Emacs 21
                       (sort mime-types 'string<))))))
 

  (svn-status default-directory arg))

(defun svn-status-use-history ()
  (interactive)
  (let* ((hist svn-status-directory-history)
         (dir (read-from-minibuffer "svn-status on directory: "
                              (cadr svn-status-directory-history)
                              nil nil 'hist)))
    (if (file-directory-p dir)
        (svn-status dir)
      (error "%s is not a directory" dir))))

(defun svn-had-user-input-since-asynch-run ()

(defvar svn-status-track-user-input nil "Track user/password queries.
This feature is implemented via a process filter.
It is an experimental feature.")

(defvar svn-status-refresh-info nil "Whether `svn-status-update-buffer' should call `svn-status-parse-info'.")

;;; Customize group
(defgroup psvn nil
