core: refactor & comment

This commit is contained in:
Henrik Lissner 2017-12-28 19:16:06 -05:00
parent a811c7ff12
commit fcadde3ef9
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -142,25 +142,15 @@ ability to invoke the debugger in debug mode."
(car ex) fn (error-message-string ex)))) (car ex) fn (error-message-string ex))))
nil) nil)
(defun doom|finalize ()
(unless (or (not after-init-time) noninteractive)
(dolist (hook '(doom-init-hook doom-post-init-hook))
(run-hook-wrapped hook #'doom-try-run-hook hook)))
;; Don't keep gc-cons-threshold too high. It helps to stave off the GC while
;; Emacs starts up, but afterwards it causes stuttering and random freezes. So
;; reset it to a reasonable default.
(setq gc-cons-threshold 16777216
gc-cons-percentage 0.1
file-name-handler-alist doom--file-name-handler-alist)
t)
;;; ;;;
;; Initialize ;; Initialize
(eval-and-compile (eval-and-compile
(defvar doom--file-name-handler-alist file-name-handler-alist) (defvar doom--file-name-handler-alist file-name-handler-alist)
(unless (or after-init-time noninteractive) (unless (or after-init-time noninteractive)
;; One of the contributors to long startup times is the garbage collector,
;; so we up its memory threshold, temporarily. It is reset later in
;; `doom|finalize'.
(setq gc-cons-threshold 402653184 (setq gc-cons-threshold 402653184
gc-cons-percentage 0.6 gc-cons-percentage 0.6
file-name-handler-alist nil)) file-name-handler-alist nil))
@ -187,6 +177,19 @@ ability to invoke the debugger in debug mode."
(load! core-projects) ; making Emacs project-aware (load! core-projects) ; making Emacs project-aware
(load! core-keybinds)) ; centralized keybind system + which-key (load! core-keybinds)) ; centralized keybind system + which-key
(defun doom|finalize ()
"Run `doom-init-hook', `doom-post-init-hook' and reset `gc-cons-threshold',
`gc-cons-percentage' and `file-name-handler-alist'."
(unless (or (not after-init-time) noninteractive)
(dolist (hook '(doom-init-hook doom-post-init-hook))
(run-hook-wrapped hook #'doom-try-run-hook hook)))
;; If you forget to reset this, you'll get stuttering and random freezes!
(setq gc-cons-threshold 16777216
gc-cons-percentage 0.1
file-name-handler-alist doom--file-name-handler-alist)
t)
(add-hook! '(emacs-startup-hook doom-reload-hook) (add-hook! '(emacs-startup-hook doom-reload-hook)
#'doom|finalize)) #'doom|finalize))