Commit Diff


commit - 32a580f43cdd51e6b9bbeda91d905cecf3bd68ec
commit + 5fa0329137c65d51d2ee14fa58eea07f139cf7c3
blob - cb29eb3105da2691c78e3c5d9e716d51c8daf546
blob + 476c6ea935efc604b07a4ad5c4aa802419bf771d
--- dist/isum.awk
+++ dist/isum.awk
@@ -10,21 +10,22 @@ BEGIN {
 	updates = "/dev/stderr"
 }
 
-function clearstatus(  i)
+function clearstatus(  noflush, i)
 {
 	if(!updates)
 		return
 	for(i=0; i<statuslen; i++)
 		printf("\b \b") >updates
 	statuslen = 0
-	fflush(updates)
+	if(!noflush)
+		fflush(updates)
 }
 
 function status(s)
 {
 	if(!updates)
 		return
-	clearstatus()
+	clearstatus(1)
 	printf("    %s ", s) >updates
 	statuslen = length(s)+5
 	fflush(updates)
@@ -75,6 +76,12 @@ debug!=0 { print "# " $0 }
 	next
 }
 
+/^cd .+; mk .+/ && !verbose {
+	dir = $2
+	sub(/;$/, "", dir)
+	status(dir " mk " $4)
+}
+
 /^cd / {
 	if(debug) print "% cd"
 	errors = 0
@@ -86,11 +93,6 @@ debug!=0 { print "# " $0 }
 			fflush(copy)
 		}
 	}
-	else{
-		dir = $2
-		sub(/;$/, "", dir)
-		status(dir)
-	}
 	cd = $0 "\n"
 	cmd = ""
 	next