     (when arg
       (setq rev-arg (read-string "Revision for changeset: " rev-arg)))
     (svn-run-svn nil t 'diff "diff" (concat "-r" rev-arg))
-    (svn-status-diff-mode)))
+    (svn-status-activate-diff-mode)))
 
 (defun svn-log-edit-log-entry ()
   "Edit the given log entry."

  (define-key svn-global-keymap (kbd "u") 'svn-status-update-cmd)
  (define-key svn-global-keymap (kbd "=") 'svn-status-show-svn-diff)
  (define-key svn-global-keymap (kbd "c") 'svn-status-commit))

(defvar svn-global-trac-map ()
  "Subkeymap used in `svn-global-keymap' for trac issue tracker commands.")

      ;; the user would have marked them if he wanted them to be compared.
      ;; So we'll look for the "Index: foo" line that marks the first file
      ;; in the diff output, and delete it and everything that follows.
      ;; This is made more complicated by the fact that `svn-status-activate-diff-mode'
      ;; expects the output to be left in the *svn-process* buffer.
      (unless recursive
        ;; Check `directory-p' relative to the `default-directory' of the
