summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/simple.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index edc822eb51e..dfa30372dda 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -6399,7 +6399,12 @@ If NOERROR, don't signal an error if we can't move that many lines."
(point))))
;; Move to the desired column.
- (line-move-to-column (truncate column))
+ (if line-move-visual
+ ;; Under line-move-visual, goal-column should be
+ ;; interpreted in units of the frame's canonical character
+ ;; width, which is exactly what vertical-motion does.
+ (vertical-motion (cons column 0))
+ (line-move-to-column (truncate column)))
;; Corner case: suppose we start out in a field boundary in
;; the middle of a continued line. When we get to