         (len-fname)
         (new-elide-mark t)
         (elide-mark))
+    (if (member test svn-status-elided-list)
+        (setq svn-status-elided-list (delete test svn-status-elided-list))
+      (add-to-list 'svn-status-elided-list test))
     (when (string= test ".")
       (setq test ""))
     (setq len-test (length test))

(defvar svn-status-options nil)
(defvar svn-status-commit-rev-number nil)
(defvar svn-status-operated-on-dot nil)

;;; faces
(defface svn-status-marked-face

          (message "Elide directory %s and all its files." fname)
          (setq new-elide-mark (not (svn-status-line-info->user-elide (car st-info))))
          (setq elide-mark (if new-elide-mark 'directory nil)))
        ;;(message "elide-mark: %S member: %S" elide-mark (member fname svn-status-elided-list))
        (when (and (member fname svn-status-elided-list) (not elide-mark))
          (setq svn-status-elided-list (delete fname svn-status-elided-list)))
        (setcar (nthcdr 1 (svn-status-line-info->ui-status (car st-info))) elide-mark))
      (setq st-info (cdr st-info))))
  ;;(message "svn-status-elided-list: %S" svn-status-elided-list)
  (svn-status-update-buffer))

(defun svn-status-apply-elide-list ()
  "Elide files/directories according to `svn-status-elided-list'."
  (interactive)
  (let ((st-info svn-status-info)
        (fname)
        (len-fname)
        (test)
        (len-test)
        (elide-mark))
    (while st-info
      (setq fname (svn-status-line-info->filename (car st-info)))
      (setq len-fname (length fname))
      (setq elided-list svn-status-elided-list)
      (setq elide-mark nil)
      (while elided-list
        (setq test (car elided-list))
        (when (string= test ".")
          (setq test ""))
        (setq len-test (length test))
        (when (and (>= len-fname len-test)
                   (string= (substring fname 0 len-test) test))
          (setq elide-mark t)
          (when (or (string= fname ".")
                    (and (= len-fname len-test) (svn-status-line-info->directory-p (car st-info))))
            (setq elide-mark 'directory)))
        (setq elided-list (cdr elided-list)))
      ;;(message "fname: %s elide-mark: %S" fname elide-mark)
      (setcar (nthcdr 1 (svn-status-line-info->ui-status (car st-info))) elide-mark)
      (setq st-info (cdr st-info))))
  (svn-status-update-buffer))

