bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#44360: 28.0.50; describe-map-tree wrong-type-arg error


From: No Wayman
Subject: bug#44360: 28.0.50; describe-map-tree wrong-type-arg error
Date: Sat, 31 Oct 2020 17:11:00 -0400
User-agent: mu4e 1.5.6; emacs 28.0.50



In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit,
cairo version 1.17.3, Xaw3d scroll bars)
of 2020-10-30 built on arch
Repository revision: 3e63213a1fef16ffe38a5024a83d8782e98aabe1
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version
11.0.12009000
System Description: Arch Linux

The recent lisp implementation of
`describe-map-tree'/`describe-map'[1]
cause `describe-buffer-bindings' to throw an error in some cases.
Reproduction case:

0. emacs -Q
1. open an ansi-term buffer
2. switch to *scratch* buffer in other window
3. eval:

#+begin_src emacs-lisp
(describe-buffer-bindings (get-buffer "*ansi-term*") [27])
#+end_src

Errors with the following stack trace:

#+begin_src emacs-lisp
Debugger entered--Lisp error: (wrong-type-argument listp
term-send-raw-meta)
 describe-map-tree((keymap #^[nil nil keymap #^^[3 0
 set-mark-command
move-beginning-of-line backward-char mode-specific-command-prefix
delete-char
move-end-of-line forward-char keyboard-quit help-command
indent-for-tab-command
electric-newline-and-maybe-indent kill-line recenter-top-bottom
...] #^^[1 0
#^^[2 0 #^^[3 0 set-mark-command move-beginning-of-line
backward-char
mode-specific-command-prefix delete-char move-end-of-line
forward-char
keyboard-quit help-command indent-for-tab-command
electric-newline-and-maybe-indent kill-line recenter-top-bottom
...]
self-insert-command self-insert-command self-insert-command
self-insert-command
self-insert-command self-insert-command self-insert-command
self-insert-command
self-insert-command self-insert-command self-insert-command
self-insert-command
...] self-insert-command self-insert-command self-insert-command
self-insert-command self-insert-command self-insert-command
self-insert-command
self-insert-command self-insert-command self-insert-command
self-insert-command
self-insert-command ...] self-insert-command self-insert-command
self-insert-command self-insert-command self-insert-command
self-insert-command
self-insert-command self-insert-command self-insert-command ...]
... ... ... ...
... ... ... ... ... ... ... ... ...) t (... ...) [27] "\f\nGlobal
Bindi..." t
nil t nil) describe-buffer-bindings(#<buffer *ansi-term*> [27])
(progn
(describe-buffer-bindings (get-buffer "*ansi-term*") [27]))
eval((progn
(describe-buffer-bindings (get-buffer "*ansi-term*") [27])) t)
elisp--eval-last-sexp(nil) eval-last-sexp(nil)
funcall-interactively(eval-last-sexp nil)
call-interactively(eval-last-sexp nil
nil) command-execute(eval-last-sexp)
#+end_src

In addition to this error, the *Message* buffer shows multiple
headers of the form on each call:

#+begin_src emacs-lisp
^L
Input decoding map translations Starting With ESC:
key             binding
---             -------
#+end_src

This breaks the popular which-key package in a couple of ways.
I'm working on a patch for that, but I wanted to check to see if
this behavior is correct before working around it.

[1] possible commits of interest:
647b1c5142 - Translate describe_map to Lisp (12 days ago) <Stefan Kangas> afd31f9e62 - Translate describe_map_tree to Lisp (12 days ago) <Stefan Kangas> dcf9cd47ae - Add new Lisp implementation of sbustitute-commands-keys <Stefan Kangas>


Thank you,
Nicholas Vollmer





reply via email to

[Prev in Thread] Current Thread [Next in Thread]