| Date: Sun, 1 Jun 2008 09:11:21 -0400
acme: fix owner bug in elogapply
Diffstat:
M src/cmd/acme/elog.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
--- |
| t@@ -221,6 +221,7 @@ elogapply(File *f)
uint tq0, tq1;
Buffer *log;
Text *t;
+ int owner;
elogflush(f);
log = f->elogbuf;
t@@ -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,
t@@ -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.
t@@ -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;
} |