--- rxvt-unicode/src/keyboard.C 2007/10/31 09:55:23 1.28 +++ rxvt-unicode/src/keyboard.C 2010/07/26 09:57:53 1.33 @@ -54,7 +54,7 @@ * it is computed from hash_budget_size[]: * index: 0 I1 I2 I3 In * value: 0...0, N1, 0...0, N2, 0...0, N3, ..., Nn, 0...0 - * 0...0, 0.......0, N1.....N1, N1+N2...N1+N2, ... (the compution of hash[]) + * 0...0, 0.......0, N1.....N1, N1+N2...N1+N2, ... (the computation of hash[]) * or we can say * hash_budget_size[Ii] = Ni; hash_budget_size[elsewhere] = 0, * where @@ -70,7 +70,7 @@ keysym_t keyboard_manager::stock_keymap[] = { /* examples */ - /* keysym, state, range, handler, str */ + /* keysym, state, range, type, str */ //{XK_ISO_Left_Tab, 0, 1, keysym_t::STRING, "\033[Z"}, //{ 'a', 0, 26, keysym_t::RANGE_META8, "a" "%c"}, //{ 'a', ControlMask, 26, keysym_t::RANGE_META8, "" "%c"}, @@ -145,12 +145,12 @@ compare_priority (keysym_t *a, keysym_t *b) { // (the more '1's in state; the less range): the greater priority - int ca = popcount (a->state /* & OtherModMask */); - int cb = popcount (b->state /* & OtherModMask */); + int ca = rxvt_popcount (a->state /* & OtherModMask */); + int cb = rxvt_popcount (b->state /* & OtherModMask */); if (ca != cb) return ca - cb; -//else if (a->state != b->state) // this behavior is to be disscussed +//else if (a->state != b->state) // this behavior is to be discussed // return b->state - a->state; else return b->range - a->range; @@ -428,7 +428,7 @@ keymap.swap (sorted_keymap); -#ifdef DEBUG_STRICT +#ifndef NDEBUG // check for invariants for (i = 0; i < KEYSYM_HASH_BUDGETS; ++i) { @@ -454,8 +454,9 @@ assert (index >= 0); keysym_t *b = keymap [index]; - assert (i == (signed) index || // the normally expected result - (a->keysym + j) >= b->keysym && (a->keysym + j) <= (b->keysym + b->range) && compare_priority (a, b) <= 0); // is effectively the same or a closer match + assert (i == index // the normally expected result + || IN_RANGE_INC (a->keysym + j, b->keysym, b->keysym + b->range) + && compare_priority (a, b) <= 0); // is effectively the same or a closer match } } #endif