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)) 101))
(unless noninteractive (unless noninteractive
(progn (unless minimal-emacs-debug
;; Disable mode-line-format during init ;; Disable mode-line-format during init
(setq-default inhibit-redisplay t
inhibit-message t)
(defun minimal-emacs--reset-inhibited-vars-h () (defun minimal-emacs--reset-inhibited-vars-h ()
(setq-default inhibit-redisplay nil (setq-default inhibit-redisplay nil
;; Inhibiting `message' only prevents redraws and ;; Inhibiting `message' only prevents redraws and
inhibit-message nil) 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 (put 'mode-line-format 'initial-value
"Default value of `mode-line-format'.") (default-toplevel-value 'mode-line-format))
(setq-default mode-line-format nil) (setq-default mode-line-format nil)
(defun minimal-emacs--startup-load-user-init-file (fn &rest args) (defun minimal-emacs--startup-load-user-init-file (fn &rest args)
"Advice for startup--load-user-init-file to reset mode-line-format." "Advice for startup--load-user-init-file to reset mode-line-format."
(let (init) (unwind-protect
(unwind-protect (progn
(progn ;; Start up as normal
(apply fn args) ; Start up as normal (apply fn args))
(setq init t)) ;; If we don't undo inhibit-{message, redisplay} and there's an
(unless init ;; error, we'll see nothing but a blank Emacs frame.
;; If we don't undo inhibit-{message, redisplay} and there's an (setq-default inhibit-message nil)
;; error, we'll see nothing but a blank Emacs frame. (unless (default-toplevel-value 'mode-line-format)
(minimal-emacs--reset-inhibited-vars-h)) (setq-default mode-line-format
(unless (default-toplevel-value 'mode-line-format) (get 'mode-line-format 'initial-value)))))
(setq-default mode-line-format
minimal-emacs--default-mode-line-format)))))
(advice-add 'startup--load-user-init-file :around (advice-add 'startup--load-user-init-file :around
#'minimal-emacs--startup-load-user-init-file)) #'minimal-emacs--startup-load-user-init-file))