Simplify logic in kmap(). - st - Simple Terminal
       
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 7263820759aa914b27ab3097613bdf22432ed736
 (DIR) parent 1fa27b93f9a78ee78a35a5449bb8c4d0c3ef0f1b
 (HTM) Author: Mark Edgar <medgar123@gmail.com>
       Date:   Sat, 19 Oct 2013 15:13:13 +0200
       
       Simplify logic in kmap().
       
       Diffstat:
         st.c                                |      19 +++++--------------
       
       1 file changed, 5 insertions(+), 14 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -3531,25 +3531,16 @@ kmap(KeySym k, uint state) {
                        if(!match(kp->mask, state))
                                continue;
        
       -                if(kp->appkey > 0) {
       -                        if(!IS_SET(MODE_APPKEYPAD))
       -                                continue;
       -                        if(term.numlock && kp->appkey == 2)
       -                                continue;
       -                } else if(kp->appkey < 0 && IS_SET(MODE_APPKEYPAD)) {
       +                if(IS_SET(MODE_APPKEYPAD) ? kp->appkey < 0 : kp->appkey > 0)
       +                        continue;
       +                if(term.numlock && kp->appkey == 2)
                                continue;
       -                }
        
       -                if((kp->appcursor < 0 && IS_SET(MODE_APPCURSOR)) ||
       -                                (kp->appcursor > 0
       -                                 && !IS_SET(MODE_APPCURSOR))) {
       +                if(IS_SET(MODE_APPCURSOR) ? kp->appcursor < 0 : kp->appcursor > 0)
                                continue;
       -                }
        
       -                if((kp->crlf < 0 && IS_SET(MODE_CRLF)) ||
       -                                (kp->crlf > 0 && !IS_SET(MODE_CRLF))) {
       +                if(IS_SET(MODE_CRLF) ? kp->crlf < 0 : kp->crlf > 0)
                                continue;
       -                }
        
                        return kp->s;
                }