GNU bug report logs - #64423
29.0.92; save-interprogram-paste-before-kill doesn't prevent streaming large selections

Previous Next

Package: emacs;

Reported by: sbaugh <at> catern.com

Date: Sun, 2 Jul 2023 14:14:02 UTC

Severity: normal

Found in version 29.0.92

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #89 received at 64423 <at> debbugs.gnu.org (full text, mbox):

From: Spencer Baugh <sbaugh <at> janestreet.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: luangruo <at> yahoo.com, sbaugh <at> catern.com, 64423 <at> debbugs.gnu.org
Subject: Re: bug#64423: 29.0.92; save-interprogram-paste-before-kill doesn't
 prevent streaming large selections
Date: Sat, 08 Jul 2023 13:07:37 -0400
Eli Zaretskii <eliz <at> gnu.org> writes:
>> Cc: Spencer Baugh <sbaugh <at> janestreet.com>, 64423 <at> debbugs.gnu.org
>> From: sbaugh <at> catern.com
>> Date: Sat, 08 Jul 2023 16:39:00 +0000 (UTC)
>> 
>> diff --git a/lisp/simple.el b/lisp/simple.el
>> index 26944f1f72d..95d00cc506b 100644
>> --- a/lisp/simple.el
>> +++ b/lisp/simple.el
>> @@ -5618,8 +5618,10 @@ kill-new
>>        (if (fboundp 'menu-bar-update-yank-menu)
>>  	  (menu-bar-update-yank-menu string (and replace (car kill-ring)))))
>>      (when save-interprogram-paste-before-kill
>> -      (let ((interprogram-paste (and interprogram-paste-function
>> -                                     (funcall interprogram-paste-function))))
>> +      (let ((interprogram-paste
>> +             (ignore-error 'quit
>> +               (and interprogram-paste-function
>> +                    (funcall interprogram-paste-function)))))
>>          (when interprogram-paste
>>            (setq interprogram-paste
>>                  (if (listp interprogram-paste)
>
> Are you sure this is TRT for all the implementations of GUI
> selections?  AFAIU, the discussion was only about X.

Independent of that discussion, I think this change should be harmless.
The worst thing that this change can cause is that a call to kill-new
can complete successfully when it otherwise would have failed.  That's
probably always good, especially because kill-new is usually preceeded
by deleting text, which might be unrecoverable in buffers without undo.

But, also, I believe the discussion makes sense for platforms besides X:
if there's a bug in the current owner of the clipboard, then taking
ownership of the clipboard in Emacs will let us avoid that bug.  And
this change to ignore quits will allow the user to take ownership of the
selection in that way, whereas they previously would not be able to
(without manually writing some Lisp anyway).




This bug report was last modified 1 year and 290 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.