unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#64927: 30.0.50; kill-ring with no X
@ 2023-07-29  9:47 Colin Baxter
  2023-07-29 11:25 ` Colin Baxter
  0 siblings, 1 reply; 12+ messages in thread
From: Colin Baxter @ 2023-07-29  9:47 UTC (permalink / raw)
  To: 64927


1. Emacs-30.0.50 compiled --with-x-toolkit=no
2. emacs -Q <RET>
3. C-x C-f test.txt <RET>
4. Enter some text, e.g. "This is a test."
5. Enter some more text, e.g. "This is another test."
6. Place the cursor somewhere and press <F10>
7. Select Edit --> Paste from kill menu --> This is test.
8. popup-menu: Invalid `key-parse' syntax: %S: ["This is a test"]

This only seems to effect "no X" emacs.

Colin Baxter.




In GNU Emacs 30.0.50 (build 1, i686-pc-linux-gnu, cairo version
 1.14.8) of 2023-07-29 built on bluestar
Repository revision: deb74de4f2e6a16b81663cbd95f97bfc9e24e467
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.11902000
System Description: Debian GNU/Linux 9 (stretch)

Configured using:
 'configure --prefix=/home/redknight/local/opt/emacs-dev
 --with-x-toolkit=no --with-mailutils --without-sqlite3
 --without-sound --with-cairo --with-imagemagick --without-xaw3d
 --with-native-compilation=no --without-toolkit-scroll-bars'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
IMAGEMAGICK JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2
M17N_FLT MODULES NOTIFY INOTIFY OLDXMENU PDUMPER PNG RSVG SECCOMP
THREADS TIFF X11 XDBE XIM XINPUT2 XPM ZLIB

Important settings:
  value of $LANG: en_GB.UTF-8
  locale-coding-system: utf-8

Major mode: Eshell

Minor modes in effect:
  eshell-prompt-mode: t
  eshell-pred-mode: t
  eshell-hist-mode: t
  eshell-cmpl-mode: t
  global-auto-revert-mode: t
  TeX-source-correlate-mode: t
  auto-insert-mode: t
  server-mode: t
  global-emojify-mode: t
  emojify-mode: t
  eshell-proc-mode: t
  eshell-arg-mode: t
  savehist-mode: t
  display-time-mode: t
  global-so-long-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  column-number-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:
