diff options
| author | Paul Eggert | 2011-05-11 16:16:52 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-05-11 16:16:52 -0700 |
| commit | 5235bd3eb16b94dc5dcef3b1447f821fc09ea930 (patch) | |
| tree | 216c6b983a9fc59910efe3341ffcc58af1637236 /src/xterm.c | |
| parent | bc827e23be4630f4b5d7a1895e37cfab89eb6b6a (diff) | |
| download | emacs-5235bd3eb16b94dc5dcef3b1447f821fc09ea930.tar.gz emacs-5235bd3eb16b94dc5dcef3b1447f821fc09ea930.zip | |
* xterm.c: Use EMACS_INT for Emacs modifiers, and int for X modifiers.
Before, the code was not consistent. These values cannot exceed
2**31 - 1 so there's no need to make them unsigned.
(x_x_to_emacs_modifiers): Accept int and return EMACS_INT.
(x_emacs_to_x_modifiers): Accept EMACS_INT and return int.
(x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Reject non-integers
as modifiers.
* xterm.h (x_x_to_emacs_modifiers): Adjust to signature change.
Diffstat (limited to 'src/xterm.c')
| -rw-r--r-- | src/xterm.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/src/xterm.c b/src/xterm.c index 20259b7ab2e..f5886ab9628 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -3609,23 +3609,23 @@ x_find_modifier_meanings (struct x_display_info *dpyinfo) | |||
| 3609 | /* Convert between the modifier bits X uses and the modifier bits | 3609 | /* Convert between the modifier bits X uses and the modifier bits |
| 3610 | Emacs uses. */ | 3610 | Emacs uses. */ |
| 3611 | 3611 | ||
| 3612 | unsigned int | 3612 | EMACS_INT |
| 3613 | x_x_to_emacs_modifiers (struct x_display_info *dpyinfo, unsigned int state) | 3613 | x_x_to_emacs_modifiers (struct x_display_info *dpyinfo, int state) |
| 3614 | { | 3614 | { |
| 3615 | EMACS_UINT mod_meta = meta_modifier; | 3615 | EMACS_INT mod_meta = meta_modifier; |
| 3616 | EMACS_UINT mod_alt = alt_modifier; | 3616 | EMACS_INT mod_alt = alt_modifier; |
| 3617 | EMACS_UINT mod_hyper = hyper_modifier; | 3617 | EMACS_INT mod_hyper = hyper_modifier; |
| 3618 | EMACS_UINT mod_super = super_modifier; | 3618 | EMACS_INT mod_super = super_modifier; |
| 3619 | Lisp_Object tem; | 3619 | Lisp_Object tem; |
| 3620 | 3620 | ||
| 3621 | tem = Fget (Vx_alt_keysym, Qmodifier_value); | 3621 | tem = Fget (Vx_alt_keysym, Qmodifier_value); |
| 3622 | if (! EQ (tem, Qnil)) mod_alt = XUINT (tem); | 3622 | if (INTEGERP (tem)) mod_alt = XINT (tem); |
| 3623 | tem = Fget (Vx_meta_keysym, Qmodifier_value); | 3623 | tem = Fget (Vx_meta_keysym, Qmodifier_value); |
| 3624 | if (! EQ (tem, Qnil)) mod_meta = XUINT (tem); | 3624 | if (INTEGERP (tem)) mod_meta = XINT (tem); |
| 3625 | tem = Fget (Vx_hyper_keysym, Qmodifier_value); | 3625 | tem = Fget (Vx_hyper_keysym, Qmodifier_value); |
| 3626 | if (! EQ (tem, Qnil)) mod_hyper = XUINT (tem); | 3626 | if (INTEGERP (tem)) mod_hyper = XINT (tem); |
| 3627 | tem = Fget (Vx_super_keysym, Qmodifier_value); | 3627 | tem = Fget (Vx_super_keysym, Qmodifier_value); |
| 3628 | if (! EQ (tem, Qnil)) mod_super = XUINT (tem); | 3628 | if (INTEGERP (tem)) mod_super = XINT (tem); |
| 3629 | 3629 | ||
| 3630 | 3630 | ||
| 3631 | return ( ((state & (ShiftMask | dpyinfo->shift_lock_mask)) ? shift_modifier : 0) | 3631 | return ( ((state & (ShiftMask | dpyinfo->shift_lock_mask)) ? shift_modifier : 0) |
| @@ -3636,24 +3636,24 @@ x_x_to_emacs_modifiers (struct x_display_info *dpyinfo, unsigned int state) | |||
| 3636 | | ((state & dpyinfo->hyper_mod_mask) ? mod_hyper : 0)); | 3636 | | ((state & dpyinfo->hyper_mod_mask) ? mod_hyper : 0)); |
| 3637 | } | 3637 | } |
| 3638 | 3638 | ||
| 3639 | static unsigned int | 3639 | static int |
| 3640 | x_emacs_to_x_modifiers (struct x_display_info *dpyinfo, unsigned int state) | 3640 | x_emacs_to_x_modifiers (struct x_display_info *dpyinfo, EMACS_INT state) |
| 3641 | { | 3641 | { |
| 3642 | EMACS_UINT mod_meta = meta_modifier; | 3642 | int mod_meta = meta_modifier; |
| 3643 | EMACS_UINT mod_alt = alt_modifier; | 3643 | int mod_alt = alt_modifier; |
| 3644 | EMACS_UINT mod_hyper = hyper_modifier; | 3644 | int mod_hyper = hyper_modifier; |
| 3645 | EMACS_UINT mod_super = super_modifier; | 3645 | int mod_super = super_modifier; |
| 3646 | 3646 | ||
| 3647 | Lisp_Object tem; | 3647 | Lisp_Object tem; |
| 3648 | 3648 | ||
| 3649 | tem = Fget (Vx_alt_keysym, Qmodifier_value); | 3649 | tem = Fget (Vx_alt_keysym, Qmodifier_value); |
| 3650 | if (! EQ (tem, Qnil)) mod_alt = XUINT (tem); | 3650 | if (INTEGERP (tem)) mod_alt = XINT (tem); |
| 3651 | tem = Fget (Vx_meta_keysym, Qmodifier_value); | 3651 | tem = Fget (Vx_meta_keysym, Qmodifier_value); |
| 3652 | if (! EQ (tem, Qnil)) mod_meta = XUINT (tem); | 3652 | if (INTEGERP (tem)) mod_meta = XINT (tem); |
| 3653 | tem = Fget (Vx_hyper_keysym, Qmodifier_value); | 3653 | tem = Fget (Vx_hyper_keysym, Qmodifier_value); |
| 3654 | if (! EQ (tem, Qnil)) mod_hyper = XUINT (tem); | 3654 | if (INTEGERP (tem)) mod_hyper = XINT (tem); |
| 3655 | tem = Fget (Vx_super_keysym, Qmodifier_value); | 3655 | tem = Fget (Vx_super_keysym, Qmodifier_value); |
| 3656 | if (! EQ (tem, Qnil)) mod_super = XUINT (tem); | 3656 | if (INTEGERP (tem)) mod_super = XINT (tem); |
| 3657 | 3657 | ||
| 3658 | 3658 | ||
| 3659 | return ( ((state & mod_alt) ? dpyinfo->alt_mod_mask : 0) | 3659 | return ( ((state & mod_alt) ? dpyinfo->alt_mod_mask : 0) |