# HG changeset patch # User Miles Bader # Date 1180480783 0 # Node ID b4da44959c389e83a703b5703f93c83d2d64913e # Parent ea2eb6e6874ea9c4911d442f0fb2f2bceb25b836# Parent 7abeffb8f06bedef25f6253528bc8e89d023903a Merge from emacs--rel--22 Patches applied: * emacs--rel--22 (patch 29-32) - Update from CVS 2007-05-29 Martin Rudalics * 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 * lisp/textmodes/sgml-mode.el (sgml-point-entered): Use condition-case. 2007-05-27 Tetsurou Okazaki (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 * 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 diff -r ea2eb6e6874e -r b4da44959c38 etc/NEWS.22 --- 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 diff -r ea2eb6e6874e -r b4da44959c38 etc/PROBLEMS --- 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 ", -add a line as shown below: - -#include -#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 diff -r ea2eb6e6874e -r b4da44959c38 lisp/ChangeLog --- 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 + + * 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 (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 + + * textmodes/sgml-mode.el (sgml-point-entered): Use condition-case. + +2007-05-27 Tetsurou Okazaki (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 * net/webjump.el (webjump-sample-sites): diff -r ea2eb6e6874e -r b4da44959c38 lisp/log-edit.el --- 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. diff -r ea2eb6e6874e -r b4da44959c38 lisp/textmodes/sgml-mode.el --- 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) diff -r ea2eb6e6874e -r b4da44959c38 lisp/textmodes/table.el --- 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. diff -r ea2eb6e6874e -r b4da44959c38 src/ChangeLog --- 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 + + * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t + around current_column call. + 2007-05-26 Dan Nicolaescu * xfaces.c (syms_of_xfaces): Delete stray semicolon. diff -r ea2eb6e6874e -r b4da44959c38 src/xdisp.c --- 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