bug-gnu-emacs
[Top][All Lists]
Advanced

[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 22:37:04 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1



On 06/10/2017 06:12 PM, address@hidden wrote:
I suspect the debugger is suppressed while jit-lock occurs.  You would
need to log things silently and print it later.  I think
'jit-lock--run-functions' and 'jit-lock-fontify-now' would be
interesting targets.  Something easy to check would be if there are
certain values of 'jit-lock-functions' needed to trigger this (apart
from nlinum--region of course).  Here's my guess as to a fix (untested):
Applying that fix seemed to solve the problem! I had to make a slight modification to put the 'jit-lock-bounds' function call inside the 'let', but other than that it seems to work well. I've yet to see the problem since applying the patch and my 'bad' perspective worked properly as well.

Here's the slightly modified diff:

diff --git a/packages/nlinum/nlinum.el b/packages/nlinum/nlinum.el
index ca4f949fc..82872d571 100644
--- a/packages/nlinum/nlinum.el
+++ b/packages/nlinum/nlinum.el
@@ -297,7 +297,8 @@ it may cause the margin to be resized and line numbers to be recomputed.")
   (save-excursion
     ;; Text may contain those nasty intangible properties, but
     ;; that shouldn't prevent us from counting those lines.
-    (let ((inhibit-point-motion-hooks t))
+    (let ((inhibit-point-motion-hooks t)
+          (end start))
       (goto-char start)
       (unless (bolp) (forward-line 1))
       (remove-overlays (point) limit 'nlinum t)
@@ -321,9 +322,10 @@ it may cause the margin to be resized and line numbers to be recomputed.") ;; (run-with-idle-timer 0.5 nil #'nlinum--flush-overlays
                    ;;                        (current-buffer)))
                    (setq line (1+ line))
-                   (zerop (forward-line 1))))))))
+                   (setq end (line-end-position))
+                   (zerop (forward-line 1))))))
   ;; (setq nlinum--desc (format "-%d" (nlinum--ol-count)))
-  nil)
+  `(jit-lock-bounds ,start . ,end)))

 ;;;###autoload
 (define-globalized-minor-mode global-nlinum-mode nlinum-mode







reply via email to

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