changeset 76513:1a4b3e645c66

(line-move-1): Respect `inhibit-line-move-field-capture' property.
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 17 Mar 2007 19:44:21 +0000
parents dfcd70a86043
children 97fd372f5ec7
files lisp/simple.el
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/simple.el	Sat Mar 17 19:44:11 2007 +0000
+++ b/lisp/simple.el	Sat Mar 17 19:44:21 2007 +0000
@@ -3594,7 +3594,7 @@
 			      'end-of-buffer)
 			    nil)))
 	    ;; Move by arg lines, but ignore invisible ones.
-	    (let (done line-end)
+	    (let (done)
 	      (while (and (> arg 0) (not done))
 		;; If the following character is currently invisible,
 		;; skip all characters with that same `invisible' property value.
@@ -3603,9 +3603,11 @@
 		;; Move a line.
 		;; We don't use `end-of-line', since we want to escape
 		;; from field boundaries ocurring exactly at point.
-		(let ((inhibit-field-text-motion t))
-		  (setq line-end (line-end-position)))
-		(goto-char (constrain-to-field line-end (point) t t))
+		(goto-char (constrain-to-field
+			    (let ((inhibit-field-text-motion t))
+			      (line-end-position))
+			    (point) t t
+			    'inhibit-line-move-field-capture))
 		;; If there's no invisibility here, move over the newline.
 		(cond
 		 ((eobp)