aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2015-08-01 15:32:48 +0300
committerEli Zaretskii2015-08-01 15:32:48 +0300
commit08d65696c947b09d4c32606f279c3c2594e99e16 (patch)
tree63f968c71a978ded0366a33a076db49b06ed38bb /src
parentbdd370bb5bd63139870b69775fd0bdfeeb81d5b5 (diff)
downloademacs-08d65696c947b09d4c32606f279c3c2594e99e16.tar.gz
emacs-08d65696c947b09d4c32606f279c3c2594e99e16.zip
Prevent incorrect display when 'line-spacing' variable is set
* src/xdisp.c (try_window_id): Give up this optimization if the buffer has its 'line-spacing' variable set non-nil.
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 03b03d06b3e..e45cb8702b2 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -17753,7 +17753,7 @@ try_window_id (struct window *w)
17753#if false 17753#if false
17754#define GIVE_UP(X) \ 17754#define GIVE_UP(X) \
17755 do { \ 17755 do { \
17756 fprintf (stderr, "try_window_id give up %d\n", (X)); \ 17756 TRACE ((stderr, "try_window_id give up %d\n", (X))); \
17757 return 0; \ 17757 return 0; \
17758 } while (false) 17758 } while (false)
17759#else 17759#else
@@ -17775,7 +17775,7 @@ try_window_id (struct window *w)
17775 changed in the buffer displayed by the window, so give up if they 17775 changed in the buffer displayed by the window, so give up if they
17776 have. */ 17776 have. */
17777 if (w->last_overlay_modified != OVERLAY_MODIFF) 17777 if (w->last_overlay_modified != OVERLAY_MODIFF)
17778 GIVE_UP (21); 17778 GIVE_UP (200);
17779 17779
17780 /* Verify that narrowing has not changed. 17780 /* Verify that narrowing has not changed.
17781 Also verify that we were not told to prevent redisplay optimizations. 17781 Also verify that we were not told to prevent redisplay optimizations.
@@ -17835,6 +17835,11 @@ try_window_id (struct window *w)
17835 && NILP (BVAR (XBUFFER (w->contents), bidi_paragraph_direction))) 17835 && NILP (BVAR (XBUFFER (w->contents), bidi_paragraph_direction)))
17836 GIVE_UP (22); 17836 GIVE_UP (22);
17837 17837
17838 /* Give up if the buffer has line-spacing set, as Lisp-level changes
17839 to that variable require thorough redisplay. */
17840 if (!NILP (BVAR (XBUFFER (w->contents), extra_line_spacing)))
17841 GIVE_UP (23);
17842
17838 /* Make sure beg_unchanged and end_unchanged are up to date. Do it 17843 /* Make sure beg_unchanged and end_unchanged are up to date. Do it
17839 only if buffer has really changed. The reason is that the gap is 17844 only if buffer has really changed. The reason is that the gap is
17840 initially at Z for freshly visited files. The code below would 17845 initially at Z for freshly visited files. The code below would