>>>>> On Mon, 14 May 2007 04:08:54 -0400, Richard Stallman <[EMAIL PROTECTED]> 
>>>>> said:

>     OK, fine. I presume that patch isn't going to make it into the
> 22 branch?

> Could you show me the patch?  Is it in Mac-only code?

Here's a revised one, in Mac-only code.

                                     YAMAMOTO Mitsuharu
                                [EMAIL PROTECTED]

Index: src/macterm.c
===================================================================
RCS file: /sources/emacs/emacs/src/macterm.c,v
retrieving revision 1.214
diff -c -p -r1.214 macterm.c
*** src/macterm.c       13 Apr 2007 08:14:03 -0000      1.214
--- src/macterm.c       14 May 2007 08:21:23 -0000
*************** mac_get_mouse_btn (EventRef ref)
*** 9164,9178 ****
  
  /* Normally, ConvertEventRefToEventRecord will correctly handle all
     events.  However the click of the mouse wheel is not converted to a
!    mouseDown or mouseUp event.  Likewise for dead key down events.
!    This calls ConvertEventRef, but then checks to see if it is a mouse
!    up/down, or a dead key down carbon event that has not been
     converted, and if so, converts it by hand (to be picked up in the
     XTread_socket loop).  */
  static Boolean mac_convert_event_ref (EventRef eventRef, EventRecord 
*eventRec)
  {
    OSStatus err;
    Boolean result = ConvertEventRefToEventRecord (eventRef, eventRec);
  
    if (result)
      return result;
--- 9164,9179 ----
  
  /* Normally, ConvertEventRefToEventRecord will correctly handle all
     events.  However the click of the mouse wheel is not converted to a
!    mouseDown or mouseUp event.  Likewise for dead key events.  This
!    calls ConvertEventRefToEventRecord, but then checks to see if it is
!    a mouse up/down, or a dead key Carbon event that has not been
     converted, and if so, converts it by hand (to be picked up in the
     XTread_socket loop).  */
  static Boolean mac_convert_event_ref (EventRef eventRef, EventRecord 
*eventRec)
  {
    OSStatus err;
    Boolean result = ConvertEventRefToEventRecord (eventRef, eventRec);
+   EventKind action;
  
    if (result)
      return result;
*************** static Boolean mac_convert_event_ref (Ev
*** 9201,9206 ****
--- 9202,9215 ----
        switch (GetEventKind (eventRef))
        {
        case kEventRawKeyDown:
+         action = keyDown;
+         goto keystroke_common;
+       case kEventRawKeyRepeat:
+         action = autoKey;
+         goto keystroke_common;
+       case kEventRawKeyUp:
+         action = keyUp;
+       keystroke_common:
          {
            unsigned char char_codes;
            UInt32 key_code;
*************** static Boolean mac_convert_event_ref (Ev
*** 9214,9220 ****
                                       NULL, &key_code);
            if (err == noErr)
              {
!               eventRec->what = keyDown;
                eventRec->message = char_codes | ((key_code & 0xff) << 8);
                result = 1;
              }
--- 9223,9229 ----
                                       NULL, &key_code);
            if (err == noErr)
              {
!               eventRec->what = action;
                eventRec->message = char_codes | ((key_code & 0xff) << 8);
                result = 1;
              }


_______________________________________________
emacs-pretest-bug mailing list
emacs-pretest-bug@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug

Reply via email to