aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii <[email protected]>2013-07-06 20:38:24 +0300
committerEli Zaretskii <[email protected]>2013-07-06 20:38:24 +0300
commit23de972aa74fce7360b263d639ffbd674931e408 (patch)
treee7c1a05e023888fbcf56c103c321527af473948c
parent54a4248627162096c706fc0218891db4cc59f138 (diff)
Fix vertical cursor motion with non-default fonts.
lisp/simple.el (line-move-partial): Adjust the row returned by posn-at-point for the current window-vscroll. (Bug#14567)
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/simple.el9
2 files changed, 11 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 872f4f5667..a4ee883f51 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2013-07-06 Eli Zaretskii <[email protected]>
+
+ * simple.el (line-move-partial): Adjust the row returned by
+ posn-at-point for the current window-vscroll. (Bug#14567)
+
2013-07-06 Michael Albinus <[email protected]>
* net/tramp-sh.el (tramp-sh-file-gvfs-monitor-dir-process-filter):
diff --git a/lisp/simple.el b/lisp/simple.el
index c4c7d56dc2..b4b8ddfabe 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -4759,9 +4759,12 @@ lines."
this-height (nth 4 wstart))))
(setq py
(or (nth 1 this-lh)
- (let ((ppos (posn-at-point)))
- (cdr (or (posn-actual-col-row ppos)
- (posn-col-row ppos))))))
+ (let ((ppos (posn-at-point))
+ col-row)
+ (setq col-row (posn-actual-col-row ppos))
+ (if col-row
+ (- (cdr col-row) (window-vscroll))
+ (cdr (posn-col-row ppos))))))
(cond
;; If last line of window is fully visible, and vscrolling
;; more would make this line invisible, move forward.