Dear all,

I've just come out a patch for the XEmacs don't recognize shift
Function key issue.

please help review.

Thanks,
Kai

src/ChangeLog addition:

2011-08-25  It's me FKtPp ;)  <m_pupil@yahoo.com.cn>

    Fix issue in event-Xt so function keys can have shift bit set.
   
    * event-Xt.c (x_event_to_emacs_event): make use of XConvertCase,
    instead of hardcoded keysym lookup, to determind if a key is
    subject to case convertion or not.
   


XEmacs source patch:
Diff command:   hg diff --git
Files affected: src/event-Xt.c

diff --git a/src/event-Xt.c b/src/event-Xt.c
--- a/src/event-Xt.c
+++ b/src/event-Xt.c
@@ -1227,9 +1227,9 @@
 
         if (modifiers & XEMACS_MOD_SHIFT)
           {
-        int Mode_switch_p = *state & xd->ModeMask;
-        KeySym bot = XLookupKeysym (ev, Mode_switch_p ? 2 : 0);
-        KeySym top = XLookupKeysym (ev, Mode_switch_p ? 3 : 1);
+        KeySym sym = XLookupKeysym (ev, 0);
+        KeySym top, bot;
+        XConvertCase (sym, &top, &bot);
         if (top && bot && top != bot)
           modifiers &= ~XEMACS_MOD_SHIFT;
           }