]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bug #16347 with updating redisplay of company-mode's "tooltip".
authorEli Zaretskii <eliz@gnu.org>
Sat, 11 Jan 2014 11:54:08 +0000 (13:54 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 11 Jan 2014 11:54:08 +0000 (13:54 +0200)
 src/xdisp.c (try_window_id): Don't use this function's optimizations
 if overlays in the buffer displayed by the window have changed
 since last redisplay.
 (message_dolog): Fix indentation.

src/ChangeLog
src/xdisp.c

index f258f38afbbb598863f6a20b18edb5b861e48efa..556fcce5fa57a77d281f9fe16464ca6b2169aaf6 100644 (file)
@@ -1,3 +1,10 @@
+2014-01-11  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (try_window_id): Don't use this function's optimizations
+       if overlays in the buffer displayed by the window have changed
+       since last redisplay.  (Bug#16347)
+       (message_dolog): Fix indentation.
+
 2014-01-11  Martin Rudalics  <rudalics@gmx.at>
 
        * frame.c (frame_resize_pixelwise): Fix doc-string.
index 99471d1df1963bb176bb6fd2d35975e08c7c9787..8efe3492db08d5e9c9e461ecdf73db76adcc05aa 100644 (file)
@@ -9854,7 +9854,7 @@ message_dolog (const char *m, ptrdiff_t nbytes, bool nlflag, bool multibyte)
         incrementing windows_or_buffers_changed even if *Messages* is
         shown in some window.  So we must manually set
         windows_or_buffers_changed here to make up for that.  */
-       windows_or_buffers_changed = old_windows_or_buffers_changed;
+      windows_or_buffers_changed = old_windows_or_buffers_changed;
       bset_redisplay (current_buffer);
 
       set_buffer_internal (oldbuf);
@@ -17417,6 +17417,12 @@ try_window_id (struct window *w)
   if (windows_or_buffers_changed || f->cursor_type_changed)
     GIVE_UP (2);
 
+  /* This function's optimizations cannot be used if overlays have
+     changed in the buffer displayed by the window, so give up if they
+     have.  */
+  if (w->last_overlay_modified != OVERLAY_MODIFF)
+    GIVE_UP (21);
+
   /* Verify that narrowing has not changed.
      Also verify that we were not told to prevent redisplay optimizations.
      It would be nice to further