URI: 
       tadd chord fix from plan 9 - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 8b9a1d4cfefb87cb89835880d528ce8d8b5eecdc
   DIR parent 6cb755b60b5bc5410bd90c37f3bf3b50ebcfe789
  HTML Author: rsc <devnull@localhost>
       Date:   Mon,  6 Feb 2006 23:10:48 +0000
       
       add chord fix from plan 9
       
       Diffstat:
         M src/cmd/acme/text.c                 |      12 ++++++------
         M src/cmd/acme/wind.c                 |       5 ++++-
       
       2 files changed, 10 insertions(+), 7 deletions(-)
       ---
   DIR diff --git a/src/cmd/acme/text.c b/src/cmd/acme/text.c
       t@@ -1009,8 +1009,8 @@ textselect(Text *t)
                while(mouse->buttons){
                        mouse->msec = 0;
                        b = mouse->buttons;
       -                if(b & 6){
       -                        if(state==0 && op==0 && t->what==Body){
       +                if((b&1) && (b&6)){
       +                        if(state==0 && t->what==Body){
                                        seq++;
                                        filemark(t->w->body.file);
                                }
       t@@ -1019,18 +1019,18 @@ textselect(Text *t)
                                                winundo(t->w, TRUE);
                                                textsetselect(t, q0, t->q0);
                                                state = 0;
       -                                }else if(state != 1 && op != -1){
       +                                }else if(state != 1){
                                                cut(t, t, nil, TRUE, TRUE, nil, 0);
       -                                        op = state = 1;
       +                                        state = 1;
                                        }
                                }else{
                                        if(state==1 && t->what==Body){
                                                winundo(t->w, TRUE);
                                                textsetselect(t, q0, t->q1);
                                                state = 0;
       -                                }else if(state != -1 && op != 1){
       +                                }else if(state != -1){
                                                paste(t, t, nil, TRUE, FALSE, nil, 0);
       -                                        op = state = -1;
       +                                        state = -1;
                                        }
                                }
                                textscrdraw(t);
   DIR diff --git a/src/cmd/acme/wind.c b/src/cmd/acme/wind.c
       t@@ -115,9 +115,12 @@ wintaglines(Window *w, Rectangle r)
        
                /* if tag ends with \n, include empty line at end for typing */
                n = w->tag.fr.nlines;
       -        bufread(&w->tag.file->b, w->tag.file->b.nc-1, &rune, 1);
       +        if(w->tag.file->b.nc > 0)
       +                bufread(&w->tag.file->b, w->tag.file->b.nc-1, &rune, 1);
                if(rune == '\n')
                        n++;
       +        if(n == 0)
       +                n = 1;
                return n;
        }