Fix mode-line-format and inhibit-display/message issue

This commit is contained in:
James Cherti
2024-09-15 21:07:54 -04:00
parent 1605a365be
commit cd264b49b7

View File

@@ -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
;; 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.
(minimal-emacs--reset-inhibited-vars-h))
(setq-default inhibit-message nil)
(unless (default-toplevel-value 'mode-line-format)
(setq-default mode-line-format
minimal-emacs--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))