changeset 73408:5fdade8e4fef

* simple.el (line-move-1): During fields during motion to the beginning of line to avoid getting point stuck.
author Chong Yidong <cyd@stupidchicken.com>
date Wed, 18 Oct 2006 04:58:29 +0000
parents f2b75b711f12
children 01b63fab1a51
files lisp/ChangeLog lisp/simple.el
diffstat 2 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Wed Oct 18 04:18:11 2006 +0000
+++ b/lisp/ChangeLog	Wed Oct 18 04:58:29 2006 +0000
@@ -1,3 +1,8 @@
+2006-10-18  Chong Yidong  <cyd@stupidchicken.com>
+
+	* simple.el (line-move-1): During fields during motion to the
+	beginning of line to avoid getting point stuck.
+
 2006-10-18  Martin Rudalics  <rudalics@gmx.at>
 
 	* textmodes/flyspell.el (flyspell-word-search-backward): Set
--- a/lisp/simple.el	Wed Oct 18 04:18:11 2006 +0000
+++ b/lisp/simple.el	Wed Oct 18 04:58:29 2006 +0000
@@ -3625,7 +3625,14 @@
 	      ;; The logic of this is the same as the loop above,
 	      ;; it just goes in the other direction.
 	      (while (and (< arg 0) (not done))
-		(beginning-of-line)
+		;; For completely consistency with the forward-motion
+		;; case, we should call beginning-of-line here.
+		;; However, if point is inside a field and on a
+		;; continued line, the call to (vertical-motion -1)
+		;; below won't move us back far enough; then we return
+		;; to the same column in line-move-finish, and point
+		;; gets stuck -- cyd
+		(forward-line 0)
 		(cond
 		 ((bobp)
 		  (if (not noerror)