Subject: 30.0.50; C-g doesn't always quit minibuffer on first press

From: Toon claes <[email-masked]>
Date: Tue, 21 Mar 2023 20:16:17 +0100

--text follows this line--
Hi,

For a while I've been having trouble C-g isn't quitting the minibuffer
after the first press.

When I start Emacs freshly I can press M-x, that triggers the
minibuffer, and pressing C-g quits the minibuffer again.

But after a short while of use this behaviour changes. Pressing M-x
still triggers the minibuffer, but pressing C-g prints "[Quit]" while it
keeps the minibuffer active. Only after pressing C-g a second time the
minibuffer is actually quit.

I was able to reproduce in "emacs -Q", but I haven't so far been able to
reproduce with "emacs -Q -nw", although I'm not sure it's related to any
of that.

Below is the output of "C-h l" (view-lossage) reproducing the issue:

 C-x b	 ;; switch-to-buffer
 C-g	 ;; abort-minibuffers
 M-x	 ;; execute-extended-command
 C-g C-g ;; abort-minibuffers
 C-h l	 ;; view-lossage

You can see the first time I press C-g once to abort-minibuffers. The
second time I have to C-g twice.

This time it happened right after a fresh start of "emacs -Q", but
sometimes I have to do a lot more actions before the double C-g is
needed.

--
Toon

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.36, cairo version 1.17.6) of 2023-02-13 built on kumatsu
Repository revision: 609319da870eac75cf4715de8abfaac9233d98f9
Repository branch: master
System Description: Fedora Linux 37 (Workstation Edition)

Configured using:
 'configure --prefix=/home/toon/.local --with-mailutils --with-sound=yes
 --with-pdumper=yes --with-jpeg --with-xpm=ifavailable --with-tiff
 --with-gif --with-png --with-rsvg --with-cairo --with-xml2
 --without-imagemagick --with-native-image-api --with-json --with-xft
 --with-harfbuzz --with-libotf --with-zlib --with-x
 --with-gnutls=ifavailable --with-native-compilation --with-pgtk
 --with-sqlite3 --with-tree-sitter 'CFLAGS=-O0 -g3''

Configured features:
CAIRO DBUS FREETYPE GLIB GSETTINGS HARFBUZZ JPEG JSON LIBOTF LIBSELINUX
LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP
SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3
ZLIB

Important settings:
  value of $LC_MONETARY: en_DK.UTF-8
  value of $LC_NUMERIC: en_DK.UTF-8
  value of $LC_TIME: en_DK.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Messages

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils thingatpt
cl-loaddefs comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv
cl-extra help-mode bytecomp byte-compile cl-lib display-line-numbers rmc
iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win
term/common-win pgtk-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo gtk pgtk multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 78372 10344)
 (symbols 48 7192 0)
 (strings 32 19692 1605)
 (string-bytes 1 602285)
 (vectors 16 15469)
 (vector-slots 8 321515 16235)
 (floats 8 29 48)
 (intervals 56 303 0)
 (buffers 984 13))