From: Alan Mackenzie <acm@muc.de>
To: Platon Pronko <platon7pronko@gmail.com>
Cc: 45792@debbugs.gnu.org
Subject: bug#45792: 28.0.50; regression in commit c7c154bb, minibuffer is not closed after opening a file
Date: Tue, 12 Jan 2021 19:00:14 +0000 [thread overview]
Message-ID: <X/3xvnF4v+tX9/3N@ACM> (raw)
In-Reply-To: <75aca8c3-6c8f-2a66-399e-7116d99c91d3@gmail.com>
Hello, Platon.
Thanks for such a high quality bug report, and thanks for investigating
it as far as you have done.
On Mon, Jan 11, 2021 at 19:09:53 +0300, Platon Pronko wrote:
> When I open a file using C-x C-f, minibuffer does not close after I
> finish typing the filename - current window does not change at all,
> minibuffer stays open (as if Emacs "froze"). Pressing C-g or any other
> key unfreezes the window and file is displayed.
It seems to be a redisplay problem. Emacs is doing everything to visit
the new file _except_ the final redisplay action. Any keypress (or mouse
action) triggers that missing redisplay.
> I bisected the problem to commit c7c154bb, "Fix incompleteness in the
> implementation of minibuffer-follows-selected-frame".
OK.
> Problem is somehow related to the fact that I use dvorak input method.
I spent yesterday evening trying to narrow it down more. The
define-global-minor-mode causes dvorak-minor-mode to get added to three
hooks. Of these, either (most likely both of them, too) of
change-major-mode-hook or after-change-major-mode-hook will cause the bug
when dvorak-minor-mode is added to it.
> The problem goes away if I comment out the section under "We've exited
> the recursive edit without an error" in minibuf.c.
I'm trying to work out, from my notes, exactly why I put that section of
code in. I might well just take it out. But it would be good to
understand the mechanism of the bug, first.
> Steps to reproduce:
> 1. init.el contents:
> (define-minor-mode dvorak-minor-mode "Use english-dvorak input method." :lighter nil
> (if
> (not (string= " *Minibuf-0*" (buffer-name (current-buffer))))
> (if dvorak-minor-mode (activate-input-method "english-dvorak"))))
> (define-global-minor-mode global-dvorak-mode dvorak-minor-mode dvorak-minor-mode)
> (global-dvorak-mode t)
As you've said yourself in another post, the testing for " *Minibuf-0*"
doesn't seem to effect the bug. So, it would appear to be the adding of
dvorak-minor-mode to these two hooks. (See above.)
> 2. Start emacs with: ./src/emacs -Q --eval '(load-file "~/.emacs.d/init.el")'
> 3. Type C-x C-f, type in some text-file filename, press Return.
> 4. Observe no file being opened and "[DV@]" in minibuffer.
As already said, the file probably is being opened, it just isn't getting
displayed. I'll be carrying on looking at this.
> In GNU Emacs 28.0.50 (build 15, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo version 1.17.4)
> of 2021-01-11 built on the-big-maker
> Repository revision: c7c154bb5756e0ae71d342c5d8aabf725877f186
> Repository branch: HEAD
> Windowing system distributor 'The X.Org Foundation', version 11.0.12010000
> System Description: Arch Linux
> Configured using:
> 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
> --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games
> --with-sound=alsa --with-modules --without-gconf --without-gsettings
> --with-x-toolkit=gtk3 --without-xaw3d'
[ .... ]
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2021-01-12 19:00 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-11 16:09 bug#45792: 28.0.50; regression in commit c7c154bb, minibuffer is not closed after opening a file Platon Pronko
2021-01-12 9:06 ` martin rudalics
2021-01-12 10:29 ` Platon Pronko
2021-01-12 19:00 ` Alan Mackenzie [this message]
2021-01-16 16:36 ` Alan Mackenzie
2021-01-17 7:50 ` Platon Pronko
2021-01-30 18:35 ` Alan Mackenzie
2021-01-31 8:54 ` Platon Pronko
2021-01-31 11:50 ` Alan Mackenzie
2021-01-31 12:11 ` Platon Pronko
2021-01-31 17:01 ` Alan Mackenzie
2021-01-31 19:37 ` Platon Pronko
2021-01-31 20:06 ` Alan Mackenzie
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=X/3xvnF4v+tX9/3N@ACM \
--to=acm@muc.de \
--cc=45792@debbugs.gnu.org \
--cc=platon7pronko@gmail.com \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).