[Top][All Lists]

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

Re: Contiguous redisplay of the menu and beeps

From: YAMAMOTO Mitsuharu
Subject: Re: Contiguous redisplay of the menu and beeps
Date: Sun, 27 May 2007 22:57:16 +0900 (JST)

>>>>> On Sun, 27 May 2007 14:09:07 +0200, martin rudalics <address@hidden> said:

>> Hmm, I couldn't test on Windows, and my previous patch worked on
>> Mac OS X (both X11 and Carbon) and Solaris for the original
>> problem.

> Hence the original problem is present on these platforms?

Yes.  And there was a report that it could be reproduced on GNU/Linux.
I guess Chong was using another html-mode.

>>> I continue to have no idea how current_column gets called with
>>> Qinhibit_point_motion_hooks not bound to Qt here ...
>> Maybe you can find such traces by setting a breakpoint to
>> current_column with the condition `Vinhibit_point_motion_hooks ==
>> Qnil'.  I found the following cases:
>> pos_visible_p -> display_mode_line echo_area_display ->
>> redisplay_mode_lines -> display_mode_lines -> display_mode_line

> Thanks, I'm aware of these.  I don't understand why pos_visible_p
> should be called by redisplay.  For the second one I earlier tried
> to specbind Qinhibit_point_motion_hooks around it - to no avail.  I
> have to retry.

Maybe you need to use specbind for the `current_column' call in
redisplay_internal instead.

*** src/xdisp.c.~1.1149.2.2.~   Fri May 25 11:00:00 2007
--- src/xdisp.c Sun May 27 22:48:48 2007
*************** redisplay_internal (preserve_echo_area)
*** 10888,10893 ****
--- 10888,10894 ----
                         Fcons (make_number (redisplaying_p), selected_frame));
    specbind (Qinhibit_free_realized_faces, Qnil);
+   specbind (Qinhibit_point_motion_hooks, Qt);
      Lisp_Object tail, frame;

This patch works on Mac OS X for the original problem (without my
previous patch).  Adding specbind and unbind_to around the
`current_column' in redisplay_internal also works.

                                     YAMAMOTO Mitsuharu

reply via email to

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