Skip to content

Commit db7f741

Browse files
committed
Extend environment variable behavior to NO_COLOR and JANET_PROFILE
Env vars set to empty strings should behave the same as unset variables.
1 parent c901edb commit db7f741

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/boot/boot.janet

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4556,7 +4556,10 @@
45564556
###
45574557

45584558
# conditional compilation for reduced os
4559-
(def- getenv-alias (if-let [entry (in root-env 'os/getenv)] (entry :value) (fn [&])))
4559+
(def- getenv-raw (if-let [entry (in root-env 'os/getenv)] (entry :value) (fn [&])))
4560+
(defn- getenv-alias [env-var &opt dflt]
4561+
(def x (getenv-raw env-var dflt))
4562+
(if (= x "") nil x)) # empty string is coerced to nil
45604563

45614564
(defn- run-main
45624565
[env subargs arg]
@@ -4634,12 +4637,11 @@
46344637
(var expect-image false)
46354638

46364639
(when-let [jp (getenv-alias "JANET_PATH")]
4637-
(unless (empty? jp)
4638-
(def path-sep (if (index-of (os/which) [:windows :mingw]) ";" ":"))
4639-
(def paths (reverse! (string/split path-sep jp)))
4640-
(for i 1 (length paths)
4641-
(module/add-syspath (get paths i)))
4642-
(setdyn *syspath* (first paths))))
4640+
(def path-sep (if (index-of (os/which) [:windows :mingw]) ";" ":"))
4641+
(def paths (reverse! (string/split path-sep jp)))
4642+
(for i 1 (length paths)
4643+
(module/add-syspath (get paths i)))
4644+
(setdyn *syspath* (first paths)))
46434645
(if-let [jprofile (getenv-alias "JANET_PROFILE")] (setdyn *profilepath* jprofile))
46444646
(set colorize (and
46454647
(not (getenv-alias "NO_COLOR"))

0 commit comments

Comments
 (0)