             (if set-mark
                 (message "marking: %s" i-fname)
               (message "unmarking: %s" i-fname))
-            (setcar (car st-info) set-mark))))
+            (setcar (car st-info) set-mark)
+            (save-excursion
+              (let ((buffer-read-only nil))
+                (goto-line current-line)
+                (delete-region (point-at-bol) (point-at-eol))
+                (svn-insert-line-in-status-buffer (car st-info))
+                (delete-char 1))))))
       (setq st-info (cdr st-info)))
-    (svn-status-update-buffer)
+    ;;(svn-status-update-buffer)
     (svn-status-goto-file-name newcursorpos-fname)))
 
 (defun svn-status-unset-all-usermarks ()

         (line-info (svn-status-get-line-information))
         (file-name (svn-status-line-info->filename line-info))
         (newcursorpos-fname)
         (i-fname))
    (while st-info
      (setq i-fname (svn-status-line-info->filename (car st-info)))
      (when (and (>= (length i-fname) (length file-name))
                 (string= file-name (substring i-fname 0 (length file-name))))

(defvar svn-status-default-author-width 9)
(defvar svn-status-line-format " %c%c %4s %4s %-9s")
(defvar svn-status-short-mod-flag-p t)
(defvar svn-start-of-file-list-line-number 0)
(defvar svn-status-files-to-commit nil)
(defvar svn-status-pre-commit-window-configuration nil)
(defvar svn-status-pre-propedit-window-configuration nil)
