bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#17211: Empty items show up in kill-ring if mouse-drag-copy-region is


From: Richard Smith
Subject: bug#17211: Empty items show up in kill-ring if mouse-drag-copy-region is used
Date: Sun, 6 Apr 2014 14:53:21 -0700

Emacs version: 24.3.1 
Platform: Windows 7, confirmed in Linux 

Problem: 

Windows users who set up Emacs to cut/paste from the kill-ring get empty paste results. 

Details: 

Windows users who are having difficulty with cut/paste behavior are often advised to do the following: 

(setq select-active-regions nil) 
(setq mouse-drag-copy-region t) 
(global-set-key [mouse-2] 'mouse-yank-at-click) 

But if, in the process of pasting text, you click, then drag the mouse even a few pixels, this causes an empty string to go into the kill-ring, so a subsequent paste inserts nothing, but an examination of the kill-ring indicates the desired paste value has been pushed down by the empty string. 

Steps to reproduce: 

1. Enter lisp-interaction mode. 

2. Set up the "normal behavior" by executing this form: 

(progn 
  (setq select-active-regions t) 
  (setq mouse-drag-copy-region nil) 
  (global-set-key [mouse-2] 'mouse-yank-primary)) 

3. Select some text buy dragging mouse-1 over it. 

4. Move to a different area in the buffer and set point with down-mouse-1, but move the mouse a few pixels so you see the "Mark Set" message. 

5. Paste the text with down-mouse-2. 

6. Observe the correct behavior (text gets pasted). 

7. Now, set up the "modified behavior" by executing this form: 

(progn 
  (setq select-active-regions nil) 
  (setq mouse-drag-copy-region t) 
  (global-set-key [mouse-2] 'mouse-yank-at-click)) 

8. Repeat steps 3 thru 5. 

9. Observe that nothing is pasted. 

10. Execute the following form to "fix" the problem: 

(progn 
  (setq kill-ring (remove "" kill-ring)) 
  (setq kill-ring-yank-pointer kill-ring)) 

11. Do the mouse-2 paste again, observe that it worked this time. 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]