/[emacs]/emacs/src/xterm.c
ViewVC logotype

Diff of /emacs/src/xterm.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.707.2.10 by fx, Sun Oct 6 13:29:21 2002 UTC revision 1.707.2.11 by fx, Sun Oct 27 21:13:00 2002 UTC
# Line 385  extern Lisp_Object Vcommand_line_args, V Line 385  extern Lisp_Object Vcommand_line_args, V
385    
386  extern Lisp_Object Vx_no_window_manager;  extern Lisp_Object Vx_no_window_manager;
387    
388  extern Lisp_Object Qface, Qmouse_face;  extern Lisp_Object Qface, Qmouse_face, Qeql;
389    
390  extern int errno;  extern int errno;
391    
# Line 396  extern int extra_keyboard_modifiers; Line 396  extern int extra_keyboard_modifiers;
396  /* The keysyms to use for the various modifiers.  */  /* The keysyms to use for the various modifiers.  */
397    
398  Lisp_Object Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym, Vx_super_keysym;  Lisp_Object Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym, Vx_super_keysym;
399    Lisp_Object Vx_keysym_table;
400  static Lisp_Object Qalt, Qhyper, Qmeta, Qsuper, Qmodifier_value;  static Lisp_Object Qalt, Qhyper, Qmeta, Qsuper, Qmodifier_value;
401    
402  static Lisp_Object Qvendor_specific_keysyms;  static Lisp_Object Qvendor_specific_keysyms;
# Line 10641  XTread_socket (sd, bufp, numchars, expec Line 10642  XTread_socket (sd, bufp, numchars, expec
10642  #endif /* not HAVE_X11R5 */  #endif /* not HAVE_X11R5 */
10643                                  ))                                  ))
10644                          {                          {
10645                              Lisp_Object c;
10646    
10647                            if (temp_index == sizeof temp_buffer / sizeof (short))                            if (temp_index == sizeof temp_buffer / sizeof (short))
10648                              temp_index = 0;                              temp_index = 0;
10649                            temp_buffer[temp_index++] = keysym;                            temp_buffer[temp_index++] = keysym;
10650                            bufp->kind = non_ascii_keystroke;                            if (! EQ ((c = Fgethash (make_number (keysym),
10651                            bufp->code = keysym;                                                     Vx_keysym_table, Qnil)),
10652                                        Qnil))
10653                                {
10654                                  bufp->kind = (ASCII_CHAR_P (c)
10655                                                ? ascii_keystroke
10656                                                : multibyte_char_keystroke);
10657                                  bufp->code = c;
10658                                }
10659                              else
10660                                {
10661                                  bufp->kind = non_ascii_keystroke;
10662                                  bufp->code = keysym;
10663                                }
10664                            XSETFRAME (bufp->frame_or_window, f);                            XSETFRAME (bufp->frame_or_window, f);
10665                            bufp->arg = Qnil;                            bufp->arg = Qnil;
10666                            bufp->modifiers                            bufp->modifiers
# Line 10670  XTread_socket (sd, bufp, numchars, expec Line 10685  XTread_socket (sd, bufp, numchars, expec
10685                                temp_buffer[temp_index++] = copy_bufptr[i];                                temp_buffer[temp_index++] = copy_bufptr[i];
10686                              }                              }
10687    
                           if (/* If the event is not from XIM, */  
                               event.xkey.keycode != 0  
                               /* or the current locale doesn't request  
                                  decoding of the input data, ... */  
                               || ! CODING_REQUIRE_DECODING (&coding))  
                             {  
                               /* ... we can use the input data as is.  */  
                               nchars = nbytes;  
                             }  
                           else  
10688                              {                              {
10689                                /* We have to decode the input data.  */                                /* Decode the input data.  */
10690                                coding.destination                                coding.destination
10691                                  = (unsigned char *) malloc (nbytes);                                  = (unsigned char *) malloc (nbytes);
10692                                if (! coding.destination)                                if (! coding.destination)
# Line 14490  x_get_font_repertory (f, font_info) Line 14495  x_get_font_repertory (f, font_info)
14495       struct font_info *font_info;       struct font_info *font_info;
14496  {  {
14497    XFontStruct *font = (XFontStruct *) font_info->font;    XFontStruct *font = (XFontStruct *) font_info->font;
   struct charset *charset = CHARSET_FROM_ID (font_info->charset);  
14498    Lisp_Object table;    Lisp_Object table;
14499    int min_byte1, max_byte1, min_byte2, max_byte2;    int min_byte1, max_byte1, min_byte2, max_byte2;
14500    
# Line 15295  For example, `super' means use the Super Line 15299  For example, `super' means use the Super
15299  default is nil, which is the same as `super'.  */);  default is nil, which is the same as `super'.  */);
15300    Vx_super_keysym = Qnil;    Vx_super_keysym = Qnil;
15301    
15302      DEFVAR_LISP ("x-keysym-table", &Vx_keysym_table,
15303        doc: /* Hash table of character codes indexed by X keysym codes.  */);
15304      Vx_keysym_table = make_hash_table (Qeql, make_number (800),
15305                                         make_number (DEFAULT_REHASH_SIZE),
15306                                         make_number (DEFAULT_REHASH_THRESHOLD),
15307                                         Qnil, Qnil, Qnil);
15308  }  }
15309    
15310  #endif /* HAVE_X_WINDOWS */  #endif /* HAVE_X_WINDOWS */

Legend:
Removed from v.1.707.2.10  
changed lines
  Added in v.1.707.2.11

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26