changeset 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 ea2eb6e6874e (current diff) 7abeffb8f06b (diff)
children c7350a06ebe2
files etc/NEWS.22 lisp/ChangeLog lisp/textmodes/sgml-mode.el src/ChangeLog src/xdisp.c
diffstat 8 files changed, 62 insertions(+), 49 deletions(-) [+]
line wrap: on
line diff
--- a/etc/NEWS.22	Tue May 29 23:19:17 2007 +0000
+++ b/etc/NEWS.22	Tue May 29 23:19:43 2007 +0000
@@ -1949,11 +1949,11 @@
 
 If point is at the end of a file buffer before reverting, Auto Revert
 mode keeps it at the end after reverting.  Similarly if point is
-displayed at the end of a file buffer in any window, it stays at
-the end of the buffer in that window.  This allows you to tail a file:
-just put point at the end of the buffer and it stays there.  This
-rule applies to file buffers.  For non-file buffers, the behavior can
-be mode dependent.
+displayed at the end of a file buffer in any window, it stays at the end
+of the buffer in that window.  This allows you to "tail" a file: just
+put point at the end of the buffer and it stays there.  This rule
+applies to file buffers.  For non-file buffers, the behavior can be mode
+dependent.
 
 If you are sure that the file will only change by growing at the end,
 then you can tail the file more efficiently by using the new minor
--- a/etc/PROBLEMS	Tue May 29 23:19:17 2007 +0000
+++ b/etc/PROBLEMS	Tue May 29 23:19:43 2007 +0000
@@ -2452,27 +2452,6 @@
 the problem, install the current version of GNU Sed, then rerun
 Emacs's configure script.
 
-*** Compiling on GNU/Linux fails due to a missing left operand in gnu-linux.h.
-
-The error messages have the form:
-
-  ../src/s/gnu-linux.h:49:24: error: operator '>' has no left operand
-
-This error occurs because your system defines LINUX_VERSION_CODE in
-the standard header file linux/version.h but does not give it a value.
-As a workaround, you can edit the file src/s/gnu-linux.h to add the
-needed definition.  On the line after "#include <linux/version.h>",
-add a line as shown below:
-
-#include <linux/version.h>
-#define LINUX_VERSION_CODE 132626
-
-The number to use depends on your kernel version (the example shown is
-for kernel 2.6.18).  The number can be obtained by running the
-following command in the shell:
-
-uname -r | sed -e 's/\./ /g' -e 's/-.*//' | awk '{print $1*(2^16) + $2*(2^8) + $3}'
-
 *** Building a 32-bit executable on a 64-bit GNU/Linux architecture.
 
 First ensure that the necessary 32-bit system libraries and include
--- a/lisp/ChangeLog	Tue May 29 23:19:17 2007 +0000
+++ b/lisp/ChangeLog	Tue May 29 23:19:43 2007 +0000
@@ -1,3 +1,9 @@
+2007-05-29  Martin Rudalics  <rudalics@gmx.at>
+
+	* textmodes/table.el (table--point-entered-cell-function)
+	(table--point-left-cell-function): Bind
+	`inhibit-point-motion-hooks' to t.
+
 2007-05-29  Nikolaj Schumacher  <n_schumacher@web.de>  (tiny change)
 
 	* emacs-lisp/rx.el (rx): Doc fix.
@@ -38,6 +44,16 @@
 	(tramp-completion-mode): `last-input-event' is nil when XEmacs is
 	started.
 
+2007-05-28  Chong Yidong  <cyd@stupidchicken.com>
+
+	* textmodes/sgml-mode.el (sgml-point-entered): Use condition-case.
+
+2007-05-27  Tetsurou Okazaki  <okazaki@be.to>  (tiny change)
+
+	* 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-27  Ryan Yeske  <rcyeske@gmail.com>
 
 	* net/webjump.el (webjump-sample-sites):
--- a/lisp/log-edit.el	Tue May 29 23:19:17 2007 +0000
+++ b/lisp/log-edit.el	Tue May 29 23:19:43 2007 +0000
@@ -538,7 +538,7 @@
             (point))
           (if (re-search-forward "^[ \t\n]*$" nil t)
               (match-beginning 0)
-            (point)))))
+            (point-max)))))
 
 (defun log-edit-changelog-subparagraph ()
   "Return the bounds of the ChangeLog subparagraph containing point.
--- a/lisp/textmodes/sgml-mode.el	Tue May 29 23:19:17 2007 +0000
+++ b/lisp/textmodes/sgml-mode.el	Tue May 29 23:19:43 2007 +0000
@@ -896,16 +896,19 @@
   ;; Show preceding or following hidden tag, depending of cursor direction.
   (let ((inhibit-point-motion-hooks t))
     (save-excursion
-      (message "Invisible tag: %s"
-	       ;; Strip properties, otherwise, the text is invisible.
-	       (buffer-substring-no-properties
-		(point)
-		(if (or (and (> x y)
-			     (not (eq (following-char) ?<)))
-			(and (< x y)
-			     (eq (preceding-char) ?>)))
-		    (backward-list)
-		  (forward-list)))))))
+      (condition-case nil
+	  (message "Invisible tag: %s"
+		   ;; Strip properties, otherwise, the text is invisible.
+		   (buffer-substring-no-properties
+		    (point)
+		    (if (or (and (> x y)
+				 (not (eq (following-char) ?<)))
+			    (and (< x y)
+				 (eq (preceding-char) ?>)))
+			(backward-list)
+		      (forward-list))))
+	(error nil)))))
+
 
 
 (defun sgml-validate (command)
--- a/lisp/textmodes/table.el	Tue May 29 23:19:17 2007 +0000
+++ b/lisp/textmodes/table.el	Tue May 29 23:19:43 2007 +0000
@@ -5333,21 +5333,25 @@
 (defun table--point-entered-cell-function (&optional old-point new-point)
   "Point has entered a cell.
 Refresh the menu bar."
-  (unless table-cell-entered-state
-    (setq table-cell-entered-state t)
-    (setq table-mode-indicator t)
-    (force-mode-line-update)
-    (table--warn-incompatibility)
-    (run-hooks 'table-point-entered-cell-hook)))
+  ;; Avoid calling point-motion-hooks recursively.
+  (let ((inhibit-point-motion-hooks t))
+    (unless table-cell-entered-state
+      (setq table-cell-entered-state t)
+      (setq table-mode-indicator t)
+      (force-mode-line-update)
+      (table--warn-incompatibility)
+      (run-hooks 'table-point-entered-cell-hook))))
 
 (defun table--point-left-cell-function (&optional old-point new-point)
   "Point has left a cell.
 Refresh the menu bar."
-  (when table-cell-entered-state
-    (setq table-cell-entered-state nil)
-    (setq table-mode-indicator nil)
-    (force-mode-line-update)
-    (run-hooks 'table-point-left-cell-hook)))
+  ;; Avoid calling point-motion-hooks recursively.
+  (let ((inhibit-point-motion-hooks t))
+    (when table-cell-entered-state
+      (setq table-cell-entered-state nil)
+      (setq table-mode-indicator nil)
+      (force-mode-line-update)
+      (run-hooks 'table-point-left-cell-hook))))
 
 (defun table--warn-incompatibility ()
   "If called from interactive operation warn the know incompatibilities.
--- a/src/ChangeLog	Tue May 29 23:19:17 2007 +0000
+++ b/src/ChangeLog	Tue May 29 23:19:43 2007 +0000
@@ -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-26  Dan Nicolaescu  <dann@ics.uci.edu>
 
 	* xfaces.c (syms_of_xfaces): Delete stray semicolon.
--- 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