From: martin rudalics <rudalics@gmx.at>
To: Michael Heerdegen <michael_heerdegen@web.de>
Cc: 34179@debbugs.gnu.org
Subject: bug#34179: 27.0.50; message hangs when buffer with process visible
Date: Sat, 26 Jan 2019 16:09:15 +0100 [thread overview]
Message-ID: <5C4C781B.3040500@gmx.at> (raw)
In-Reply-To: <871s4z37a9.fsf@web.de>
[-- Attachment #1: Type: text/plain, Size: 854 bytes --]
>>> Michael, please check whether it fixes your
>>> use case.
>
> That seems to be the case, yes.
Probably good to know. Meanwhile, please try the attached patch which
should "cure" the underlying problem (it's the same as for Bug#34138).
It does not cure another problem I found this way based on your
scenario:
With emacs -Q do M-x shell, C-x 5 2, and M-: (message "A\nB").
Here with emacs 25 this grows the minibuffer window and displays the
two lines
A
B
in it. With emacs 26 it shortly resizes the minibuffer window and
then displays "A\nB" in it. With patched master it displays
Eval: (message "A\nB")
with the cursor at the beginning of the minibuffer.
I have no idea yet what's causing these behaviors but so far the
presence of an external procees or shell looks like a necessary
prerequisite. Ideas welcome.
Thanks, martin
[-- Attachment #2: run_window_change_functions.diff --]
[-- Type: text/plain, Size: 1741 bytes --]
diff --git a/src/xdisp.c b/src/xdisp.c
index 8649507..ed4474e 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -14153,6 +14153,9 @@ static void debug_method_add (struct window *, char const *, ...)
clear_garbaged_frames ();
}
+ if (!NILP (Vrun_hooks))
+ run_window_change_functions ();
+
if (windows_or_buffers_changed && !update_mode_lines)
/* Code that sets windows_or_buffers_changed doesn't distinguish whether
only the windows's contents needs to be refreshed, or whether the
@@ -14332,18 +14335,6 @@ static void debug_method_add (struct window *, char const *, ...)
&& (w = XWINDOW (selected_window)) != sw)
goto retry;
- if (!NILP (Vrun_hooks))
- {
- run_window_change_functions ();
-
- /* If windows or buffers changed or selected_window
- changed, redisplay again. */
- if ((windows_or_buffers_changed)
- || (WINDOWP (selected_window)
- && (w = XWINDOW (selected_window)) != sw))
- goto retry;
- }
-
/* We used to always goto end_of_redisplay here, but this
isn't enough if we have a blinking cursor. */
if (w->cursor_off_p == w->last_cursor_off_p)
@@ -14707,18 +14698,6 @@ static void debug_method_add (struct window *, char const *, ...)
&& (w = XWINDOW (selected_window)) != sw))
goto retry;
- if (!NILP (Vrun_hooks))
- {
- run_window_change_functions ();
-
- /* If windows or buffers changed or selected_window changed,
- redisplay again. */
- if ((windows_or_buffers_changed)
- || (WINDOWP (selected_window)
- && (w = XWINDOW (selected_window)) != sw))
- goto retry;
- }
-
/* Clear the face and image caches.
We used to do this only if consider_all_windows_p. But the cache
next prev parent reply other threads:[~2019-01-26 15:09 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-23 15:10 bug#34179: 27.0.50; message hangs when buffer with process visible Michael Heerdegen
2019-01-23 16:29 ` Eli Zaretskii
2019-01-24 13:19 ` Michael Heerdegen
2019-01-24 13:35 ` Michael Heerdegen
2019-01-24 14:39 ` Eli Zaretskii
2019-01-24 14:58 ` Michael Heerdegen
2019-01-24 15:04 ` Michael Heerdegen
2019-01-24 15:25 ` Michael Heerdegen
2019-01-24 15:36 ` Michael Heerdegen
2019-01-24 16:05 ` martin rudalics
2019-01-24 18:22 ` Michael Heerdegen
2019-01-24 18:33 ` martin rudalics
2019-01-24 18:36 ` Eli Zaretskii
2019-01-24 18:51 ` martin rudalics
2019-01-24 18:59 ` Eli Zaretskii
2019-01-24 19:20 ` Michael Heerdegen
2019-01-24 18:55 ` Michael Heerdegen
2019-01-24 18:47 ` Michael Heerdegen
2019-01-24 19:21 ` Eli Zaretskii
2019-01-24 19:49 ` Eli Zaretskii
2019-01-25 9:44 ` martin rudalics
2019-01-25 10:15 ` Eli Zaretskii
2019-01-25 10:36 ` martin rudalics
2019-01-25 13:32 ` Eli Zaretskii
2019-01-25 16:51 ` martin rudalics
2019-01-25 17:22 ` martin rudalics
2019-01-26 12:58 ` Michael Heerdegen
2019-01-26 15:09 ` martin rudalics [this message]
2019-01-26 18:48 ` martin rudalics
2019-01-27 14:22 ` Michael Heerdegen
2019-01-28 18:38 ` martin rudalics
2019-01-30 22:29 ` Michael Heerdegen
2019-01-31 8:32 ` martin rudalics
2019-01-31 14:06 ` Eli Zaretskii
2019-01-31 18:44 ` martin rudalics
2019-01-31 20:10 ` Eli Zaretskii
2019-02-01 9:04 ` martin rudalics
2019-01-31 14:44 ` Michael Heerdegen
2019-02-02 9:28 ` martin rudalics
2019-02-04 23:35 ` Michael Heerdegen
2019-02-19 8:39 ` martin rudalics
2019-01-25 18:31 ` Eli Zaretskii
2019-01-25 18:54 ` martin rudalics
2019-01-25 19:48 ` Eli Zaretskii
2019-01-24 15:46 ` martin rudalics
2019-01-24 14:32 ` Eli Zaretskii
2019-01-24 14:41 ` Michael Heerdegen
2019-01-24 14:49 ` Michael Heerdegen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5C4C781B.3040500@gmx.at \
--to=rudalics@gmx.at \
--cc=34179@debbugs.gnu.org \
--cc=michael_heerdegen@web.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.