From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.bugs Subject: bug#7196: 24.0.50; NEWS item "Selection changes" Date: Fri, 15 Oct 2010 08:49:06 -0700 Message-ID: <2875E7FCA91F426A937B145EB538F89D@us.oracle.com> References: <861FD1851FD742E4A821C8ECDDB11A55@us.oracle.com> <834ocnd6xn.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1287159428 7793 80.91.229.12 (15 Oct 2010 16:17:08 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 15 Oct 2010 16:17:08 +0000 (UTC) Cc: 7196@debbugs.gnu.org To: "'Eli Zaretskii'" Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Oct 15 18:17:06 2010 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1P6mxh-0005wk-NF for geb-bug-gnu-emacs@m.gmane.org; Fri, 15 Oct 2010 18:17:06 +0200 Original-Received: from localhost ([127.0.0.1]:35843 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P6mxd-0007KE-7H for geb-bug-gnu-emacs@m.gmane.org; Fri, 15 Oct 2010 12:16:49 -0400 Original-Received: from [140.186.70.92] (port=50616 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P6mxP-0004AN-3L for bug-gnu-emacs@gnu.org; Fri, 15 Oct 2010 12:16:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P6mtH-00043i-CB for bug-gnu-emacs@gnu.org; Fri, 15 Oct 2010 12:12:20 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:35848) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P6mtH-00043b-9m for bug-gnu-emacs@gnu.org; Fri, 15 Oct 2010 12:12:19 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1P6mVm-0007I7-8X; Fri, 15 Oct 2010 11:48:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: "Drew Adams" Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Oct 2010 15:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7196 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 7196-submit@debbugs.gnu.org id=B7196.128715762728020 (code B ref 7196); Fri, 15 Oct 2010 15:48:02 +0000 Original-Received: (at 7196) by debbugs.gnu.org; 15 Oct 2010 15:47:07 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P6mUs-0007Ht-D0 for submit@debbugs.gnu.org; Fri, 15 Oct 2010 11:47:06 -0400 Original-Received: from rcsinet10.oracle.com ([148.87.113.121]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P6mUp-0007HW-36 for 7196@debbugs.gnu.org; Fri, 15 Oct 2010 11:47:04 -0400 Original-Received: from rcsinet15.oracle.com (rcsinet15.oracle.com [148.87.113.117]) by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id o9FFoZxR001406 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 15 Oct 2010 15:50:36 GMT Original-Received: from acsmt353.oracle.com (acsmt353.oracle.com [141.146.40.153]) by rcsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id o9FFoWGX007495; Fri, 15 Oct 2010 15:50:34 GMT Original-Received: from abhmt019.oracle.com by acsmt354.oracle.com with ESMTP id 693953721287157750; Fri, 15 Oct 2010 08:49:10 -0700 Original-Received: from dradamslap1 (/10.159.220.39) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 15 Oct 2010 08:49:09 -0700 X-Mailer: Microsoft Office Outlook 11 Thread-Index: ActsXSintqx5gMSXT2K137cn5OPFEQAGld3g X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5994 In-Reply-To: <834ocnd6xn.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Fri, 15 Oct 2010 11:48:02 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:40910 Archived-At: > > The NEWS item is woefully incomplete. It doesn't explain much of > > anything about the selection changes for Emacs 24 - and they are > > radical changes. > > > > Among other things, NEWS should detail the differences from the > > previous behavior, and explain clearly how to return to the > > previous behavior (exactly, completely). > > The new text is reproduced below. If it is good enough, this bug > report can be closed. Thanks for taking a stab at it. Some suggestions and questions below. For info, are the following statements correct? 1. Anything you select becomes the primary selection (on systems that support...). 2. Everything that is put on the kill ring is also put on the clipboard. 3. Everything put on the clipboard by Emacs was also first put on the kill ring. 4. Other apps may put additional stuff on the clipboard. The kill ring is Emacs-specific, but the clipboard is not. 5. Not everything that is selected is put on the kill ring or the clipboard. If so, consider saying this explicitly. There seems to be a gap between #1 and #2. What's the relation between the primary and the clipboard? What do users need to know about it? #1 needs to also say something about the other systems, which do not support a separate primary: e.g. do they put the selection on the clipboard? the kill ring? Where do they put it? > ** Selection changes. > > The default handling of clipboard and primary selections has been > changed to conform with other X applications. > > The new behavior is that by default Emacs does not put text you select > into the clipboard, and does not add it to kill-ring . > Only commands that kill text or copy it to the > kill-ring (C-w, M-w, C-k, etc.) put the killed text into the > clipboard. Selected text is put into the primary selection (on > systems, such as X, that support the primary selection > separately from the clipboard). Is it (a) "put into the primary selection" or (b) "becomes the primary selection"? I.e., does it replace the existing primary or is it added (prepended/appended) to it? I'm guessing (b), and that this is different from the kill ring. I don't know about the clipboard - is it a list or ring, like the kill ring? Anyway, if in some cases we replace what was in some location and in other cases we add to it, those cases need to be distinguished. "Put into" implies a container of a collection. What happens to selected text on systems that do _not_ support a primary selection separate from the clipboard? Please add that info - don't just say what happens for X. This is important for understanding the rest of what you write, below. It's not clear where mouse-selected text is put on non-X and it's not clear, when you paste with the mouse, where the pasted text comes from (on non-X). It's not enough to keep saying that the primary is used for this on X - what's used on non-X? If it doesn't have a name, then give it one - something that you can refer to for the non-X case. At least make it clear, however you do it. And when you say "for systems that support the primary selection separate from the clipboard" one can get the impression (but be unsure) that the other systems use the clipboard here, since they have no separate primary. We need to state what happens for each scenario/system. > Similarly, Emacs by default does not retrieve text from the > clipboard when the mouse (e.g., mouse-2) is used for pasting text > selected in another application. Say here where it _is_ retrieved from for the mouse, before going on to talk about retrieval from the clipboard. Why "in another application"? If not also true for text selected in Emacs, then state also what the case for that text is. > Text from the clipboard is retrieved only by C-y, M-y and other > commands that yank text from the kill-ring. > Mouse commands that paste text retrieve text from the primary > selection, on systems that support it separately from the clipboard. And retrieved from where on other systems? This is confusing, especially since we've said that mouse-selected text does not get sent to the clipboard/kill ring by default. > In other words, the default behavior is that mouse gestures that Mouse actions - mouse gestures are typically thought of as something different. > select and paste text work with the primary selection, On X (you said). But you haven't said what they work with on non-X. > while keyboard commands that kill/copy and paste text work with the clipboard. I wouldn't say "copy", since there are different kinds of copy. The kind you mean here is copy to the kill ring. > This change also means that the "Copy", "Cut", and "Paste" items of > the menu-bar "Edit" menu are now exactly equivalent to, respectively > M-w, C-w, and C-y. I didn't realize that BTW. That means that on Windows they are _not_ equivalent to the Windows menus of the same names. Is that the right thing (dunno)? It's worth pointing that out, in any case. > To get back the previous behavior, whereby mouse gestures Just mouse _selection_, no? Not also mouse-2 (paste). > set the clipboard Does it set the clipboard or add to it (I don't know). The vocabulary needs to be consistent, whatever the case might be: replacement or addition. When you say "put into" it implies adding, not replacemnt. "Put onto" is ambiguous, but it also suggests that more than one thing can be put onto (so can be on) the clipboard at a time. > and retrieve text from there, customize the variables > `mouse-drag-copy-region' and (on X only) `x-select-enable-primary'. Be clear - to get back the previous behavior, _set them to_ t (or whatever the value is). Don't just say customize them; say what to customize them to. > If you don't want Emacs to put the text into the clipboard, only to > the primary selection, additionally customize > `x-select-enable-clipboard' to nil. I'm lost now. You just said that selection does not now, by default, put text on the clipboard. And you can restore "the previous behavior", which presumably was putting the selection on the clipboard, by setting "`mouse-drag-copy-region' and (on X only) `x-select-enable-primary'" to t. It's not clear, to start out with, what "the previous behavior" was. You made it clear that now selecting with the mouse sets the primary but not also the clipboard or the kill ring. What's not clear is what the previous behavior was (all its aspects) and therefore what each of the options is for - which part(s) of the previous behavior each restores. I'm hoping that this helps you. Im not trying to confuse you, though it might seem like that. This is not clear to a reader, IMO. It's not completely clear even to me. > These changes in the default behavior are reflected in the default > values of several variables: Maybe it would help to start with that. If the variables and their previous values express the previous behavior, and if their new values express the new behavior, then their descriptions should provide a clear way to say what you were trying to say above (where you left out certain info/cases). > *** `select-active-regions' now defaults to t, so active regions set > the primary selection. It was nil in previous versions. Good. (Nit: there is only one active region.) > It also accepts a new value, `only', which means to only set the > primary selection for temporarily active regions (usually made by > mouse-dragging or shift-selection). BTW, why `only' and not `temporarily' or `immediate' or `on-the-fly' or some such? Only what? (I know, this is not primarily a doc problem.) > *** `mouse-2' is now bound to `mouse-yank-primary'. > Previously, it was bound to `mouse-yank-at-click' (which is now > unbound by default. ^ ) What's the difference in _behavior_? Why make readers look up each of those commands in order to understand what's changed? Why not state all of the options together, before describing any binding changes? > *** `x-select-enable-clipboard' now defaults to t on all platforms. > Thus, killing and yanking now use the clipboard (in addition to the > kill ring). Note that this variable was already non-nil by > default on MS-Windows, which does not support the primary selection > between applications. Speaking about the "primary selection between applications" is maybe a good way to characterize some of the missing info above: we could call the place where a mouse selection is saved the "primary within Emacs" or some such, as opposed to the real primary, which is between apps. Dunno; maybe it would be confusing to reuse "primary" that way. But some way needs to be found to talk clearly about this - about each: the real primary, which can be between apps, and the other, unnamed holding place, which is Emacs-specific (for non-X). > *** `x-select-enable-primary' now defaults to nil. > This variable exists only on X; its default value was t in previous > versions. What does it do? > *** `mouse-drag-copy-region' now defaults to nil. > Its previous default value was t. What does it do? > *** Support for X cut buffers has been removed. What's the consequence for user-visible behavior? HTH - Drew