summaryrefslogtreecommitdiff
path: root/src/xselect.c
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2010-07-31 17:26:56 -0400
committerChong Yidong <cyd@stupidchicken.com>2010-07-31 17:26:56 -0400
commit1604140125ce14c18a9d42a655af40dab892e959 (patch)
treed0d9faaea1d71a23609d6fbca20f1b5fed37eb2a /src/xselect.c
parent452ea85502011e18e4b290fbcb4fe461ab6aace9 (diff)
downloademacs-1604140125ce14c18a9d42a655af40dab892e959.tar.gz
Adapt mouse-3 behavior to recent selection changes (Bug#6701).
* lisp/mouse.el (mouse-save-then-kill): Doc fix. Deactivate mark before killing to preserve the primary selection. * lisp/term/x-win.el (x-select-text): Doc fix. * src/xselect.c (x_own_selection): Use list4.
Diffstat (limited to 'src/xselect.c')
-rw-r--r--src/xselect.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/xselect.c b/src/xselect.c
index 69d9ca868c4..ceb856b8dae 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -392,7 +392,7 @@ x_own_selection (Lisp_Object selection_name, Lisp_Object selection_value)
selecting_window = FRAME_X_WINDOW (sf);
display = FRAME_X_DISPLAY (sf);
dpyinfo = FRAME_X_DISPLAY_INFO (sf);
-
+
CHECK_SYMBOL (selection_name);
selection_atom = symbol_to_x_atom (dpyinfo, display, selection_name);
@@ -410,10 +410,8 @@ x_own_selection (Lisp_Object selection_name, Lisp_Object selection_value)
Lisp_Object prev_value;
selection_time = long_to_cons ((unsigned long) time);
- selection_data = Fcons (selection_name,
- Fcons (selection_value,
- Fcons (selection_time,
- Fcons (selected_frame, Qnil))));
+ selection_data = list4 (selection_name, selection_value,
+ selection_time, selected_frame);
prev_value = assq_no_quit (selection_name, Vselection_alist);
Vselection_alist = Fcons (selection_data, Vselection_alist);
@@ -1015,7 +1013,7 @@ x_handle_selection_clear (struct input_event *event)
}
}
UNBLOCK_INPUT;
-
+
selection_symbol = x_atom_to_symbol (display, selection);
local_selection_data = assq_no_quit (selection_symbol, Vselection_alist);
@@ -2416,7 +2414,7 @@ Positive N means shift the values forward, negative means backward. */)
Atom props[8];
Display *display;
struct frame *sf = SELECTED_FRAME ();
-
+
check_x ();
if (! FRAME_X_P (sf))