summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)
#if false
#define GIVE_UP(X) \
do { \
- fprintf (stderr, "try_window_id give up %d\n", (X)); \
+ TRACE ((stderr, "try_window_id give up %d\n", (X))); \
return 0; \
} while (false)
#else
@@ -17775,7 +17775,7 @@ try_window_id (struct window *w)
changed in the buffer displayed by the window, so give up if they
have. */
if (w->last_overlay_modified != OVERLAY_MODIFF)
- GIVE_UP (21);
+ GIVE_UP (200);
/* Verify that narrowing has not changed.
Also verify that we were not told to prevent redisplay optimizations.
@@ -17835,6 +17835,11 @@ try_window_id (struct window *w)
&& NILP (BVAR (XBUFFER (w->contents), bidi_paragraph_direction)))
GIVE_UP (22);
+ /* Give up if the buffer has line-spacing set, as Lisp-level changes
+ to that variable require thorough redisplay. */
+ if (!NILP (BVAR (XBUFFER (w->contents), extra_line_spacing)))
+ GIVE_UP (23);
+
/* Make sure beg_unchanged and end_unchanged are up to date. Do it
only if buffer has really changed. The reason is that the gap is
initially at Z for freshly visited files. The code below would