X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=7222619ca0b86c08de528ba30bc082951f3174a2;hb=363110875986d10c37122e5b430f357520504d8a;hp=3d15d2e3dbaaa418bf78ad12da680f6358e4ed30;hpb=a410c661c9ae0951cb72e7e76b1963930d8bed0d;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index 3d15d2e..7222619 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\ *) @@ -995,6 +996,11 @@ if [[ $LD_PRELOAD != *libcoloredstderr.so* ]]; then printf '\e[91m%s\e[0m' $line print -n $'\0' done &) + + # Reset doesn't work with this hack. + reset() { + command reset "$@" 2>&1 + } fi fi @@ -1079,6 +1085,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 +1099,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