From: Jan Djärv Date: Fri, 21 Jan 2011 08:35:30 +0000 (+0100) Subject: * nsterm.m (keyDown): If ns_right_alternate_modifier is Qleft, check X-Git-Tag: emacs-pretest-24.0.90~104^2~618^2~1322^2~179 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=449ab399f45da3a5310ef6d07865c923cc1eb269;p=emacs.git * nsterm.m (keyDown): If ns_right_alternate_modifier is Qleft, check if ns_alternate_modifier is none. --- diff --git a/src/ChangeLog b/src/ChangeLog index c0424f95477..11a80ec3b10 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2011-01-21 Jan Djärv + + * nsterm.m (keyDown): If ns_right_alternate_modifier is Qleft, check + if ns_alternate_modifier is none. + 2011-01-20 Jan Djärv * unexmacosx.c: Add comment about include order. diff --git a/src/nsterm.m b/src/nsterm.m index 34841387d3b..0838674de2b 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -4388,6 +4388,7 @@ ns_term_shutdown (int sig) int flags; static NSMutableArray *nsEvArray; static BOOL firstTime = YES; + int left_is_none; NSTRACE (keyDown); @@ -4511,10 +4512,14 @@ ns_term_shutdown (int sig) emacs_event->modifiers |= parse_solitary_modifier (ns_function_modifier); + left_is_none = NILP (ns_alternate_modifier) + || EQ (ns_alternate_modifier, Qnone); + if ((flags & NSRightAlternateKeyMask) == NSRightAlternateKeyMask) { if ((NILP (ns_right_alternate_modifier) - || EQ (ns_right_alternate_modifier, Qnone)) + || EQ (ns_right_alternate_modifier, Qnone) + || (EQ (ns_right_alternate_modifier, Qleft) && left_is_none)) && !fnKeysym) { /* accept pre-interp alt comb */ if ([[theEvent characters] length] > 0) @@ -4532,9 +4537,7 @@ ns_term_shutdown (int sig) if ((flags & NSLeftAlternateKeyMask) == NSLeftAlternateKeyMask) /* default = meta */ { - if ((NILP (ns_alternate_modifier) - || EQ (ns_alternate_modifier, Qnone)) - && !fnKeysym) + if (left_is_none && !fnKeysym) { /* accept pre-interp alt comb */ if ([[theEvent characters] length] > 0) code = [[theEvent characters] characterAtIndex: 0];