 		    (svn-propedit "edit properties")))
 		 (svn-format-help-column
 		  '((svn-mark-forward "mark and go down")
-		    (svn-unmark-backward "unmark and go up")
+		    (svn-unmark-backward "go up and unmark")
 		    (svn-unmark-forward  "unmark and go down")
 		    (svn-toggle-mark "toggle mark")
 		    (svn-unmark-all "unmark all")))

  ;; non-recursively. To compensate, filter the status output through a list
  ;; of files and directories we are interested in.

  (make-local-variable 'svn-status-v-file-match)
  (setq svn-status-v-file-match
	(if recursive
	    nil
	  (mapcar (lambda (file)
		    ;; trim trailing slash for directory comparison to work
		    (if (equal (substring file -1) "/")
			(substring file 0 -1)
		      file))
		  files)))
  (let ((flag (if recursive nil '("-N"))))
    (svn-run 'status-v (append flag files))))

(defun svn-refresh-file ()
  "Run `svn status' on the selected files."

             (eq (process-status (cadr svn-running)) 'run))
    (error "Can't run two svn processes from the same buffer")))

(defun svn-run-async (command args &optional file-filter)
  "Run subversion command COMMAND with ARGS, possibly at a later time.

Optional third argument FILE-FILTER is the file filter to be in effect
during the run."

  (if (and svn-running
           (eq (process-status (cadr svn-running)) 'run))
      (setq svn-todo-queue
	    (nconc svn-todo-queue
		   (list (list command args file-filter))))
    (progn
      (set (make-local-variable 'svn-file-filter) file-filter)
      (svn-run command args))))

;; This could be used to debug filter functions
(defvar svn-output-queue nil)
(defvar svn-in-output-filter nil)
