plan9port

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

commit f0315273ec908f463929cfd3fb40a4c43945a678
parent ff086a82325b22fcbd373edecfc3870e95049401
Author: Russ Cox <rsc@swtch.com>
Date:   Sun,  1 Jun 2008 09:11:21 -0400

acme: fix owner bug in elogapply

Diffstat:
Msrc/cmd/acme/elog.c | 13++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/cmd/acme/elog.c b/src/cmd/acme/elog.c @@ -221,6 +221,7 @@ elogapply(File *f) uint tq0, tq1; Buffer *log; Text *t; + int owner; elogflush(f); log = f->elogbuf; @@ -229,6 +230,13 @@ elogapply(File *f) buf = fbufalloc(); mod = FALSE; + owner = 0; + if(t->w){ + owner = t->w->owner; + if(owner == 0) + t->w->owner = 'E'; + } + /* * The edit commands have already updated the selection in t->q0, t->q1, * but using coordinates relative to the unmodified buffer. As we apply the log, @@ -328,7 +336,7 @@ elogapply(File *f) } fbuffree(buf); elogterm(f); - + /* * Bad addresses will cause bufload to crash, so double check. * If changes were out of order, we expect problems so don't complain further. @@ -339,4 +347,7 @@ elogapply(File *f) t->q1 = min(t->q1, f->b.nc); t->q0 = min(t->q0, t->q1); } + + if(t->w) + t->w->owner = owner; }