refactor: deprecate letenv!

`letenv!` is a layover from the days before
`with-environment-variables` (introduced in 28.x), and it remained
afterwards because I preferred the shorter name. From v3 and onward,
Doom's core will be put on a diet which, among other things, will
include culling redundant or superfluous functions/macros like this one.
This commit is contained in:
Henrik Lissner
2024-11-28 17:15:12 -05:00
parent a39dd36e97
commit 3401492c84
6 changed files with 27 additions and 23 deletions

View File

@ -825,10 +825,11 @@ However, in batch mode, print to stdout instead of stderr."
(defadvice! doom-cli--straight-ignore-gitconfig-a (fn &rest args)
"Prevent user and system git configuration from interfering with git calls."
:around #'straight--process-call
(letenv! (("GIT_CONFIG" nil)
("GIT_CONFIG_NOSYSTEM" "1")
("GIT_CONFIG_GLOBAL" (or (getenv "DOOMGITCONFIG")
"/dev/null")))
(with-environment-variables
(("GIT_CONFIG" nil)
("GIT_CONFIG_NOSYSTEM" "1")
("GIT_CONFIG_GLOBAL" (or (getenv "DOOMGITCONFIG")
"/dev/null")))
(apply fn args)))
;; If the repo failed to clone correctly (usually due to a connection failure),

View File

@ -389,8 +389,7 @@ TRIGGER-HOOK is a list of quoted hooks and/or sharp-quoted functions."
(let (file-name-handler-alist)
(file-name-directory (macroexpand '(file!)))))
;; REVIEW Should I deprecate this? The macro's name is so long...
(defalias 'letenv! 'with-environment-variables)
(define-obsolete-function-alias 'letenv! 'with-environment-variables "3.0.0")
(put 'defun* 'lisp-indent-function 'defun)
(defmacro letf! (bindings &rest body)

View File

@ -249,10 +249,11 @@ However, in batch mode, print to stdout instead of stderr."
(defadvice! doom-straight--ignore-gitconfig-a (fn &rest args)
"Prevent user and system git configuration from interfering with git calls."
:around #'straight--process-call
(letenv! (("GIT_CONFIG" nil)
("GIT_CONFIG_NOSYSTEM" "1")
("GIT_CONFIG_GLOBAL" (or (getenv "DOOMGITCONFIG")
"/dev/null")))
(with-environment-variables
(("GIT_CONFIG" nil)
("GIT_CONFIG_NOSYSTEM" "1")
("GIT_CONFIG_GLOBAL" (or (getenv "DOOMGITCONFIG")
"/dev/null")))
(apply fn args)))
;; If the repo failed to clone correctly (usually due to a connection failure),

View File

@ -38,12 +38,13 @@
(setq doom-bin "doom.ps1"))
;; Ensure the bin/doom operates with the same environment as this
;; running session.
(letenv! (("PATH" (string-join exec-path path-separator))
("EMACS" (doom-path invocation-directory invocation-name))
("EMACSDIR" doom-emacs-dir)
("DOOMDIR" doom-user-dir)
("DOOMLOCALDIR" doom-local-dir)
("DEBUG" (if doom-debug-mode (number-to-string doom-log-level) "")))
(with-environment-variables
(("PATH" (string-join exec-path path-separator))
("EMACS" (doom-path invocation-directory invocation-name))
("EMACSDIR" doom-emacs-dir)
("DOOMDIR" doom-user-dir)
("DOOMLOCALDIR" doom-local-dir)
("DEBUG" (if doom-debug-mode (number-to-string doom-log-level) "")))
(with-current-buffer
(compile (format ,command (expand-file-name doom-bin doom-bin-dir)) t)
(let ((w (get-buffer-window (current-buffer))))

View File

@ -58,10 +58,11 @@ package's name as a symbol, and whose CDR is the plist supplied to its
;;; Package management API
(defun doom--ensure-straight (recipe pin)
(letenv! (("GIT_CONFIG" nil)
("GIT_CONFIG_NOSYSTEM" "1")
("GIT_CONFIG_GLOBAL" (or (getenv "DOOMGITCONFIG")
"/dev/null")))
(with-environment-variables
(("GIT_CONFIG" nil)
("GIT_CONFIG_NOSYSTEM" "1")
("GIT_CONFIG_GLOBAL" (or (getenv "DOOMGITCONFIG")
"/dev/null")))
(let ((repo-dir (doom-path straight-base-dir "straight/repos/straight.el"))
(repo-url (concat "http" (if gnutls-verify-error "s")
"://github.com/"

View File

@ -49,9 +49,10 @@
(defun doom--sandbox-run (&optional mode)
"TODO"
(letenv! (("DOOMDIR" (if (eq mode 'vanilla-doom+)
(expand-file-name "___does_not_exist___" temporary-file-directory)
doom-user-dir)))
(with-environment-variables
(("DOOMDIR" (if (eq mode 'vanilla-doom+)
(expand-file-name "___does_not_exist___" temporary-file-directory)
doom-user-dir)))
(doom--sandbox-launch
(unless (memq mode '(doom vanilla-doom+)) '("-Q"))
(let ((forms