tshow current directory - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 32a580f43cdd51e6b9bbeda91d905cecf3bd68ec
 (DIR) parent 604b5fcda415436a4a8e42fcf764c24ae2ca9ed5
 (HTM) Author: rsc <devnull@localhost>
       Date:   Sun, 23 Jul 2006 14:36:05 +0000
       
       show current directory
       
       Diffstat:
         M INSTALL                             |       2 +-
         M dist/isum.awk                       |      51 +++++++++++++++++++++++++++++++
       
       2 files changed, 52 insertions(+), 1 deletion(-)
       ---
 (DIR) diff --git a/INSTALL b/INSTALL
       t@@ -116,5 +116,5 @@ if $doinstall; then
                echo "        PLAN9=$PLAN9 export PLAN9"
                echo '        PATH=$PATH:$PLAN9/bin export PATH'
        fi
       -) 2>&1 | tee install.log | awk -f $PLAN9/dist/isum.awk | tee install.sum
       +) 2>&1 | tee install.log | awk -f $PLAN9/dist/isum.awk -v'copy='install.sum
        
 (DIR) diff --git a/dist/isum.awk b/dist/isum.awk
       t@@ -5,7 +5,29 @@ BEGIN {
        #        print verbose 
                cd = ""
                out = "/dev/stdout"
       +        statuslen = 0
                debug = 0
       +        updates = "/dev/stderr"
       +}
       +
       +function clearstatus(  i)
       +{
       +        if(!updates)
       +                return
       +        for(i=0; i<statuslen; i++)
       +                printf("\b \b") >updates
       +        statuslen = 0
       +        fflush(updates)
       +}
       +
       +function status(s)
       +{
       +        if(!updates)
       +                return
       +        clearstatus()
       +        printf("    %s ", s) >updates
       +        statuslen = length(s)+5
       +        fflush(updates)
        }
        
        debug!=0 { print "# " $0 }
       t@@ -16,9 +38,14 @@ debug!=0 { print "# " $0 }
        /^\+\+ pwd/ { next }
        
        /^\* /{
       +        clearstatus()
                if(debug) print "% mark"
                print >out
                fflush(out)
       +        if(copy){
       +                print >copy
       +                fflush(copy)
       +        }
                cmd = ""
                printtabs = 1        # print indented lines immediately following
                errors = 0
       t@@ -26,8 +53,13 @@ debug!=0 { print "# " $0 }
        }
        
        /^        / && printtabs!=0 {
       +        clearstatus()
                print >out
                fflush(out)
       +        if(copy){
       +                print >copy
       +                fflush(copy)
       +        }
                next
        }
        
       t@@ -49,6 +81,15 @@ debug!=0 { print "# " $0 }
                if(verbose){
                        print >out
                        fflush(out)
       +                if(copy){
       +                        print >copy
       +                        fflush(copy)
       +                }
       +        }
       +        else{
       +                dir = $2
       +                sub(/;$/, "", dir)
       +                status(dir)
                }
                cd = $0 "\n"
                cmd = ""
       t@@ -60,9 +101,14 @@ debug!=0 { print "# " $0 }
        }
        
        errors != 0 {
       +        clearstatus()
                if(debug) print "% errors"
                printf "%s", cmd >out
                fflush(out)
       +        if(copy){
       +                printf "%s", cmd >copy
       +                fflush(copy)
       +        }
                cmd = ""
                next
        }
       t@@ -87,10 +133,15 @@ errors != 0 {
        
        { 
                # unexpected line 
       +        clearstatus()
                if(debug) print "% errors1"
                errors = 1
                printf ">>> %s", cmd >out
                fflush(out)
       +        if(copy){
       +                printf ">>> %s", cmd >copy
       +                fflush(copy)
       +        }
                cmd = ""
        }