* bug#70596: 30.0.50; key-translate returns error for key sequences with punctuation marks
@ 2024-04-26 17:29 Alexander Prähauser via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-26 18:28 ` Eli Zaretskii
2024-04-28 2:51 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 2 replies; 8+ messages in thread
From: Alexander Prähauser via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-04-26 17:29 UTC (permalink / raw)
To: 70596
I think this is a bug: emacs returns an error message for the
following command:
(key-translate "C-." "C-a")
The backtrace is the following:
Debugger entered--Lisp error: (wrong-type-argument characterp 67108910)
key-translate("C-." "C-g")
(let ((print-level nil) (print-length nil)) (key-translate "C-." "C-g"))
(setq elisp--eval-defun-result (let ((print-level nil) (print-length nil)) (key-translate "C-." "C-g")))
elisp--eval-defun()
#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_38>()
eval-defun(nil)
funcall-interactively(eval-defun nil)
command-execute(eval-defun)
I also tested this on an Emacs version I just downloaded and compiled
and started without an init. This is in spite of the fact that
(key-valid-p " C-.")
returns t. I also tried
(key-translate "C-<period>" "C-a")
for which I get a different error:
Debugger entered--Lisp error: (wrong-type-argument fixnump C-period)
key-translate("C-<period>" "C-a")
(progn (key-translate "C-<period>" "C-a"))
(let ((print-level nil) (print-length nil)) (progn (key-translate "C-<period>" "C-a")))
(setq elisp--eval-defun-result (let ((print-level nil) (print-length nil)) (progn (key-translate "C-<period>" "C-a"))))
elisp--eval-defun()
#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_38>()
eval-defun(nil)
funcall-interactively(eval-defun nil)
command-execute(eval-defun record)
execute-extended-command(nil "eval-defun" "eval-defun")
funcall-interactively(execute-extended-command nil "eval-defun" "eval-defun")
command-execute(execute-extended-command)
In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, cairo version
1.18.0) of 2024-02-08 built on Archlaptop
Repository revision: 08c81db7c8e522278fb2c8de8fbe556d109c135f
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101012
System Description: Arch Linux
Configured using:
'configure --with-x-toolkit=no'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY
INOTIFY OLDXMENU PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM ZLIB
Important settings:
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
scroll-lock-mode: t
semantic-minor-modes-format: ((:eval (if (or semantic-highlight-edits-mode semantic-show-unmatched-syntax-mode) S)))
lsp-treemacs-sync-mode: t
treemacs-filewatch-mode: t
treemacs-follow-mode: t
treemacs-git-mode: t
treemacs-fringe-indicator-mode: t
async-bytecomp-package-mode: t
telega-root-auto-fill-mode: t
telega-active-video-chats-mode: t
telega-active-locations-mode: t
telega-patrons-mode: t
telega-active-stories-mode: t
citar-embark-mode: t
recentf-mode: t
windmove-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
delete-selection-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
Info-breadcrumbs-in-mode-line-mode: t
rainbow-blocks-mode: t
rainbow-delimiters-mode: t
global-org-modern-mode: t
TeX-PDF-mode: t
fancy-compilation-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
global-corfu-mode: t
corfu-mode: t
vertico-prescient-mode: t
marginalia-mode: t
global-git-commit-mode: t
magit-auto-revert-mode: t
server-mode: t
savehist-mode: t
vertico-mode: t
smart-mark-mode: t
winner-mode: t
Daselt-mode: t
straight-use-package-mode: t
straight-package-neutering-mode: t
override-global-mode: t
desktop-save-mode: t
tooltip-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-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/elpa/consult-20240405.2112/consult hides /home/alex/.emacs.d/straight/build/consult/consult
/home/alex/.emacs.d/elpa/consult-20240405.2112/consult-xref hides /home/alex/.emacs.d/straight/build/consult/consult-xref
/home/alex/.emacs.d/elpa/consult-20240405.2112/consult-register hides /home/alex/.emacs.d/straight/build/consult/consult-register
/home/alex/.emacs.d/elpa/consult-20240405.2112/consult-org hides /home/alex/.emacs.d/straight/build/consult/consult-org
/home/alex/.emacs.d/elpa/consult-20240405.2112/consult-kmacro hides /home/alex/.emacs.d/straight/build/consult/consult-kmacro
/home/alex/.emacs.d/elpa/consult-20240405.2112/consult-info hides /home/alex/.emacs.d/straight/build/consult/consult-info
/home/alex/.emacs.d/elpa/consult-20240405.2112/consult-imenu hides /home/alex/.emacs.d/straight/build/consult/consult-imenu
/home/alex/.emacs.d/elpa/consult-20240405.2112/consult-flymake hides /home/alex/.emacs.d/straight/build/consult/consult-flymake
/home/alex/.emacs.d/elpa/consult-20240405.2112/consult-compile hides /home/alex/.emacs.d/straight/build/consult/consult-compile
/home/alex/.emacs.d/elpa/consult-20240405.2112/consult-autoloads hides /home/alex/.emacs.d/straight/build/consult/consult-autoloads
~/.emacs.d/site-lisp/DEmacs/DEmacs-basic/add-tex-envs hides /home/alex/.emacs.d/site-lisp/add-tex-envs
/home/alex/.emacs.d/elpa/org-noter-20240207.2329/modules/org-noter-org-roam hides /home/alex/.emacs.d/elpa/org-noter-20240207.2329/org-noter-org-roam
/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/compat/compat hides /home/alex/.emacs.d/elpa/compat-29.1.4.5/compat
/home/alex/.emacs.d/straight/build/compat/compat-29 hides /home/alex/.emacs.d/elpa/compat-29.1.4.5/compat-29
/home/alex/.emacs.d/straight/build/compat/compat-28 hides /home/alex/.emacs.d/elpa/compat-29.1.4.5/compat-28
/home/alex/.emacs.d/straight/build/compat/compat-27 hides /home/alex/.emacs.d/elpa/compat-29.1.4.5/compat-27
/home/alex/.emacs.d/straight/build/compat/compat-26 hides /home/alex/.emacs.d/elpa/compat-29.1.4.5/compat-26
/home/alex/.emacs.d/straight/build/compat/compat-25 hides /home/alex/.emacs.d/elpa/compat-29.1.4.5/compat-25
/home/alex/.emacs.d/straight/build/compat/compat-autoloads hides /home/alex/.emacs.d/elpa/compat-29.1.4.5/compat-autoloads
/home/alex/.emacs.d/straight/build/compat/compat-macs hides /home/alex/.emacs.d/elpa/compat-29.1.4.5/compat-macs
/home/alex/.emacs.d/elpa/transient-20240415.1548/transient hides /usr/local/share/emacs/30.0.50/lisp/transient
/home/alex/.emacs.d/elpa/bind-key-20230203.2004/bind-key hides /usr/local/share/emacs/30.0.50/lisp/bind-key
/home/alex/.emacs.d/elpa/modus-themes-20240322.519/theme-loaddefs hides /usr/local/share/emacs/30.0.50/lisp/theme-loaddefs
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package-lint hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-lint
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package-jump hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-jump
/home/alex/.emacs.d/elpa/use-package-ensure-system-package-20221209.2013/use-package-ensure-system-package hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-ensure-system-package
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package-ensure hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-ensure
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package-diminish hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-diminish
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package-delight hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-delight
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package-core hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-core
/home/alex/.emacs.d/elpa/use-package-20230426.2324/use-package-bind-key hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-bind-key
/home/alex/.emacs.d/straight/build/compat/compat hides /usr/local/share/emacs/30.0.50/lisp/emacs-lisp/compat
/home/alex/.emacs.d/straight/build/seq/seq hides /usr/local/share/emacs/30.0.50/lisp/emacs-lisp/seq
/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+
~/.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
Features:
(shadow pcmpl-unix eldoc-box eldoc-box-autoloads eglot
external-completion jsonrpc seq-25 tramp-archive tramp-gvfs zeroconf
scroll-lock vc-hg vc-bzr c++-ts-mode c-ts-mode tramp-cmds projectile
ibuf-ext ibuffer ibuffer-loaddefs sanityinc-tomorrow-day-theme
modus-vivendi-tritanopia-theme modus-operandi-tritanopia-theme
modus-vivendi-deuteranopia-theme modus-operandi-deuteranopia-theme
modus-vivendi-tinted-theme modus-operandi-tinted-theme
modus-vivendi-theme modus-operandi-theme modus-themes
modus-themes-autoloads image-dired-dired lsp-ui-flycheck flycheck
flycheck-autoloads mood-line-segment-checker mood-line consult-lsp lsp
consult-lsp-autoloads calc-misc calc-comb calc-alg calc-ext calc-menu
calc calc-loaddefs calc-macs json-ts-mode lsp-treemacs
lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib treemacs
treemacs-header-line treemacs-compatibility treemacs-mode
treemacs-bookmarks treemacs-tags treemacs-interface treemacs-persistence
treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering
treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom
treemacs-visuals treemacs-fringe-indicator treemacs-faces treemacs-icons
treemacs-scope treemacs-themes treemacs-core-utils pfuture
treemacs-logging treemacs-customization treemacs-macros
lsp-treemacs-autoloads lsp-clojure lsp-semantic-tokens lsp-completion
lsp-diagnostics lsp-headerline lsp-icons lsp-modeline lsp-lens lsp-ui
lsp-ui-doc lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-ui-util
lsp-ui-autoloads view lsp-julia lsp-julia-autoloads lsp-mode-autoloads
easy-kill-er emoji rfc1345 quail dired-quick-sort-autoloads
helm-for-files helm-imenu semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet finder
helm-bookmark helm-external helm-mode helm-misc helm-elisp helm-files
image-dired image-dired-tags image-dired-external image-dired-util
helm-buffers helm-tags helm-locate helm-eval edebug helm-occur helm-grep
helm-regexp helm-net helm-adaptive helm-info helm-utils helm-types
helm-help helm helm-global-bindings helm-core async-bytecomp
bug-reference helm-source helm-multi-match helm-lib llm-gpt4all
llm-ollama llm-gemini llm-fake ert llm-openai llm-vertex
llm-provider-utils llm-request llm ediff ediff-merg ediff-mult
ediff-wind ediff-diff ediff-help ediff-init ediff-util benchmark
ibuf-macs posframe posframe-autoloads smudge-connect smudge-remote
smudge-playlist smudge-device-select smudge-track smudge-controller
smudge-api oauth2 plstore simple-httpd telega telega-obsolete
telega-tdlib-events telega-webpage telega-match emacsbug telega-root
telega-info telega-chat visual-fill-column telega-modes telega-filter
telega-sort telega-company telega-emoji telega-user telega-notifications
notifications telega-voip telega-ins telega-inline telega-msg
telega-story telega-tme telega-sticker telega-vvnote telega-util
telega-folders telega-topic rainbow-identifiers bindat telega-ffplay
telega-media telega-i18n telega-tdlib telega-server telega-core
telega-customize vertico-flat lsp-mode lsp-protocol markdown-mode inline
ht mule-diag find-dired image-file image-converter org-super-links
auto-yasnippet reftex-ref reftex-parse display-line-numbers mailalias
cl-print debug backtrace julia-ts-mode html-ts-mode yaml-ts-mode
treesit-auto treesit-auto-autoloads julia-ts-misc julia-mode
julia-ts-mode-autoloads julia-snail spinner popup julia-snail-autoloads
julia-mode-latexsubs julia-mode-autoloads spinner-autoloads loaddefs-gen
tar-mode oc-biblatex vterm term ehelp vterm-module term/xterm xterm
ob-ditaa ob-plantuml org-clock org-colview org-crypt org-ctags org-habit
org-mouse org-plot org-protocol org-ref-natbib-bbl-citeproc tabify sort
smiley gnus-cite flow-fill mm-archive mail-extr gnus-bcklg vertico-quick
buffer-move info-look abyss-theme citar-org oc-csl oc-basic gnus-async
qp gnus-ml disp-table nndraft nnmh nnmaildir nnfolder utf-7 gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp gnus-cache
smartparens-haskell smartparens-markdown smartparens-org
smartparens-text smartparens-ruby smartparens-rust face-remap shortdoc
shr-color textsec uni-scripts idna-mapping ucs-normalize uni-confusable
textsec-check network-stream url-cache misearch multi-isearch
vertico-directory cus-start dabbrev cape-char cape image-roll plain-tex
dcl-mode tempo password-store-otp sh-script executable mhtml-mode
css-mode-expansions css-mode smie js-mode-expansions js c-ts-common
treesit cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs conf-mode tramp-cache
time-stamp tramp-sh tramp trampver tramp-integration files-x
tramp-message tramp-compat tramp-loaddefs mule-util citar-capf citar
reftex-dcr reftex-auc tex-mode font-latex latexenc pdf-outline vc-git
vc-dispatcher citar-file citar-cache citar-format ol-eww eww mm-url
ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect ol-docview doc-view
ol-bbdb ol-w3m ol-doi org-link-doi pdf-links pdf-sync pdf-isearch
pdf-misc dired-aux smtpmail gnus-registry registry gnus-art mm-uu
mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill
kinsoku 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 recentf tree-widget windmove
edit-server epa-file goto-addr autoinsert completion elec-pair wc-mode
delsel undo-tree avy-act-on-distance menu-bar+ misc-cmds rect bookmark+
bookmark+-key bookmark+-bmu info+ fit-frame help-fns+ wid-edit+ help-fns
radix-tree bookmark+-lit pp+ dired-x crosshairs col-highlight vline
hl-line+ bookmark+-1 thingatpt+ back-button nav-flash pulse smartrep
rainbow-blocks org-rainbow-tags dired-rainbow dired-hacks-utils
rainbow-delimiters rainbow-mode yaml-mode-expansions yaml-mode ox-md
org-modern math-delimiters add-tex-envs latex-extra preview
latex-mode-expansions latex latex-flymake flymake tex-ispell tex-style
tex dbus texmathp fancy-compilation font-utils unicode-fonts yasnippet
elgrep async grep ztree ztree-diff ztree-diff-model ztree-dir ztree-view
ztree-protocol ztree-util 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 gptel-extensions gptel
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 cus-edit cus-load wid-edit pdf-view jka-compr
pdf-cache pdf-info tq pdf-util pdf-macs image-mode exif 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 org-ref org-ref-core
openalex request org-ref-glossary org-ref-bibtex html-mode-expansions
sgml-mode facemenu 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 rst 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-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 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 url-file ido hl-line bibtex iso8601 pass f s password-store
auth-source-pass kind-icon svg-lib svg dom xml corfu-terminal popon
corfu-prescient corfu vertico-prescient prescient char-fold consult-gh
consult-gh-autoloads seq-autoloads embark-consult consult magit-bookmark
bookmark embark-org embark marginalia orderless 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 imenu magit-diff smerge-mode
diff diff-mode git-commit log-edit message sendmail yank-media puny
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
crm persistent-soft list-utils pcache eieio-base savehist finder-inf
vertico-buffer vertico-mouse vertico compat smartparens loadhist dash
expand-region text-mode-expansions the-org-mode-expansions
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 org-element org-persist xdg org-id org-refile org ob ob-tangle
ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete
pcomplete org-list org-footnote org-faces org-entities time-date
ob-emacs-lisp ob-core ob-eval org-cycle org-table org-keys oc
org-loaddefs cal-menu calendar cal-loaddefs ol org-fold org-fold-core
org-compat avl-tree org-version org-macs format-spec smart-mark winner
DEmacs DEmacs-cdlatex-bindings cdlatex reftex reftex-loaddefs
reftex-vars DEmacs-modes DEmacs-basic-modes DEmacs-commands
DEmacs-basic-commands DEmacs-variables DEmacs-basic-variables
DEmacs-keys DEmacs-functions DEmacs-basic-keys DEmacs-basic-functions
rebinder gnus-dired edmacro auto-install ffap find-func dired
dired-loaddefs straight-autoloads straight use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key use-package-core kmacro slime-fancy
slime-indentation slime-cl-indent cl-indent slime-trace-dialog
slime-fontifying-fu slime-package-fu slime-references
slime-compiler-notes-tree slime-scratch slime-presentations advice
bridge slime-macrostep macrostep slime-mdot-fu slime-enclosing-context
slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c
slime-editing-commands slime-autodoc slime-repl elp slime-parse slime
derived comp comp-cstr cl-extra help-mode warnings comp-run comp-common
rx easy-mmode lisp-mnt gud apropos compile text-property-search etags
fileloop generator xref project arc-mode archive-mode noutline outline
icons pp comint ansi-osc ansi-color ring hyperspec thingatpt
slime-autoloads desktop frameset icicles-install cl
sanityinc-tomorrow-bright-theme color-theme-sanityinc-tomorrow color
abyss-theme-autoloads aggressive-indent-autoloads all-autoloads
all-the-icons-completion-autoloads all-the-icons-dired-autoloads
auctex-cluttex-autoloads auto-dictionary-autoloads autothemer-autoloads
back-button-autoloads backup-walker-autoloads buffer-move-autoloads
bug-hunter-autoloads cape-autoloads cdlatex-autoloads
citar-embark-autoloads citar-org-roam-autoloads citar-autoloads
color-theme-sanityinc-tomorrow-autoloads consult-org-roam-autoloads
corfu-prescient-autoloads corfu-terminal-autoloads corfu-autoloads
crontab-mode-autoloads dedicated-autoloads default-text-scale-autoloads
deft-autoloads diminish-autoloads dired-rainbow-autoloads
dired-hacks-utils-autoloads dream-theme-autoloads
easy-kill-extras-autoloads ekg-autoloads elgrep-autoloads
embark-consult-autoloads consult-autoloads embark-autoloads
emms-autoloads expand-region-autoloads fancy-compilation-autoloads
forge-autoloads closql-autoloads ghub-autoloads gptel-autoloads
helm-bibtex-autoloads bufler-autoloads burly-autoloads
helm-descbinds-autoloads helm-dictionary-autoloads helm-icons-autoloads
helm-swoop-autoloads kind-icon-autoloads latex-extra-autoloads
auctex-autoloads tex-site llm-autoloads marginalia-autoloads
markdown-mode-autoloads mood-line-autoloads helm-easymenu
log4e-autoloads mu4e-column-faces-autoloads nav-flash-autoloads
orderless-autoloads org-brain-autoloads org-modern-autoloads
org-msg-autoloads org-noter-autoloads helm-autoloads helm-core-autoloads
async-autoloads org-rainbow-tags-autoloads org-ref-autoloads
citeproc-autoloads htmlize-autoloads org-roam-bibtex-autoloads
bibtex-completion-autoloads biblio-autoloads biblio-core-autoloads
org-roam-ui-autoloads org-roam-autoloads emacsql-autoloads
org-super-links-autoloads ox-pandoc-autoloads parsebib-autoloads
pass-autoloads f-autoloads password-store-otp-autoloads
password-store-autoloads perspective-autoloads popon-autoloads
popup-autoloads pretty-hydra-autoloads rainbow-blocks-autoloads
rainbow-mode-autoloads smart-mark-autoloads smartparens-autoloads
smartrep-autoloads smudge-autoloads speed-type-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 treepy-autoloads
triples-autoloads try-autoloads unicode-fonts-autoloads
ucs-utils-autoloads font-utils-autoloads persistent-soft-autoloads
list-utils-autoloads pcache-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
w3m-load w3m-autoloads wakib-keys-autoloads websocket-autoloads
wfnames-autoloads with-editor-autoloads compat-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 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 system-font-setting
font-render-setting cairo xinput2 x multi-tty move-toolbar
make-network-process native-compile emacs)
Memory information:
((conses 16 36498063 5008037) (symbols 48 230232 2636) (strings 32 1834789 219023)
(string-bytes 1 100500248) (vectors 16 686347) (vector-slots 8 9138408 1028223)
(floats 8 26700 62062) (intervals 56 4185586 243298) (buffers 984 787))
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#70596: 30.0.50; key-translate returns error for key sequences with punctuation marks
2024-04-26 17:29 bug#70596: 30.0.50; key-translate returns error for key sequences with punctuation marks Alexander Prähauser via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-04-26 18:28 ` Eli Zaretskii
2024-04-27 9:24 ` Alexander Prähauser via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-28 2:51 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2024-04-26 18:28 UTC (permalink / raw)
To: Alexander Prähauser; +Cc: 70596
> Date: Fri, 26 Apr 2024 17:29:35 +0000
> From: Alexander Prähauser via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>
>
> I think this is a bug: emacs returns an error message for the
> following command:
>
> (key-translate "C-." "C-a")
>
> The backtrace is the following:
>
> Debugger entered--Lisp error: (wrong-type-argument characterp 67108910)
> key-translate("C-." "C-g")
That's because C-. is not a valid character. Valid characters with
the Control modifier are C-SPC to C-z.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#70596: 30.0.50; key-translate returns error for key sequences with punctuation marks
2024-04-26 18:28 ` Eli Zaretskii
@ 2024-04-27 9:24 ` Alexander Prähauser via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-27 10:12 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Alexander Prähauser via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-04-27 9:24 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 70596
"Eli Zaretskii" <eliz@gnu.org> writes:
I see. But shouldn't (key-valid-p "C-.") return nil then?
>> Date: Fri, 26 Apr 2024 17:29:35 +0000
>> From: Alexander Prähauser via "Bug reports for GNU Emacs,
>> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>>
>>
>> I think this is a bug: emacs returns an error message for the
>> following command:
>>
>> (key-translate "C-." "C-a")
>>
>> The backtrace is the following:
>>
>> Debugger entered--Lisp error: (wrong-type-argument characterp 67108910)
>> key-translate("C-." "C-g")
>
> That's because C-. is not a valid character. Valid characters with
> the Control modifier are C-SPC to C-z.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#70596: 30.0.50; key-translate returns error for key sequences with punctuation marks
2024-04-27 9:24 ` Alexander Prähauser via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-04-27 10:12 ` Eli Zaretskii
2024-04-27 10:47 ` Alexander Prähauser via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2024-04-27 10:12 UTC (permalink / raw)
To: Alexander Prähauser; +Cc: 70596
> Date: Sat, 27 Apr 2024 09:24:58 +0000
> From: Alexander Prähauser <ahprae@protonmail.com>
> Cc: 70596@debbugs.gnu.org
>
> "Eli Zaretskii" <eliz@gnu.org> writes:
>
> I see. But shouldn't (key-valid-p "C-.") return nil then?
No, because it's a valid key (but not a valid character).
Not every key is a character. In fact, most keys are not valid
characters, because they name GUI function keys, like <Delete>.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#70596: 30.0.50; key-translate returns error for key sequences with punctuation marks
2024-04-27 10:12 ` Eli Zaretskii
@ 2024-04-27 10:47 ` Alexander Prähauser via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-27 11:46 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Alexander Prähauser via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-04-27 10:47 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 70596
"Eli Zaretskii" <eliz@gnu.org> writes:
Ah, I see. Then I guess you can close this report. So is there no way to
translate C-. into C-g?
>> Date: Sat, 27 Apr 2024 09:24:58 +0000
>> From: Alexander Prähauser <ahprae@protonmail.com>
>> Cc: 70596@debbugs.gnu.org
>>
>> "Eli Zaretskii" <eliz@gnu.org> writes:
>>
>> I see. But shouldn't (key-valid-p "C-.") return nil then?
>
> No, because it's a valid key (but not a valid character).
>
> Not every key is a character. In fact, most keys are not valid
> characters, because they name GUI function keys, like <Delete>.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#70596: 30.0.50; key-translate returns error for key sequences with punctuation marks
2024-04-26 17:29 bug#70596: 30.0.50; key-translate returns error for key sequences with punctuation marks Alexander Prähauser via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-26 18:28 ` Eli Zaretskii
@ 2024-04-28 2:51 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-02 9:21 ` Eli Zaretskii
1 sibling, 1 reply; 8+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-04-28 2:51 UTC (permalink / raw)
To: Alexander Prähauser; +Cc: 70596
> (key-translate "C-." "C-a")
`key-translate` works by modifying `keyboard-translate-table` which is
a table remapping *characters* and not *keys*.
IOW, `key-translate` is a misnomer.
> Ah, I see. Then I guess you can close this report. So is there no way
> to translate `C-.` into `C-g`?
There are different ways to "translate" keys, and they all work slightly
differently. If you expect to be able to hit `C-.` (instead of `C-g`)
to interrupt a running command, then that's more delicate to do
(because such interruptions use a mechanism that doesn't go through
keymaps like normal commands do), but otherwise something like
(define-key input-decode-map (kbd "C-.") (kbd "C-g"))
might do the trick.
Stefan
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#70596: 30.0.50; key-translate returns error for key sequences with punctuation marks
2024-04-28 2:51 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-05-02 9:21 ` Eli Zaretskii
0 siblings, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2024-05-02 9:21 UTC (permalink / raw)
To: Stefan Monnier; +Cc: ahprae, 70596-done
> Cc: 70596@debbugs.gnu.org
> Date: Sat, 27 Apr 2024 22:51:33 -0400
> From: Stefan Monnier via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>
> > (key-translate "C-." "C-a")
>
> `key-translate` works by modifying `keyboard-translate-table` which is
> a table remapping *characters* and not *keys*.
>
> IOW, `key-translate` is a misnomer.
>
> > Ah, I see. Then I guess you can close this report. So is there no way
> > to translate `C-.` into `C-g`?
>
> There are different ways to "translate" keys, and they all work slightly
> differently. If you expect to be able to hit `C-.` (instead of `C-g`)
> to interrupt a running command, then that's more delicate to do
> (because such interruptions use a mechanism that doesn't go through
> keymaps like normal commands do), but otherwise something like
>
> (define-key input-decode-map (kbd "C-.") (kbd "C-g"))
>
> might do the trick.
Thanks. The ELisp manual already hinted on this; I've now added some
more explicit motivation, and I'm therefore closing this bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-05-02 9:21 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-26 17:29 bug#70596: 30.0.50; key-translate returns error for key sequences with punctuation marks Alexander Prähauser via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-26 18:28 ` Eli Zaretskii
2024-04-27 9:24 ` Alexander Prähauser via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-27 10:12 ` Eli Zaretskii
2024-04-27 10:47 ` Alexander Prähauser via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-27 11:46 ` Eli Zaretskii
2024-04-28 2:51 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-02 9:21 ` Eli Zaretskii
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).