From cd264b49b7baab1f4e3f3d201ff87bde950fa394 Mon Sep 17 00:00:00 2001 From: James Cherti <60946298+jamescherti@users.noreply.github.com> Date: Sun, 15 Sep 2024 21:07:54 -0400 Subject: [PATCH] Fix mode-line-format and inhibit-display/message issue --- early-init.el | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/early-init.el b/early-init.el index 9a6cfe0..daa8add 100644 --- a/early-init.el +++ b/early-init.el @@ -142,32 +142,33 @@ When set to non-nil, Emacs will automatically call `package-initialize' and 101)) (unless noninteractive - (progn + (unless minimal-emacs-debug ;; Disable mode-line-format during init + (setq-default inhibit-redisplay t + inhibit-message t) (defun minimal-emacs--reset-inhibited-vars-h () (setq-default inhibit-redisplay nil ;; Inhibiting `message' only prevents redraws and inhibit-message nil) - (redraw-frame)) + (remove-hook 'post-command-hook #'minimal-emacs--reset-inhibited-vars-h)) + (add-hook 'post-command-hook #'minimal-emacs--reset-inhibited-vars-h -100) - (defvar minimal-emacs--default-mode-line-format mode-line-format - "Default value of `mode-line-format'.") + (put 'mode-line-format 'initial-value + (default-toplevel-value 'mode-line-format)) (setq-default mode-line-format nil) (defun minimal-emacs--startup-load-user-init-file (fn &rest args) "Advice for startup--load-user-init-file to reset mode-line-format." - (let (init) - (unwind-protect - (progn - (apply fn args) ; Start up as normal - (setq init t)) - (unless init - ;; If we don't undo inhibit-{message, redisplay} and there's an - ;; error, we'll see nothing but a blank Emacs frame. - (minimal-emacs--reset-inhibited-vars-h)) - (unless (default-toplevel-value 'mode-line-format) - (setq-default mode-line-format - minimal-emacs--default-mode-line-format))))) + (unwind-protect + (progn + ;; Start up as normal + (apply fn args)) + ;; If we don't undo inhibit-{message, redisplay} and there's an + ;; error, we'll see nothing but a blank Emacs frame. + (setq-default inhibit-message nil) + (unless (default-toplevel-value 'mode-line-format) + (setq-default mode-line-format + (get 'mode-line-format 'initial-value))))) (advice-add 'startup--load-user-init-file :around #'minimal-emacs--startup-load-user-init-file))