Fix bug #14408 with updating *Messages* display.

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.
This commit is contained in:
Eli Zaretskii 2013-05-16 21:33:27 +03:00
parent 721c9e8a68
commit 5bb98290d7
2 changed files with 13 additions and 1 deletions

View 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

View 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;