 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."


(defun svn-log-edit-done ()
  (interactive)
  (when (member svn-status-do-prompt-for-save '(before-commit t))
    (svn-status-save-some-buffers))
  (save-excursion
    (set-buffer (get-buffer "*svn-log-edit*"))
    (when svn-log-edit-insert-files-to-commit
