 ;; is run. Currently you have to toggle this variable manually.
 ;; This buffer uses svn-status mode in which the following keys are defined:
 ;; g     - svn-status-update:               run 'svn status -v'
+;; M-s   - svn-status-update:               run 'svn status -v'
 ;; C-u g - svn-status-update:               run 'svn status -vu'
 ;; =     - svn-status-show-svn-diff         run 'svn diff'
 ;; l     - svn-status-show-svn-log          run 'svn log'

  (if (<= level svn-status-debug-level)
      (apply 'message args)))

;; taken from esh-util: eshell-for
(defmacro svn-status-for (for-var for-list &rest forms)
  "Iterate through a list"
  `(let ((list-iter ,for-list))
     (while list-iter
       (let ((,for-var (car list-iter)))
         ,@forms)
       (setq list-iter (cdr list-iter)))))
(put 'svn-status-for 'lisp-indent-function 2)

;; taken from esh-util: eshell-flatten-list
(defun svn-status-flatten-list (args)
  "Flatten any lists within ARGS, so that there are no sublists."
  (let ((new-list (list t)))
    (svn-status-for a args
      (if (and (listp a)
               (listp (cdr a)))
          (nconc new-list (svn-status-flatten-list a))
        (nconc new-list (list a))))
    (cdr new-list)))

(defvar svn-status-display-new-status-buffer nil)
;;;###autoload


If the variable `svn-status-edit-svn-command' is non-nil then the user
is prompted for give extra arguments, which are appended to ARGLIST."
  (setq arglist (svn-status-flatten-list arglist))
  (if (eq (process-status "svn") nil)
      (progn
        (when svn-status-edit-svn-command
