From 32884e045d364cf6e43fca8f2847c4831facc50d Mon Sep 17 00:00:00 2001
From: Indrajit Raychaudhuri <irc@indrajit.com>
Date: Mon, 8 Apr 2024 20:37:23 -0500
Subject: [PATCH] homebrew: Simplify caching `brew shellenv`

Avoid checking age of cache file and just test for its existence.
While this is simpler, this also avoids depending on having
`EXTENDED_GLOB` enabled.
---
 modules/homebrew/init.zsh | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh
index a6fca815..dd2b5658 100644
--- a/modules/homebrew/init.zsh
+++ b/modules/homebrew/init.zsh
@@ -22,18 +22,15 @@ fi
 # variables as they are already handled in standard zsh configuration.
 if (( $+commands[brew] )); then
   cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/brew-shellenv-cache.zsh"
-  if [[ "${commands[brew]}" -nt "$cache_file" \
+  if [[ "$commands[brew]" -nt "$cache_file" \
       || "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" \
-      || ( ! -n ${cache_file}(#qNmw-1) ) ]]; then
-    # Rebuild cache if either
-    # 1. brew is newer than the cache file
-    # 2. .zpreztorc is newer than the cache file
-    # 3. cache file doesn't exist
-    # 4. cache file is older than a week
-    mkdir -p "${cache_file:h}"
-    echo "${(@M)${(f)"$(brew shellenv 2> /dev/null)"}:#export HOMEBREW*}" >! "${cache_file}"
+      || ! -s "$cache_file" ]]; then
+    mkdir -p "$cache_file:h"
+    # Cache the result.
+    echo "${(@M)${(f)"$(brew shellenv 2> /dev/null)"}:#export HOMEBREW*}" >! "$cache_file" 2> /dev/null
   fi
-  source "${cache_file}"
+
+  source "$cache_file"
   unset cache_file
 fi