/home/redknight/git/emacs-w3m/w3m-session hides /home/redknight/.emacs.d/lisp/w3m-session
/home/redknight/git/org-mode/lisp/ob-gnuplot hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-gnuplot
/home/redknight/git/org-mode/lisp/ob-tangle hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-tangle
/home/redknight/git/org-mode/lisp/oc-natbib hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/oc-natbib
/home/redknight/git/org-mode/lisp/ol-bibtex hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ol-bibtex
/home/redknight/git/org-mode/lisp/ob-fortran hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-fortran
/home/redknight/git/org-mode/lisp/ob-forth hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-forth
/home/redknight/git/org-mode/lisp/ol-gnus hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ol-gnus
/home/redknight/git/org-mode/lisp/oc-csl hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/oc-csl
/home/redknight/git/org-mode/lisp/ol-irc hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ol-irc
/home/redknight/git/org-mode/lisp/ob-org hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-org
/home/redknight/git/org-mode/lisp/ob-calc hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-calc
/home/redknight/git/org-mode/lisp/ob-plantuml hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-plantuml
/home/redknight/git/org-mode/lisp/org-capture hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-capture
/home/redknight/git/org-mode/lisp/oc hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/oc
/home/redknight/git/org-mode/lisp/ob-R hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-R
/home/redknight/git/org-mode/lisp/ob-C hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-C
/home/redknight/git/org-mode/lisp/ox-texinfo hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ox-texinfo
/home/redknight/git/org-mode/lisp/ob-haskell hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-haskell
/home/redknight/git/org-mode/lisp/ob-sed hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-sed
/home/redknight/git/org-mode/lisp/ox-md hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ox-md
/home/redknight/git/org-mode/lisp/ox-html hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ox-html
/home/redknight/git/org-mode/lisp/ob-groovy hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-groovy
/home/redknight/git/org-mode/lisp/ox-beamer hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ox-beamer
/home/redknight/git/org-mode/lisp/org-keys hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-keys
/home/redknight/git/org-mode/lisp/org-clock hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-clock
/home/redknight/git/org-mode/lisp/ob-exp hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-exp
/home/redknight/git/org-mode/lisp/org-footnote hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-footnote
/home/redknight/git/org-mode/lisp/ol-doi hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ol-doi
/home/redknight/git/org-mode/lisp/org-plot hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-plot
/home/redknight/git/org-mode/lisp/ox-publish hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ox-publish
/home/redknight/git/org-mode/lisp/org-macs hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-macs
/home/redknight/git/org-mode/lisp/ol-bbdb hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ol-bbdb
/home/redknight/git/org-mode/lisp/ob-octave hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-octave
/home/redknight/git/org-mode/lisp/ob-makefile hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-makefile
/home/redknight/git/org-mode/lisp/ol-eshell hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ol-eshell
/home/redknight/git/org-mode/lisp/org-list hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-list
/home/redknight/git/org-mode/lisp/ox hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ox
/home/redknight/git/org-mode/lisp/org-protocol hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-protocol
/home/redknight/git/org-mode/lisp/ob-ditaa hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-ditaa
/home/redknight/git/org-mode/lisp/ob-screen hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-screen
/home/redknight/git/org-mode/lisp/ob-matlab hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-matlab
/home/redknight/git/org-mode/lisp/ol-w3m hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ol-w3m
/home/redknight/git/org-mode/lisp/org-macro hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-macro
/home/redknight/git/org-mode/lisp/ol hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ol
/home/redknight/git/org-mode/lisp/ox-koma-letter hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ox-koma-letter
/home/redknight/git/org-mode/lisp/ob-maxima hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-maxima
/home/redknight/git/org-mode/lisp/ox-icalendar hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ox-icalendar
/home/redknight/git/org-mode/lisp/ob-lilypond hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-lilypond
/home/redknight/git/org-mode/lisp/org-ctags hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-ctags
/home/redknight/git/org-mode/lisp/org-faces hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-faces
/home/redknight/git/org-mode/lisp/org-attach hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-attach
/home/redknight/git/org-mode/lisp/org-colview hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-colview
/home/redknight/git/org-mode/lisp/org-pcomplete hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-pcomplete
/home/redknight/git/org-mode/lisp/org-habit hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-habit
/home/redknight/git/org-mode/lisp/ob-sass hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-sass
/home/redknight/git/org-mode/lisp/org-timer hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-timer
/home/redknight/git/org-mode/lisp/org-duration hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-duration
/home/redknight/git/org-mode/lisp/ob-latex hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-latex
/home/redknight/git/org-mode/lisp/ob-julia hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-julia
/home/redknight/git/org-mode/lisp/ob-processing hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-processing
/home/redknight/git/org-mode/lisp/oc-biblatex hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/oc-biblatex
/home/redknight/git/org-mode/lisp/ob-perl hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-perl
/home/redknight/git/org-mode/lisp/ox-latex hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ox-latex
/home/redknight/git/org-mode/lisp/org-feed hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-feed
/home/redknight/git/org-mode/lisp/org-fold-core hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-fold-core
/home/redknight/git/org-mode/lisp/ol-info hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ol-info
/home/redknight/git/org-mode/lisp/org-mouse hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-mouse
/home/redknight/git/org-mode/lisp/ol-man hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ol-man
/home/redknight/git/org-mode/lisp/ob-core hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-core
/home/redknight/git/org-mode/lisp/ox-org hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ox-org
/home/redknight/git/org-mode/lisp/org-datetree hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-datetree
/home/redknight/git/org-mode/lisp/ob-ref hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-ref
/home/redknight/git/org-mode/lisp/org-compat hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-compat
/home/redknight/git/org-mode/lisp/ox-ascii hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ox-ascii
/home/redknight/git/org-mode/lisp/ob-shell hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-shell
/home/redknight/git/org-mode/lisp/org-table hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-table
/home/redknight/git/org-mode/lisp/ob-lisp hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-lisp
/home/redknight/git/org-mode/lisp/ob-js hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-js
/home/redknight/git/org-mode/lisp/org-archive hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-archive
/home/redknight/git/org-mode/lisp/org-tempo hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-tempo
/home/redknight/git/org-mode/lisp/ob-lua hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-lua
/home/redknight/git/org-mode/lisp/org-refile hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-refile
/home/redknight/git/org-mode/lisp/oc-basic hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/oc-basic
/home/redknight/git/org-mode/lisp/org-inlinetask hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-inlinetask
/home/redknight/git/org-mode/lisp/org-id hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-id
/home/redknight/git/org-mode/lisp/ob-lob hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-lob
/home/redknight/git/org-mode/lisp/org-num hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-num
/home/redknight/git/org-mode/lisp/org-src hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-src
/home/redknight/git/org-mode/lisp/ob-ocaml hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-ocaml
/home/redknight/git/org-mode/lisp/ox-odt hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ox-odt
/home/redknight/git/org-mode/lisp/ob-ruby hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-ruby
/home/redknight/git/org-mode/lisp/org-entities hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-entities
/home/redknight/git/org-mode/lisp/org hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org
/home/redknight/git/org-mode/lisp/ob-css hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-css
/home/redknight/git/org-mode/lisp/org-version hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-version
/home/redknight/git/org-mode/lisp/org-loaddefs hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-loaddefs
/home/redknight/git/org-mode/lisp/org-indent hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-indent
/home/redknight/git/org-mode/lisp/org-attach-git hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-attach-git
/home/redknight/git/org-mode/lisp/org-lint hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-lint
/home/redknight/git/org-mode/lisp/ob-table hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-table
/home/redknight/git/org-mode/lisp/ob hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob
/home/redknight/git/org-mode/lisp/ob-sqlite hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-sqlite
/home/redknight/git/org-mode/lisp/ob-clojure hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-clojure
/home/redknight/git/org-mode/lisp/ob-scheme hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-scheme
/home/redknight/git/org-mode/lisp/ox-man hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ox-man
/home/redknight/git/org-mode/lisp/org-goto hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-goto
/home/redknight/git/org-mode/lisp/org-persist hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-persist
/home/redknight/git/org-mode/lisp/ob-python hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-python
/home/redknight/git/org-mode/lisp/ol-eww hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ol-eww
/home/redknight/git/org-mode/lisp/org-mobile hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-mobile
/home/redknight/git/org-mode/lisp/ob-java hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-java
/home/redknight/git/org-mode/lisp/org-cycle hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-cycle
/home/redknight/git/org-mode/lisp/ob-comint hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-comint
/home/redknight/git/org-mode/lisp/ob-sql hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-sql
/home/redknight/git/org-mode/lisp/ol-docview hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ol-docview
/home/redknight/git/org-mode/lisp/ob-dot hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-dot
/home/redknight/git/org-mode/lisp/org-crypt hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-crypt
/home/redknight/git/org-mode/lisp/oc-bibtex hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/oc-bibtex
/home/redknight/git/org-mode/lisp/ob-eval hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-eval
/home/redknight/git/org-mode/lisp/ol-rmail hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ol-rmail
/home/redknight/git/org-mode/lisp/ol-mhe hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ol-mhe
/home/redknight/git/org-mode/lisp/org-agenda hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-agenda
/home/redknight/git/org-mode/lisp/ob-emacs-lisp hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-emacs-lisp
/home/redknight/git/org-mode/lisp/org-fold hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-fold
/home/redknight/git/org-mode/lisp/ob-awk hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-awk
/home/redknight/git/org-mode/lisp/ob-eshell hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/ob-eshell
/home/redknight/git/org-mode/lisp/org-element hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/org/org-element
/home/redknight/.emacs.d/lisp/obsoleted/linum hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/obsolete/linum
/home/redknight/.emacs.d/lisp/obsoleted/quickurl hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/obsolete/quickurl
/home/redknight/.emacs.d/lisp/obsoleted/netrc hides /home/redknight/local/opt/emacs-dev/share/emacs/30.0.50/lisp/obsolete/netrc

