[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Copy and paste from Emacs 29 to Thunderbird doesn’t work
From: |
Tobias Bading |
Subject: |
Copy and paste from Emacs 29 to Thunderbird doesn’t work |
Date: |
Sun, 30 Apr 2023 15:01:37 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 |
Hi.
I think I discovered a new kind of bug. It’s not like a heisenbug that
tries to prevent people from studying it properly — this one tries to
prevent being *reported*! XD
When I was done composing my last mail in Emacs 29
(https://lists.gnu.org/archive/html/emacs-devel/2023-04/msg00771.html),
I tried to copy and paste the text into Thunderbird. Emphasis on trying.
C-v didn’t work. Nothing happened. Double-clicked just a single word in
Emacs, C-v in Thunderbird… nope, nothing. Clicked into Thunderbird’s
‘Subject’ field and pressed C-v… now I see my copied word! What the f…?
Tried the same in Emacs 26 — no problems.
After installing xclip and starting to wonder about the bazillion different
selection formats, I wasn’t really in the mood for reading entire books
about the X11 primary selection and clipboard. So I simply grep’d the
sources for “OWNER_OS” because I have no idea why anyone would want to
associate the operating system’s type with a selection. That led to
selection-converter-alist in select.el.
Long story short, replacing Emacs 29’s selection-converter-alist with the
one from Emacs 26 seems to fix the problem, i.e.:
diff --git a/lisp/select.el b/lisp/select.el
index 7f089c62dd..7f885eafcf 100644
--- a/lisp/select.el
+++ b/lisp/select.el
@@ -894,14 +894,6 @@ xselect-convert-to-dt-netfile
(COMPOUND_TEXT . xselect-convert-to-string)
(STRING . xselect-convert-to-string)
(UTF8_STRING . xselect-convert-to-string)
- (text/plain . xselect-convert-to-string)
- (text/plain\;charset=utf-8 . xselect-convert-to-string)
- (text/uri-list . (xselect-uri-list-available-p
- . xselect-convert-to-text-uri-list))
- (text/x-xdnd-username . (xselect-dnd-target-available-p
- . xselect-convert-to-username))
- (FILE . (xselect-uri-list-available-p
- . xselect-convert-to-xm-file))
(TARGETS . xselect-convert-to-targets)
(LENGTH . xselect-convert-to-length)
(DELETE . xselect-convert-to-delete)
@@ -917,13 +909,7 @@ xselect-convert-to-dt-netfile
(ATOM . xselect-convert-to-atom)
(INTEGER . xselect-convert-to-integer)
(SAVE_TARGETS . xselect-convert-to-save-targets)
- (_EMACS_INTERNAL . xselect-convert-to-identity)
- (XmTRANSFER_SUCCESS . (xselect-dnd-target-available-p
- . xselect-convert-xm-special))
- (XmTRANSFER_FAILURE . (xselect-dnd-target-available-p
- . xselect-convert-xm-special))
- (_DT_NETFILE . (xselect-dt-netfile-available-p
- . xselect-convert-to-dt-netfile))))
+ (_EMACS_INTERNAL . xselect-convert-to-identity)))
(provide 'select)
Of course that’s just a quick and dirty hack which will probably lead to
other problems. Could someone who knows this stuff please look into this?
BTW, my Emacs runs with select-enable-clipboard and select-enable-primary
both set to t.
Tobias
PS: please keep me CC’d, thanks
- Copy and paste from Emacs 29 to Thunderbird doesn’t work,
Tobias Bading <=