From f0315273ec908f463929cfd3fb40a4c43945a678 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Sun, 1 Jun 2008 09:11:21 -0400 Subject: [PATCH] acme: fix owner bug in elogapply --- src/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 index 0fd45ddd..4ec3e3b2 100644 --- 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; }