Features:
(shadow bbdb-message mailalias emacsbug em-unix em-term em-script
em-prompt em-pred em-ls em-hist em-glob em-extpipe em-cmpl em-dirs
em-basic em-banner em-alias slime etags fileloop xref hyperspec
reftex-parse autorevert oc-basic ol-w3m org-tempo cl-extra tempo
ol-rmail ol-mhe ox-md ol-irc ol-info org-inlinetask ol-gnus nnselect
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 utf7
gnus-spec gnus-win org-expiry ol-eww eww-lnum eww url-queue shr
pixel-fill kinsoku url-file svg browse-url mm-url ol-eshell esh-mode
esh-var ol-docview doc-view filenotify jka-compr org-collector
ol-bibtex ol-bbdb help-fns radix-tree cl-print debug backtrace
time-stamp bibtex vc-git diff-mode vc-dispatcher preview reftex-dcr
reftex-auc font-latex latex edmacro latex-flymake flymake-proc flymake
warnings tex-ispell tex-style tex texmathp tex-mode latexenc flyspell
simple-dark-theme ibuffer ibuffer-loaddefs display-line-numbers
autoinsert printing ps-print ps-print-loaddefs lpr kmacro osm-ol osm
dom bookmark pp ssh ovpn-mode tramp tramp-loaddefs trampver
tramp-integration tramp-compat parse-time iso8601 netrc preview-latex
tex-site ltxaccnt server image-dired+ help-mode dired+ image-dired
image-dired-tags image-dired-external image-dired-util image-mode exif
image-file image-converter dired-x dired-aux page-break-lines
orgtbl-aggregate calc-arith ox-bibtex ox-texinfo 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 reftex-cite reftex reftex-loaddefs reftex-vars
org-screenshot emojify apropos tar-mode arc-mode archive-mode ht
iimage ob-sqlite ob-sql ob-shell ob-ruby ob-rec ob-R ob-python python
project pcase ob-plantuml ob-org ob-perl ob-lisp ob-latex ob-gnuplot
ob-fortran ob-eshell eshell esh-cmd esh-ext esh-opt esh-proc esh-io
esh-arg esh-module esh-groups ob-dot ob-ditaa ob-calc calc-store
calc-trail calc-ext calc calc-loaddefs rect calc-macs ob-C cc-mode
cc-fonts cc-guess cc-menus cc-cmds ob-awk org-clock dbus
org-rainbow-tags easy-mmode ido org-journal org-crypt cal-iso
org-habit org-agenda org-element org-element-ast inline org-persist
xdg org-id avl-tree generator org-refile bbdb-mua bbdb-com crm bbdb
bbdb-site timezone bbdb-loaddefs insert-shebang lusty-explorer htmlize
my-eshell esh-util files-x term disp-table shell ehelp mw-thesaurus
dash 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
org-list org-footnote org-faces org-entities noutline outline
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 xml request
url url-proxy url-privacy url-expand url-methods url-history
url-cookie generate-lisp-file url-domsuf url-util url-parse
auth-source cl-seq eieio eieio-core cl-macs json map byte-opt gv
bytecomp byte-compile url-vars synonyms my-rmail mairix cus-edit
cus-load icons procmaillog nndoc nnoo nnmail gnus-int mail-source
gnus-range gnus wid-edit message sendmail mailcap yank-media puny
dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg
rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader nnheader
gnus-util time-date subr-x mm-util mail-prsvr mail-utils range
ftnchek-mode compile text-property-search fortran cc-styles cc-align
cc-engine cc-vars cc-defs cpan comint ansi-osc ansi-color ring
browse-kill-ring+ second-sel browse-kill-ring delsel savehist
generic-x facemenu ispell time so-long linum-ex isearch+ isearch-prop
thingatpt+ thingatpt color advice heaven-and-hell slime-autoloads
cl-loaddefs cl-lib early-init 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 lcms2 dynamic-setting system-font-setting
font-render-setting cairo xinput2 x multi-tty move-toolbar
make-network-process emacs)

