diff options
author | Eli Zaretskii <eliz@gnu.org> | 2022-02-21 22:12:57 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2022-02-21 22:12:57 +0200 |
commit | 666e40a109ea6c0079467e72c806bb04191ff4cc (patch) | |
tree | 6190c5d946840798e7cd966ef7ca5df2b13f8cd3 /src/xdisp.c | |
parent | 68d134cf0f784601e50cefc4056eb0ace510a982 (diff) | |
download | emacs-666e40a109ea6c0079467e72c806bb04191ff4cc.tar.gz emacs-666e40a109ea6c0079467e72c806bb04191ff4cc.tar.bz2 emacs-666e40a109ea6c0079467e72c806bb04191ff4cc.zip |
Fix 'display-line-numbers-mode' in hide-show buffers
* 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)
Diffstat (limited to 'src/xdisp.c')
-rw-r--r-- | src/xdisp.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index aa70b933f14..3f283d6732a 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -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), |