From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.bugs Subject: Re: compose and blink-cursor-mode Date: Thu, 30 Oct 2003 19:08:08 -0500 Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Message-ID: References: <200310271328.h9RDSAJ55423@absinthe.ens.fr> <20031030173944.GA21474@drakkar.ens.fr> Reply-To: rms@gnu.org NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1067561095 2763 80.91.224.253 (31 Oct 2003 00:44:55 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 31 Oct 2003 00:44:55 +0000 (UTC) Cc: bug-gnu-emacs@gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Oct 31 01:44:53 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AFNPI-0006aR-01 for ; Fri, 31 Oct 2003 01:44:53 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AFNPA-0004Ep-IX for geb-bug-gnu-emacs@m.gmane.org; Thu, 30 Oct 2003 19:44:44 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AFN71-0001af-Dz for bug-gnu-emacs@gnu.org; Thu, 30 Oct 2003 19:25:59 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AFMvH-00033Y-1F for bug-gnu-emacs@gnu.org; Thu, 30 Oct 2003 19:14:14 -0500 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AFMv4-0002x8-Bl for bug-gnu-emacs@gnu.org; Thu, 30 Oct 2003 19:13:38 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.24) id 1AFMpk-0000OZ-S3; Thu, 30 Oct 2003 19:08:08 -0500 Original-To: Luc Habert In-reply-to: <20031030173944.GA21474@drakkar.ens.fr> (message from Luc Habert on Thu, 30 Oct 2003 18:39:45 +0100) X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Bug reports for GNU Emacs, the Swiss army knife of text editors List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.bugs:6064 X-Report-Spam: http://spam.gmane.org/gmane.emacs.bugs:6064 On Tue, Oct 28, 2003 at 03:39:37PM -0500, Richard Stallman wrote: > When blink-cursor-mode is disabled (and only in that case), and I try > to input a character using the compose key, a seemingly random time > (roughly between one and thirty seconds) elapses between the time I > release the last key of the compose sequence and the time the letter > shows up on the screen. > > Can you run emacs under gdb and suspend it while it is waiting, and > make a backtrace? Well, here it is : #0 0x284a2fe3 in select () from /usr/lib/libc.so.5 #1 0x0814d118 in wait_reading_process_input (time_limit=30, microsecs=0, read_kbd=268435455, do_display=1) at process.c:2597 #2 0x08055f51 in sit_for (sec=30, usec=0, reading=1, display=1, initial_display=0) at dispnew.c:6240 #3 0x080d057a in read_char (commandflag=1, nmaps=2, maps=0xbfbfef60, prev_event=405216260, used_mouse_menu=0xbfbfefa8) at keyboard.c:2518 #4 0x080d6e05 in read_key_sequence (keybuf=0xbfbff0c0, bufsize=30, prompt=405216260, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:8209 #5 0x080ceb16 in command_loop_1 () at keyboard.c:1451 That is the ordinary place where Emacs waits for a command. So what is needed is to investigate whether the last character you typed has already been read and processed by Emacs. For instance, has read_key_sequence read anything yet? If so, why did it decide that the key sequence was not finished? understand, but a quick glance at some of the comments seems to indicate that emacs sees no keyboard input (I guess it is normal for the first two keys of the compose sequence : they remain inside Xlib's guts), even for the last keypress of the compose sequence : emacs enters again select, and leaves it only at the next event, and then realises there is some keyboard input pending. That could be a clue. But I can't go from there to guessing what is wrong. If you study what tells the main-program level of Emacs to wake up, and then see why the code that handles the compose-sequence fails to do that, you could find the bug. Does the bug happen using the Emacs sources in CVS on savannah.gnu.org?