]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix 'display-line-numbers-mode' in hide-show buffers
authorEli Zaretskii <eliz@gnu.org>
Mon, 21 Feb 2022 20:12:57 +0000 (22:12 +0200)
committerEli Zaretskii <eliz@gnu.org>
Mon, 21 Feb 2022 20:12:57 +0000 (22:12 +0200)
* src/xdisp.c (redisplay_internal): Disable redisplay
optimizations that consider just the current line, when
'display-line-numbers-mode' is turned on in the buffer.
(Bug#54091)

src/xdisp.c

index aa70b933f14fd823f0b4a70d2c231e29960a585a..3f283d6732a6382a1d23f76af57cf1d0ae5bb1bc 100644 (file)
@@ -15860,6 +15860,14 @@ redisplay_internal (void)
       /* Point must be on the line that we have info recorded about.  */
       && PT >= CHARPOS (tlbufpos)
       && PT <= Z - CHARPOS (tlendpos)
+      /* FIXME: The following condition is only needed when
+        significant parts of the buffer are hidden (e.g., under
+        hs-minor-mode), but there doesn't seem to be a simple way of
+        detecting that, so we always disable the one-line redisplay
+        optimizations whenever display-line-numbers-mode is turned on
+        in the buffer.  */
+      && (NILP (Vdisplay_line_numbers)
+         || EQ (Vdisplay_line_numbers, Qvisual))
       /* All text outside that line, including its final newline,
         must be unchanged.  */
       && text_outside_line_unchanged_p (w, CHARPOS (tlbufpos),