X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=st.c;h=16803ec388228153eb8a841b85ec11babc92deb0;hb=8b602a37a65a3c001bd9334d8b1cfc17fc5dd45c;hp=96111a0e600176c5a37f8f047588bd4f5f654de8;hpb=ebbac77d7416d365a2a33f159780ef0f06cc3351;p=st.git diff --git a/st.c b/st.c index 96111a0..16803ec 100644 --- a/st.c +++ b/st.c @@ -916,7 +916,6 @@ bpress(XEvent *e) { if(sel.snap != 0) { sel.mode++; tsetdirt(sel.nb.y, sel.ne.y); - draw(); } sel.tclick2 = sel.tclick1; sel.tclick1 = now; @@ -3356,17 +3355,17 @@ focus(XEvent *ev) { } } -inline bool +static inline bool match(uint mask, uint state) { - state &= ~(ignoremod); + state &= ~ignoremod; if(mask == XK_NO_MOD && state) return false; if(mask != XK_ANY_MOD && mask != XK_NO_MOD && !state) return false; - if((state & mask) != state) - return false; - return true; + if(mask == XK_ANY_MOD) + return true; + return state == mask; } void @@ -3376,7 +3375,6 @@ numlock(const Arg *dummy) { char* kmap(KeySym k, uint state) { - uint mask; Key *kp; int i; @@ -3391,12 +3389,10 @@ kmap(KeySym k, uint state) { } for(kp = key; kp < key + LEN(key); kp++) { - mask = kp->mask; - if(kp->k != k) continue; - if(!match(mask, state)) + if(!match(kp->mask, state)) continue; if(kp->appkey > 0) {