changeset 555:e09a318cf838

*** empty log message ***
author Jim Blandy <jimb@redhat.com>
date Fri, 21 Feb 1992 05:39:59 +0000
parents e14686fb979e
children af0eae450bc9
files src/window.c src/xterm.c
diffstat 2 files changed, 13 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/src/window.c	Thu Feb 20 04:15:20 1992 +0000
+++ b/src/window.c	Fri Feb 21 05:39:59 1992 +0000
@@ -590,8 +590,7 @@
   return 0;
 }
 
-DEFUN ("set-window-display-table",
-       Fset_window_display_table, Sset_window_display_table, 2, 2, 0,
+DEFUN ("set-window-display-table", Fset_window_display_table, Sset_window_display_table, 2, 2, 0,
   "Set WINDOW's display-table to TABLE.")
   (window, table)
      register Lisp_Object window, table;
--- a/src/xterm.c	Thu Feb 20 04:15:20 1992 +0000
+++ b/src/xterm.c	Fri Feb 21 05:39:59 1992 +0000
@@ -65,13 +65,7 @@
 #endif
 #endif
 
-#ifdef NEED_TIME_H
-#include <time.h>
-#else /* not NEED_TIME_H */
-#ifdef HAVE_TIMEVAL
-#include <sys/time.h>
-#endif /* HAVE_TIMEVAL */
-#endif /* not NEED_TIME_H */
+#include "systime.h"
 
 #include <fcntl.h>
 #include <stdio.h>
@@ -1915,6 +1909,14 @@
 	      KeySym keysym;
 	      XComposeStatus status;
 	      char copy_buffer[80];
+	      int modifiers = event.xkey.state;
+
+	      /* Some keyboards generate different characters
+		 depending on the state of the meta key, in an attempt
+		 to support non-English typists.  It would be nice to
+		 keep this functionality somehow, but for now, we will
+		 just clear the meta-key flag to get the 'pure' character.  */
+	      event.xkey.state &= ~Mod1Mask;
 
 	      /* This will have to go some day... */
 	      nbytes = XLookupString (&event.xkey,
@@ -1938,7 +1940,7 @@
 		      bufp->kind = non_ascii_keystroke;
 		      XSET (bufp->code, Lisp_Int, (unsigned) keysym - 0xff50);
 		      bufp->screen = XSCREEN (SCREEN_FOCUS_SCREEN (s));
-		      bufp->modifiers = x_convert_modifiers (event.xkey.state);
+		      bufp->modifiers = x_convert_modifiers (modifiers);
 		      XSET (bufp->timestamp, Lisp_Int, event.xkey.time);
 		      bufp++;
 		      count++;
@@ -1950,7 +1952,7 @@
 
 		      if (nbytes == 1)
 			{
-			  if (event.xkey.state & Mod1Mask)
+			  if (modifiers & Mod1Mask)
 			    *copy_buffer |= METABIT;
 			  bufp->kind = ascii_keystroke;
 			  bufp->screen = XSCREEN (SCREEN_FOCUS_SCREEN (s));
@@ -2301,7 +2303,7 @@
       int mask = 1 << fd;
 
       if (0 != select (fd + 1, &mask, (long *) 0, (long *) 0,
-		       (struct timeval *) 0)
+		       (EMACS_TIME) 0)
 	  && !XStuffPending ())
 	kill (getpid (), SIGHUP);
     }