emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/simple.el


From: Chong Yidong
Subject: [Emacs-diffs] Changes to emacs/lisp/simple.el
Date: Fri, 12 May 2006 17:48:42 +0000

Index: emacs/lisp/simple.el
diff -u emacs/lisp/simple.el:1.802 emacs/lisp/simple.el:1.803
--- emacs/lisp/simple.el:1.802  Fri May 12 17:39:59 2006
+++ emacs/lisp/simple.el        Fri May 12 17:48:40 2006
@@ -3645,25 +3645,30 @@
        ;; 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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]