[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#27281: Fix nlinum missing line numbers.

From: Bryan Gilbert
Subject: bug#27281: Fix nlinum missing line numbers.
Date: Sat, 10 Jun 2017 10:35:29 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1

On 06/10/2017 07:51 AM, address@hidden wrote:
> William Gilbert <address@hidden> writes:
>> I've been working to track to down a bug where line numbers are
>> occasionally missing when using nlinum mode. Currently there is a package >> written to workaround the problem that has a picture and description of the
>> problem: https://github.com/hlissner/emacs-nlinum-hl.
>> After extensive debugging I've tracked the problem down to the
>> 'nlinum--region' function. Specifically the while loop check that
>> determines if '(point)' is less than the limit. I've found that the problem
>> exists when '(point)' is exactly equal to 'limit'. In this scenario the
>> loop terminates and the last line in the region is not provided with a line
>> number.
> Do you know how to reproduce this scenario?

I don't know how to easily and reliably reproduce this problem. I normally encounter it at least once every few minutes. I've reproduced the problem in my configuration, which is a derivative of the doom configuration (https://github.com/hlissner/.emacs.d), and using spacemacs with nlinum enabled. I don't know if there is anything specific to those two configurations that makes the problem present itself more frequently, but using one of those setups you should see the problem relatively quickly.

I lucked out and had a saved perspective (persp-mode) that exhibited this problem every time I loaded it, which was what allowed me to reliably debug the problem.

>> I was able to remedy the problem by changing the condition from
>> 'less than' to 'less than or equal to', which will allow the last line in
>> the region to be properly assigned a line number.
> This sounds like a workaround, possibly to a bug in jit-lock. Or
> perhaps we need to return a list of the form (jit-lock-bounds BEG END)
> from nlinum--region?

I am not familiar with jit-lock and am still all around very much a novice with elisp and emacs. I essentially zeroed in on the problem, but instrumenting some of the nlinum functions with print messages. I still have the perspective and underlying files preserved that replicate this problem everytime I load them. If there is anything you would like me to test or debug, please let me know. I will try to dig a little deeper to understand nlinum's interaction with jit-lock.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]