From e77714da30b53ec866d2bbfd88527b215a715bb0 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 25 Dec 2010 12:57:02 +0200 Subject: Fix bug #7699 with pasting selected text on MS-Windows. mouse.el (mouse-yank-primary): On MS-Windows, try the (emulated) PRIMARY first, then the clipboard. --- lisp/ChangeLog | 5 +++++ lisp/mouse.el | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f3449278d68..ccf5b5c40ea 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2010-12-25 Eli Zaretskii + + * mouse.el (mouse-yank-primary): On MS-Windows, try the (emulated) + PRIMARY first, then the clipboard. (Bug#7699) + 2010-12-22 Stefan Monnier * emacs-lisp/bytecomp.el (byte-compile-output-docform): Fix up use of diff --git a/lisp/mouse.el b/lisp/mouse.el index aa5dadf84ff..14d981f78b2 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -1282,7 +1282,16 @@ regardless of where you click." (or mouse-yank-at-point (mouse-set-point click)) (let ((primary (cond - ((fboundp 'x-get-selection-value) ; MS-DOS, MS-Windows and X. + ((eq system-type 'windows-nt) + ;; MS-Windows emulates PRIMARY in x-get-selection, but not + ;; in x-get-selection-value (the latter only accesses the + ;; clipboard). So try PRIMARY first, in case they selected + ;; something with the mouse in the current Emacs session. + (or (x-get-selection 'PRIMARY) + (x-get-selection-value))) + ((fboundp 'x-get-selection-value) ; MS-DOS and X. + ;; On X, x-get-selection-value supports more formats and + ;; encodings, so use it in preference to x-get-selection. (or (x-get-selection-value) (x-get-selection 'PRIMARY))) ;; FIXME: What about xterm-mouse-mode etc.? -- cgit v1.2.1