unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Spencer Baugh <sbaugh@janestreet.com>
Cc: luangruo@yahoo.com, sbaugh@catern.com, 64423@debbugs.gnu.org
Subject: bug#64423: 29.0.92; save-interprogram-paste-before-kill doesn't prevent streaming large selections
Date: Sat, 08 Jul 2023 20:49:13 +0300	[thread overview]
Message-ID: <83zg46b8fa.fsf@gnu.org> (raw)
In-Reply-To: <iery1jqs55y.fsf@janestreet.com> (message from Spencer Baugh on Sat, 08 Jul 2023 13:07:37 -0400)

> From: Spencer Baugh <sbaugh@janestreet.com>
> Cc: sbaugh@catern.com,  luangruo@yahoo.com,  64423@debbugs.gnu.org
> Date: Sat, 08 Jul 2023 13:07:37 -0400
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> >> Cc: Spencer Baugh <sbaugh@janestreet.com>, 64423@debbugs.gnu.org
> >> From: sbaugh@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.

How do you know that?  The prudent thing in Emacs is to "do no harm",
i.e. try hard not to affect any code that is unrelated to the problem.
Assuming that a change is harmless is a mother of all bugs.

> The worst thing that this change can cause is that a call to kill-new
> can complete successfully when it otherwise would have failed.

No, I think you can also do the reverse.  And anyway, this kind of
"reasoning" is what gets us in trouble time and again.  Why risk all
those potential problems, where the original issue doesn't exist in
the first place?

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

You do realize that some window systems Emacs support have no notion
of "clipboard ownership" or "selection ownership" whatsoever?

So please modify the patch to affect only X, TIA.





  reply	other threads:[~2023-07-08 17:49 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-02 14:13 bug#64423: 29.0.92; save-interprogram-paste-before-kill doesn't prevent streaming large selections sbaugh
2023-07-03  2:35 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-03 12:46   ` Spencer Baugh
2023-07-04  0:40     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-04  1:45       ` sbaugh
2023-07-04  3:58         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-04 11:46           ` sbaugh
2023-07-04 13:19             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-04 14:46               ` sbaugh
2023-07-04 16:18                 ` Eli Zaretskii
2023-07-04 16:32                   ` Ihor Radchenko
2023-07-04 16:41                     ` Eli Zaretskii
2023-07-04 16:48                   ` sbaugh
2023-07-04 17:02                     ` Eli Zaretskii
2023-07-04 17:14                       ` Ihor Radchenko
2023-07-04 17:30                         ` Eli Zaretskii
2023-07-04 17:35                           ` Ihor Radchenko
2023-07-05  0:30                           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-05  2:29                             ` Eli Zaretskii
2023-07-05  3:51                               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-05 11:27                                 ` Eli Zaretskii
2023-07-05  0:19                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-05 13:59                   ` Spencer Baugh
2023-07-06  0:12                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-06  0:50                       ` Spencer Baugh
2023-07-06  1:59                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-08 16:39             ` sbaugh
2023-07-08 16:48               ` Eli Zaretskii
2023-07-08 17:07                 ` Spencer Baugh
2023-07-08 17:49                   ` Eli Zaretskii [this message]
2023-07-09  0:39                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-09  6:10                       ` Eli Zaretskii
2023-07-09  6:12                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-09  6:46                           ` Eli Zaretskii
2023-07-12 19:18                             ` sbaugh
2023-07-13  0:32                               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-13  4:48                               ` Eli Zaretskii
2023-07-13 16:17                                 ` sbaugh
2023-07-13 18:39                                   ` Eli Zaretskii
2023-07-13 22:39                                     ` sbaugh
2023-07-15  8:31                                       ` Eli Zaretskii
2023-07-15  8:33                                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-15  9:01                                           ` Eli Zaretskii
2023-07-15  9:35                                             ` Eli Zaretskii
2023-07-15 17:38                                               ` sbaugh
2023-07-15 19:12                                                 ` Eli Zaretskii
2023-07-15 21:00                                                   ` Spencer Baugh
2023-07-17 16:43 ` Mattias Engdegård
2023-08-03 15:53 ` Spencer Baugh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83zg46b8fa.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=64423@debbugs.gnu.org \
    --cc=luangruo@yahoo.com \
    --cc=sbaugh@catern.com \
    --cc=sbaugh@janestreet.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).