Memory information:
((conses 8 578033 192165) (symbols 24 61116 0)
 (strings 16 296934 11325) (string-bytes 1 7599283) (vectors 8 125226)
 (vector-slots 4 4373985 131660) (floats 8 840 554)
 (intervals 28 14091 282) (buffers 556 24))






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

* bug#64927: 30.0.50; kill-ring with no X
  2023-07-29  9:47 bug#64927: 30.0.50; kill-ring with no X Colin Baxter
@ 2023-07-29 11:25 ` Colin Baxter
  2023-08-03  9:51   ` Eli Zaretskii
  0 siblings, 1 reply; 12+ messages in thread
From: Colin Baxter @ 2023-07-29 11:25 UTC (permalink / raw)
  To: 64927

>>>>> Colin Baxter <m43cap@yandex.com> writes:

    > 1. Emacs-30.0.50 compiled --with-x-toolkit=no
    > 2. emacs -Q <RET>
    > 3. C-x C-f test.txt <RET>
    > 4. Enter some text, e.g. "This is a test."
    > 5. Enter some more text, e.g. "This is another test."
    > 6. Place the cursor somewhere and press <F10>
    > 7. Select Edit --> Paste from kill menu --> This is test.
    > 8. popup-menu: Invalid
    > `key-parse' syntax: %S: ["This is a test"]

Forget to mention that the text 4, 5 has of course to be copied to the
kill-ring using C-<space> M-w. Sorry about that!

Colin Baxter.






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

* bug#64927: 30.0.50; kill-ring with no X
  2023-07-29 11:25 ` Colin Baxter
@ 2023-08-03  9:51   ` Eli Zaretskii
  2023-08-03 15:11     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-08-03 19:55     ` Colin Baxter
  0 siblings, 2 replies; 12+ messages in thread
From: Eli Zaretskii @ 2023-08-03  9:51 UTC (permalink / raw)
  To: m43cap, Stefan Monnier; +Cc: 64927, Lars Ingebrigtsen

