summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/windmove.el18
2 files changed, 14 insertions, 9 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 40e4a8a844a..4790ec98cf6 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2012-01-21 Jérémy Compostella <jeremy.compostella@gmail.com>
+
+ * windmove.el (windmove-reference-loc): Fix
+ windmove-reference-loc miscalculation.
+
2012-01-21 Jay Belanger <jay.p.belanger@gmail.com>
* calc/calc-units.el (math-put-default-units): Don't use "1" as a
diff --git a/lisp/windmove.el b/lisp/windmove.el
index 10a564419fb..0523530869b 100644
--- a/lisp/windmove.el
+++ b/lisp/windmove.el
@@ -417,17 +417,17 @@ supplied, if ARG is greater or smaller than zero, respectively."
(- (nth 3 edges) 1))))
(cond
((> effective-arg 0)
- top-left)
+ top-left)
((< effective-arg 0)
- bottom-right)
+ bottom-right)
((= effective-arg 0)
- (windmove-coord-add
- top-left
- (let ((col-row
- (posn-col-row
- (posn-at-point (window-point window) window))))
- (cons (- (car col-row) (window-hscroll window))
- (cdr col-row)))))))))
+ (windmove-coord-add
+ top-left
+ ;; Don't care whether window is horizontally scrolled -
+ ;; `posn-at-point' handles that already. See also:
+ ;; http://lists.gnu.org/archive/html/emacs-devel/2012-01/msg00638.html
+ (posn-col-row
+ (posn-at-point (window-point window) window))))))))
;; This uses the reference location in the current window (calculated
;; by `windmove-reference-loc' above) to find a reference location