+2009-04-15 Chong Yidong <cyd@stupidchicken.com>
+
+ * subr.el (posn-col-row): Properly compute line spacing.
+ Suggested by Nikolaj Schumacher (Bug#2933).
+
2009-04-15 Ulf Jasper <ulf.jasper@web.de>
* net/newst-treeview.el (newsticker-treeview-jump): Enable virtual
(cons (scroll-bar-scale pair (window-width window)) 0))
(t
(let* ((frame (if (framep window) window (window-frame window)))
- (x (/ (car pair) (frame-char-width frame)))
- (y (/ (cdr pair) (+ (frame-char-height frame)
- (or (frame-parameter frame 'line-spacing)
- ;; FIXME: Why the `default'?
- (default-value 'line-spacing)
- 0)))))
- (cons x y))))))
+ ;; FIXME: This should take line-spacing properties on
+ ;; newlines into account.
+ (spacing (when (display-graphic-p frame)
+ (or (with-current-buffer (window-buffer window)
+ line-spacing)
+ (frame-parameter frame 'line-spacing)))))
+ (cond ((floatp spacing)
+ (setq spacing (truncate (* spacing
+ (frame-char-height frame)))))
+ ((null spacing)
+ (setq spacing 0)))
+ (cons (/ (car pair) (frame-char-width frame))
+ (/ (cdr pair) (+ (frame-char-height frame) spacing))))))))
(defun posn-actual-col-row (position)
"Return the actual column and row in POSITION, measured in characters.