bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#3681: 23.1.50; blink-cursor-mode and dead keys.


From: YAMAMOTO Mitsuharu
Subject: bug#3681: 23.1.50; blink-cursor-mode and dead keys.
Date: Mon, 19 Oct 2009 16:35:12 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On Thu, 25 Jun 2009 22:46:35 +0200, "Oscar Fuentes" <address@hidden> said:

> I'm using emacs on Ubuntu 9.04 with US Intl keyboard layout:
> setxkbmap -model pc101 -layout us -variant intl

> When blink-cursor-mode is off, the sequence

> <dead-key> <letter>

> does not produce any output on the screen. Once you write something
> else (or just Ctrl-g) the letter appears with the dead key
> applied. This is an exact recipe:

> emacs -Q [ENTER] M-x blink-cursor-mode [ENTER] 'e

> This should output the letter é on the screen, but does not. Now
> write something else and the letter é will appear along with
> whatever you wrote after it.

The following patch works for me (Mac OS X 10.5.8, Xaw).  Could
someone who is familiar with X11 check if it is correct?

                                     YAMAMOTO Mitsuharu
                                address@hidden

Index: src/xterm.c
===================================================================
RCS file: /sources/emacs/emacs/src/xterm.c,v
retrieving revision 1.1043
diff -c -p -r1.1043 xterm.c
*** src/xterm.c 15 Sep 2009 18:49:57 -0000      1.1043
--- src/xterm.c 19 Oct 2009 07:21:34 -0000
*************** XTread_socket (terminal, expected, hold_
*** 7116,7122 ****
  #ifdef HAVE_X_I18N
        /* Filter events for the current X input method.  */
        if (x_filter_event (terminal->display_info.x, &event))
!         break;
  #endif
        event_found = 1;
  
--- 7116,7122 ----
  #ifdef HAVE_X_I18N
        /* Filter events for the current X input method.  */
        if (x_filter_event (terminal->display_info.x, &event))
!         continue;
  #endif
        event_found = 1;
  





reply via email to

[Prev in Thread] Current Thread [Next in Thread]