aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2011-07-11 14:40:48 -0400
committerChong Yidong2011-07-11 14:40:48 -0400
commit963578d396f018f4cae81bca311882ab4ed15b4f (patch)
tree1a5f9d705fcecd87d47fc1e4fb09507dd2ff00f5
parent07151e498ff9174518675e14b619aca4b8307733 (diff)
downloademacs-963578d396f018f4cae81bca311882ab4ed15b4f.tar.gz
emacs-963578d396f018f4cae81bca311882ab4ed15b4f.zip
More documentation of Emacs 24 X selection changes.
* doc/emacs/frames.texi (Mouse Commands): Document mouse-yank-primary. * doc/emacs/killing.texi (Primary Selection): Document `only' setting for select-active-regions. * doc/emacs/mark.texi (Setting Mark): Reference Shift Selection node. * doc/lispref/frames.texi (Window System Selections): Discussion of x-select-enable-clipboard moved to Emacs manual.
-rw-r--r--doc/emacs/ChangeLog9
-rw-r--r--doc/emacs/frames.texi21
-rw-r--r--doc/emacs/killing.texi20
-rw-r--r--doc/emacs/mark.texi6
-rw-r--r--doc/lispref/ChangeLog5
-rw-r--r--doc/lispref/frames.texi56
-rw-r--r--etc/NEWS16
7 files changed, 80 insertions, 53 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 8a275b9e359..e72edf77acc 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,12 @@
12011-07-11 Chong Yidong <cyd@stupidchicken.com>
2
3 * killing.texi (Primary Selection): Document `only' setting for
4 select-active-regions.
5
6 * mark.texi (Setting Mark): Reference Shift Selection node.
7
8 * frames.texi (Mouse Commands): Document mouse-yank-primary.
9
12011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org> 102011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
2 11
3 * mark.texi (Setting Mark): Clarify what's meant by "Shifted 12 * mark.texi (Setting Mark): Clarify what's meant by "Shifted
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi
index 0fc4dfa427d..5f708895d07 100644
--- a/doc/emacs/frames.texi
+++ b/doc/emacs/frames.texi
@@ -119,16 +119,21 @@ entirely on the screen. The number of lines scrolled per step depends
119on how far away from the window edge the mouse has gone; the variable 119on how far away from the window edge the mouse has gone; the variable
120@code{mouse-scroll-min-lines} specifies a minimum step size. 120@code{mouse-scroll-min-lines} specifies a minimum step size.
121 121
122@findex mouse-yank-primary
122@findex mouse-yank-at-click 123@findex mouse-yank-at-click
123@vindex mouse-yank-at-point
124 Clicking with the middle mouse button, @kbd{Mouse-2}, moves point to 124 Clicking with the middle mouse button, @kbd{Mouse-2}, moves point to
125the position where you clicked and performs a yank 125the position where you clicked and inserts the contents of the primary
126(@code{mouse-yank-at-click}). @xref{Yanking}. If you change the 126selection (@code{mouse-yank-primary}). @xref{Primary Selection}.
127variable @code{mouse-yank-at-point} to a non-@code{nil} value, 127This behavior is consistent with other X applications; alternatively,
128@kbd{Mouse-2} does not move point. Then it does not matter where you 128you can rebind @kbd{Mouse-2} to @code{mouse-yank-at-click}, which
129click, or even which of the frame's windows you click on; the yank 129performs a yank at point.
130occurs at the existing point. This variable also affects yanking the 130
131primary and secondary selections (@pxref{Primary Selection}). 131@vindex mouse-yank-at-point
132 If you change the variable @code{mouse-yank-at-point} to a
133non-@code{nil} value, @kbd{Mouse-2} does not move point; it inserts
134the text at point, regardless of where you clicked or even which of
135the frame's windows you clicked on. This variable affects both
136@code{mouse-yank-primary} and @code{mouse-yank-at-click}.
132 137
133@findex mouse-save-then-kill 138@findex mouse-save-then-kill
134 Clicking with the right mouse button, @kbd{Mouse-3}, runs the 139 Clicking with the right mouse button, @kbd{Mouse-3}, runs the
diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi
index 6be40c85832..06839ce5187 100644
--- a/doc/emacs/killing.texi
+++ b/doc/emacs/killing.texi
@@ -520,17 +520,19 @@ contents are more ``fragile''; they are overwritten by any mouse
520selection, whereas the clipboard is only overwritten by explicit 520selection, whereas the clipboard is only overwritten by explicit
521``cut'' or ``copy'' commands. 521``cut'' or ``copy'' commands.
522 522
523 Under X, whenever you select some text in Emacs by dragging or 523 Under X, whenever you set an active region (@pxref{Mark}), Emacs
524clicking the mouse (@pxref{Mouse Commands}), it is also saved to the 524saves the text in the active region to the primary selection. This
525primary selection. 525applies to active regions made by dragging or clicking the mouse
526(@pxref{Mouse Commands}), and those made by keyboard commands (e.g. by
527typing @kbd{C-@key{SPC}} and moving point; see @ref{Setting Mark}).
526 528
527@vindex select-active-regions 529@vindex select-active-regions
528 If you set the region using the keyboard---for instance, by typing 530 If you change the variable @code{select-active-regions} to
529@kbd{C-@key{SPC}} and moving point away from the mark---the text in 531@code{only}, Emacs saves only temporarily active regions to the
530the region is also saved to the primary selection. (The updating of 532primary selection, i.e. those made with the mouse or with shift
531the primary selection is done at the end of each command, as long as 533selection (@pxref{Shift Selection}). If you change
532the region is active and non-empty.) To disable this behavior, change 534@code{select-active-regions} to @code{nil}, Emacs avoids saving active
533the variable @code{select-active-regions} to @code{nil}. 535regions to the primary selection entirely.
534 536
535 To insert the primary selection into an Emacs buffer, click 537 To insert the primary selection into an Emacs buffer, click
536@kbd{mouse-2} (@code{mouse-yank-primary}) where you want to insert it. 538@kbd{mouse-2} (@code{mouse-yank-primary}) where you want to insert it.
diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi
index 6d3ed351e43..20cc127d272 100644
--- a/doc/emacs/mark.texi
+++ b/doc/emacs/mark.texi
@@ -68,11 +68,11 @@ Set point and the mark around the text you drag across.
68@item Mouse-3 68@item Mouse-3
69Set the mark at point, then move point to where you click 69Set the mark at point, then move point to where you click
70(@code{mouse-save-then-kill}). 70(@code{mouse-save-then-kill}).
71@item @samp{Shifted cursor motion keys}
72Set the mark at point if the mark is inactive, then move point.
73@xref{Shift Selection}.
71@end table 74@end table
72 75
73Also, the shifted motion keys (for example, @key{S-Right}) will set
74the mark at point if the mark is inactive, then move point.
75
76@kindex C-SPC 76@kindex C-SPC
77@kindex C-@@ 77@kindex C-@@
78@findex set-mark-command 78@findex set-mark-command
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index f9ab82e7966..fdf5a7753ba 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,8 @@
12011-07-11 Chong Yidong <cyd@stupidchicken.com>
2
3 * frames.texi (Window System Selections): Discussion of
4 x-select-enable-clipboard moved to Emacs manual.
5
12011-07-11 Deniz Dogan <deniz@dogan.se> 62011-07-11 Deniz Dogan <deniz@dogan.se>
2 7
3 * commands.texi (Prefix Command Arguments): Remove excessive 8 * commands.texi (Prefix Command Arguments): Remove excessive
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index 7dc6934c7d9..9a30ba5fdb4 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -1959,30 +1959,34 @@ defined in the file @file{lisp/term/x-win.el}. Use @kbd{M-x apropos
1959@node Window System Selections 1959@node Window System Selections
1960@section Window System Selections 1960@section Window System Selections
1961@cindex selection (for window systems) 1961@cindex selection (for window systems)
1962 1962@cindex clipboard
1963The X server records a set of @dfn{selections} which permit transfer of 1963@cindex primary selection
1964data between application programs. The various selections are 1964@cindex secondary selection
1965distinguished by @dfn{selection types}, represented in Emacs by 1965
1966symbols. X clients including Emacs can read or set the selection for 1966 In the X window system, data can be transferred between different
1967any given type. 1967applications by means of @dfn{selections}. X defines an arbitrary
1968number of @dfn{selection types}, each of which can store its own data;
1969however, only three are commonly used: the @dfn{clipboard},
1970@dfn{primary selection}, and @dfn{secondary selection}. @xref{Cut and
1971Paste,, Cut and Paste, emacs, The GNU Emacs Manual}, for Emacs
1972commands that make use of these selections. This section documents
1973the low-level functions for reading and setting X selections.
1968 1974
1969@deffn Command x-set-selection type data 1975@deffn Command x-set-selection type data
1970This function sets a ``selection'' in the X server. It takes two 1976This function sets an X selection. It takes two arguments: a
1971arguments: a selection type @var{type}, and the value to assign to it, 1977selection type @var{type}, and the value to assign to it, @var{data}.
1972@var{data}. If @var{data} is @code{nil}, it means to clear out the 1978
1973selection. Otherwise, @var{data} may be a string, a symbol, an integer 1979@var{type} should be a symbol; it is usually one of @code{PRIMARY},
1974(or a cons of two integers or list of two integers), an overlay, or a 1980@code{SECONDARY} or @code{CLIPBOARD}. These are symbols with
1975cons of two markers pointing to the same buffer. An overlay or a pair 1981upper-case names, in accord with X Window System conventions. If
1976of markers stands for text in the overlay or between the markers. 1982@var{type} is @code{nil}, that stands for @code{PRIMARY}.
1977 1983
1978The argument @var{data} may also be a vector of valid non-vector 1984If @var{data} is @code{nil}, it means to clear out the selection.
1979selection values. 1985Otherwise, @var{data} may be a string, a symbol, an integer (or a cons
1980 1986of two integers or list of two integers), an overlay, or a cons of two
1981Each possible @var{type} has its own selection value, which changes 1987markers pointing to the same buffer. An overlay or a pair of markers
1982independently. The usual values of @var{type} are @code{PRIMARY}, 1988stands for text in the overlay or between the markers. The argument
1983@code{SECONDARY} and @code{CLIPBOARD}; these are symbols with upper-case 1989@var{data} may also be a vector of valid non-vector selection values.
1984names, in accord with X Window System conventions. If @var{type} is
1985@code{nil}, that stands for @code{PRIMARY}.
1986 1990
1987This function returns @var{data}. 1991This function returns @var{data}.
1988@end deffn 1992@end deffn
@@ -2019,14 +2023,6 @@ and @code{x-set-selection} on MS-Windows support the text data type
2019only; if the clipboard holds other types of data, Emacs treats the 2023only; if the clipboard holds other types of data, Emacs treats the
2020clipboard as empty. 2024clipboard as empty.
2021 2025
2022@defopt x-select-enable-clipboard
2023If this is non-@code{nil}, the Emacs yank functions consult the
2024clipboard before the primary selection, and the kill functions store in
2025the clipboard as well as the primary selection. Otherwise they do not
2026access the clipboard at all. The default is @code{t} on systems with
2027clipboards.
2028@end defopt
2029
2030@node Drag and Drop 2026@node Drag and Drop
2031@section Drag and Drop 2027@section Drag and Drop
2032 2028
diff --git a/etc/NEWS b/etc/NEWS
index c32159f6540..ab9900883c8 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -419,42 +419,52 @@ use the primary selection.
419In the following, we provide a list of these changes, followed by a 419In the following, we provide a list of these changes, followed by a
420list of steps to get the old behavior back if you prefer that. 420list of steps to get the old behavior back if you prefer that.
421 421
422*** `mouse-drag-copy-region' now defaults to nil. 422+++
423*** `select-active-regions' now defaults to t. 423*** `select-active-regions' now defaults to t.
424Merely selecting text (e.g. with drag-mouse-1) no longer puts it in 424Merely selecting text (e.g. with drag-mouse-1) no longer puts it in
425the kill-ring. The selected text is put in the primary selection, if 425the kill ring. The selected text is put in the primary selection, if
426the system possesses a separate primary selection facility (e.g. X). 426the system possesses a separate primary selection facility (e.g. X).
427 427
428+++
428**** `select-active-regions' also accepts a new value, `only'. 429**** `select-active-regions' also accepts a new value, `only'.
429This means to only set the primary selection for temporarily active 430This means to only set the primary selection for temporarily active
430regions (usually made by mouse-dragging or shift-selection); 431regions (usually made by mouse-dragging or shift-selection);
431"ordinary" active regions, such as those made with C-SPC followed by 432"ordinary" active regions, such as those made with C-SPC followed by
432point motion, do not alter the primary selection. 433point motion, do not alter the primary selection.
433 434
435---
436**** `mouse-drag-copy-region' now defaults to nil.
437
438+++
434*** mouse-2 is now bound to `mouse-yank-primary'. 439*** mouse-2 is now bound to `mouse-yank-primary'.
435This pastes from the primary selection, ignoring the kill-ring. 440This pastes from the primary selection, ignoring the kill-ring.
436Previously, mouse-2 was bound to `mouse-yank-at-click'. 441Previously, mouse-2 was bound to `mouse-yank-at-click'.
437 442
443+++
438*** `x-select-enable-clipboard' now defaults to t on all platforms. 444*** `x-select-enable-clipboard' now defaults to t on all platforms.
445+++
439*** `x-select-enable-primary' now defaults to nil. 446*** `x-select-enable-primary' now defaults to nil.
440Thus, commands that kill text or copy it to the kill-ring (such as 447Thus, commands that kill text or copy it to the kill-ring (such as
441M-w, C-w, and C-k) also use the clipboard---not the primary selection. 448M-w, C-w, and C-k) also use the clipboard---not the primary selection.
442 449
450---
443**** The "Copy", "Cut", and "Paste" items in the "Edit" menu are now 451**** The "Copy", "Cut", and "Paste" items in the "Edit" menu are now
444exactly equivalent to, respectively M-w, C-w, and C-y. 452exactly equivalent to, respectively M-w, C-w, and C-y.
445 453
454---
446**** Note that on MS-Windows, `x-select-enable-clipboard' was already 455**** Note that on MS-Windows, `x-select-enable-clipboard' was already
447non-nil by default, as Windows does not support the primary selection 456non-nil by default, as Windows does not support the primary selection
448between applications. 457between applications.
449 458
459---
450*** To return to the previous behavior, do the following: 460*** To return to the previous behavior, do the following:
451
452**** Change `select-active-regions' to nil. 461**** Change `select-active-regions' to nil.
453**** Change `mouse-drag-copy-region' to t. 462**** Change `mouse-drag-copy-region' to t.
454**** Change `x-select-enable-primary' to t (on X only). 463**** Change `x-select-enable-primary' to t (on X only).
455**** Change `x-select-enable-clipboard' to nil. 464**** Change `x-select-enable-clipboard' to nil.
456**** Bind `mouse-yank-at-click' to mouse-2. 465**** Bind `mouse-yank-at-click' to mouse-2.
457 466
467+++
458*** Support for X cut buffers has been removed. 468*** Support for X cut buffers has been removed.
459 469
460*** Support for X clipboard managers has been added. 470*** Support for X clipboard managers has been added.