Hi Joshua, On +2022-10-25 10:27:48 -0400, Joshua Branson via Bug reports for GNU Guix wrote: > Andrew Tropin <and...@trop.in> writes: > > > On 2022-10-18 10:52, Andrew Tropin wrote: > > > >> Recently discovered a problem, which reproduces this way: > >> - Open a new emacs instance. > >> - Yank anything with M-w or select with mouse. > >> - Paste yanked text to chromium/icecat. > >> > > I sometimes run two instances of Emacs. I discovered today, that Emacs > cannot yank from one and paste to another. When I try to paste I get this > mysterious warning message in Emacs: > > "waiting for reply from selection owner." > > >
Disclaimer: Sharing newbie discovery, inviting risk commentary, no warranty :) A hack to get around clipboarding hangs (which I won't go into here :) is (if you are safely by yourself on your laptop) this: Select what you want to copy-paste as usual (Ctl-Space and move point to end of region) but then don't copy it with Mx w -- instead do shell-op on region like --8<---------------cut here---------------start------------->8--- Esc | tee /tmp/foo --8<---------------cut here---------------end--------------->8--- that should write your region into /tmp/foo Then switch to your other emacs instance and insert foo contents at point using --8<---------------cut here---------------start------------->8--- Ctl-x i /tmp/foo --8<---------------cut here---------------end--------------->8--- tee should not have added any newline unless you had it in your selected region, and Ctl-x i should insert verbatim. (well, probably modulo different encodings in various buffers. Idk :) If you want to hop between gui and emacs -nw it should work fine there too. I've tried that. If you want to do like append-string, adding to the end of foo, use ...|tee -a /tmp/foo or use separate files ad lib, of course: whatever|tee /tmp/bar If you want to be a bit safer, it'd probably be good to make a restricted temp dir like --8<---------------cut here---------------start------------->8--- $ mktemp -d /tmp/joshclips.XXXXXX.d /tmp/joshclips.rinY4L.d $ ls -ltra /tmp/joshclips.rinY4L.d/ total 8 drwxrwxrwt 16 root root 4096 Oct 26 12:59 .. drwx------ 2 bokr bokr 4096 Oct 26 12:59 . --8<---------------cut here---------------end--------------->8--- (note the restricted write perm just to user, not group) and then tee to /tmp/joshclips.rinY4L.d/foo Of course, if you want to preserve your cutting room detritus, you can use other directories than /tmp :) BTW, you could of course plain write foo with Crl-x w but then you'd get interaction that using tee and insert avoids. Also you could use cat > or cat >> in place of tee and tee -a respectively, but then your selected region would disappear because redirected cat effectively returns '' as the filtered region, unlike tee which makes no mod, just sneaks a copy. Using cat you'd have to undo with Crl-underscore. No big deal, but tee avoids it :) Please excuse that this wasn't on the fseg topic. SFTN. -- Regards, Bengt Richter