GNU bug report logs - #73849
31.0.50; Binding ESC does not throw an error, but binding any M- combination afterwards does

Previous Next

Package: emacs;

Reported by: Alexander Prähauser <ahprae <at> protonmail.com>

Date: Thu, 17 Oct 2024 10:22:02 UTC

Severity: normal

Found in version 31.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 73849 in the body.
You can then email your comments to 73849 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#73849; Package emacs. (Thu, 17 Oct 2024 10:22:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Alexander Prähauser <ahprae <at> protonmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 17 Oct 2024 10:22:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Alexander Prähauser <ahprae <at> protonmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 31.0.50;
 Binding ESC does not throw an error, but binding any M- combination
 afterwards does
Date: Thu, 17 Oct 2024 10:18:18 +0000
If I eval the following

(progn (defvar-keymap test-map)
       (define-key test-map (kbd "ESC") #'test)
       (define-key test-map (kbd "M-i") #'test))

I get an error

(error "Key sequence M-i starts with non-prefix key ESC")

And I get the same error if I try to bind any other key combination
containing a Meta modifier, including ones which also contain other modifiers.
Crucially, I do not get an error while binding ESC itself, which I guess
is what should happen. The error only appears while trying to bind Meta
keys in the map containing ESC. It also doesn't seem to happen if I bind
M-i using a vector instead of kbd.

This was tried while starting Emacs without an
init.


In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.41, cairo version 1.18.0) of 2024-07-14 built on localhost
Repository revision: a44376432de78374017c2009163a9242acbf6355
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101013
System Description: Gentoo Linux

Configured using:
 'configure --prefix=/usr --build=x86_64-pc-linux-gnu
 --host=x86_64-pc-linux-gnu --mandir=/usr/share/man
 --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
 --localstatedir=/var/lib --datarootdir=/usr/share
 --disable-silent-rules --docdir=/usr/share/doc/emacs-31.0.9999
 --htmldir=/usr/share/doc/emacs-31.0.9999/html --libdir=/usr/lib64
 --program-suffix=-emacs-31-vcs --includedir=/usr/include/emacs-31-vcs
 --infodir=/usr/share/info/emacs-31-vcs --localstatedir=/var
 --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp
 --without-compress-install --without-hesiod --without-pop
 --with-file-notification=inotify --with-pdumper --enable-acl
 --enable-xattr --with-dbus --with-modules --with-gameuser=:gamestat
 --with-libgmp --with-gpm --with-native-compilation=aot
 --without-kerberos --without-kerberos5 --with-lcms2 --with-xml2
 --with-mailutils --without-selinux --without-sqlite3 --with-gnutls
 --with-libsystemd --with-threads --with-tree-sitter --without-wide-int
 --with-sound=alsa --with-zlib --with-x --without-pgtk --without-ns
 --without-gconf --without-gsettings --with-toolkit-scroll-bars
 --with-xpm --with-xft --with-cairo --with-harfbuzz --without-libotf
 --without-m17n-flt --with-x-toolkit=gtk3 --without-xwidgets --with-gif
 --with-jpeg --with-png --with-rsvg --with-tiff --without-webp
 --with-imagemagick --with-dumping=pdumper 'CFLAGS=-march=znver2
 --param=l1-cache-line-size=64 --param=l1-cache-size=32
 --param=l2-cache-size=512 -O2 -pipe -fno-fast-math -ffp-contract=off'
 CPPFLAGS= 'LDFLAGS=-Wl,-O1 -Wl,--as-needed
 -Wl,-z,pack-relative-relocs''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ IMAGEMAGICK
JPEG LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER
PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11
XDBE XIM XINPUT2 XPM GTK3 ZLIB

Important settings:
  value of $LANG: en_US.utf8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  citar-embark-mode: t
  global-edit-server-edit-mode: t
  global-goto-address-mode: t
  goto-address-mode: t
  auto-insert-mode: t
  dynamic-completion-mode: t
  electric-pair-mode: t
  corfu-history-mode: t
  delete-selection-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  desktop-save-mode: t
  telega-root-auto-fill-mode: t
  telega-contact-birthdays-mode: t
  telega-active-video-chats-mode: t
  telega-active-locations-mode: t
  telega-patrons-mode: t
  telega-active-stories-mode: t
  daselt-mode: t
  emms-mode-line-mode: t
  emms-playing-time-display-mode: t
  emms-playing-time-mode: t
  rainbow-blocks-mode: t
  rainbow-delimiters-mode: t
  global-org-modern-mode: t
  TeX-PDF-mode: t
  fancy-compilation-mode: t
  eshell-vterm-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  all-the-icons-completion-mode: t
  global-aggressive-indent-mode: t
  aggressive-indent-mode: t
  org-roam-db-autosync-mode: t
  corfu-prescient-mode: t
  vertico-prescient-mode: t
  global-corfu-mode: t
  corfu-mode: t
  marginalia-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  savehist-mode: t
  vertico-mode: t
  smart-mark-mode: t
  windmove-mode: t
  Info-breadcrumbs-in-mode-line-mode: t
  recentf-mode: t
  straight-use-package-mode: t
  straight-package-neutering-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  global-prettify-symbols-mode: t
  prettify-symbols-mode: t
  tab-bar-history-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  undelete-frame-mode: t
  minibuffer-regexp-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/alex/.emacs.d/straight/build/corfu-terminal/corfu-terminal hides /home/alex/.emacs.d/elpa/corfu-terminal-0.7/corfu-terminal
/home/alex/.emacs.d/straight/build/corfu-terminal/corfu-terminal-autoloads hides /home/alex/.emacs.d/elpa/corfu-terminal-0.7/corfu-terminal-autoloads
/home/alex/.emacs.d/straight/build/corfu/corfu hides /home/alex/.emacs.d/elpa/corfu-20240523.752/corfu
/home/alex/.emacs.d/straight/build/corfu/corfu-quick hides /home/alex/.emacs.d/elpa/corfu-20240523.752/corfu-quick
/home/alex/.emacs.d/straight/build/corfu/corfu-popupinfo hides /home/alex/.emacs.d/elpa/corfu-20240523.752/corfu-popupinfo
/home/alex/.emacs.d/straight/build/corfu/corfu-info hides /home/alex/.emacs.d/elpa/corfu-20240523.752/corfu-info
/home/alex/.emacs.d/straight/build/corfu/corfu-indexed hides /home/alex/.emacs.d/elpa/corfu-20240523.752/corfu-indexed
/home/alex/.emacs.d/straight/build/corfu/corfu-history hides /home/alex/.emacs.d/elpa/corfu-20240523.752/corfu-history
/home/alex/.emacs.d/straight/build/corfu/corfu-echo hides /home/alex/.emacs.d/elpa/corfu-20240523.752/corfu-echo
/home/alex/.emacs.d/straight/build/corfu/corfu-autoloads hides /home/alex/.emacs.d/elpa/corfu-20240523.752/corfu-autoloads
/home/alex/.emacs.d/straight/build/consult/consult hides /home/alex/.emacs.d/elpa/consult-20240523.754/consult
/home/alex/.emacs.d/straight/build/consult/consult-xref hides /home/alex/.emacs.d/elpa/consult-20240523.754/consult-xref
/home/alex/.emacs.d/straight/build/consult/consult-register hides /home/alex/.emacs.d/elpa/consult-20240523.754/consult-register
/home/alex/.emacs.d/straight/build/consult/consult-org hides /home/alex/.emacs.d/elpa/consult-20240523.754/consult-org
/home/alex/.emacs.d/straight/build/consult/consult-kmacro hides /home/alex/.emacs.d/elpa/consult-20240523.754/consult-kmacro
/home/alex/.emacs.d/straight/build/consult/consult-info hides /home/alex/.emacs.d/elpa/consult-20240523.754/consult-info
/home/alex/.emacs.d/straight/build/consult/consult-imenu hides /home/alex/.emacs.d/elpa/consult-20240523.754/consult-imenu
/home/alex/.emacs.d/straight/build/consult/consult-flymake hides /home/alex/.emacs.d/elpa/consult-20240523.754/consult-flymake
/home/alex/.emacs.d/straight/build/consult/consult-compile hides /home/alex/.emacs.d/elpa/consult-20240523.754/consult-compile
/home/alex/.emacs.d/straight/build/consult/consult-autoloads hides /home/alex/.emacs.d/elpa/consult-20240523.754/consult-autoloads
/home/alex/.emacs.d/elpa/org-projectile-helm-20230817.801/org-projectile-helm hides /home/alex/.emacs.d/elpa/org-projectile-20230817.851/org-projectile-helm
/home/alex/.emacs.d/straight/build/popon/popon hides /home/alex/.emacs.d/elpa/popon-0.13/popon
/home/alex/.emacs.d/straight/build/popon/popon-autoloads hides /home/alex/.emacs.d/elpa/popon-0.13/popon-autoloads
/home/alex/.emacs.d/straight/build/compat/compat-25 hides /usr/share/emacs/site-lisp/compat/compat-25
/home/alex/.emacs.d/straight/build/compat/compat-26 hides /usr/share/emacs/site-lisp/compat/compat-26
/home/alex/.emacs.d/straight/build/compat/compat-27 hides /usr/share/emacs/site-lisp/compat/compat-27
/home/alex/.emacs.d/straight/build/compat/compat-28 hides /usr/share/emacs/site-lisp/compat/compat-28
/home/alex/.emacs.d/straight/build/compat/compat-29 hides /usr/share/emacs/site-lisp/compat/compat-29
/home/alex/.emacs.d/straight/build/compat/compat-macs hides /usr/share/emacs/site-lisp/compat/compat-macs
/home/alex/.emacs.d/straight/build/compat/compat-tests hides /usr/share/emacs/site-lisp/compat/compat-tests
/home/alex/.emacs.d/straight/build/compat/compat hides /usr/share/emacs/site-lisp/compat/compat
/home/alex/.emacs.d/elpa/dash-20240510.1327/dash hides /usr/share/emacs/site-lisp/dash/dash
/usr/share/emacs/site-lisp/desktop-entry-mode hides /usr/share/emacs/site-lisp/desktop-file-utils/desktop-entry-mode
/home/alex/.emacs.d/elpa/f-20240308.906/f hides /usr/share/emacs/site-lisp/f/f
/home/alex/.emacs.d/elpa/password-store-20231201.954/password-store hides /usr/share/emacs/site-lisp/pass/password-store
/home/alex/.emacs.d/elpa/s-20220902.1511/s hides /usr/share/emacs/site-lisp/s/s
/home/alex/.emacs.d/elpa/with-editor-20240618.1840/with-editor hides /usr/share/emacs/site-lisp/with-editor/with-editor
/home/alex/.emacs.d/elpa/bind-key-20230203.2004/bind-key hides /usr/share/emacs/31.0.50/lisp/bind-key
/home/alex/.emacs.d/elpa/transient-20240619.1324/transient hides /usr/share/emacs/31.0.50/lisp/transient
/home/alex/.emacs.d/elpa/modus-themes-4.4.0/theme-loaddefs hides /usr/share/emacs/31.0.50/lisp/theme-loaddefs
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package-bind-key hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-bind-key
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package-core hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-core
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package-delight hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-delight
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package-diminish hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-diminish
/home/alex/.emacs.d/elpa/use-package-ensure-system-package-20221209.2013/use-package-ensure-system-package hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-ensure-system-package
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package-ensure hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-ensure
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package-jump hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-jump
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package-lint hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-lint
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package hides /usr/share/emacs/31.0.50/lisp/use-package/use-package
/home/alex/.emacs.d/straight/build/compat/compat hides /usr/share/emacs/31.0.50/lisp/emacs-lisp/compat
/home/alex/.emacs.d/straight/build/seq/seq hides /usr/share/emacs/31.0.50/lisp/emacs-lisp/seq
/home/alex/.emacs.d/site-lisp/palette hides /home/alex/.emacs.d/site-lisp/icicles/palette
/home/alex/.emacs.d/site-lisp/doremi/hexrgb hides /home/alex/.emacs.d/site-lisp/icicles/hexrgb
/home/alex/.emacs.d/site-lisp/doremi/doremi hides /home/alex/.emacs.d/site-lisp/icicles/doremi
/home/alex/.emacs.d/site-lisp/doremi/doremi-frm hides /home/alex/.emacs.d/site-lisp/icicles/doremi-frm
/home/alex/.emacs.d/site-lisp/dired+ hides /home/alex/.emacs.d/site-lisp/icicles/dired+
/home/alex/.emacs.d/elpa/bookmark+-20230325.160624/bookmark+ hides /home/alex/.emacs.d/site-lisp/icicles/bookmark+
/home/alex/.emacs.d/site-lisp/add-tex-envs hides /home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-basic/add-tex-envs
/home/alex/.emacs.d/site-lisp/avy-act-on-distance/avy-act-on-distance hides /home/alex/.emacs.d/site-lisp/DEmacs/avy-act-on-distance/avy-act-on-distance
/home/alex/.emacs.d/site-lisp/DEmacs/.#DEmacs-commands hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/.#DEmacs-commands
/home/alex/.emacs.d/site-lisp/DEmacs/.#DEmacs-eshell hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/.#DEmacs-eshell
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-eshell hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-eshell
/home/alex/.emacs.d/site-lisp/DEmacs/.#DEmacs-ynta hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/.#DEmacs-ynta
/home/alex/.emacs.d/site-lisp/DEmacs/.#DEmacs-icicles hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/.#DEmacs-icicles
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-icicles hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-icicles
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-layers hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-layers
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-variables hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-variables
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-pkg hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-pkg
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-modes hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-modes
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-functions hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-functions
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-commands hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-commands
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-cdlatex-bindings hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-cdlatex-bindings
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-basic/.#DEmacs-basic-variables hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-basic/.#DEmacs-basic-variables
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-basic/.#DEmacs-basic-commands hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-basic/.#DEmacs-basic-commands
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-basic/.#DEmacs-basic-functions hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-basic/.#DEmacs-basic-functions
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-basic/.#DEmacs-basic-keys hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-basic/.#DEmacs-basic-keys
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-basic/DEmacs-basic-keys hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-basic/DEmacs-basic-keys
/home/alex/.emacs.d/site-lisp/add-tex-envs hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-basic/add-tex-envs
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-basic/DEmacs-basic hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-basic/DEmacs-basic
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-basic/DEmacs-basic-variables hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-basic/DEmacs-basic-variables
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-basic/DEmacs-basic-pkg hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-basic/DEmacs-basic-pkg
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-basic/DEmacs-basic-modes hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-basic/DEmacs-basic-modes
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-basic/DEmacs-basic-functions hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-basic/DEmacs-basic-functions
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-basic/DEmacs-basic-commands hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-basic/DEmacs-basic-commands
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-keys/initial_maps hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-keys/initial_maps
/home/alex/.emacs.d/site-lisp/DEmacs/DEmacs-keys/DEmacs-keys hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/DEmacs-keys/DEmacs-keys
/home/alex/.emacs.d/site-lisp/avy-act-on-distance/avy-act-on-distance hides /home/alex/.emacs.d/site-lisp/DEmacs.old/DEmacs/avy-act-on-distance/avy-act-on-distance

Features:
(shadow mail-extr gnus-msg d-xkb-constants d-xkb-functions projectile
lisp-mnt ibuf-ext ibuffer ibuffer-loaddefs debug shr-color textsec
uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check
network-stream url-cache shortdoc d-emacs-functions vertico-quick
d-functions d-customs corfu-quick consult-register cl-print backtrace
misearch multi-isearch vc-hg vc-bzr tramp-cmds
sanityinc-tomorrow-day-theme vertico-directory cus-start cl-indent
dabbrev cape-char arc-mode archive-mode reveal mhtml-mode
css-mode-expansions css-mode smartparens-javascript js-mode-expansions
js c-ts-common plain-tex view conf-mode vc bug-reference smartparens-c
cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs markdown-mode tramp-cache time-stamp
tramp-sh mule-util pdf-annot tablist tablist-filter semantic/wisent/comp
semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util
semantic semantic/tag semantic/lex semantic/fw mode-local cedet ol-eww
ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect ol-docview doc-view
ol-bbdb ol-w3m ol-doi org-link-doi colored-latex-environments tex-fold
citar-capf citar-embark citar citar-file citar-cache citar-format
reftex-dcr reftex-auc mixed-pitch tex-mode font-latex latexenc eww
mm-url pdf-sync pdf-outline pdf-links pdf-isearch pdf-misc vc-git
vc-dispatcher smtpmail gnus-registry registry gnus-art mm-uu mml2015
mm-view mml-smime smime gnutls dig gnus-sum gnus-group gnus-undo
gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source nnoo gnus-spec
gnus-win gnus-int gnus-range imap rfc2104 utf7 gnus nnheader range
edit-server epa-file goto-addr autoinsert completion elec-pair
corfu-history delsel undo-tree desktop frameset telega-obsolete telega
telega-tdlib-events telega-webpage telega-match telega-root telega-info
telega-chat visual-fill-column telega-modes telega-company telega-emoji
telega-user telega-notifications notifications telega-voip telega-msg
telega-story telega-tme telega-sticker telega-vvnote telega-ffplay
telega-i18n telega-sort telega-filter telega-ins telega-inline
telega-util telega-folders telega-topic telega-media telega-tdlib
rainbow-identifiers telega-server telega-core telega-customize emacsbug
DEmacs DEmacs-cdlatex-bindings DEmacs-modes DEmacs-basic-modes
DEmacs-commands DEmacs-variables DEmacs-keys DEmacs-functions
DEmacs-basic-keys DEmacs-basic-functions avy-act-on-distance help-macro
emms-idapi-browser emms-idapi emms-idapi-musicbrainz emms-mpris
emms-librefm-stream emms-librefm-scrobbler emms-playlist-limit emms-i18n
emms-history emms-score emms-stream-info emms-metaplaylist-mode
emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort
emms-volume emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse
emms-volume-amixer emms-playlist-sort emms-last-played emms-player-xine
emms-lyrics emms-streams emms-show-all emms-tag-editor emms-tag-tracktag
emms-mark emms-mode-line emms-info-native emms-info-native-spc
emms-info-native-mp3 emms-info-native-ogg emms-info-native-opus
emms-info-native-flac emms-info-native-vorbis bindat emms-info-exiftool
emms-info-tinytag emms-info-metaflac emms-info-opusinfo
emms-info-ogginfo emms-info-mp3info emms-player-vlc emms-player-mpv
emms-playing-time emms-player-mplayer emms-setup emms-player-mpd
emms-url emms-cache emms-info emms-later-do emms-playlist-mode
emms-source-playlist emms-source-file locate emms-player-simple emms
emms-compat empv back-button nav-flash smartrep rainbow-blocks
org-rainbow-tags dired-rainbow dired-hacks-utils rainbow-delimiters
rainbow-mode modus-themes abyss-theme yaml-mode-expansions yaml-mode
julia-snail spinner pulse popup eldoc-box flycheck ox-md org-modern
math-delimiters add-tex-envs cdlatex reftex reftex-loaddefs reftex-vars
latex-extra preview smartparens-latex latex-mode-expansions latex
latex-flymake flymake tex-ispell tex-style tex dbus texmathp mentor
url-scgi mentor-rpc mentor-files mentor-data xml-rpc fancy-compilation
eshell-vterm em-term esh-ext esh-proc esh-opt esh-io esh-arg esh-module
esh-module-loaddefs esh-util vterm tramp trampver tramp-integration
files-x tramp-message tramp-compat tramp-loaddefs face-remap term
disp-table ehelp vterm-module term/xterm xterm unicode-fonts font-utils
dynamic-fonts ztree ztree-diff ztree-diff-model ztree-dir ztree-view
ztree-protocol ztree-util yasnippet elgrep async grep dedicated
auto-dictionary flyspell ispell all-the-icons-completion
all-the-icons-dired all-the-icons all-the-icons-faces data-material
data-weathericons data-octicons data-fileicons data-faicons
data-alltheicons go-translate gt-text-utility gt-engine-echo
gt-engine-libre gt-engine-chatgpt gt-engine-youdao gt-engine-stardict
gt-engine-deepl gt-engine-google-rpc gt-engine-google gt-engine-bing
gt-extension gt-faces gt-core plz gt-httpx gptel-extensions gptel
gptel-org gptel-openai tabgo tab-line dired-quick-sort ls-lisp
aggressive-indent visible-mark org-noter-org-roam org-noter
org-noter-djvu org-noter-nov org-noter-pdf pdf-tools pdf-view jka-compr
pdf-cache pdf-info tq pdf-util pdf-macs org-noter-core
ekg-import-subdirectories ekg-org-roam org-roam-dailies ekg ewoc
triples-upgrade triples-backups triples org-roam-export
use-package-ensure-system-package system-packages consult-org-roam
consult-org-roam-buffer org-ref org-ref-core openalex request
org-ref-glossary org-ref-bibtex smartparens-html html-mode-expansions
sgml-mode avy doi-utils url-http url-auth url-gw nsm org-ref-utils
org-ref-export citeproc citeproc-itemgetters citeproc-biblatex
parse-time citeproc-bibtex ol-bibtex citeproc-cite citeproc-subbibs
citeproc-sort citeproc-name citeproc-formatters citeproc-number
smartparens-rst smartparens-markdown rst compile citeproc-proc
citeproc-disamb citeproc-itemdata citeproc-generic-elements
citeproc-macro citeproc-choose citeproc-date citeproc-context
citeproc-prange citeproc-style citeproc-locale citeproc-term citeproc-rt
citeproc-lib citeproc-s queue ox-pandoc ht ox-org ox-odt rng-loc rng-uri
rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns
nxml-enc xmltok nxml-util ox-latex ox-icalendar ox-html table ox-ascii
ox-publish ox org-ref-misc-links org-ref-label-link org-ref-ref-links
org-ref-citation-links xref project org-ref-bibliography-links hydra lv
bibtex-completion parsebib org-roam-migrate org-roam-log org-roam-mode
org-roam-capture org-roam-id org-roam-node org-roam-db
emacsql-sqlite-builtin sqlite org-roam-utils org-roam-compat org-roam
org-capture emacsql-sqlite emacsql-sqlite-common emacsql
emacsql-compiler org-brain picture org-agenda org-attach biblio
biblio-download biblio-dissemin biblio-ieee biblio-hal biblio-dblp
biblio-crossref biblio-arxiv timezone biblio-doi biblio-core let-alist
url-queue ido bibtex iso8601 cape pass f s password-store
auth-source-pass kind-icon svg-lib corfu-prescient vertico-prescient
prescient char-fold windsize corfu-terminal popon corfu consult-gh
consult-gh-autoloads compat-autoloads seq-autoloads embark-consult
consult embark-org embark marginalia orderless magit-bookmark
magit-submodule magit-blame magit-stash magit-reflog magit-bisect
magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit
magit-sequence magit-notes magit-worktree magit-tag magit-merge
magit-branch magit-reset magit-files magit-refs magit-status magit
magit-repos magit-apply magit-wip magit-log which-func magit-diff
smerge-mode diff diff-mode track-changes git-commit log-edit message
sendmail yank-media rfc822 mml mml-sec epa epg rfc6068 epg-config
gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils
mailheader pcvs-util add-log magit-core magit-autorevert autorevert
filenotify magit-margin magit-transient magit-process with-editor shell
server magit-mode transient magit-git magit-base magit-section
cursor-sensor mb-depth facemenu two-column crm persistent-soft
list-utils pcache eieio-base savehist vertico-buffer vertico-mouse
vertico compat smartparens-config smartparens-org smartparens-text
smartparens loadhist dash expand-region text-mode-expansions
the-org-mode-expansions org-element org-persist org-id org-refile
org-element-ast inline avl-tree generator er-basic-expansions
expand-region-core expand-region-custom easy-kill-extras
easy-kill-line-edge easy-kill-buffer easy-kill-to-char easy-kill
smart-mark buffer-move windmove doremi-frm palette eyedropper faces+
doremi-cmd icicles icicles-mode dired+ image-file image-converter
dired-aux icicles-cmd2 icicles-cmd1 icicles-mcmd image-dired
image-dired-tags image-dired-external image-dired-util xdg image-mode
exif doremi icicles-fn icicles-var apropos-fn+var apropos icicles-opt
ffap- fuzzy-match cus-theme cus-edit cus-load menu-bar+ misc-cmds
frame-fns avoid rect bookmark+ bookmark+-key bookmark+-bmu info+
fit-frame help-fns+ wid-edit+ help-fns radix-tree bookmark+-lit pp+
derived dired-x crosshairs col-highlight vline hl-line+ advice hl-line
bookmark+-1 thingatpt+ icicles-face hexrgb info-colors winner
curry-compose rebinder gnus-dired nov recentf tree-widget wid-edit org
ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script
smie treesit executable ob-comint org-pcomplete pcomplete comint
ansi-osc ansi-color ring org-list org-footnote org-faces org-entities
time-date foldout noutline outline org-version ob-emacs-lisp ob-core
ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc
org-loaddefs cal-menu calendar cal-loaddefs org-compat org-macs
format-spec imenu bookmark pp shr text-property-search pixel-fill
kinsoku url-file puny svg xml esxml-query dom finder-inf dired-du
find-dired edmacro auto-install cl ffap thingatpt find-func dired
dired-loaddefs straight-autoloads straight comp comp-cstr cl-extra
help-mode warnings comp-run comp-common rx kmacro use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key easy-mmode use-package-core
sanityinc-tomorrow-bright-theme color-theme-sanityinc-tomorrow color
site-gentoo abyss-theme-autoloads aggressive-indent-autoloads
all-the-icons-completion-autoloads all-the-icons-dired-autoloads
auctex-cluttex-autoloads auto-dictionary-autoloads back-button-autoloads
backup-walker-autoloads buffer-move-autoloads cape-autoloads
cdlatex-autoloads citar-embark-autoloads citar-autoloads
color-theme-sanityinc-tomorrow-autoloads consult-lsp-autoloads
consult-org-roam-autoloads corfu-prescient-autoloads
corfu-terminal-autoloads corfu-autoloads cquery-autoloads
dedicated-autoloads default-text-scale-autoloads diminish-autoloads
dired-quick-sort-autoloads dired-rainbow-autoloads
dired-hacks-utils-autoloads dynamic-fonts-autoloads
easy-kill-extras-autoloads eldoc-box-autoloads elgrep-autoloads
embark-consult-autoloads consult-autoloads embark-autoloads
emms-autoloads empv-autoloads eshell-vterm-autoloads
expand-region-autoloads fancy-compilation-autoloads flycheck-autoloads
forge-autoloads closql-autoloads ghub-autoloads go-translate-autoloads
gptel-autoloads julia-snail-autoloads kind-icon-autoloads
latex-extra-autoloads auctex-autoloads tex-site
latex-pretty-symbols-autoloads lsp-julia-autoloads julia-mode-autoloads
lsp-ui-autoloads lsp-mode-autoloads marginalia-autoloads
markdown-mode-autoloads mentor-autoloads mixed-pitch-autoloads
modus-themes-autoloads mood-line-autoloads nav-flash-autoloads
nov-autoloads esxml-autoloads kv-autoloads orderless-autoloads
org-brain-autoloads org-modern-autoloads org-noter-autoloads
helm-autoloads helm-core-autoloads async-autoloads
org-rainbow-tags-autoloads org-ref-prettify-autoloads org-ref-autoloads
citeproc-autoloads htmlize-autoloads org-roam-bibtex-autoloads
bibtex-completion-autoloads biblio-autoloads biblio-core-autoloads
org-roam-autoloads emacsql-autoloads ox-pandoc-autoloads
paredit-autoloads parsebib-autoloads pass-autoloads f-autoloads
password-store-otp-autoloads password-store-autoloads
perspective-autoloads plz-autoloads popon-autoloads popup-autoloads
rainbow-blocks-autoloads rainbow-mode-autoloads smart-mark-autoloads
smartparens-autoloads smartrep-autoloads smudge-autoloads
speed-type-autoloads spinner-autoloads string-inflection-autoloads
svg-lib-autoloads tabgo-autoloads tablist-autoloads telega-autoloads
treemacs-all-the-icons-autoloads all-the-icons-autoloads
treemacs-icons-dired-autoloads treemacs-magit-autoloads magit-autoloads
pcase magit-section-autoloads git-commit-autoloads transient-autoloads
treemacs-persp-autoloads persp-mode-autoloads
treemacs-projectile-autoloads projectile-autoloads
treemacs-tab-bar-autoloads treemacs-autoloads posframe-autoloads
treepy-autoloads triples-autoloads try-autoloads unicode-fonts-autoloads
ucs-utils-autoloads font-utils-autoloads persistent-soft-autoloads
list-utils-autoloads pcache-autoloads url-scgi-autoloads
use-package-ensure-system-package-autoloads system-packages-autoloads
vertico-prescient-autoloads vertico-autoloads prescient-autoloads
visible-mark-autoloads visual-fill-column-autoloads vterm-autoloads
wfnames-autoloads windsize-autoloads with-editor-autoloads
xml-rpc-autoloads yaml-autoloads yaml-mode-autoloads yasnippet-autoloads
zotero-autoloads oauth-autoloads info dash-autoloads ztree-autoloads
package browse-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie generate-lisp-file url-domsuf url-util mailcap
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs icons
password-cache json subr-x map byte-opt gv bytecomp byte-compile
url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/x-win x-win term/common-win x-dnd touch-screen 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 lcms2
dynamic-setting font-render-setting cairo gtk x-toolkit xinput2 x
multi-tty move-toolbar make-network-process native-compile emacs)

Memory information:
((conses 16 5496537 2879413) (symbols 48 154375 113) (strings 32 675888 137800)
 (string-bytes 1 52217422) (vectors 16 227713) (vector-slots 8 3782453 759708)
 (floats 8 10949 14121) (intervals 56 361312 44168) (buffers 992 439))





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#73849; Package emacs. (Thu, 17 Oct 2024 11:07:02 GMT) Full text and rfc822 format available.

Message #8 received at 73849 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Alexander Prähauser <ahprae <at> protonmail.com>,
 Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 73849 <at> debbugs.gnu.org
Subject: Re: bug#73849: 31.0.50;
 Binding ESC does not throw an error, but binding any M- combination
 afterwards does
Date: Thu, 17 Oct 2024 14:05:55 +0300
> Date: Thu, 17 Oct 2024 10:18:18 +0000
> From:  Alexander Prähauser via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> If I eval the following
> 
> (progn (defvar-keymap test-map)
>        (define-key test-map (kbd "ESC") #'test)
>        (define-key test-map (kbd "M-i") #'test))
> 
> I get an error
> 
> (error "Key sequence M-i starts with non-prefix key ESC")
> 
> And I get the same error if I try to bind any other key combination
> containing a Meta modifier, including ones which also contain other modifiers.
> Crucially, I do not get an error while binding ESC itself, which I guess
> is what should happen. The error only appears while trying to bind Meta
> keys in the map containing ESC. It also doesn't seem to happen if I bind
> M-i using a vector instead of kbd.
> 
> This was tried while starting Emacs without an
> init.

I don't think this is a bug, this is how Emacs handling of Meta always
worked.

Stefan, any comments or suggestions?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#73849; Package emacs. (Thu, 17 Oct 2024 18:32:02 GMT) Full text and rfc822 format available.

Message #11 received at 73849 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Alexander Prähauser <ahprae <at> protonmail.com>,
 73849 <at> debbugs.gnu.org
Subject: Re: bug#73849: 31.0.50; Binding ESC does not throw an error, but
 binding any M- combination afterwards does
Date: Thu, 17 Oct 2024 14:30:48 -0400
> I don't think this is a bug, this is how Emacs handling of Meta always
> worked.

Yup.  It depends on `meta-prefix-char`, but I'd be surprised if we pay
enough attention to this var that it can be changed without
breaking everything.


        Stefan





Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sun, 27 Oct 2024 10:41:03 GMT) Full text and rfc822 format available.

Notification sent to Alexander Prähauser <ahprae <at> protonmail.com>:
bug acknowledged by developer. (Sun, 27 Oct 2024 10:41:03 GMT) Full text and rfc822 format available.

Message #16 received at 73849-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: ahprae <at> protonmail.com, 73849-done <at> debbugs.gnu.org
Subject: Re: bug#73849: 31.0.50; Binding ESC does not throw an error, but
 binding any M- combination afterwards does
Date: Sun, 27 Oct 2024 12:39:51 +0200
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: Alexander Prähauser <ahprae <at> protonmail.com>,
>   73849 <at> debbugs.gnu.org
> Date: Thu, 17 Oct 2024 14:30:48 -0400
> 
> > I don't think this is a bug, this is how Emacs handling of Meta always
> > worked.
> 
> Yup.  It depends on `meta-prefix-char`, but I'd be surprised if we pay
> enough attention to this var that it can be changed without
> breaking everything.

I'm therefore closing this bug.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 24 Nov 2024 12:24:14 GMT) Full text and rfc822 format available.

This bug report was last modified 205 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.