Commit Diff


commit - 915a8b77ff4d314b03ec24680a868d09aa5b7c18
commit + 3f056d8ef2b5eec8cc0401a0e9420977d5b248ea
blob - 2a0174bf62362dca6d8c9e6d9f771cf870dfe0a2
blob + 448de02901f21030d43b3b751dfad3ea185c0614
--- rcmain
+++ rcmain
@@ -24,9 +24,16 @@ if(! ~ $#cflag 0){
 }
 if(flag i){
 	if(~ $TERM 9term){
-		if(~ $#'fn#cd' 0)
-			fn cd { builtin cd $1 && flag i && awd }
-		awd
+		fn cd {
+			# builtin cd $1 && flag i && awd
+			# is not sufficient when running in a subshell
+			# that is rc -e (like mk uses!)
+			if(builtin cd $1){
+				if(flag i) $PLAN9/bin/9 awd || status=''
+				status=''
+			}
+		}
+		$PLAN9/bin/9 awd
 	}
 	if(flag l && test -r $home/lib/profile) . $home/lib/profile
 	status=''