Rename {if,when}! -> eval-{if,when}!

To better represent its purpose, as extensions to Emacs' eval-when*
API (for control flow at compile time).
This commit is contained in:
Henrik Lissner 2020-08-26 21:40:53 -04:00
parent 7808f02646
commit 518c97a2ac
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
5 changed files with 12 additions and 12 deletions

View file

@ -220,19 +220,19 @@ writes to `standard-output'."
(funcall write-region start end filename append visit lockname mustbenew)))
,@forms))))
(defmacro if! (cond then &rest body)
(defmacro eval-if! (cond then &rest body)
"Expands to THEN if COND is non-nil, to BODY otherwise.
COND is checked at compile/expansion time, allowing BODY to be omitted
entirely when the elisp is byte-compiled. Use this for forms that contain
expensive macros that could safely be removed at compile time."
COND is checked at compile/expansion time, allowing BODY to be omitted entirely
when the elisp is byte-compiled. Use this for forms that contain expensive
macros that could safely be removed at compile time."
(declare (indent 2))
(if (eval cond)
then
(macroexp-progn body)))
(defmacro when! (cond &rest body)
(defmacro eval-when! (cond &rest body)
"Expands to BODY if CONDITION is non-nil at compile/expansion time.
See `if!' for details on this macro's purpose."
See `eval-if!' for details on this macro's purpose."
(declare (indent 1))
(when (eval cond)
(macroexp-progn body)))
@ -639,7 +639,7 @@ testing advice (when combined with `rotate-text').
;;
;;; Backports
(when! (version< emacs-version "27.0.90")
(eval-when! (version< emacs-version "27.0.90")
;; DEPRECATED Backported from Emacs 27
(defmacro setq-local (&rest pairs)
"Make variables in PAIRS buffer-local and assign them the corresponding values.

View file

@ -598,7 +598,7 @@ behavior). Do not set this directly, this is let-bound in `doom-init-theme-h'.")
(run-hooks 'doom-load-theme-hook))
result)))
(when! (not EMACS27+)
(eval-when! (not EMACS27+)
;; DEPRECATED `doom--load-theme-a' handles this for us after the theme is
;; loaded, but this only works on Emacs 27+. Disabling old themes
;; must be done *before* the theme is loaded in Emacs 26.

View file

@ -64,7 +64,7 @@
;;
;;; Implementations
(if! (not (featurep! +flyspell))
(eval-if! (not (featurep! +flyspell))
(use-package! spell-fu
:when (executable-find "aspell")

View file

@ -309,7 +309,7 @@
;;
;;; LSP
(when! (and (featurep! +lsp)
(eval-when! (and (featurep! +lsp)
(not (featurep! :tools lsp +eglot)))
(use-package! lsp-python-ms

View file

@ -6,7 +6,7 @@
;; support symlinks as unix knows them, so `magit-version' can't resolve
;; its own repo's path.
;;;###autoload
(when! IS-WINDOWS
(eval-when! IS-WINDOWS
(defadvice! +magit--ignore-version-a (&optional print-dest)
:override #'magit-version
(when print-dest