X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=dde2ebbc9effbc43abed62ff60f266f4df30bf15;hb=8e71f6b905ec7ef2105d59a949d784a64ce9a574;hp=3d15d2e3dbaaa418bf78ad12da680f6358e4ed30;hpb=a410c661c9ae0951cb72e7e76b1963930d8bed0d;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index 3d15d2e..dde2ebb 100644 --- a/zsh/rc +++ b/zsh/rc @@ -351,6 +351,7 @@ zshrc_longrun_preexec() { # Don't track the time for certain (possible) long running processes which # need no automatic notification. + local ignore for ignore in elinks man mutt vim; do case $program in $ignore | $ignore\ *) @@ -1079,6 +1080,7 @@ precmd_functions+=(zshrc_restart_precmd) # RELOAD SETTINGS zshenv_reload_time=0 # load before first command +zshenv_boot_time=$(date -d "$(uptime -s)" '+%s') # uptime in epoch seconds # Automatically source ~/.zsh/env.update when the file changes (and exists). # Can be used e.g. to update SSH_AGENT_PID and GPG_AGENT_INFO variables in @@ -1092,6 +1094,11 @@ zshenv_reload_preexec() { if ! zstat -A stat +mtime $file 2>/dev/null; then return fi + # File was modified before reboot. Skip it to prevent loading of old + # values. + if [[ $stat -lt $zshenv_boot_time ]]; then + return + fi # File wasn't modified, nothing to do. if [[ $stat -le $zshenv_reload_time ]]; then return