]> git.eshelyaron.com Git - emacs.git/commitdiff
* simple.el (line-move-finish): Fix last fix.
authorChong Yidong <cyd@stupidchicken.com>
Fri, 12 May 2006 17:48:40 +0000 (17:48 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Fri, 12 May 2006 17:48:40 +0000 (17:48 +0000)
lisp/ChangeLog
lisp/simple.el

index c607fc35d17cc6751d1d8ba979f3a743199b2165..2f9fb90ee3ed3d5f583e347212c33f412040905f 100644 (file)
@@ -1,3 +1,8 @@
+2006-05-12  Chong Yidong  <cyd@stupidchicken.com>
+
+       * simple.el (line-move-finish): Avoid calling point motion hooks
+       while processing intangibility.
+
 2006-05-12  Dan Nicolaescu  <dann@ics.uci.edu>
 
        * term/xterm.el (terminal-init-xterm): Fix typo.
index a5db709ac5ec726611e9c7d2b9dbde0ebd1886c5..3efffbce416e57b5c3529fd77491a0aabdc7c332 100644 (file)
@@ -3645,25 +3645,30 @@ Outline mode sets this."
        ;; Process intangibility within a line.
        ;; Move to the chosen destination position from above,
        ;; with intangibility processing enabled.
+
+       ;; Avoid calling point-entered and point-left.
        (goto-char new)
-       ;; If intangibility moves us to a different (later) place
-       ;; in the same line, use that as the destination.
-       (if (<= (point) line-end)
-           (setq new (point))
-         ;; If that position is "too late",
-         ;; try the previous allowable position.
-         ;; See if it is ok.
-         (backward-char)
-         (if (if forward
-                 ;; If going forward, don't accept the previous
-                 ;; allowable position if it is before the target line.
-                 (< line-beg (point))
-               ;; If going backward, don't accept the previous
-               ;; allowable position if it is still after the target line.
-               (<= (point) line-end))
+       (let ((inhibit-point-motion-hooks nil))
+         (goto-char new)
+
+         ;; If intangibility moves us to a different (later) place
+         ;; in the same line, use that as the destination.
+         (if (<= (point) line-end)
              (setq new (point))
-           ;; As a last resort, use the end of the line.
-           (setq new line-end)))
+           ;; If that position is "too late",
+           ;; try the previous allowable position.
+           ;; See if it is ok.
+           (backward-char)
+           (if (if forward
+                   ;; If going forward, don't accept the previous
+                   ;; allowable position if it is before the target line.
+                   (< line-beg (point))
+                 ;; If going backward, don't accept the previous
+                 ;; allowable position if it is still after the target line.
+                 (<= (point) line-end))
+               (setq new (point))
+             ;; As a last resort, use the end of the line.
+             (setq new line-end))))
 
        ;; Now move to the updated destination, processing fields
        ;; as well as intangibility.