> From: Colin Baxter <m43cap@yandex.com>
> Date: Sat, 29 Jul 2023 12:25:16 +0100
> 
> >>>>> Colin Baxter <m43cap@yandex.com> writes:
> 
>     > 1. Emacs-30.0.50 compiled --with-x-toolkit=no
>     > 2. emacs -Q <RET>
>     > 3. C-x C-f test.txt <RET>
>     > 4. Enter some text, e.g. "This is a test."
>     > 5. Enter some more text, e.g. "This is another test."
>     > 6. Place the cursor somewhere and press <F10>
>     > 7. Select Edit --> Paste from kill menu --> This is test.
>     > 8. popup-menu: Invalid
>     > `key-parse' syntax: %S: ["This is a test"]
> 
> Forget to mention that the text 4, 5 has of course to be copied to the
> kill-ring using C-<space> M-w. Sorry about that!

I can reproduce the same problem on a TTY frame by activating the menu
with F10, but not if the menu is activated with a mouse (on a
text-mode terminal that has a mouse).  Do you see the same problem in
the non-toolkit build if you use the mouse instead of the keyboard?

This also affects Emacs 29, and is a regression from Emacs 28, which
is related to the use of the new key-* functions.  Specifically, the
error is signaled by the call to key-valid-p issued by
possibly_translate_key_sequence, which is a subroutine of lookup-key.
The argument KEY of possibly_translate_key_sequence in this case is a
vector whose only element is a string with text properties:

  [#("create a file" 0 13 (face font-lock-comment-face fontified t))]

key-valid-p doesn't support such strings, it expects strings that
describe key sequences.

Significantly, possibly_translate_key_sequence calls key-parse after
it calls key-valid-p, and key-parse copes with this string quite well.
So I'm thinking of removing the key-valid-p call from
possibly_translate_key_sequence, since I believe key-parse can detect
any problems by itself?  Stefan, WDYT?

Colin, can you try such a change and see if it produces any
regressions?





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

* bug#64927: 30.0.50; kill-ring with no X
  2023-08-03  9:51   ` Eli Zaretskii
@ 2023-08-03 15:11     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-08-03 16:00       ` Eli Zaretskii
  2023-08-03 19:55     ` Colin Baxter
  1 sibling, 1 reply; 12+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-08-03 15:11 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: m43cap, Lars Ingebrigtsen, 64927

