2014-07-08 Stefan Monnier <monnier@iro.umontreal.ca>
+ * linum.el (linum--face-height): New function (bug#17813).
+ (linum-update-window): Use it to adjust margin to linum's width.
+
* leim/quail/sisheng.el (sisheng-list): Don't bother with-case-table.
* eshell/em-smart.el (eshell-smart-scroll-window): Use
with-selected-window.
(mapc #'delete-overlay linum-available)
(setq linum-available nil))))
+(defun linum--face-height (face)
+ (aref (font-info (face-font face)) 2))
+
(defun linum-update-window (win)
"Update line numbers for the portion visible in window WIN."
(goto-char (window-start win))
(let ((inhibit-point-motion-hooks t))
(forward-line))
(setq line (1+ line)))
+ (when (display-graphic-p)
+ (setq width (ceiling
+ ;; We'd really want to check the widths rather than the
+ ;; heights, but it's a start.
+ (/ (* width 1.0 (linum--face-height 'linum))
+ (frame-char-height)))))
(set-window-margins win width (cdr (window-margins win)))))
(defun linum-after-change (beg end _len)