   (define-key svn-status-mode-map [?a] 'svn-status-add-file)
   (define-key svn-status-mode-map [?+] 'svn-status-make-directory)
   (define-key svn-status-mode-map (kbd "R") 'svn-status-mv)
+  ;; TODO: Move `svn-status-rm' to "D", matching Dired of GNU Emacs?
   (define-key svn-status-mode-map "\C-d" 'svn-status-rm)
   (define-key svn-status-mode-map [?c] 'svn-status-commit-file)
   (define-key svn-status-mode-map [(meta ?c)] 'svn-status-cleanup)

(when (not svn-status-mode-map)
  (setq svn-status-mode-map (make-sparse-keymap))
  (suppress-keymap svn-status-mode-map)
  (define-key svn-status-mode-map (kbd "<return>") 'svn-status-find-file-or-examine-directory)
  (define-key svn-status-mode-map (kbd "^") 'svn-status-examine-parent)
  (define-key svn-status-mode-map [?s] 'svn-status-show-process-buffer)
  (define-key svn-status-mode-map [?f] 'svn-status-find-file)

  (define-key svn-status-mode-property-map [?e] 'svn-status-property-edit-one-entry)
  (define-key svn-status-mode-property-map [?i] 'svn-status-property-ignore-file)
  (define-key svn-status-mode-property-map [?I] 'svn-status-property-ignore-file-extension)
  ;; XEmacs 21.4.15 on TTY (vt420) converts `C-i' to `TAB',
  ;; which [(control ?i)] won't match.  Handle it separately.
  ;; On GNU Emacs, the following two forms bind the same key,
  ;; reducing clutter in `where-is'.
  (define-key svn-status-mode-property-map [(control ?i)] 'svn-status-property-edit-svn-ignore)
  (define-key svn-status-mode-property-map (kbd "TAB") 'svn-status-property-edit-svn-ignore)
  (define-key svn-status-mode-property-map [?k] 'svn-status-property-set-keyword-list)
  (define-key svn-status-mode-property-map [?y] 'svn-status-property-set-eol-style)
  (define-key svn-status-mode-property-map [?p] 'svn-status-property-parse)
  ;; TODO: Why is `svn-status-select-line' in `svn-status-mode-property-map'?
  (define-key svn-status-mode-property-map (kbd "RET") 'svn-status-select-line)
  (define-key svn-status-mode-map [?P] svn-status-mode-property-map))


