[Top][All Lists]

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

Re: Need help to debug bugs(#22989, #23412)

From: Eli Zaretskii
Subject: Re: Need help to debug bugs(#22989, #23412)
Date: Sun, 27 Oct 2019 07:43:04 +0200

> From: HaiJun Zhang <address@hidden>
> Date: Sun, 27 Oct 2019 03:10:56 +0000
> They are related with the Chinese or Japanese input method on macOS. The bug 
> appeared after this
> commit:
> http://git.savannah.gnu.org/cgit/emacs.git/commit/?h=emacs-25.1&id=9e77c1b7bcfd0807be7fe67daf73c2320e864309.
> The workaround is setting `redisplay-dont-pause’ to nil. But this variable is 
> obsolete since 24.5.

If your analysis is correct, then maybe input methods (or their users,
if you mean a non-Emacs input method) should set redisplay-dont-pause
nil, and we should un-obsolete that variable.

But the question is: do both events you mention arrive with any time
interval between them, or do they arrive together?  IOW, the issue is
about timing, not about the number of events.

> I think the cause may be like this:
> On every char inputting, the input method triggers two events to emacs. The 
> first event causes emacs to
> redisplay the window with cursor at the original position. The second event 
> causes emacs to redisplay the
> window with cursor at the new position. The two redisplay make the cursor 
> flicker. The problem is the first
> redisplay which is not wanted.
> If `redisplay-dont-pause’ is t, the first redisplay may be cancelled or 
> merged with the second one?
> How to debug this problem? I want to first print the value of the variable 
> `c’ in read_char() in keybord.c. Its type
> is Lisp_Object. How to print its value?

You mean, print in C?  You can use the safe_debug_print function.

reply via email to

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