diff src/xdisp.c @ 81097:b4da44959c38

Merge from emacs--rel--22 Patches applied: * emacs--rel--22 (patch 29-32) - Update from CVS 2007-05-29 Martin Rudalics <rudalics@gmx.at> * lisp/textmodes/table.el (table--point-entered-cell-function) (table--point-left-cell-function): Bind `inhibit-point-motion-hooks' to t. 2007-05-28 Chong Yidong <cyd@stupidchicken.com> * lisp/textmodes/sgml-mode.el (sgml-point-entered): Use condition-case. 2007-05-27 Tetsurou Okazaki <okazaki@be.to> (tiny change) * lisp/log-edit.el (log-edit-changelog-paragraph): Return point-max as the end of the ChangeLog paragraph when it ends without a line termination. 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> * src/xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t around current_column call. Revision: emacs@sv.gnu.org/emacs--devo--0--patch-778
author Miles Bader <miles@gnu.org>
date Tue, 29 May 2007 23:19:43 +0000
parents 223bb8e66f74 7eaceb1da0a6
children 635cfa62c941 4c726a40604c 648e6c714c7d
line wrap: on
line diff
--- a/src/xdisp.c	Tue May 29 23:19:17 2007 +0000
+++ b/src/xdisp.c	Tue May 29 23:19:43 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