Fix mode-line-format and inhibit-display/message issue
This commit is contained in:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user