diff options
| author | Chong Yidong | 2006-05-12 17:39:59 +0000 |
|---|---|---|
| committer | Chong Yidong | 2006-05-12 17:39:59 +0000 |
| commit | d584e29dfaa4f68137a4c4c49ac9d5ea217b55fc (patch) | |
| tree | d38278d48ae155e84da6cf7a05e25e5070c32935 | |
| parent | 4e8f005c08487874cfb812f271e4d7c103eb40e7 (diff) | |
| download | emacs-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.el | 40 |
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. |