Mercurial > emacs
changeset 112395:f1de024f822c
* nsterm.m (keyDown): If ns_right_alternate_modifier is Qleft, check
if ns_alternate_modifier is none.
author | Jan D. <jan.h.d@swipnet.se> |
---|---|
date | Fri, 21 Jan 2011 09:35:30 +0100 |
parents | 23a54fb18e67 |
children | e79e716435f4 |
files | src/ChangeLog src/nsterm.m |
diffstat | 2 files changed, 12 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Thu Jan 20 22:54:37 2011 -0600 +++ b/src/ChangeLog Fri Jan 21 09:35:30 2011 +0100 @@ -1,3 +1,8 @@ +2011-01-21 Jan Djärv <jan.h.d@swipnet.se> + + * nsterm.m (keyDown): If ns_right_alternate_modifier is Qleft, check + if ns_alternate_modifier is none. + 2011-01-20 Jan Djärv <jan.h.d@swipnet.se> * unexmacosx.c: Add comment about include order.
--- a/src/nsterm.m Thu Jan 20 22:54:37 2011 -0600 +++ b/src/nsterm.m Fri Jan 21 09:35:30 2011 +0100 @@ -4388,6 +4388,7 @@ int flags; static NSMutableArray *nsEvArray; static BOOL firstTime = YES; + int left_is_none; NSTRACE (keyDown); @@ -4511,10 +4512,14 @@ 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 @@ 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];