Introduction
Introduction Statistics Contact Development Disclaimer Help
Make backspace behavior match Plan 9 sam. - sam - An updated version of the sam…
git clone git://vernunftzentrum.de/sam.git
Log
Files
Refs
LICENSE
---
commit 140ba1042462570fc3c966652ea1d6e79cd3ae93
parent 47566bf19ef592eff4ec8c945781618e67471d51
Author: Rob King <[email protected]>
Date: Fri, 9 Sep 2016 10:20:00 -0500
Make backspace behavior match Plan 9 sam.
Diffstat:
samterm/main.c | 47 ++++++++++++++++---------------
1 file changed, 24 insertions(+), 23 deletions(-)
---
diff --git a/samterm/main.c b/samterm/main.c
@@ -815,31 +815,32 @@ typedef long (*Commandfunc)(Flayer *, long, Text *);
typedef struct CommandEntry CommandEntry;
struct CommandEntry{
Commandfunc f;
- int unlocked;
+ bool unlocked;
+ bool docut;
};
CommandEntry commands[Cmax] ={
- [Cnone] = {cmdnone, 0},
- [Cscrolldown] = {cmdscrolldown, 0},
- [Cscrollup] = {cmdscrollup, 0},
- [Cscrolldownline] = {cmdscrolldownline, 0},
- [Cscrollupline] = {cmdscrollupline, 0},
- [Ccharleft] = {cmdcharleft, 0},
- [Ccharright] = {cmdcharright, 0},
- [Clineup] = {cmdlineup, 0},
- [Clinedown] = {cmdlinedown, 0},
- [Cjump] = {cmdjump, 0},
- [Cescape] = {cmdescape, 0},
- [Csnarf] = {cmdsnarf, 0},
- [Ccut] = {cmdcut, 0},
- [Cpaste] = {cmdpaste, 0},
- [Cexchange] = {cmdexchange, 0},
- [Cdelword] = {cmddelword, 1},
- [Cdelbol] = {cmddelbol, 1},
- [Cdel] = {cmddel, 1},
- [Cwrite] = {cmdwrite, 1},
- [Ceol] = {cmdeol, 0},
- [Cbol] = {cmdbol, 0}
+ [Cnone] = {cmdnone, false, false},
+ [Cscrolldown] = {cmdscrolldown, false, false},
+ [Cscrollup] = {cmdscrollup, false, false},
+ [Cscrolldownline] = {cmdscrolldownline, false, false},
+ [Cscrollupline] = {cmdscrollupline, false, false},
+ [Ccharleft] = {cmdcharleft, false, false},
+ [Ccharright] = {cmdcharright, false, false},
+ [Clineup] = {cmdlineup, false, false},
+ [Clinedown] = {cmdlinedown, false, false},
+ [Cjump] = {cmdjump, false, false},
+ [Cescape] = {cmdescape, false, false},
+ [Csnarf] = {cmdsnarf, false, false},
+ [Ccut] = {cmdcut, false, false},
+ [Cpaste] = {cmdpaste, false, false},
+ [Cexchange] = {cmdexchange, false, false},
+ [Cdelword] = {cmddelword, true, false},
+ [Cdelbol] = {cmddelbol, true, false},
+ [Cdel] = {cmddel, true, true},
+ [Cwrite] = {cmdwrite, true, false},
+ [Ceol] = {cmdeol, false, false},
+ [Cbol] = {cmdbol, false, false}
};
void
@@ -858,7 +859,7 @@ type(Flayer *l, int res) /* what a bloody mess this is -…
k = qpeekc();
a = l->p0;
- if (a != l->p1 && k.k != Kcommand){
+ if (a != l->p1 && (k.k != Kcommand || commands[k.c].docut)){
flushtyping(1);
cut(t, t->front, 1, 1);
return; /* it may now be locked */
You are viewing proxied material from vernunftzentrum.de. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.