[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: |
Mon, 28 May 2007 09:56:50 +0900 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.0.990 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) |
>>>>> On Sun, 27 May 2007 19:21:28 -0400, Richard Stallman <address@hidden>
>>>>> said:
> Where is the actual call to `current_column' for which you
> specifically want to bind this? Could you bind
> Qinhibit_point_motion_hooks for just that?
I meant the only direct call to `current_column' from
redisplay_internal:
/* If %c is in the mode line, update it if needed. */
if (!NILP (w->column_number_displayed)
/* This alternative quickly identifies a common case
where no change is needed. */
&& !(PT == XFASTINT (w->last_point)
&& XFASTINT (w->last_modified) >= MODIFF
&& XFASTINT (w->last_overlay_modified) >= OVERLAY_MODIFF)
&& (XFASTINT (w->column_number_displayed)
!= (int) current_column ())) /* iftc */
w->update_mode_line = Qt;
and as I said, binding Qinhibit_point_motion_hooks just around this
part as the following patch also works for me on Mac OS X.
Could someone check if this works on Windows for the original problem?
Index: src/xdisp.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/xdisp.c,v
retrieving revision 1.1149.2.2
diff -c -p -r1.1149.2.2 xdisp.c
*** src/xdisp.c 24 May 2007 23:21:32 -0000 1.1149.2.2
--- src/xdisp.c 28 May 2007 00:33:00 -0000
*************** redisplay_internal (preserve_echo_area)
*** 10836,10842 ****
int must_finish = 0;
struct text_pos tlbufpos, tlendpos;
int number_of_visible_frames;
! int count;
struct frame *sf;
int polling_stopped_here = 0;
--- 10836,10842 ----
int must_finish = 0;
struct text_pos tlbufpos, tlendpos;
int number_of_visible_frames;
! int count, count1;
struct frame *sf;
int polling_stopped_here = 0;
*************** redisplay_internal (preserve_echo_area)
*** 10974,10979 ****
--- 10974,10983 ----
update_mode_lines++;
}
+ /* Avoid invocation of point motion hooks by `current_column' below. */
+ count1 = SPECPDL_INDEX ();
+ specbind (Qinhibit_point_motion_hooks, Qt);
+
/* If %c is in the mode line, update it if needed. */
if (!NILP (w->column_number_displayed)
/* This alternative quickly identifies a common case
*************** redisplay_internal (preserve_echo_area)
*** 10985,10990 ****
--- 10989,10996 ----
!= (int) current_column ())) /* iftc */
w->update_mode_line = Qt;
+ unbind_to (count1, Qnil);
+
FRAME_SCROLL_BOTTOM_VPOS (XFRAME (w->frame)) = -1;
/* The variable buffer_shared is set in redisplay_window and
> Or what about binding it in `current_column_1'? Maybe that is the
> right thing to do.
Sorry, I'm afraid I'm not familiar enough with this matter.
YAMAMOTO Mitsuharu
address@hidden
- Re: Contiguous redisplay of the menu and beeps, (continued)
- Re: Contiguous redisplay of the menu and beeps, martin rudalics, 2007/05/27
- Re: Contiguous redisplay of the menu and beeps, Chong Yidong, 2007/05/27
- Re: Contiguous redisplay of the menu and beeps, martin rudalics, 2007/05/28
- Re: Contiguous redisplay of the menu and beeps, Richard Stallman, 2007/05/28
- Re: Contiguous redisplay of the menu and beeps, Richard Stallman, 2007/05/27
Re: Contiguous redisplay of the menu and beeps, Richard Stallman, 2007/05/27
- Re: Contiguous redisplay of the menu and beeps,
YAMAMOTO Mitsuharu <=
- Re: Contiguous redisplay of the menu and beeps, Chong Yidong, 2007/05/27
- Re: Contiguous redisplay of the menu and beeps, YAMAMOTO Mitsuharu, 2007/05/27
- Re: Contiguous redisplay of the menu and beeps, martin rudalics, 2007/05/28
- Re: Contiguous redisplay of the menu and beeps, martin rudalics, 2007/05/28
- Re: Contiguous redisplay of the menu and beeps, YAMAMOTO Mitsuharu, 2007/05/28
- Re: Contiguous redisplay of the menu and beeps, martin rudalics, 2007/05/28
- Re: Contiguous redisplay of the menu and beeps, martin rudalics, 2007/05/28
- Re: Contiguous redisplay of the menu and beeps, Chong Yidong, 2007/05/28
- Re: Contiguous redisplay of the menu and beeps, martin rudalics, 2007/05/28
- Re: Contiguous redisplay of the menu and beeps, Chong Yidong, 2007/05/28