]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bug #14408 with updating *Messages* display.
authorEli Zaretskii <eliz@gnu.org>
Thu, 16 May 2013 18:33:27 +0000 (21:33 +0300)
committerEli Zaretskii <eliz@gnu.org>
Thu, 16 May 2013 18:33:27 +0000 (21:33 +0300)
 src/xdisp.c (message_dolog): If the *Messages* buffer is shown in
 some window, increment windows_or_buffers_changed, so that
 *Messages* display in that window is updated.

src/ChangeLog
src/xdisp.c

index e5308e2db3be9467e0e2708bff4881d0182dbeb7..42b21abc8aeef6e2c99e89cc08bbfb399afac90c 100644 (file)
@@ -1,5 +1,9 @@
 2013-05-16  Eli Zaretskii  <eliz@gnu.org>
 
+       * xdisp.c (message_dolog): If the *Messages* buffer is shown in
+       some window, increment windows_or_buffers_changed, so that
+       *Messages* display in that window is updated.  (Bug#14408)
+
        * w32.c: Include epaths.h.
        (init_environment): Use cmdproxy.exe without leading directories.
        Support emacs.exe in src; point SHELL to cmdproxy in ../nt in that
index 0a79e6fd891959b22d22a986db2aa2d5ce01b63a..3f7e8610a09de74638024a36af2d5009bbbbb729 100644 (file)
@@ -9537,7 +9537,15 @@ message_dolog (const char *m, ptrdiff_t nbytes, bool nlflag, bool multibyte)
 
       shown = buffer_window_count (current_buffer) > 0;
       set_buffer_internal (oldbuf);
-      if (!shown)
+      /* We called insert_1_both above with its 5th argument (PREPARE)
+        zero, which prevents insert_1_both from calling
+        prepare_to_modify_buffer, which in turns prevents us from
+        incrementing windows_or_buffers_changed even if *Messages* is
+        shown in some window.  So we must manually incrementing
+        windows_or_buffers_changed here to make up for that.  */
+      if (shown)
+       windows_or_buffers_changed++;
+      else
        windows_or_buffers_changed = old_windows_or_buffers_changed;
       message_log_need_newline = !nlflag;
       Vdeactivate_mark = old_deactivate_mark;