GNU bug report logs - #56325
[REGRESSION] (clipboard-yank) always pastes from kill-ring after text copy

Previous Next

Package: emacs;

Reported by: Konstantin Kharlamov <hi-angel <at> yandex.ru>

Date: Thu, 30 Jun 2022 13:49:02 UTC

Severity: normal

Done: Po Lu <luangruo <at> yahoo.com>

Bug is archived. No further changes may be made.

Full log


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

From: Konstantin Kharlamov <hi-angel <at> yandex.ru>
To: bug-gnu-emacs <at> gnu.org
Subject: [REGRESSION] (clipboard-yank) always pastes from kill-ring after
 text copy
Date: Thu, 30 Jun 2022 16:48:19 +0300
After upgrade to latest development version at:

      fb0d95984b: Put the obsoletion earlier in the *Help* buffer

I found out that using (clipboard-yank) and (x-clipboard-yank) when
`select-enable-clipboard` is set to t, after copying a text to
clipboard once, results in them pasting from kill-ring instead of
clipboard.

# Steps to reproduce

1. Create /tmp/.emacs file with the following content:

    (setq select-enable-clipboard nil
          inhibit-startup-screen t)

    (defun clipboard-yank-test ()
      (interactive)
      (let ((select-enable-clipboard t))
        (clipboard-yank)))
    (global-set-key "\C-y" 'clipboard-yank-test)

    (defun clipboard-copy-fixed ()
      (interactive)
      (let ((select-enable-clipboard t))
        (clipboard-kill-ring-save (region-beginning)(region-end))))
    (global-set-key "\M-w" 'clipboard-copy-fixed)

2. Launch `HOME=/tmp/ emacs`
3. [you're in a *scratch* buffer] Move caret till word "create" on the
2nd line, select it by pressing M-f, then copy to the system clipboard
by pressing M-w
4. Move caret to another word, e.g. "file"
5. Delete the word "file" by pressing M-d
5. Press C-y to paste the current clipboard content

## Expected

A word "create" will be inserted as it is in the system clipboard.

Note: (clipboard-yank-test) pastes from the system clipboard not the
kill-ring due to `select-enable-clipboard` being set locally to t.

## Actual

The word you deleted in *scratch* buffer will be inserted instead of
"create".




This bug report was last modified 3 years and 13 days ago.

Previous Next


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