 normally marks all of its files as well.
 If no files have been marked, commit recursively the file at point."
   (interactive)
-  (save-some-buffers)
+  (when (member svn-status-do-prompt-for-save '(before-log-edit t))
+    (svn-status-save-some-buffers))
   (let* ((selected-files (svn-status-marked-files))
          (marked-files-p (svn-status-some-files-marked-p)))
     (setq svn-status-files-to-commit selected-files

           (when (string= (buffer-name) svn-status-buffer-name)
             (bury-buffer))))))

(defun svn-status-find-files ()
  "Open selected file(s) for editing.
See `svn-status-marked-files' for what counts as selected."

                   (and (string-match "\(.*/\)[^/]+/" dir-below)
                        (match-string 1 dir-below)))
             (setq dot-svn-dir (concat dir-below (svn-wc-adm-dir-name)))))
    (and in-tree base-dir)))

(defun svn-status-save-state ()
  "Save psvn persistent options for this working copy to a file."
