tacme: fix owner bug in elogapply - 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 f0315273ec908f463929cfd3fb40a4c43945a678
 (DIR) parent ff086a82325b22fcbd373edecfc3870e95049401
 (HTM) Author: Russ Cox <rsc@swtch.com>
       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(-)
       ---
 (DIR) diff --git a/src/cmd/acme/elog.c b/src/cmd/acme/elog.c
       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;
        }