Subject: bug#41910: 26.3; xclip (wl-copy/Wayland) doesn't copy from Emacs Client

From: [email-masked]
Date: Wed, 17 Jun 2020 10:31:55 +0200

Hello,

I'm using xclip 1.10 under Wayland and I use `wl-clipboard` [0] to copy

and paste.

When I connect a client to the Emacs daemon, I cannot copy text from a

buffer to outside Emacs (be it a GTK application or another shell). To

copy and paste text from a buffer:

- I start selecting text with `C-space` then arrow keys to extend the
selection

- I copy the selection with `C-w`

- I paste the selection outside Emacs with whatever works (shift+ctrl+v,

- shift+ins, ctrl+v, ecc.)

If I start `emacs` directly the above workflow works just fine.

I've hacked a bit `xclip.el`, seems that these commits [1] and [2] are

related to the issue. If I revert to using `process-file`, I can copy
again also from

an attached Emacs client.

Regards,

[0] https://github.com/bugaevc/wl-clipboard

[1]

https://git.savannah.gnu.org/gitweb/?p=emacs/elpa.git;a=commitdiff;h=dd10f4a8ccef4aa316afc31ed2549573a974b546;hp=5436d2486e475fc91f16682697a692e21387e22d

[2]
https://git.savannah.gnu.org/gitweb/?p=emacs/elpa.git;a=commitdiff;h=98405112baa5ce2a118d1c65184c005d8ddaa1a9;hp=a465911fa8abb9cd0050c7469a9c3aa2a3407ef3

In GNU Emacs 26.3 (build 2, x86_64-pc-linux-gnu)

 of 2019-09-23, modified by Debian built on lgw01-amd64-032

System Description:	Ubuntu 19.10

Recent messages:

Mark set

next-line: End of buffer

Mark set [6 times]

Saving file /home/user/tmp/test.txt...

Wrote /home/user/tmp/test.txt

Mark set

previous-line: Beginning of buffer [11 times]

Mark set

When done with this frame, type C-x 5 0

Making completion list...

Configured using:

 'configure --build x86_64-linux-gnu --prefix=/usr

 --sharedstatedir=/var/lib --libexecdir=/usr/lib

 --localstatedir=/var/lib --infodir=/usr/share/info

 --mandir=/usr/share/man --enable-libsystemd --with-pop=yes

 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.3/site-lisp:/usr/share/emacs/site-lisp

 --with-sound=alsa --without-gconf --with-mailutils --build

 x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib

 --libexecdir=/usr/lib --localstatedir=/var/lib

 --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd

 --with-pop=yes

 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.3/site-lisp:/usr/share/emacs/site-lisp

 --with-sound=alsa --without-gconf --with-mailutils --with-x=no

 --without-gsettings 'CFLAGS=-g -O2

 -fdebug-prefix-map=/build/emacs-wvqver/emacs-26.3+1=.
-fstack-protector-strong

 -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time

 -D_FORTIFY_SOURCE=2' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro''

Configured features:

JPEG SOUND GPM DBUS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 ZLIB XIM

THREADS LIBSYSTEMD LCMS2

Important settings:

  value of $LC_MONETARY: de_DE.UTF-8

  value of $LC_NUMERIC: de_DE.UTF-8

  value of $LC_TIME: de_DE.UTF-8

  value of $LANG: en_US.UTF-8

  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:

  show-paren-mode: t

  global-whitespace-newline-mode: t

  global-whitespace-mode: t

  global-hl-todo-mode: t

  hl-todo-mode: t

  editorconfig-mode: t

  xclip-mode: t

  smartparens-global-mode: t

  smartparens-mode: t

  global-git-gutter-mode: t

  shell-dirtrack-mode: t

  tooltip-mode: t

  global-eldoc-mode: t

  eldoc-mode: t

  electric-indent-mode: t

  file-name-shadow-mode: t

  global-font-lock-mode: t

  font-lock-mode: t

  auto-composition-mode: t

  auto-encryption-mode: t

  auto-compression-mode: t

  line-number-mode: t

  transient-mark-mode: t

  abbrev-mode: t

Load-path shadows:

/usr/share/emacs/site-lisp/llvm-7/llvm-mode hides
/usr/share/emacs/site-lisp/llvm-8/llvm-mode

/usr/share/emacs/site-lisp/llvm-7/emacs hides
/usr/share/emacs/site-lisp/llvm-8/emacs

/usr/share/emacs/site-lisp/llvm-7/tablegen-mode hides
/usr/share/emacs/site-lisp/llvm-8/tablegen-mode

/usr/share/emacs/site-lisp/llvm-7/llvm-mode hides
/usr/share/emacs/site-lisp/llvm-9/llvm-mode

/usr/share/emacs/site-lisp/llvm-7/emacs hides
/usr/share/emacs/site-lisp/llvm-9/emacs

/usr/share/emacs/site-lisp/llvm-7/tablegen-mode hides
/usr/share/emacs/site-lisp/llvm-9/tablegen-mode

Features:

(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs

rfc822 mml mml-sec epa derived epg gnus-util rmail rmail-loaddefs

mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils

mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr

mail-utils editorconfig-core editorconfig-core-handle

editorconfig-fnmatch term/xterm xterm server elec-pair disp-table ox-md

zenburn-theme paren whitespace cus-start cus-load hl-todo move-text

editorconfig ox-wk ox-odt rng-loc rng-uri rng-parse rng-match rng-dt

rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex

ox-icalendar ox-html table ox-ascii ox-publish ox org-element avl-tree

generator org org-macro org-footnote org-pcomplete org-list org-faces

org-entities time-date noutline outline easy-mmode org-version

ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys

ob-comint org-loaddefs find-func cal-menu calendar cal-loaddefs ob-exp

ob-core org-compat ob-eval org-macs xclip py-autopep8 jedi jedi-core

python-environment epc ctable cl concurrent deferred subr-x

auto-complete popup smartparens dash git-gutter crux tramp tramp-compat

tramp-loaddefs trampver ucs-normalize shell pcomplete comint regexp-opt

ansi-color ring parse-time format-spec advice thingatpt edmacro kmacro

cl-extra help-mode use-package-ensure use-package-core finder-inf info

tool-bar package easymenu epg-config url-handlers url-parse auth-source

cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache url-vars

seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib mule-util

tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type

tabulated-list replace newcomment text-mode elisp-mode lisp-mode

prog-mode register page menu-bar rfn-eshadow isearch timer select mouse

jit-lock font-lock syntax facemenu font-core term/tty-colors frame

cl-generic 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

charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev

obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face

macroexp files text-properties overlay sha1 md5 base64 format env

code-pages mule custom widget hashtable-print-readable backquote threads

dbusbind inotify lcms2 multi-tty make-network-process emacs)

Memory information:

((conses 16 540732 24083)

 (symbols 48 40235 1)

 (miscs 40 83 222)

 (strings 32 141099 2555)

 (string-bytes 1 3882664)

 (vectors 16 59331)

 (vector-slots 8 987380 18416)

 (floats 8 164 838)

 (intervals 56 386 0)

 (buffers 992 13))