   (define-key svn-status-mode-map (kbd "v") 'svn-status-view-file-other-window)
   (define-key svn-status-mode-map (kbd "e") 'svn-status-toggle-edit-cmd-flag)
   (define-key svn-status-mode-map (kbd "g") 'svn-status-update)
+  (define-key svn-status-mode-map (kbd "M-s") 'svn-status-update) ;; PCL-CVS compatibility
   (define-key svn-status-mode-map (kbd "q") 'svn-status-bury-buffer)
   (define-key svn-status-mode-map (kbd "h") 'svn-status-use-history)
   (define-key svn-status-mode-map (kbd "m") 'svn-status-set-user-mark)

  (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

(defvar svn-log-edit-mode-hook nil "Hook run when entering `svn-log-edit-mode'.")
(defvar svn-log-edit-done-hook nil "Hook run after commiting files via svn.")

(defvar svn-status-coding-system nil
  "A special coding system is needed for the output of svn.
svn-status-coding-system is used in svn-run-svn, if it is not nil.")

(defvar svn-status-wash-control-M-in-process-buffers
  (eq system-type 'windows-nt)
  "*Remove any trailing ^M from the *svn-process* buffer.")
