aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2006-05-12 17:39:59 +0000
committerChong Yidong2006-05-12 17:39:59 +0000
commitd584e29dfaa4f68137a4c4c49ac9d5ea217b55fc (patch)
treed38278d48ae155e84da6cf7a05e25e5070c32935
parent4e8f005c08487874cfb812f271e4d7c103eb40e7 (diff)
downloademacs-d584e29dfaa4f68137a4c4c49ac9d5ea217b55fc.tar.gz
emacs-d584e29dfaa4f68137a4c4c49ac9d5ea217b55fc.zip
* simple.el (line-move-finish): Don't call point motion hooks
while processing intangibility.
-rw-r--r--lisp/simple.el40
1 files changed, 18 insertions, 22 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index 9285d124db4..a5db709ac5e 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -3645,29 +3645,25 @@ Outline mode sets this."
3645 ;; Process intangibility within a line. 3645 ;; Process intangibility within a line.
3646 ;; Move to the chosen destination position from above, 3646 ;; Move to the chosen destination position from above,
3647 ;; with intangibility processing enabled. 3647 ;; with intangibility processing enabled.
3648 3648 (goto-char new)
3649 (goto-char (point-min)) 3649 ;; If intangibility moves us to a different (later) place
3650 (let ((inhibit-point-motion-hooks nil)) 3650 ;; in the same line, use that as the destination.
3651 (goto-char new) 3651 (if (<= (point) line-end)
3652 3652 (setq new (point))
3653 ;; If intangibility moves us to a different (later) place 3653 ;; If that position is "too late",
3654 ;; in the same line, use that as the destination. 3654 ;; try the previous allowable position.
3655 (if (<= (point) line-end) 3655 ;; See if it is ok.
3656 (backward-char)
3657 (if (if forward
3658 ;; If going forward, don't accept the previous
3659 ;; allowable position if it is before the target line.
3660 (< line-beg (point))
3661 ;; If going backward, don't accept the previous
3662 ;; allowable position if it is still after the target line.
3663 (<= (point) line-end))
3656 (setq new (point)) 3664 (setq new (point))
3657 ;; If that position is "too late", 3665 ;; As a last resort, use the end of the line.
3658 ;; try the previous allowable position. 3666 (setq new line-end)))
3659 ;; See if it is ok.
3660 (backward-char)
3661 (if (if forward
3662 ;; If going forward, don't accept the previous
3663 ;; allowable position if it is before the target line.
3664 (< line-beg (point))
3665 ;; If going backward, don't accept the previous
3666 ;; allowable position if it is still after the target line.
3667 (<= (point) line-end))
3668 (setq new (point))
3669 ;; As a last resort, use the end of the line.
3670 (setq new line-end))))
3671 3667
3672 ;; Now move to the updated destination, processing fields 3668 ;; Now move to the updated destination, processing fields
3673 ;; as well as intangibility. 3669 ;; as well as intangibility.