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];