From: Spencer Baugh <sbaugh@janestreet.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 67837@debbugs.gnu.org, Eli Zaretskii <eliz@gnu.org>, larsi@gnus.org
Subject: bug#67837: 29.1.90; inhibit-interaction breaks keyboard macros
Date: Fri, 16 Feb 2024 17:26:45 -0500 [thread overview]
Message-ID: <ierttm8yriy.fsf@janestreet.com> (raw)
In-Reply-To: <jwvttoi2mcr.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Sat, 16 Dec 2023 10:52:45 -0500")
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> merge 67837 65291
> thanks
>
> AFAICT this is the same bug as bug#65291 and the suggested patch is similar.
>
>> I'm actually tend to think that this proposal is fundamentally wrong,
>> not just problematic implementation-wise. Providing input from a
>> keyboard macro is still input, and inhibit-interaction=t means asking
>> for input signals an error. So your suggestion subverts this feature,
>> and therefore it is simply wrong to install something like that.
>
> I guess it begs the question: what is the purpose of
> `inhibit-interaction`?
>
> The way I see it, the purpose is to avoid Emacs waiting for user input
> when we know there's no user, and thus signal an error if we ever get to
> this point.
>
> Basically, I think since our test suite runs just fine in batch, we
> should be able to run it with inhibit-interaction=t as well (which
> would fix annoying problems when some test fails and ends up waiting
> for user input).
Yes, I agree. I'm interested in making this possible and willing to put
in the work to do it for the Emacs test suite. (since it will help make
my own tests reliable)
> Note that trying to make the whole test suite runs with
> `inhibit-interaction` non-nil is not at all straightforward, sadly:
> there are several places where we do call things like `read-event`
> without providing any keyboard input (i.e. without
> `unread-command-event` or keyboard macros) and instead use a timeout
> because this `read-event` is just there to force Emacs to wait while
> some external process sends us some reply. Should these be considered
> "interaction"? If not, then we open up a whole where some code may call
> `read-event` with a relatively short timeout within a tight loop where
> the purpose *is* to get user input and where the timeout is only present
> to keep something else updated while we wait for that user's input.
What places are these?
I think that does sound like interaction to me. In which case, could we
change those places to not use read-event? Those places would break
anyway if they ran inside a user-defined keyboard macro, if I understand
correctly, so it's useful to fix them.
next prev parent reply other threads:[~2024-02-16 22:26 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-15 16:48 bug#67837: 29.1.90; inhibit-interaction breaks keyboard macros Spencer Baugh
2023-12-15 16:50 ` Spencer Baugh
2023-12-15 18:54 ` Eli Zaretskii
2023-12-15 19:48 ` Spencer Baugh
2023-12-15 20:01 ` Eli Zaretskii
2023-12-15 20:09 ` Spencer Baugh
2023-12-16 7:02 ` Eli Zaretskii
2023-12-16 13:22 ` sbaugh
2023-12-16 13:57 ` Eli Zaretskii
2023-12-15 20:14 ` Eli Zaretskii
2023-12-15 20:39 ` Spencer Baugh
2023-12-16 7:14 ` Eli Zaretskii
2023-12-16 15:52 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-16 16:08 ` Eli Zaretskii
2023-12-16 17:18 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-16 22:26 ` Spencer Baugh [this message]
2024-02-16 23:27 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-17 7:53 ` Eli Zaretskii
2024-02-17 14:13 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-17 14:35 ` Eli Zaretskii
2024-02-17 14:43 ` Eli Zaretskii
2024-02-17 15:15 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-17 16:07 ` Eli Zaretskii
2024-02-17 7:37 ` Eli Zaretskii
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=ierttm8yriy.fsf@janestreet.com \
--to=sbaugh@janestreet.com \
--cc=67837@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=larsi@gnus.org \
--cc=monnier@iro.umontreal.ca \
/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).