commit 4030a6c905c99c48e7ca714fbe17a9b00fbff6fe from: Ethan Burns via: Russ Cox date: Thu Mar 13 22:48:41 2014 UTC acme: copy/cut/paste with ctl+c,x,v LGTM=rsc R=rsc CC=plan9port.codebot https://codereview.appspot.com/69070045 commit - 219cf22d6863a21a7378fc5481bb05bbb6edd2dc commit + 4030a6c905c99c48e7ca714fbe17a9b00fbff6fe blob - e3a9ff74a477525cb2d1d1354be099caa57333f1 blob + 1391ea8acd11e9b8e0c46b233ea2ef8e40b266e3 --- CONTRIBUTORS +++ CONTRIBUTORS @@ -21,6 +21,7 @@ David Swasey Enrique Soriano Eoghan Sherry Erik Quanstrom +Ethan Burns Fazlul Shahriar Ingo Dreilich Justin Davis blob - 5a491b1e77fc2236251106d45cf60fa4c4343471 blob + c055c5e30ba24db31310830115993170c99ce640 --- src/cmd/acme/text.c +++ src/cmd/acme/text.c @@ -745,10 +745,12 @@ texttype(Text *t, Rune r) q0++; textshow(t, q0, q0, TRUE); return; + case 3: /* ^C: copy */ case Kcmd+'c': /* %C: copy */ typecommit(t); cut(t, t, nil, TRUE, FALSE, nil, 0); return; + case 0x1a: /* ^Z: undo */ case Kcmd+'z': /* %Z: undo */ typecommit(t); undo(t, nil, nil, TRUE, 0, nil, 0); @@ -777,6 +779,7 @@ texttype(Text *t, Rune r) } /* cut/paste must be done after the seq++/filemark */ switch(r){ + case 0x18: /* ^X: cut */ case Kcmd+'x': /* %X: cut */ typecommit(t); if(t->what == Body){ @@ -787,6 +790,7 @@ texttype(Text *t, Rune r) textshow(t, t->q0, t->q0, 1); t->iq1 = t->q0; return; + case 0x16: /* ^V: paste */ case Kcmd+'v': /* %V: paste */ typecommit(t); if(t->what == Body){