diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el index 2dbab80208..9cdd732923 100644 --- a/lisp/vc/diff-mode.el +++ b/lisp/vc/diff-mode.el @@ -2635,11 +2635,11 @@ diff-syntax-fontify-hunk ;; Don't re-initialize the buffer (which would throw ;; away the previous fontification work). (setq file nil) - (setq buffer (ignore-errors + (setq buffer (ignore-errors (delay-mode-hooks (vc-find-revision-no-save file revision diff-vc-backend - (get-buffer-create buffer-name))))) + (get-buffer-create buffer-name)))))) (when buffer (with-current-buffer buffer (diff-syntax-fontify-props file text line-nb)))))))) @@ -2719,7 +2719,7 @@ diff-syntax-fontify-props (cl-assert (null buffer-file-name)) (let ((enable-local-variables :safe) ;; to find `mode:' (buffer-file-name file)) - (set-auto-mode) + (delay-mode-hooks (set-auto-mode)) ;; FIXME: Is this really worth the trouble? (when (and (fboundp 'generic-mode-find-file-hook) (memq #'generic-mode-find-file-hook diff --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el index a6be04e313..e629674ea6 100644 --- a/lisp/gnus/mm-view.el +++ b/lisp/gnus/mm-view.el @@ -497,7 +497,7 @@ mm-display-inline-fontify (let ((auto-mode-alist (delq (rassq 'doc-view-mode-maybe auto-mode-alist) (copy-sequence auto-mode-alist)))) - (set-auto-mode) + (delay-mode-hooks (set-auto-mode)) (setq mode major-mode))) ;; Do not fontify if the guess mode is fundamental. (unless (eq major-mode 'fundamental-mode) diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el index 1a34456340..741ed73905 100644 --- a/lisp/progmodes/xref.el +++ b/lisp/progmodes/xref.el @@ -1395,7 +1395,7 @@ xref--collect-matches (inhibit-message t) message-log-max) (ignore-errors - (set-auto-mode t))) + (delay-mode-hooks (set-auto-mode t)))) (setq-local xref--temp-buffer-file-name file) (setq-local inhibit-read-only t) (erase-buffer))