aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChong Yidong2010-07-31 17:26:56 -0400
committerChong Yidong2010-07-31 17:26:56 -0400
commit1604140125ce14c18a9d42a655af40dab892e959 (patch)
treed0d9faaea1d71a23609d6fbca20f1b5fed37eb2a /src
parent452ea85502011e18e4b290fbcb4fe461ab6aace9 (diff)
downloademacs-1604140125ce14c18a9d42a655af40dab892e959.tar.gz
emacs-1604140125ce14c18a9d42a655af40dab892e959.zip
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')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/xselect.c12
2 files changed, 9 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index e2832c49bde..ee745778951 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
12010-07-31 Chong Yidong <cyd@stupidchicken.com>
2
3 * xselect.c (x_own_selection): Use list4.
4
12010-07-30 Dan Nicolaescu <dann@ics.uci.edu> 52010-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2 6
3 * buffer.c (Qwindow): Do not define, already defined in data.c. 7 * buffer.c (Qwindow): Do not define, already defined in data.c.
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)
392 selecting_window = FRAME_X_WINDOW (sf); 392 selecting_window = FRAME_X_WINDOW (sf);
393 display = FRAME_X_DISPLAY (sf); 393 display = FRAME_X_DISPLAY (sf);
394 dpyinfo = FRAME_X_DISPLAY_INFO (sf); 394 dpyinfo = FRAME_X_DISPLAY_INFO (sf);
395 395
396 CHECK_SYMBOL (selection_name); 396 CHECK_SYMBOL (selection_name);
397 selection_atom = symbol_to_x_atom (dpyinfo, display, selection_name); 397 selection_atom = symbol_to_x_atom (dpyinfo, display, selection_name);
398 398
@@ -410,10 +410,8 @@ x_own_selection (Lisp_Object selection_name, Lisp_Object selection_value)
410 Lisp_Object prev_value; 410 Lisp_Object prev_value;
411 411
412 selection_time = long_to_cons ((unsigned long) time); 412 selection_time = long_to_cons ((unsigned long) time);
413 selection_data = Fcons (selection_name, 413 selection_data = list4 (selection_name, selection_value,
414 Fcons (selection_value, 414 selection_time, selected_frame);
415 Fcons (selection_time,
416 Fcons (selected_frame, Qnil))));
417 prev_value = assq_no_quit (selection_name, Vselection_alist); 415 prev_value = assq_no_quit (selection_name, Vselection_alist);
418 416
419 Vselection_alist = Fcons (selection_data, Vselection_alist); 417 Vselection_alist = Fcons (selection_data, Vselection_alist);
@@ -1015,7 +1013,7 @@ x_handle_selection_clear (struct input_event *event)
1015 } 1013 }
1016 } 1014 }
1017 UNBLOCK_INPUT; 1015 UNBLOCK_INPUT;
1018 1016
1019 selection_symbol = x_atom_to_symbol (display, selection); 1017 selection_symbol = x_atom_to_symbol (display, selection);
1020 1018
1021 local_selection_data = assq_no_quit (selection_symbol, Vselection_alist); 1019 local_selection_data = assq_no_quit (selection_symbol, Vselection_alist);
@@ -2416,7 +2414,7 @@ Positive N means shift the values forward, negative means backward. */)
2416 Atom props[8]; 2414 Atom props[8];
2417 Display *display; 2415 Display *display;
2418 struct frame *sf = SELECTED_FRAME (); 2416 struct frame *sf = SELECTED_FRAME ();
2419 2417
2420 check_x (); 2418 check_x ();
2421 2419
2422 if (! FRAME_X_P (sf)) 2420 if (! FRAME_X_P (sf))