From: Ignacio Casso <ignaciocasso@hotmail.com>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: Po Lu <luangruo@yahoo.com>, 53894@debbugs.gnu.org
Subject: bug#53894: 27.2; Clipboard copy -> C-y -> M-y -> Same clipboard copy does not push to kill ring
Date: Thu, 10 Feb 2022 14:20:15 +0100 [thread overview]
Message-ID: <PAXPR06MB776082D198D775408D9E5F8FC62F9@PAXPR06MB7760.eurprd06.prod.outlook.com> (raw)
In-Reply-To: <87iltm7upm.fsf@gnus.org>
Hi all,
Did you read my last email? I think you got some things wrong. I'll
explain it again inline.
First, about my original concern:
>> In addition, I believe the OP claims that the algorithm we use to
>> decide (on X) when to return nil is flawed, or at least ruins his use
>> case. I don't think I succeed to understand the rationale for that
>> claim, FWIW.
>
> Here's the case to reproduce:
>
> In external program, "copy" a text
> In Emacs: C-y M-y
> In external program, "copy" the same text
> In Emacs: C-y
>
> This C-y will not yank the text.
Lars is right here
>> So now the only issue left (for me) is that I don't think I understand
>> why the OP doesn't like this: after all, the original text from the
>> clipboard is still available in the kill ring, and can be pasted given
>> enough M-y, or using the Edit menu-bar menu, or using the new feature
>> of M-y when it is invoked not after C-y or another M-y.
>
> But it's surprising (and frustrating) to click on "Copy text" in a
> different application and then (sometimes) not being able to yank it
> with `C-y'.
And here too. But I don't really care that much, I was just reporting
it. As you said, you can find it in the kill ring or use clipboard-yank,
and it's a really uncommon scenario.
And now about the DWIM logic in gui-selection-value:
> No, the problem is still present on the trunk. But I suspect that after
> you introduced the `gui-backend-selection-owner-p' test in
> gui--selection-value-internal, the logic surrounding
> gui--last-selected-text-clipboard in gui-selection-value is no longer
> necessary, and should just be removed now.
>
> But I haven't analysed the problem in depth, and I don't know how this
> works on non-X systems -- perhaps that DWIM logic in gui-selection-value
> is still necessary on some systems.
That logic is still necessary. gui-selection-value is called every time
we yank, and we only want it to return non-nil when there is something
new there. If there is, it's pushed to the top of the kill ring and
yanked, and from then onwards the kill ring handles it. Otherwise, i.e.,
if its the same as gui--last-selected-text-clipboard, it returns nil. So
gui-selection-value will almost always return nil for that reason, and
it's in fact gui-backend-selection-owner-p what is probably unnecessary,
since it achieves the same as setting gui--last-selected-text-clipboard
to the string being killed in the first place, which gui-select-text
already does.
In particular, removing that logic would not solve the problem I
reported. The only way to solve it would be with clipboard
timestamps, which are probably not worth to use if this is the only
problem they solve (although I saw a comment about them being needed
also to resolve discrepancies between clipboard and primary selection).
Regards,
--Ignacio
next prev parent reply other threads:[~2022-02-10 13:20 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-09 9:13 bug#53894: 27.2; Clipboard copy -> C-y -> M-y -> Same clipboard copy does not push to kill ring Ignacio Casso
2022-02-09 11:44 ` Lars Ingebrigtsen
2022-02-09 12:52 ` Ignacio Casso
2022-02-09 20:21 ` Lars Ingebrigtsen
2022-02-10 1:56 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-10 6:20 ` Eli Zaretskii
2022-02-10 6:31 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-10 6:42 ` Lars Ingebrigtsen
2022-02-10 6:48 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-10 8:37 ` Lars Ingebrigtsen
2022-02-10 10:03 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-10 6:39 ` Lars Ingebrigtsen
2022-02-10 8:06 ` Eli Zaretskii
2022-02-10 8:43 ` Lars Ingebrigtsen
2022-02-10 10:04 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-10 11:37 ` Lars Ingebrigtsen
2022-02-10 12:08 ` Eli Zaretskii
2022-02-10 12:14 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-10 12:29 ` Eli Zaretskii
2022-02-10 12:38 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-10 12:49 ` Lars Ingebrigtsen
2022-02-10 13:20 ` Ignacio Casso [this message]
2022-02-11 1:05 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-11 10:24 ` Ignacio Casso
2022-02-11 11:16 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-11 11:28 ` Ignacio Casso
2022-02-11 12:38 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-11 12:42 ` Ignacio Casso
2022-02-11 12:58 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-12 2:28 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-27 18:57 ` Ignacio Casso
2022-02-28 1:01 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-28 12:12 ` Ignacio Casso
2022-02-28 13:35 ` Eli Zaretskii
2022-02-28 14:22 ` Ignacio Casso
2022-02-28 13:48 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-28 14:35 ` Ignacio Casso
[not found] ` <87wnhfoy5h.fsf@hotmail.com>
2022-02-28 16:10 ` Ignacio Casso
2022-03-01 0:42 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-01 7:51 ` Ignacio Casso
2022-03-01 13:19 ` Eli Zaretskii
2022-03-01 15:29 ` Ignacio Casso
2022-03-02 0:51 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-02 7:44 ` Ignacio Casso
2022-03-02 7:59 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-02 8:37 ` Ignacio Casso
2022-03-02 10:03 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-09 7:41 ` Ignacio Casso
2022-03-09 13:47 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-24 19:59 ` Ignacio Casso
2022-03-25 6:25 ` Eli Zaretskii
2022-03-29 12:01 ` Ignacio Casso
2022-03-29 13:00 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-04-01 10:15 ` Ignacio Casso
2022-04-01 10:59 ` Eli Zaretskii
2022-04-01 11:23 ` Ignacio Casso
2022-04-01 12:04 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-04-01 12:15 ` Eli Zaretskii
2022-04-01 12:57 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-04-01 12:10 ` Eli Zaretskii
2022-03-01 15:19 ` Lars Ingebrigtsen
[not found] ` <871qznc4qg.fsf@hotmail.com>
2022-02-28 16:56 ` Ignacio Casso
[not found] ` <87v8xl376s.fsf@hotmail.com>
2022-02-11 12:48 ` Ignacio Casso
[not found] ` <87pmnurelg.fsf@hotmail.com>
2022-02-10 14:29 ` Ignacio Casso
2022-02-11 6:15 ` Lars Ingebrigtsen
2022-02-11 8:16 ` Eli Zaretskii
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=PAXPR06MB776082D198D775408D9E5F8FC62F9@PAXPR06MB7760.eurprd06.prod.outlook.com \
--to=ignaciocasso@hotmail.com \
--cc=53894@debbugs.gnu.org \
--cc=larsi@gnus.org \
--cc=luangruo@yahoo.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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.