# HG changeset patch # User YAMAMOTO Mitsuharu # Date 1180321239 0 # Node ID 7eaceb1da0a6faebe961fe5cd241d62ac140edc9 # Parent 20662529a1ae10b91a8ae99fc419bbec55ad0ed3 (redisplay_internal): Bind inhibit-point-motion-hooks to t around current_column call. diff -r 20662529a1ae -r 7eaceb1da0a6 src/xdisp.c --- a/src/xdisp.c Mon May 28 02:44:17 2007 +0000 +++ b/src/xdisp.c Mon May 28 03:00:39 2007 +0000 @@ -10836,7 +10836,7 @@ int must_finish = 0; struct text_pos tlbufpos, tlendpos; int number_of_visible_frames; - int count; + int count, count1; struct frame *sf; int polling_stopped_here = 0; @@ -10974,6 +10974,10 @@ 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 @@ -10985,6 +10989,8 @@ != (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