> This also affects Emacs 29, and is a regression from Emacs 28, which
> is related to the use of the new key-* functions.  Specifically, the
> error is signaled by the call to key-valid-p issued by
> possibly_translate_key_sequence, which is a subroutine of lookup-key.
> The argument KEY of possibly_translate_key_sequence in this case is a
> vector whose only element is a string with text properties:
>
>   [#("create a file" 0 13 (face font-lock-comment-face fontified t))]
>
> key-valid-p doesn't support such strings, it expects strings that
> describe key sequences.
>
> Significantly, possibly_translate_key_sequence calls key-parse after
> it calls key-valid-p, and key-parse copes with this string quite well.

No, `key-parse` doesn't handle this correctly either.

The ["create a file"] above is an "internal" key-sequence of length
1 that happens to use a string as the sole key.

`possibly_translate_key_sequence` instead is trying to handle the new
"external" key-sequence format [<KBDSTRING>] where <KBDSTRING> is using
the `kbd` syntax, i.e. the string is not itself a key but represents
a key-sequence.

IOW, this is a fundamental incompatibility introduced by the support for
this new [<KBDSTRING>] format in `define-key`: keys cannot be arbitrary
objects any more (among other things they can't be strings any more).


        Stefan






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

* bug#64927: 30.0.50; kill-ring with no X
  2023-08-03 15:11     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-08-03 16:00       ` Eli Zaretskii
  2023-08-03 16:06         ` Eli Zaretskii
  2023-08-03 16:30         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 12+ messages in thread
From: Eli Zaretskii @ 2023-08-03 16:00 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: m43cap, larsi, 64927

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: m43cap@yandex.com,  64927@debbugs.gnu.org,  Lars Ingebrigtsen
>  <larsi@gnus.org>
> Date: Thu, 03 Aug 2023 11:11:24 -0400
> 
> The ["create a file"] above is an "internal" key-sequence of length
> 1 that happens to use a string as the sole key.
> 
> `possibly_translate_key_sequence` instead is trying to handle the new
> "external" key-sequence format [<KBDSTRING>] where <KBDSTRING> is using
> the `kbd` syntax, i.e. the string is not itself a key but represents
> a key-sequence.
> 
> IOW, this is a fundamental incompatibility introduced by the support for
> this new [<KBDSTRING>] format in `define-key`: keys cannot be arbitrary
> objects any more (among other things they can't be strings any more).

Hmm... that's bad, isn't it?  Menus always supported strings like
that, so we have no lost that?  Do you see any reasonably practical
way to get that back?

And here we are not calling define-key, we are calling lookup-key
instead, btw.





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

* bug#64927: 30.0.50; kill-ring with no X
  2023-08-03 16:00       ` Eli Zaretskii
@ 2023-08-03 16:06         ` Eli Zaretskii
  2023-08-03 16:30         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 12+ messages in thread
From: Eli Zaretskii @ 2023-08-03 16:06 UTC (permalink / raw)
  To: monnier; +Cc: m43cap, larsi, 64927

> Cc: m43cap@yandex.com, larsi@gnus.org, 64927@debbugs.gnu.org
> Date: Thu, 03 Aug 2023 19:00:18 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> 
> Hmm... that's bad, isn't it?  Menus always supported strings like
> that, so we have no lost that?  Do you see any reasonably practical
                   ^^
That was supposed to be "now", sorry.





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

* bug#64927: 30.0.50; kill-ring with no X
  2023-08-03 16:00       ` Eli Zaretskii
  2023-08-03 16:06         ` Eli Zaretskii
@ 2023-08-03 16:30         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-08-03 18:26           ` Eli Zaretskii
  1 sibling, 1 reply; 12+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-08-03 16:30 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: m43cap, larsi, 64927

>> IOW, this is a fundamental incompatibility introduced by the support for
>> this new [<KBDSTRING>] format in `define-key`: keys cannot be arbitrary
>> objects any more (among other things they can't be strings any more).
> Hmm... that's bad, isn't it?  Menus always supported strings like
> that, so we have now lost that?

Yes, tho admittedly such unconventional keys had various rough corners
(e.g. they triggered a few bugs over the years).

I think this problem was noticed when the new feature was introduced and
we fixed the generation of the kill-ring menu, but apparently nobody
fixed the problem in the second part of the code which generates the
kill-ring (I remember I mentioned at the time that we should try and
consolidate those two code paths).

> Do you see any reasonably practical way to get that back?

The best we can do is to use `key-valid-p` as a best-effort test to
decide whether we're in the presence of the new or the old format, but
it will inevitably suffer from false positives/negatives.


        Stefan






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

* bug#64927: 30.0.50; kill-ring with no X
  2023-08-03 16:30         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-08-03 18:26           ` Eli Zaretskii
  2023-08-03 21:13             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 12+ messages in thread
From: Eli Zaretskii @ 2023-08-03 18:26 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: m43cap, larsi, 64927

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: m43cap@yandex.com,  64927@debbugs.gnu.org,  larsi@gnus.org
> Date: Thu, 03 Aug 2023 12:30:36 -0400
> 
> I think this problem was noticed when the new feature was introduced and
> we fixed the generation of the kill-ring menu, but apparently nobody
> fixed the problem in the second part of the code which generates the
> kill-ring (I remember I mentioned at the time that we should try and
> consolidate those two code paths).

Looks like that, yes.

> > Do you see any reasonably practical way to get that back?
> 
> The best we can do is to use `key-valid-p` as a best-effort test to
> decide whether we're in the presence of the new or the old format, but
> it will inevitably suffer from false positives/negatives.

Not sure I understand: if key-valid-p returns nil, what do you suggest
to do with "keys" such as those produced in the scenario of this bug
report?





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

* bug#64927: 30.0.50; kill-ring with no X
  2023-08-03  9:51   ` Eli Zaretskii
  2023-08-03 15:11     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-08-03 19:55     ` Colin Baxter
  1 sibling, 0 replies; 12+ messages in thread
From: Colin Baxter @ 2023-08-03 19:55 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 64927, Lars Ingebrigtsen, Stefan Monnier

>>>>> Eli Zaretskii <eliz@gnu.org> writes:

    >> From: Colin Baxter <m43cap@yandex.com> Date: Sat, 29 Jul 2023
    >> 12:25:16 +0100
    >> 
    >>>>>>> Colin Baxter <m43cap@yandex.com> writes:
    >> 
    >> > 1. Emacs-30.0.50 compiled --with-x-toolkit=no > 2. emacs -Q
    >> <RET> > 3. C-x C-f test.txt <RET> > 4. Enter some text,
    >> e.g. "This is a test."  > 5. Enter some more text, e.g. "This is
    >> another test."  > 6. Place the cursor somewhere and press <F10> >
    >> 7. Select Edit --> Paste from kill menu --> This is test.  >
    >> 8. popup-menu: Invalid > `key-parse' syntax: %S: ["This is a
    >> test"]
    >> 
    >> Forget to mention that the text 4, 5 has of course to be copied
    >> to the kill-ring using C-<space> M-w. Sorry about that!

    > I can reproduce the same problem on a TTY frame by activating the
    > menu with F10, but not if the menu is activated with a mouse (on a
    > text-mode terminal that has a mouse).  Do you see the same problem
    > in the non-toolkit build if you use the mouse instead of the
    > keyboard?

The issue remains whether I use a mouse to mark the region or C-<space>.

    > This also affects Emacs 29, and is a regression from Emacs 28,
    > which is related to the use of the new key-* functions.
    > Specifically, the error is signaled by the call to key-valid-p
    > issued by possibly_translate_key_sequence, which is a subroutine
    > of lookup-key.  The argument KEY of
    > possibly_translate_key_sequence in this case is a vector whose
    > only element is a string with text properties:

    >   [#("create a file" 0 13 (face font-lock-comment-face fontified
    > t))]

    > key-valid-p doesn't support such strings, it expects strings that
    > describe key sequences.

    > Significantly, possibly_translate_key_sequence calls key-parse
    > after it calls key-valid-p, and key-parse copes with this string
    > quite well.  So I'm thinking of removing the key-valid-p call from
    > possibly_translate_key_sequence, since I believe key-parse can
    > detect any problems by itself?  Stefan, WDYT?

    > Colin, can you try such a change and see if it produces any
    > regressions?

I will try, but I might be out of my depth here. I've found the
"possibly_translate_key_sequence" line in keymap.c, but what part of the
c program should I then comment out and re-build?

Colin Baxter.





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

* bug#64927: 30.0.50; kill-ring with no X
  2023-08-03 18:26           ` Eli Zaretskii
@ 2023-08-03 21:13             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-08-04  6:14               ` Colin Baxter
  0 siblings, 1 reply; 12+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-08-03 21:13 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: m43cap, larsi, 64927

>> The best we can do is to use `key-valid-p` as a best-effort test to
>> decide whether we're in the presence of the new or the old format, but
>> it will inevitably suffer from false positives/negatives.
>
> Not sure I understand: if key-valid-p returns nil, what do you suggest
> to do with "keys" such as those produced in the scenario of this bug
> report?

I suggest we do:

    diff --git a/src/keymap.c b/src/keymap.c
    index da2af98c2d6..eec3e884935 100644
    --- a/src/keymap.c
    +++ b/src/keymap.c
    @@ -1066,7 +1066,7 @@ possibly_translate_key_sequence (Lisp_Object key, ptrdiff_t *length)
     		  build_string ("`key-valid-p' is not defined, so this syntax can't be used: %s"),
     		  key);
           if (NILP (call1 (Qkey_valid_p, AREF (key, 0))))
    -        xsignal2 (Qerror, build_string ("Invalid `key-parse' syntax: %S"), key);
    +        return key;
           key = call1 (Qkey_parse, AREF (key, 0));
           *length = CHECK_VECTOR_OR_STRING (key);
           if (*length == 0)

With this change,

    (let ((map (make-sparse-keymap))) (define-key map ["he"] 'hello) map)

returns (keymap ("he" . hello)) as before, and emits a message:

    Key sequence contains invalid event he

whereas

    (let ((map (make-sparse-keymap))) (define-key map ["h e"] 'hello) map)

returns (keymap (104 keymap (101 . hello))).

I think this new [KBDSTRING] syntax was probably a mistake, in
retrospect: it made sense at the time, but we should have removed it
afterwards when we introduced the new `key-*` functions.


        Stefan






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

* bug#64927: 30.0.50; kill-ring with no X
  2023-08-03 21:13             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-08-04  6:14               ` Colin Baxter
  2023-08-04  6:38                 ` Eli Zaretskii
  0 siblings, 1 reply; 12+ messages in thread
From: Colin Baxter @ 2023-08-04  6:14 UTC (permalink / raw)
  To: 64927; +Cc: larsi, eliz, monnier

>>>>> Bug reports for GNU Emacs, the Swiss army knife of text editors <Stefan> writes:

    >>> The best we can do is to use `key-valid-p` as a best-effort test
    >>> to decide whether we're in the presence of the new or the old
    >>> format, but it will inevitably suffer from false
    >>> positives/negatives.
    >> 
    >> Not sure I understand: if key-valid-p returns nil, what do you
    >> suggest to do with "keys" such as those produced in the scenario
    >> of this bug report?

    > I suggest we do:

    >     diff --git a/src/keymap.c b/src/keymap.c index
    > da2af98c2d6..eec3e884935 100644 --- a/src/keymap.c +++
    > b/src/keymap.c @@ -1066,7 +1066,7 @@
    > possibly_translate_key_sequence (Lisp_Object key, ptrdiff_t
    > *length) build_string ("`key-valid-p' is not defined, so this
    > syntax can't be used: %s"), key); if (NILP (call1 (Qkey_valid_p,
    > AREF (key, 0)))) - xsignal2 (Qerror, build_string ("Invalid
    > `key-parse' syntax: %S"), key); + return key; key = call1
    > (Qkey_parse, AREF (key, 0)); *length = CHECK_VECTOR_OR_STRING
    > (key); if (*length == 0)

    > With this change,

    >     (let ((map (make-sparse-keymap))) (define-key map ["he"]
    > 'hello) map)

    > returns (keymap ("he" . hello)) as before, and emits a message:

    >     Key sequence contains invalid event he

    > whereas

    >     (let ((map (make-sparse-keymap))) (define-key map ["h e"]
    > 'hello) map)

    > returns (keymap (104 keymap (101 . hello))).

I have applied this patch and it seems to work.

1. In a test file select a region with mouse and save to kill-ring.
2. Select another region via C-<space> and save to kill-ring.
3. Paste both regions in another part of test file using mouse via
   <F10> --> Edit --> Paste from kill-ring Menu
4. Success.

Colin Baxter.





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

* bug#64927: 30.0.50; kill-ring with no X
  2023-08-04  6:14               ` Colin Baxter
@ 2023-08-04  6:38                 ` Eli Zaretskii
  0 siblings, 0 replies; 12+ messages in thread
From: Eli Zaretskii @ 2023-08-04  6:38 UTC (permalink / raw)
  To: m43cap; +Cc: larsi, 64927-done, monnier

> From: Colin Baxter <m43cap@yandex.com>
> Cc: Eli Zaretskii <eliz@gnu.org>,  Stefan Monnier
>  <monnier@iro.umontreal.ca>,  larsi@gnus.org,  64927@debbugs.gnu.org
> Date: Fri, 04 Aug 2023 07:14:07 +0100
> 
> >>>>> Bug reports for GNU Emacs, the Swiss army knife of text editors <Stefan> writes:
> 
>     > I suggest we do:
> 
>     >     diff --git a/src/keymap.c b/src/keymap.c index
>     > da2af98c2d6..eec3e884935 100644 --- a/src/keymap.c +++
>     > b/src/keymap.c @@ -1066,7 +1066,7 @@
>     > possibly_translate_key_sequence (Lisp_Object key, ptrdiff_t
>     > *length) build_string ("`key-valid-p' is not defined, so this
>     > syntax can't be used: %s"), key); if (NILP (call1 (Qkey_valid_p,
>     > AREF (key, 0)))) - xsignal2 (Qerror, build_string ("Invalid
>     > `key-parse' syntax: %S"), key); + return key; key = call1
>     > (Qkey_parse, AREF (key, 0)); *length = CHECK_VECTOR_OR_STRING
>     > (key); if (*length == 0)
> 
>     > With this change,
> 
>     >     (let ((map (make-sparse-keymap))) (define-key map ["he"]
>     > 'hello) map)
> 
>     > returns (keymap ("he" . hello)) as before, and emits a message:
> 
>     >     Key sequence contains invalid event he
> 
>     > whereas
> 
>     >     (let ((map (make-sparse-keymap))) (define-key map ["h e"]
>     > 'hello) map)
> 
>     > returns (keymap (104 keymap (101 . hello))).
> 
> I have applied this patch and it seems to work.
> 
> 1. In a test file select a region with mouse and save to kill-ring.
> 2. Select another region via C-<space> and save to kill-ring.
> 3. Paste both regions in another part of test file using mouse via
>    <F10> --> Edit --> Paste from kill-ring Menu
> 4. Success.

Thanks, I've now installed this on the emacs-29 branch, and I'm
closing this bug.





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

end of thread, other threads:[~2023-08-04  6:38 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-29  9:47 bug#64927: 30.0.50; kill-ring with no X Colin Baxter
2023-07-29 11:25 ` Colin Baxter
2023-08-03  9:51   ` Eli Zaretskii
2023-08-03 15:11     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-03 16:00       ` Eli Zaretskii
2023-08-03 16:06         ` Eli Zaretskii
2023-08-03 16:30         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-03 18:26           ` Eli Zaretskii
2023-08-03 21:13             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-04  6:14               ` Colin Baxter
2023-08-04  6:38                 ` Eli Zaretskii
2023-08-03 19:55     ` Colin Baxter

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