tacme: do not trim spaces during Put - 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 3197719090b3fd0a038767f7e8e15e771b1515be
 (DIR) parent 9179fdaaf4fb5748832b2162d35a515133bad0f5
 (HTM) Author: Russ Cox <rsc@swtch.com>
       Date:   Fri, 19 Apr 2019 22:24:53 -0400
       
       acme: do not trim spaces during Put
       
       The commit that introduced this was pushed accidentally.
       It is not a good idea to do this.
       (It breaks programs that think that a clean window
       means the body matches the on-disk file.)
       
       Diffstat:
         M src/cmd/acme/exec.c                 |      12 ++++++++----
       
       1 file changed, 8 insertions(+), 4 deletions(-)
       ---
 (DIR) diff --git a/src/cmd/acme/exec.c b/src/cmd/acme/exec.c
       t@@ -192,7 +192,7 @@ execute(Text *t, uint aq0, uint aq1, int external, Text *argt)
                                f |= 2;
                        }
                        aa = getbytearg(argt, TRUE, TRUE, &a);
       -                if(a){        
       +                if(a){
                                if(strlen(a) > EVENTSIZE){        /* too big; too bad */
                                        free(r);
                                        free(aa);
       t@@ -674,7 +674,7 @@ checksha1(char *name, File *f, Dir *d)
                DigestState *h;
                uchar out[20];
                uchar *buf;
       -        
       +
                fd = open(name, OREAD);
                if(fd < 0)
                        return;
       t@@ -700,7 +700,7 @@ trimspaces(Rune *r, uint *np, int eof)
        
                nonspace = 0;
                w = 0;
       -        n = *np;        
       +        n = *np;
                for(i=0; i<n; i++) {
                        c = r[i];
                        if(c == '\n')
       t@@ -783,7 +783,11 @@ putfile(File *f, int q0, int q1, Rune *namer, int nname)
                                n = BUFSIZE/UTFmax;
                        bufread(&f->b, q, r, n);
                        nn = n;
       -                if(w->autoindent)
       +                // An attempt at automatically trimming trailing spaces.
       +                // Breaks programs that inspect body file and think it will match on-disk file
       +                // when window is clean. Should apply the changes to the actual window instead.
       +                // Later.
       +                if(0 && w->autoindent)
                                nn = trimspaces(r, &n, q+n==q1);
                        m = snprint(s, BUFSIZE+1, "%.*S", nn, r);
                        sha1((uchar*)s, m, nil, h);