shithub: riscv

Download patch

ref: 91c7e0b127ef494b151fae81d80885fd3d306dc5
parent: 66fea232bca25bcf07d2f70c4ee45d2c82f6f5e7
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Fri Nov 22 14:19:37 EST 2013

acme: fix arrow key oddity (thanks mark van atten and erik)

from 9atom/acmearrowfun patch:

	reported by mark van atten

		In Plan 9 acme, if you type

		{}

		then go back and type text between the brackets

		{Curiouser and curiouser!}

		the right arrow is blocked when you want to go over the closing
		bracket to continue typing to its right. (If you first go to the left,
		and then back to the right, it works.)

		Same for the other brackets: [ ], ( ), < >.

	noted that brackets are not necessary.  same behavior with any
	character.

	fix is to textcommit before moving.

--- a/sys/src/cmd/acme/text.c
+++ b/sys/src/cmd/acme/text.c
@@ -649,16 +649,14 @@
 	rp = &r;
 	switch(r){
 	case Kleft:
-		if(t->q0 > 0){
-			typecommit(t);
+		typecommit(t);
+		if(t->q0 > 0)
 			textshow(t, t->q0-1, t->q0-1, TRUE);
-		}
 		return;
 	case Kright:
-		if(t->q1 < t->file->nc){
-			typecommit(t);
+		typecommit(t);
+		if(t->q1 < t->file->nc)
 			textshow(t, t->q1+1, t->q1+1, TRUE);
-		}
 		return;
 	case Kdown:
 		n = t->maxlines/3;
--