unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#44360: 28.0.50; describe-map-tree wrong-type-arg error
@ 2020-10-31 21:11 No Wayman
  2020-11-01 22:00 ` Stefan Kangas
  0 siblings, 1 reply; 4+ messages in thread
From: No Wayman @ 2020-10-31 21:11 UTC (permalink / raw)
  To: 44360



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





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-11-01 23:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-31 21:11 bug#44360: 28.0.50; describe-map-tree wrong-type-arg error No Wayman
2020-11-01 22:00 ` Stefan Kangas
2020-11-01 22:26   ` No Wayman
2020-11-01 23:49     ` Stefan Kangas

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).