Subject: Re: bug#16006: 24.3; *grep* fails to display line numbers with global-linum-mode

From: Mark Lillibridge <[email-masked]>
Date: Tue, 10 Dec 2013 13:27:47 -0800

Stefan Monnier <[email-masked]> writes:

>  > Note that only the first four lines of the *grep* buffer have line
>  > numbers when all the visible lines should have line numbers.  Switching
>  > to the new *grep* buffer dones make the line numbers appear.
>  
>  Indeed linum.el suffers from various corner case problems.  Maybe this
>  one is fixed in Emacs trunk, or maybe it can be fixed.  But the
>  implementation technique used by linum.el has proved over the years to
>  lead to many such corner case issues.
>  
>  I suggest you try out nlinum.el (available in GNU ELPA) which provides
>  basically the same functionality as linum.el but using a different
>  implementation approach, which is more robust.

    Very nice!  Does not suffer from this bug.  I will play with it
more.  Add the following in order to get a global mode:

(define-globalized-minor-mode global-nlinum-mode nlinum-mode nlinum-on)

(defun nlinum-on ()
  (unless (minibufferp)
    (nlinum-mode 1)))

- Mark