From 44a501911b58cf03c3692084b7568bf0822cfa89 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 25 Apr 2021 18:36:54 -0400 Subject: [PATCH] cli/env: fix whitelist not shadowing blacklist If an ENVVAR was in the blacklist, it was omitted even if it matched a whitelist rule. --- core/cli/env.el | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/core/cli/env.el b/core/cli/env.el index 5be59a6f1..c889bab17 100644 --- a/core/cli/env.el +++ b/core/cli/env.el @@ -124,12 +124,14 @@ default, on Linux, this is '$SHELL -ic /usr/bin/env'. Variables in (whitelist (remq nil (append whitelist doom-env-whitelist)))) (insert "(") (dolist (env doom--initial-process-environment) - (let* ((var (car (split-string env "="))) - (pred (doom-rpartial #'string-match-p var))) - (if (seq-find pred blacklist) - (doom-log "Ignoring %s" var) - (when (seq-find pred whitelist) - (doom-log "Whitelisted %s" var)) + (catch 'skip + (let* ((var (car (split-string env "="))) + (pred (doom-rpartial #'string-match-p var))) + (when (seq-find pred blacklist) + (if (seq-find pred whitelist) + (doom-log "Whitelisted %s" var) + (doom-log "Ignored %s" var) + (throw 'skip t))) (insert (prin1-to-string env) "\n ")))) (insert ")")) (print! (success "Successfully generated %S") (path env-file))