plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

commit 3197719090b3fd0a038767f7e8e15e771b1515be
parent 9179fdaaf4fb5748832b2162d35a515133bad0f5
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:
Msrc/cmd/acme/exec.c | 12++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/cmd/acme/exec.c b/src/cmd/acme/exec.c @@ -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); @@ -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; @@ -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') @@ -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);