refactor: minor refactors & commentary revision

* lisp/doom-cli.el:
  - reference backport source commit.
  - doom-cli--restart: a type check is all we need here. This is a
    programmer error, not a user error.
* lisp/doom-editor.el (recentf): mention recentf-show-abbreviated (added in
  emacs-mirror/emacs@32906819ad)
* lisp/doom-keybinds.el (doom-init-leader-keys-h): move to
  doom-after-init-hook, in case the user customizes leader variables in
  a previous hook (like emacs-startup-hook or after-init-hook).
* lisp/doom-start.el: use eval-when! to compile out the section on
  non-macOS systems (when Doom gets around to compiling its core files,
  later).
* modules/config/literate/autoload.el (+literate-config-file): use
  file-name-concat instead of string concat. This relaxes the
  requirement that doom-user-dir end in a /; a requirement I intend to
  fully phase out.
* modules/lang/emacs-lisp/autoload.el (+emacs-lisp-non-package): remove
  empty map! macro in flycheck-emacs-lisp-check-form. The macro already
  no-ops at compile-time/in noninteractive sessions since b480ed51a3.
* modules/ui/hl-todo/config.el (hl-todo-keyword-faces): revise
  commentary for default hl-todo keywords.

Ref: emacs-mirror/emacs@32906819ad
Ref: b480ed51a3
This commit is contained in:
Henrik Lissner 2022-09-24 11:01:49 +02:00
parent f0431b6fac
commit 1c4217aa27
No known key found for this signature in database
GPG key ID: B60957CA074D39A3
9 changed files with 42 additions and 34 deletions

View file

@ -11,9 +11,11 @@
;; still yields a notable benefit. Still, avoid setting it to high here, as
;; runaway memory usage is a real risk in longer sessions.
(setq gc-cons-threshold 134217728 ; 128mb
gc-cons-percentage 1.0) ; DEPRECATED: backported from 29
;; Backported from 29 (see emacs-mirror/emacs@73a384a98698)
gc-cons-percentage 1.0)
;; Create all our core directories to quell file errors.
;; REVIEW: Remove these later. The endpoints should be responsibile for
;; ensuring they exist. For now, they exist to quell file errors.
(mapc (doom-rpartial #'make-directory 'parents)
(list doom-local-dir
doom-data-dir
@ -1161,8 +1163,7 @@ session.
This is done by writing a temporary shell script, which is executed after this
session ends (see the shebang lines of this file). It's done this way because
Emacs' batch library lacks an implementation of the exec system call."
(unless (doom-cli-context-p context)
(error "Attempted `doom-cli--restart' without active context"))
(cl-check-type context doom-cli-context)
(when (= (doom-cli-context-step context) -1)
(error "__DOOMSTEP envvar missing; extended `exit!' functionality will not work"))
(let* ((pid (doom-cli-context-pid context))

View file

@ -312,6 +312,10 @@ tell you about it. Very annoying. This prevents that."
(abbreviate-file-name (file-truename (tramp-file-name-localname file)))
file))
;; REVIEW: Use this in lieu of `doom--recentf-file-truename-fn' when we drop
;; 28 support. See emacs-mirror/emacs@32906819addd.
;; (setq recentf-show-abbreviated t)
;; Anything in runtime folders
(add-to-list 'recentf-exclude
(concat "^" (regexp-quote (or (getenv "XDG_RUNTIME_DIR")

View file

@ -203,7 +203,7 @@ localleader prefix."
;; Bind `doom-leader-key' and `doom-leader-alt-key' as late as possible to give
;; the user a chance to modify them.
(add-hook! 'after-init-hook
(add-hook! 'doom-after-init-hook
(defun doom-init-leader-keys-h ()
"Bind `doom-leader-key' and `doom-leader-alt-key'."
(let ((map general-override-mode-map))

View file

@ -21,7 +21,7 @@
"Log a message in *Messages*.
Does not emit the message in the echo area. This is a macro instead of a
function to prevent the potentially expensive execution of its arguments when
function to prevent the potentially expensive evaluation of its arguments when
debug mode is off."
(declare (debug t))
`(when (or init-file-debug noninteractive)

View file

@ -120,7 +120,7 @@
;; focus when it is started, among other things, so enable the menu-bar for
;; GUI frames, but keep it disabled in terminal frames because there it
;; activates an ugly, in-frame menu bar.
(when IS-MAC
(eval-when! IS-MAC
(add-hook! '(window-setup-hook after-make-frame-functions)
(defun doom-restore-menu-bar-in-gui-frames-h (&optional frame)
(when-let (frame (or frame (selected-frame)))

View file

@ -86,7 +86,8 @@
(concat "Alternatively, either update your $PATH environment variable to include the\n"
"path of the desired Emacs executable OR alter the $EMACS environment variable\n"
"to specify the exact path or command needed to invoke Emacs."
(when-let (command (ignore-errors (file-name-nondirectory (cadr (member "--load" command-line-args)))))
(when-let ((script (cadr (member "--load" command-line-args)))
(command (file-name-nondirectory script)))
(concat " For example:\n\n"
" $ EMACS=/path/to/valid/emacs " command " ...\n"
" $ EMACS=\"/Applications/Emacs.app/Contents/MacOS/Emacs\" " command " ...\n"
@ -368,17 +369,17 @@ users).")
(setq initial-major-mode 'fundamental-mode
initial-scratch-message nil)
;; PERF: Inexplicably, `tty-run-terminal-initialization' can sometimes take
;; 2-3s when starting up Emacs in the terminal. Whatever slows it down at
;; startup doesn't appear to affect it if it's called a little later in
;; the startup process, so that's what I do.
;; REVIEW: This optimization is not well understood. Investigate it!
(unless initial-window-system
(advice-add #'tty-run-terminal-initialization :override #'ignore)
(add-hook! 'window-setup-hook
(defun doom--reset-tty-run-terminal-initialization-h ()
(advice-remove #'tty-run-terminal-initialization #'ignore)
(tty-run-terminal-initialization (selected-frame) nil t))))
;; PERF: Inexplicably, `tty-run-terminal-initialization' can sometimes
;; take 2-3s when starting up Emacs in the terminal. Whatever slows it
;; down at startup doesn't appear to affect it if it's called a little
;; later in the startup process, so that's what I do.
;; REVIEW: This optimization is not well understood. Investigate it!
(define-advice tty-run-terminal-initialization (:override (&rest _) defer)
(advice-remove #'tty-run-terminal-initialization #'tty-run-terminal-initialization@defer)
(add-hook 'window-setup-hook
(doom-partial #'tty-run-terminal-initialization
(selected-frame) nil t))))
;; PERF,UX: Site files tend to use `load-file', which emits "Loading X..."
;; messages in the echo area. Writing to the echo-area triggers a
@ -437,7 +438,7 @@ users).")
;; relevant to our current OS, but `command-line-1' still processes.
(unless IS-MAC
(setq command-line-ns-option-alist nil))
(when (or IS-MAC IS-WINDOWS)
(unless (eq initial-window-system 'x)
(setq command-line-x-option-alist nil))))