Package: emacs;
Reported by: Spencer Baugh <sbaugh <at> janestreet.com>
Date: Sun, 2 Apr 2023 18:50:01 UTC
Severity: normal
Found in version 29.0.60
To reply to this bug, email your comments to 62626 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#62626
; Package emacs
.
(Sun, 02 Apr 2023 18:50:01 GMT) Full text and rfc822 format available.Spencer Baugh <sbaugh <at> janestreet.com>
:bug-gnu-emacs <at> gnu.org
.
(Sun, 02 Apr 2023 18:50:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Spencer Baugh <sbaugh <at> janestreet.com> To: bug-gnu-emacs <at> gnu.org Subject: 29.0.60; describe-key errors on Edit → Paste from Kill Ring → [any item] Date: Sun, 02 Apr 2023 14:49:41 -0400
1. emacs -Q 2. C-h k and in the menu bar, click on "Edit", then "Paste from Kill Menu", then "(any string)". 3. See error printed in *Messages*: event-basic-type: Wrong type argument: integer-or-marker-p, "(any string)" 4. Type "foobar" and kill it 5. C-h k and in the menu bar, click on "Edit", then "Paste from Kill Menu", then "foobar". 6. See error printed in *Messages*: event-basic-type: Wrong type argument: integer-or-marker-p, #("foobar" 0 6 (fontified t)) This happens on both Emacs 28 and Emacs 29. It looks like this is happening because help--read-key-sequence calls event-basic-type on the last element of the key sequence returned from read-key-sequence, which in this case is a string. The following patch fixes it (that is, makes describe-key complete successfully and show appropriate help), but I'm not sure if it's right. diff --git a/lisp/help.el b/lisp/help.el index 83be85b1ee4..73ac793f4aa 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -1021,8 +1021,8 @@ help--read-key-sequence (raw-seq (this-single-command-raw-keys)) (keyn (when (> (length seq) 0) (aref seq (1- (length seq))))) - (base (event-basic-type keyn)) - (modifiers (event-modifiers keyn))) + (base (and (integer-or-marker-p keyn) (event-basic-type keyn))) + (modifiers (and (integer-or-marker-p keyn) (event-modifiers keyn)))) (cond ((zerop (length seq))) ;FIXME: Can this happen? ((and no-mouse-movement (eq base 'mouse-movement)) nil) -- In GNU Emacs 29.0.60 (build 3, x86_64-pc-linux-gnu, X toolkit, cairo version 1.15.12, Xaw scroll bars) of 2023-03-13 built on igm-qws-u22796a Repository revision: e759905d2e0828eac4c8164b09113b40f6899656 Repository branch: emacs-29 Windowing system distributor 'The X.Org Foundation', version 11.0.12011000 System Description: CentOS Linux 7 (Core) Configured using: 'configure --with-x-toolkit=lucid --with-modules --with-gif=ifavailable' Configured features: CAIRO DBUS FREETYPE GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: bug-reference-prog-mode: t jane-fe-minor-mode: t editorconfig-mode: t which-function-mode: t global-git-commit-mode: t magit-auto-revert-mode: t auto-revert-mode: t shell-dirtrack-mode: t windmove-mode: t savehist-mode: t save-place-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tab-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/csharp-mode hides /home/sbaugh/.local/src/emacs29/lisp/progmodes/csharp-mode /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/eldoc hides /home/sbaugh/.local/src/emacs29/lisp/emacs-lisp/eldoc /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/auctex/lpath hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/dictionary/lpath /home/sbaugh/.local/src/emacs29/lisp/net/dictionary hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/dictionary/dictionary /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/caml-font hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/ocaml/caml-font /home/sbaugh/.local/src/emacs29/lisp/org/org-version hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-version /home/sbaugh/.local/src/emacs29/lisp/org/org-loaddefs hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-loaddefs /home/sbaugh/.local/src/emacs29/lisp/org/org-keys hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-keys /home/sbaugh/.local/src/emacs29/lisp/org/ol hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ol /home/sbaugh/.local/src/emacs29/lisp/org/ob-perl hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-perl /home/sbaugh/.local/src/emacs29/lisp/org/ob-core hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-core /home/sbaugh/.local/src/emacs29/lisp/org/ox hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ox /home/sbaugh/.local/src/emacs29/lisp/org/ol-rmail hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ol-rmail /home/sbaugh/.local/src/emacs29/lisp/org/ob-octave hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-octave /home/sbaugh/.local/src/emacs29/lisp/org/ob-comint hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-comint /home/sbaugh/.local/src/emacs29/lisp/org/ol-w3m hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ol-w3m /home/sbaugh/.local/src/emacs29/lisp/org/ob-org hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-org /home/sbaugh/.local/src/emacs29/lisp/org/ox-texinfo hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ox-texinfo /home/sbaugh/.local/src/emacs29/lisp/org/org-inlinetask hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-inlinetask /home/sbaugh/.local/src/emacs29/lisp/org/ol-mhe hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ol-mhe /home/sbaugh/.local/src/emacs29/lisp/org/ob-ocaml hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-ocaml /home/sbaugh/.local/src/emacs29/lisp/org/ob-clojure hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-clojure /home/sbaugh/.local/src/emacs29/lisp/org/ox-publish hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ox-publish /home/sbaugh/.local/src/emacs29/lisp/org/ol-irc hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ol-irc /home/sbaugh/.local/src/emacs29/lisp/org/ob-calc hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-calc /home/sbaugh/.local/src/emacs29/lisp/org/ox-odt hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ox-odt /home/sbaugh/.local/src/emacs29/lisp/org/org-id hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-id /home/sbaugh/.local/src/emacs29/lisp/org/ol-gnus hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ol-gnus /home/sbaugh/.local/src/emacs29/lisp/org/ob-matlab hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-matlab /home/sbaugh/.local/src/emacs29/lisp/org/ox-icalendar hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ox-icalendar /home/sbaugh/.local/src/emacs29/lisp/org/org-footnote hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-footnote /home/sbaugh/.local/src/emacs29/lisp/org/ol-bibtex hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ol-bibtex /home/sbaugh/.local/src/emacs29/lisp/org/ob-lisp hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-lisp /home/sbaugh/.local/src/emacs29/lisp/org/ob-C hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-C /home/sbaugh/.local/src/emacs29/lisp/org/ox-org hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ox-org /home/sbaugh/.local/src/emacs29/lisp/org/org-indent hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-indent /home/sbaugh/.local/src/emacs29/lisp/org/ol-info hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ol-info /home/sbaugh/.local/src/emacs29/lisp/org/ob-maxima hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-maxima /home/sbaugh/.local/src/emacs29/lisp/org/ob-awk hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-awk /home/sbaugh/.local/src/emacs29/lisp/org/ox-man hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ox-man /home/sbaugh/.local/src/emacs29/lisp/org/org-goto hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-goto /home/sbaugh/.local/src/emacs29/lisp/org/ox-md hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ox-md /home/sbaugh/.local/src/emacs29/lisp/org/ol-eshell hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ol-eshell /home/sbaugh/.local/src/emacs29/lisp/org/ob-lua hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-lua /home/sbaugh/.local/src/emacs29/lisp/org/org-habit hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-habit /home/sbaugh/.local/src/emacs29/lisp/org/ob-R hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-R /home/sbaugh/.local/src/emacs29/lisp/org/ol-eww hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ol-eww /home/sbaugh/.local/src/emacs29/lisp/org/ob-makefile hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-makefile /home/sbaugh/.local/src/emacs29/lisp/org/ox-latex hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ox-latex /home/sbaugh/.local/src/emacs29/lisp/org/ol-docview hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ol-docview /home/sbaugh/.local/src/emacs29/lisp/org/ob-lob hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-lob /home/sbaugh/.local/src/emacs29/lisp/org/ox-beamer hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ox-beamer /home/sbaugh/.local/src/emacs29/lisp/org/org-faces hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-faces /home/sbaugh/.local/src/emacs29/lisp/org/ob hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob /home/sbaugh/.local/src/emacs29/lisp/org/ox-html hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ox-html /home/sbaugh/.local/src/emacs29/lisp/org/org-feed hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-feed /home/sbaugh/.local/src/emacs29/lisp/org/ol-bbdb hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ol-bbdb /home/sbaugh/.local/src/emacs29/lisp/org/ob-lilypond hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-lilypond /home/sbaugh/.local/src/emacs29/lisp/org/ox-ascii hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ox-ascii /home/sbaugh/.local/src/emacs29/lisp/org/ob-latex hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-latex /home/sbaugh/.local/src/emacs29/lisp/org/org hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org /home/sbaugh/.local/src/emacs29/lisp/org/ob-tangle hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-tangle /home/sbaugh/.local/src/emacs29/lisp/org/org-tempo hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-tempo /home/sbaugh/.local/src/emacs29/lisp/org/org-duration hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-duration /home/sbaugh/.local/src/emacs29/lisp/org/ob-sqlite hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-sqlite /home/sbaugh/.local/src/emacs29/lisp/org/org-entities hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-entities /home/sbaugh/.local/src/emacs29/lisp/org/ob-table hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-table /home/sbaugh/.local/src/emacs29/lisp/org/ob-js hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-js /home/sbaugh/.local/src/emacs29/lisp/org/org-table hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-table /home/sbaugh/.local/src/emacs29/lisp/org/ob-sql hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-sql /home/sbaugh/.local/src/emacs29/lisp/org/org-timer hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-timer /home/sbaugh/.local/src/emacs29/lisp/org/org-element hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-element /home/sbaugh/.local/src/emacs29/lisp/org/ob-java hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-java /home/sbaugh/.local/src/emacs29/lisp/org/org-ctags hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-ctags /home/sbaugh/.local/src/emacs29/lisp/org/ob-shell hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-shell /home/sbaugh/.local/src/emacs29/lisp/org/ob-groovy hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-groovy /home/sbaugh/.local/src/emacs29/lisp/org/org-src hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-src /home/sbaugh/.local/src/emacs29/lisp/org/org-datetree hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-datetree /home/sbaugh/.local/src/emacs29/lisp/org/ob-haskell hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-haskell /home/sbaugh/.local/src/emacs29/lisp/org/org-plot hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-plot /home/sbaugh/.local/src/emacs29/lisp/org/org-compat hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-compat /home/sbaugh/.local/src/emacs29/lisp/org/ob-screen hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-screen /home/sbaugh/.local/src/emacs29/lisp/org/ob-fortran hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-fortran /home/sbaugh/.local/src/emacs29/lisp/org/org-protocol hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-protocol /home/sbaugh/.local/src/emacs29/lisp/org/org-crypt hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-crypt /home/sbaugh/.local/src/emacs29/lisp/org/ob-sed hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-sed /home/sbaugh/.local/src/emacs29/lisp/org/ob-gnuplot hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-gnuplot /home/sbaugh/.local/src/emacs29/lisp/org/org-pcomplete hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-pcomplete /home/sbaugh/.local/src/emacs29/lisp/org/org-colview hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-colview /home/sbaugh/.local/src/emacs29/lisp/org/ob-scheme hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-scheme /home/sbaugh/.local/src/emacs29/lisp/org/ob-forth hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-forth /home/sbaugh/.local/src/emacs29/lisp/org/org-num hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-num /home/sbaugh/.local/src/emacs29/lisp/org/org-clock hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-clock /home/sbaugh/.local/src/emacs29/lisp/org/ob-exp hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-exp /home/sbaugh/.local/src/emacs29/lisp/org/org-mouse hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-mouse /home/sbaugh/.local/src/emacs29/lisp/org/org-capture hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-capture /home/sbaugh/.local/src/emacs29/lisp/org/ob-sass hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-sass /home/sbaugh/.local/src/emacs29/lisp/org/ob-eval hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-eval /home/sbaugh/.local/src/emacs29/lisp/org/ob-ref hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-ref /home/sbaugh/.local/src/emacs29/lisp/org/ob-emacs-lisp hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-emacs-lisp /home/sbaugh/.local/src/emacs29/lisp/org/org-mobile hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-mobile /home/sbaugh/.local/src/emacs29/lisp/org/ob-ruby hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-ruby /home/sbaugh/.local/src/emacs29/lisp/org/ob-eshell hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-eshell /home/sbaugh/.local/src/emacs29/lisp/org/org-lint hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-lint /home/sbaugh/.local/src/emacs29/lisp/org/org-agenda hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-agenda /home/sbaugh/.local/src/emacs29/lisp/org/org-macro hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-macro /home/sbaugh/.local/src/emacs29/lisp/org/org-attach-git hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-attach-git /home/sbaugh/.local/src/emacs29/lisp/org/ob-processing hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-processing /home/sbaugh/.local/src/emacs29/lisp/org/ob-css hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-css /home/sbaugh/.local/src/emacs29/lisp/org/ob-dot hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-dot /home/sbaugh/.local/src/emacs29/lisp/org/org-list hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-list /home/sbaugh/.local/src/emacs29/lisp/org/org-macs hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-macs /home/sbaugh/.local/src/emacs29/lisp/org/org-attach hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-attach /home/sbaugh/.local/src/emacs29/lisp/org/org-archive hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/org-archive /home/sbaugh/.local/src/emacs29/lisp/org/ob-python hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-python /home/sbaugh/.local/src/emacs29/lisp/org/ob-plantuml hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-plantuml /home/sbaugh/.local/src/emacs29/lisp/org/ob-ditaa hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/lisp/ob-ditaa /home/sbaugh/.local/src/emacs29/lisp/org/ob-julia hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/contrib/lisp/ob-julia /home/sbaugh/.local/src/emacs29/lisp/org/ol-man hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/contrib/lisp/ol-man /home/sbaugh/.local/src/emacs29/lisp/org/ox-koma-letter hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/org/contrib/lisp/ox-koma-letter /home/sbaugh/.emacs.d/elpa/dash-2.19.1/dash hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/dash/dash /home/sbaugh/.emacs.d/elpa/dash-2.19.1/dash-functional hides /usr/local/home/sbaugh/workspaces/fe-47828/+share+/app/emacs/elisp/contrib/dash/dash-functional Features: (quail emacs-news-mode descr-text magit-imenu git-rebase etags repeat fileloop etrace elp two-column sml-mode sml-move sml-defs sml-util sml-compat org-datetree completion diary-lib diary-loaddefs cal-iso cal-move mule-diag ispell reveal semantic/symref/grep semantic/symref semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet reposition pulse mule-util ibuffer ibuffer-loaddefs timezone face-remap url-http-ntlm ntlm hmac-md5 hex-util md4 man em-unix em-term term disp-table ehelp em-script em-prompt em-ls em-hist em-pred em-glob em-extpipe em-cmpl em-dirs esh-var em-basic em-banner em-alias esh-mode eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util make-mode pcmpl-unix pcmpl-gnu rect cus-edit cus-start cus-load finder lisp-mnt url-misc network-stream url-cache debbugs-gnu debbugs-compat debbugs soap-client url-http url-gw nsm rng-xsd xsd-regexp textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check shadow mail-extr emacsbug sql tabify oc-basic org-capture shortdoc dabbrev misc ob-ditaa ob-plantuml org-clock org-colview org-crypt org-ctags org-habit org-mouse org-plot org-protocol 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 org-agenda ox-html table ox-ascii ox-publish ox org-element org-persist org-id org-refile avl-tree generator cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs novice vc-hg sort ol-eww eww xdg url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader range wid-edit ol-docview doc-view jka-compr image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi log-view vc-git vc vc-dispatcher texinfo texinfo-loaddefs misearch multi-isearch bug-reference dired-aux sh-script treesit hl-line display-line-numbers executable cl-print help-fns radix-tree find-dired goto-addr tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat parse-time iso8601 ls-lisp jane-project jane-merlin merlin-imenu merlin-xref xref merlin-cap merlin jane-async-merlin jane-completion jane-common jane-fe-menu ecaml_plugin linum view gopcaml magit-bookmark bookmark image+ advice image-file image-converter editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch whitespace jane-auto-modes vba-mode markdown-mode color jane jane-micro-features grep jane-diff unified-test-mode shell-file core core-buffer core-error core-util ert pp ewoc debug backtrace jane-sexp jane-ocaml jane-tuareg-theme tuareg tuareg-compat tuareg-opam skeleton flymake-proc flymake warnings smie caml-types caml-help caml-emacs find-file compile jane-cr jane-align jane-deprecated jane-smerge gnu-elpa-keyring-update jane-ocp-indent ocp-indent cl jane-util page-ext dired-x magit-extras project magit-submodule magit-obsolete 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 dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util text-property-search 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 edmacro kmacro magit-git magit-section magit-utils crm dash cl-extra help-mode windmove 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 noutline outline icons ob-emacs-lisp ob-core ob-eval org-cycle org-table ol rx org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-version org-compat org-macs format-spec gdb-mi bindat gud easy-mmode comint ansi-osc ansi-color ring ffap thingatpt vundo pcase cyberpunk-theme savehist saveplace vundo-autoloads magit-autoloads csv-mode-autoloads magit-section-autoloads cyberpunk-theme-autoloads url-http-ntlm-autoloads url-auth git-commit-autoloads with-editor-autoloads finder-inf info dash-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 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 x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 2222181 268198) (symbols 48 69243 2) (strings 32 319255 34424) (string-bytes 1 12232202) (vectors 16 139420) (vector-slots 8 5377201 353952) (floats 8 669 703) (intervals 56 254854 2268) (buffers 976 402) (heap 1024 865236 188241))
bug-gnu-emacs <at> gnu.org
:bug#62626
; Package emacs
.
(Sun, 02 Apr 2023 19:07:01 GMT) Full text and rfc822 format available.Message #8 received at 62626 <at> debbugs.gnu.org (full text, mbox):
From: Spencer Baugh <sbaugh <at> janestreet.com> To: 62626 <at> debbugs.gnu.org Subject: Re: bug#62626: 29.0.60; describe-key errors on Edit → Paste from Kill Ring → [any item] Date: Sun, 02 Apr 2023 15:06:53 -0400
Spencer Baugh <sbaugh <at> janestreet.com> writes: > 1. emacs -Q > 2. C-h k and in the menu bar, click on "Edit", then "Paste from Kill > Menu", then "(any string)". > 3. See error printed in *Messages*: > event-basic-type: Wrong type argument: integer-or-marker-p, "(any string)" describe-key is also broken with context-menu-mode in a different way, btw. It generates the help buffer fine, but the last key in the sequence is wrong. It looks like read-key-sequence returns a numeric index into the menu for that key, counting up from from the last menu entry and starting at 1, and then the help buffer is interpreting that number as a key.
bug-gnu-emacs <at> gnu.org
:bug#62626
; Package emacs
.
(Thu, 06 Apr 2023 11:48:02 GMT) Full text and rfc822 format available.Message #11 received at 62626 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Spencer Baugh <sbaugh <at> janestreet.com>, Stefan Monnier <monnier <at> iro.umontreal.ca> Cc: 62626 <at> debbugs.gnu.org Subject: Re: bug#62626: 29.0.60; describe-key errors on Edit → Paste from Kill Ring → [any item] Date: Thu, 06 Apr 2023 14:47:58 +0300
> From: Spencer Baugh <sbaugh <at> janestreet.com> > Date: Sun, 02 Apr 2023 14:49:41 -0400 > > > 1. emacs -Q > 2. C-h k and in the menu bar, click on "Edit", then "Paste from Kill > Menu", then "(any string)". > 3. See error printed in *Messages*: > event-basic-type: Wrong type argument: integer-or-marker-p, "(any string)" > 4. Type "foobar" and kill it > 5. C-h k and in the menu bar, click on "Edit", then "Paste from Kill > Menu", then "foobar". > 6. See error printed in *Messages*: > event-basic-type: Wrong type argument: integer-or-marker-p, #("foobar" 0 6 (fontified t)) > > This happens on both Emacs 28 and Emacs 29. AFAICT, this has been broken since Emacs 27. > It looks like this is happening because help--read-key-sequence calls > event-basic-type on the last element of the key sequence returned from > read-key-sequence, which in this case is a string. Yes. > The following patch fixes it (that is, makes describe-key complete > successfully and show appropriate help), but I'm not sure if it's right. > > diff --git a/lisp/help.el b/lisp/help.el > index 83be85b1ee4..73ac793f4aa 100644 > --- a/lisp/help.el > +++ b/lisp/help.el > @@ -1021,8 +1021,8 @@ help--read-key-sequence > (raw-seq (this-single-command-raw-keys)) > (keyn (when (> (length seq) 0) > (aref seq (1- (length seq))))) > - (base (event-basic-type keyn)) > - (modifiers (event-modifiers keyn))) > + (base (and (integer-or-marker-p keyn) (event-basic-type keyn))) > + (modifiers (and (integer-or-marker-p keyn) (event-modifiers keyn)))) > (cond > ((zerop (length seq))) ;FIXME: Can this happen? > ((and no-mouse-movement (eq base 'mouse-movement)) nil) Doesn't the above break "C-h c" and "C-h k" for mouse click events? They yield a symbol like down-mouse-1 as KEYN, so are rejected by your proposed condition. I suggest the below instead. I'm just not sure about what to do with RAW-SEQ (which is returned as the cdr of the cons cell value of this function). Emacs 26 returned nil there, so we are "bug-compatible" with it after applying the below. But since this is a general-purpose utility function, perhaps we should return the same value as SEQ there? I mean, what does "untranslated" mean for such "events"? An alternative solution for the original problem would be to teach event-basic-type and event-modifiers about "events" that happen to be strings. Stefan, any comments or better ideas? diff --git a/lisp/help.el b/lisp/help.el index 6eac037..299042f 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -1012,7 +1012,7 @@ help--read-key-sequence (unwind-protect (let (last-modifiers key-list) ;; If yank-menu is empty, populate it temporarily, so that - ;; "Select and Paste" menu can generate a complete event. + ;; "Paste from Kill Menu" menu can generate a complete event. (when (null (cdr yank-menu)) (setq saved-yank-menu (copy-sequence yank-menu)) (menu-bar-update-yank-menu "(any string)" nil)) @@ -1031,8 +1031,14 @@ help--read-key-sequence (raw-seq (this-single-command-raw-keys)) (keyn (when (> (length seq) 0) (aref seq (1- (length seq))))) - (base (event-basic-type keyn)) - (modifiers (event-modifiers keyn))) + ;; The "Paste from Kill Menu" menu-bar item has the + ;; text-to-yank, a string, as its last "event" + ;; component, and those are not supported by + ;; 'event-basic-type' and 'event-modifiers'. + (str-from-menu (stringp keyn)) + (base (and (not str-from-menu) (event-basic-type keyn))) + (modifiers (and (not str-from-menu) + (event-modifiers keyn)))) (cond ((zerop (length seq))) ;FIXME: Can this happen? ((and no-mouse-movement (eq base 'mouse-movement)) nil)
bug-gnu-emacs <at> gnu.org
:bug#62626
; Package emacs
.
(Thu, 06 Apr 2023 11:49:02 GMT) Full text and rfc822 format available.Message #14 received at 62626 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Spencer Baugh <sbaugh <at> janestreet.com> Cc: 62626 <at> debbugs.gnu.org Subject: Re: bug#62626: 29.0.60; describe-key errors on Edit → Paste from Kill Ring → [any item] Date: Thu, 06 Apr 2023 14:49:13 +0300
> From: Spencer Baugh <sbaugh <at> janestreet.com> > Date: Sun, 02 Apr 2023 15:06:53 -0400 > > describe-key is also broken with context-menu-mode in a different way, > btw. It generates the help buffer fine, but the last key in the > sequence is wrong. It looks like read-key-sequence returns a numeric > index into the menu for that key, counting up from from the last menu > entry and starting at 1, and then the help buffer is interpreting that > number as a key. Please provide a recipe (and perhaps report this as a different bug, unless my proposed solution happens to fix this one as well, by sheer luck). Thanks.
bug-gnu-emacs <at> gnu.org
:bug#62626
; Package emacs
.
(Thu, 06 Apr 2023 13:08:01 GMT) Full text and rfc822 format available.Message #17 received at 62626 <at> debbugs.gnu.org (full text, mbox):
From: Spencer Baugh <sbaugh <at> janestreet.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 62626 <at> debbugs.gnu.org Subject: Re: bug#62626: 29.0.60; describe-key errors on Edit → Paste from Kill Ring → [any item] Date: Thu, 06 Apr 2023 09:07:46 -0400
Eli Zaretskii <eliz <at> gnu.org> writes: >> From: Spencer Baugh <sbaugh <at> janestreet.com> >> Date: Sun, 02 Apr 2023 15:06:53 -0400 >> >> describe-key is also broken with context-menu-mode in a different way, >> btw. It generates the help buffer fine, but the last key in the >> sequence is wrong. It looks like read-key-sequence returns a numeric >> index into the menu for that key, counting up from from the last menu >> entry and starting at 1, and then the help buffer is interpreting that >> number as a key. > > Please provide a recipe (and perhaps report this as a different bug, > unless my proposed solution happens to fix this one as well, by sheer > luck). > > Thanks. Ah I wasn't clear, it's also an issue with yank-menu. Probably basically the same bug? Recipe: 1. emacs -Q 2. M-x context-menu-mode RET 3. Type "foobar" and kill it 4. C-h k and right click, then "Paste from Kill Menu", then "(any string)". 5. Observe the help buffer claims the key sequence was: <down-mouse-3> <paste-from-menu> C-a
bug-gnu-emacs <at> gnu.org
:bug#62626
; Package emacs
.
(Thu, 06 Apr 2023 13:50:01 GMT) Full text and rfc822 format available.Message #20 received at 62626 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Spencer Baugh <sbaugh <at> janestreet.com> Cc: 62626 <at> debbugs.gnu.org Subject: Re: bug#62626: 29.0.60; describe-key errors on Edit → Paste from Kill Ring → [any item] Date: Thu, 06 Apr 2023 16:49:40 +0300
> From: Spencer Baugh <sbaugh <at> janestreet.com> > Cc: 62626 <at> debbugs.gnu.org > Date: Thu, 06 Apr 2023 09:07:46 -0400 > > Eli Zaretskii <eliz <at> gnu.org> writes: > > > Please provide a recipe (and perhaps report this as a different bug, > > unless my proposed solution happens to fix this one as well, by sheer > > luck). > > > > Thanks. > > Ah I wasn't clear, it's also an issue with yank-menu. Probably > basically the same bug? Recipe: > > 1. emacs -Q > 2. M-x context-menu-mode RET > 3. Type "foobar" and kill it > 4. C-h k and right click, then "Paste from Kill Menu", then "(any string)". > 5. Observe the help buffer claims the key sequence was: > <down-mouse-3> <paste-from-menu> C-a Thanks. It's a separate issue, although most probably related.
bug-gnu-emacs <at> gnu.org
:bug#62626
; Package emacs
.
(Thu, 06 Apr 2023 14:09:01 GMT) Full text and rfc822 format available.Message #23 received at 62626 <at> debbugs.gnu.org (full text, mbox):
From: Stefan Monnier <monnier <at> iro.umontreal.ca> To: Eli Zaretskii <eliz <at> gnu.org> Cc: Spencer Baugh <sbaugh <at> janestreet.com>, 62626 <at> debbugs.gnu.org Subject: Re: bug#62626: 29.0.60; describe-key errors on Edit → Paste from Kill Ring → [any item] Date: Thu, 06 Apr 2023 10:07:47 -0400
> An alternative solution for the original problem would be to teach > event-basic-type and event-modifiers about "events" that happen to be > strings. Since `read-key-sequence` returns those, we should probably teach `event-*` functions to deal with them. But since they don't agree with `eventp`, maybe we should also consider deprecating such "weird keys". FWIW, that very same "Paste from Kill Menu" is constructed differently in `context-menu-region` where it doesn't suffer from this problem (it uses integers instead of strings, as keys). Stefan
bug-gnu-emacs <at> gnu.org
:bug#62626
; Package emacs
.
(Sat, 08 Apr 2023 12:44:02 GMT) Full text and rfc822 format available.Message #26 received at 62626 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Stefan Monnier <monnier <at> iro.umontreal.ca> Cc: sbaugh <at> janestreet.com, 62626 <at> debbugs.gnu.org Subject: Re: bug#62626: 29.0.60; describe-key errors on Edit → Paste from Kill Ring → [any item] Date: Sat, 08 Apr 2023 15:43:43 +0300
> From: Stefan Monnier <monnier <at> iro.umontreal.ca> > Cc: Spencer Baugh <sbaugh <at> janestreet.com>, 62626 <at> debbugs.gnu.org > Date: Thu, 06 Apr 2023 10:07:47 -0400 > > > An alternative solution for the original problem would be to teach > > event-basic-type and event-modifiers about "events" that happen to be > > strings. > > Since `read-key-sequence` returns those, we should probably teach > `event-*` functions to deal with them. Done. > But since they don't agree with `eventp`, maybe we should also consider > deprecating such "weird keys". Patches welcome (and this is not for the release branch anyway). > FWIW, that very same "Paste from Kill Menu" is constructed differently in > `context-menu-region` where it doesn't suffer from this problem (it > uses integers instead of strings, as keys). Aren't those integer indices the reason why the recipe below: emacs -Q M-x context-menu-mode RET Type "foobar" and kill it C-h k and right click, then "Paste from Kill Menu", then select string Observe the help buffer claims the key sequence was: <down-mouse-3> <paste-from-menu> C-a ^^^ shows the bogus "C-a" at the end of the sequence? I believe C-a comes from the index 1 that read-key-sequence returns at the end of the sequence: [(down-mouse-3 (#<window 3 on *scratch*> 146 (422 . 257) 1959895390 nil 146 (52 . 3) nil (422 . 209) (8 . 16))) paste-from-menu 1]
bug-gnu-emacs <at> gnu.org
:bug#62626
; Package emacs
.
(Sat, 08 Apr 2023 15:43:01 GMT) Full text and rfc822 format available.Message #29 received at 62626 <at> debbugs.gnu.org (full text, mbox):
From: Stefan Monnier <monnier <at> iro.umontreal.ca> To: Eli Zaretskii <eliz <at> gnu.org> Cc: sbaugh <at> janestreet.com, 62626 <at> debbugs.gnu.org Subject: Re: bug#62626: 29.0.60; describe-key errors on Edit → Paste from Kill Ring → [any item] Date: Sat, 08 Apr 2023 11:42:40 -0400
> Aren't those integer indices the reason why the recipe below: > > emacs -Q > M-x context-menu-mode RET > Type "foobar" and kill it > C-h k and right click, then "Paste from Kill Menu", then select string > Observe the help buffer claims the key sequence was: > <down-mouse-3> <paste-from-menu> C-a > ^^^ > shows the bogus "C-a" at the end of the sequence? Indeed. We should probably use something like (intern (format "entry-%d" i)) to avoid confusion. `context-menu-mode` code has a few other differences with the "normal" menu (e.g. it fails to truncate long strings, etc...), so we should consolidate the two codes to keep the best of each. Stefan
bug-gnu-emacs <at> gnu.org
:bug#62626
; Package emacs
.
(Sat, 08 Apr 2023 17:13:02 GMT) Full text and rfc822 format available.Message #32 received at 62626 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Stefan Monnier <monnier <at> iro.umontreal.ca> Cc: sbaugh <at> janestreet.com, 62626 <at> debbugs.gnu.org Subject: Re: bug#62626: 29.0.60; describe-key errors on Edit → Paste from Kill Ring → [any item] Date: Sat, 08 Apr 2023 20:13:25 +0300
> From: Stefan Monnier <monnier <at> iro.umontreal.ca> > Cc: sbaugh <at> janestreet.com, 62626 <at> debbugs.gnu.org > Date: Sat, 08 Apr 2023 11:42:40 -0400 > > > Aren't those integer indices the reason why the recipe below: > > > > emacs -Q > > M-x context-menu-mode RET > > Type "foobar" and kill it > > C-h k and right click, then "Paste from Kill Menu", then select string > > Observe the help buffer claims the key sequence was: > > <down-mouse-3> <paste-from-menu> C-a > > ^^^ > > shows the bogus "C-a" at the end of the sequence? > > Indeed. We should probably use something > like (intern (format "entry-%d" i)) to avoid confusion. Done. > `context-menu-mode` code has a few other differences with the "normal" > menu (e.g. it fails to truncate long strings, etc...), so we should > consolidate the two codes to keep the best of each. Well, each of these two approaches has its ugly aspects, so...
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.