diff options
author | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2007-05-28 03:01:26 +0000 |
---|---|---|
committer | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2007-05-28 03:01:26 +0000 |
commit | 4bde4d4f3d859f7317ab080c9dafae56592aee06 (patch) | |
tree | d325aeb3b385bc21741e3fd1524429788c4948c4 /src | |
parent | 4a5084796e38f2634fa17e010f5a8042061d2197 (diff) |
(redisplay_internal): Bind inhibit-point-motion-hooks to t
around current_column call.
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/xdisp.c | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 096a0eb63f2..dc8d4a38845 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t + around current_column call. + 2007-05-24 Chong Yidong <cyd@stupidchicken.com> * xdisp.c (redisplay_window): If first window line is a diff --git a/src/xdisp.c b/src/xdisp.c index a50018f1596..156dc1aec6c 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -10836,7 +10836,7 @@ redisplay_internal (preserve_echo_area) 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 @@ redisplay_internal (preserve_echo_area) 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 @@ redisplay_internal (preserve_echo_area) != (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 |