# HG changeset patch # User Chong Yidong # Date 1212533816 0 # Node ID 437d3830a39811f9c785f75fac762548df567e37 # Parent 680cb50d70c0b1c006c5adb1373a2931a1f58489 (line-move-1): If we did not move as far as desired, ensure that point-left and point-entered hooks are called. diff -r 680cb50d70c0 -r 437d3830a398 lisp/simple.el --- a/lisp/simple.el Tue Jun 03 22:56:16 2008 +0000 +++ b/lisp/simple.el Tue Jun 03 22:56:56 2008 +0000 @@ -4059,13 +4059,20 @@ (= arg 0)) (cond ((> arg 0) - ;; If we did not move down as far as desired, - ;; at least go to end of line. - (end-of-line)) + ;; If we did not move down as far as desired, at least go + ;; to end of line. Be sure to call point-entered and + ;; point-left-hooks. + (let* ((npoint (prog1 (line-end-position) + (goto-char opoint))) + (inhibit-point-motion-hooks nil)) + (goto-char npoint))) ((< arg 0) ;; If we did not move up as far as desired, ;; at least go to beginning of line. - (beginning-of-line)) + (let* ((npoint (prog1 (line-beginning-position) + (goto-char opoint))) + (inhibit-point-motion-hooks nil)) + (goto-char npoint))) (t (line-move-finish (or goal-column temporary-goal-column) opoint (> orig-arg 0)))))))