From 9b003e051639d44a6d564728608cf8559a5e7399 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 19 Oct 2019 13:50:42 -0400 Subject: [PATCH] Fix doom-guess-mode-h being too aggressive It would trigger set-auto-mode whenever files are written to (e.g. when persp-mode writes its workspace/session files, which have unsafe local variables, so the user is inundated with prompts to accept them). Now, doom-guess-mode-h will only work on files with shebang lines. --- core/core-editor.el | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/core/core-editor.el b/core/core-editor.el index 21261cd1d..f8abebbe1 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -80,9 +80,13 @@ possible." (add-hook! 'after-save-hook (defun doom-guess-mode-h () "Guess mode when saving a file in `fundamental-mode'." - (when (and (eq major-mode 'fundamental-mode) - (buffer-file-name (buffer-base-buffer))) - (set-auto-mode)))) + (and (eq major-mode 'fundamental-mode) + (buffer-file-name (buffer-base-buffer)) + (>= (buffer-size) 2) + (save-restriction + (widen) + (string= "#!" (buffer-substring (point-min) (+ 2 (point-min))))) + (set-auto-mode)))) ;;