Browse Source

last-working-dir: disable chpwd_last_working_dir in subshells (#6817)

Xiao Fan 7 years ago
parent
commit
18effd77db
1 changed files with 4 additions and 2 deletions
  1. 4 2
      plugins/last-working-dir/last-working-dir.plugin.zsh

+ 4 - 2
plugins/last-working-dir/last-working-dir.plugin.zsh

@@ -4,8 +4,10 @@ typeset -g ZSH_LAST_WORKING_DIRECTORY
 # Updates the last directory once directory is changed
 chpwd_functions+=(chpwd_last_working_dir)
 chpwd_last_working_dir() {
-	local cache_file="$ZSH_CACHE_DIR/last-working-dir"
-	pwd >| "$cache_file"
+	if [ "$ZSH_SUBSHELL" = 0 ]; then
+		local cache_file="$ZSH_CACHE_DIR/last-working-dir"
+		pwd >| "$cache_file"
+	fi
 }
 
 # Changes directory to the last working directory