ref: 4bec42c4a1bbb3697e8709724fbbf435c1fcff85
parent: 3d9770542ffa679e6da304bc0d9141682f0592bf
author: Aidan K. Wiggins <akw@oneiri.one>
date: Fri Mar 7 21:50:42 EST 2025
Fix botched Ksoh & Kenq refactor.
--- a/samterm/main.c
+++ b/samterm/main.c
@@ -618,21 +618,20 @@
flushtyping(0);
center(l, t->rasp.nrunes, 0, 1);
break;
- case Ksoh:
- case Kenq:
+ case Ksoh: /* ctrl+a */
flushtyping(1);
- if(c == Ksoh)
- while(--a > 0)
- if(raspc(&t->rasp, a) == '\n')
- break;
- else
- while(a < t->rasp.nrunes && raspc(&t->rasp, a)!='\n')
- a++;
+ for(; a > 0; a--)
+ if(raspc(&t->rasp, a-1) == '\n')
+ break;
l->p0 = l->p1 = a;
- for(l=t->l; l<&t->l[NL]; l++)
- if(l->textfn)
- flsetselect(l, l->p0, l->p1);
- break;
+ goto Setsel;
+ case Kenq: /* ctrl+e */
+ flushtyping(1);
+ for(; a < t->rasp.nrunes; a++)
+ if(raspc(&t->rasp, a) == '\n')
+ break;
+ l->p0 = l->p1 = a;
+ goto Setsel;
case Kbs:
case Knack:
case Ketb:
@@ -712,6 +711,7 @@
l->p1 = a;
flushtyping(1);
} /* wet floor */
+Setsel:
default:
for(l=t->l; l<&t->l[NL]; l++)
if(l->textfn)
--
⑨