Commit dff76c18 authored by Stefan Monnier's avatar Stefan Monnier
Browse files

* lisp/linum.el (linum--face-height): New function.

(linum-update-window): Use it to adjust margin to linum's width.

Fixes: debbugs:17813
parent 78478ff6
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.
......
......@@ -138,6 +138,9 @@ Linum mode is a buffer-local minor mode."
(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))
......@@ -178,6 +181,12 @@ Linum mode is a buffer-local minor mode."
(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)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment