In prog-modes/diff-mode.el
;; XEmacs change: no autoload for this for the transition period
(defadvice vc-backend-diff (around diff-mode-vc activate)
  ;; BEWARE!! when this is autoloaded, CL might not be available
  (condition-case ()
      (with-current-buffer "*vc-diff*" (setq buffer-read-only nil))
    (error nil))
  ad-do-it
  (condition-case ()
      (with-current-buffer "*vc-diff*"
	(if (memq major-mode '(fundamental-mode diff-mode)) (diff-mode)))
    (error nil)))
The above breaks when the default-major-mode is something other
than fundamental-mode.  As when:
  (setq default-major-mode 'text-mode)
Please consider changing this to:
   ...
   (if (or (eq major-mode default-major-mode) 
           (memq major-mode '(fundamental-mode diff-mode)))
       (diff-mode))
-jeff