From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: delete-selection-mode as default Date: Sat, 15 Sep 2018 17:22:39 -0700 (PDT) Message-ID: <205df9be-2e5c-4cc4-a13a-7c80eb63bedc@default> References: <83k1nxvm5j.fsf@gnu.org> <87sh2ih0bp.fsf@fastmail.fm> <770f48a8-664a-40ae-8e03-19f6aad248b6@default> <20180910181615.GA4829@ACM> <874lev3bq4.fsf@toy.adminart.net> <20180912131602.GA5582@ACM> <87d0tihxzw.fsf@toy.adminart.net> <20180913174640.GB4019@ACM> <8736udkuit.fsf@toy.adminart.net> <20180914104833.GA4103@ACM> <83k1nojgia.fsf@gnu.org> <874leq799e.fsf@toy.adminart.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1537057303 27841 195.159.176.226 (16 Sep 2018 00:21:43 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 16 Sep 2018 00:21:43 +0000 (UTC) Cc: spacibba@aol.com, joostkremers@fastmail.fm, npostavs@gmail.com, emacs-devel@gnu.org, Yuri Khan , acm@muc.de, phillip.lord@russet.org.uk To: hw , Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Sep 16 02:21:38 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g1Koj-00075H-Ax for ged-emacs-devel@m.gmane.org; Sun, 16 Sep 2018 02:21:37 +0200 Original-Received: from localhost ([::1]:57193 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g1Kqp-00039o-Rv for ged-emacs-devel@m.gmane.org; Sat, 15 Sep 2018 20:23:47 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42688) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g1Kq5-00037c-7h for emacs-devel@gnu.org; Sat, 15 Sep 2018 20:23:02 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g1Kq4-0005Il-8r for emacs-devel@gnu.org; Sat, 15 Sep 2018 20:23:01 -0400 Original-Received: from userp2130.oracle.com ([156.151.31.86]:37130) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g1Kq0-0005Gi-If; Sat, 15 Sep 2018 20:22:56 -0400 Original-Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w8G0JOQl157593; Sun, 16 Sep 2018 00:22:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2018-07-02; bh=gCtuRSi6JnuPDGhdTnujYEanDbR5VHdPbMLGRPUJD3o=; b=4WGT89OJbTxw5J3oUrIPrjNac5rgmiEFNby9UUAwhXglprEsaIvon29hee43L+L2RdNX D64M0wHhu09F5/FGenoBEMrAGrUjlJdQeoOZFDVBKl5vK9uCrzDnLgLxBk9RRJszenAw E693DKJlRbIpLq+JY/zVpPIZtPIsgLjRfbDJay4Ekf/oB7Ap/+2ZBH6wXz8GC4oDO1Qi zLdfvRJZdg6cDR18blyJKee+q4Wr7g+GlZFlNPlN8DW7SST0J1gPXekw4UA/+abKh6YR 2n9ZcY5omIB8015zfVu1vtjd+lLwDp+fKPTzayNCJsBYqOOV4QU2/UQS9H1OVcT+XG+e GQ== Original-Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp2130.oracle.com with ESMTP id 2mgsgt9mn1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 16 Sep 2018 00:22:44 +0000 Original-Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w8G0MhEZ015896 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 16 Sep 2018 00:22:43 GMT Original-Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w8G0MeZD022123; Sun, 16 Sep 2018 00:22:41 GMT In-Reply-To: <874leq799e.fsf@toy.adminart.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4735.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9017 signatures=668708 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1807170000 definitions=main-1809160002 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-Received-From: 156.151.31.86 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:229832 Archived-At: > You don't need a region for commands to work on, a selection is enough. >=20 > That would allow to decouple navigation from (making) selections, and > the concept of a region becomes obsolete, removing all the entanglement > and greatly simplifying things. In case there are others who, like me, did not completely get this point from Hw, though he touched on it several times - My guess is that that is his main point, and it underlies other things he's touched on. (I could be wrong, and perhaps he will correct me.) I think this is yet another UI approach that is possible. I don't see it as in any way combining well with, or affecting, the behaviors we've been discussing. But it would be possible for someone to implement it, if someone is interested. In a sense, we have this already with the secondary selection. One thing we don't have for the secondary selection are ways to create or extend it other than using the mouse. (I have some ways in my library `second-sel.el', but vanilla Emacs has none, I believe.) That could easily be remedied. The main thing we don't have, out of the box, for use with the secondary selection are ways to do what users outside Emacs often do with a selection: in particular, d-s-m-style things such as type to replace and delete. That behavior too could be added. The main way in which the secondary selection does not fit what users outside Emacs are used to is that it involves the secondary, not the primary selection. What Hw wants is no doubt to be able to use the primary selection in these ways. I mention the secondary selection because it is maybe the closest thing that Emacs has to what Hw is describing, not because using the secondary selection for the kind of behavior he wants is the best approach. What is it about the secondary selection that makes me think that it is like what Hw describes? This: unlike the Emacs region, there is no requirement that either end of the selection be visible, i.e. on the screen, even when you act on it. By contrast, by design the Emacs region=20 always has the cursor end of the region, i.e., point, on the screen. The secondary selection is similar to what you see in many other applications (browsers etc.): you can select text with the mouse, that text stays selected, and so highlighted, even if it is scrolled completely outside the visible area of the "page". And regardless of where it is currently (even offscreen), you can select a different bit of text somewhere instead (removing the previous selection). All of that is very much like how other apps treat the primary selection, I think. Some apps sometimes also let you type-to-replace the selection. Others do not; they make you explicitly use a key to cut the selected text. Dunno whether this comparison helps, but I think it helps me understand better some of what Hw has been saying. (Perhaps this was already obvious to others; dunno.) And maybe it helps Hw understand a bit more about the Emacs behavior, which absolutely requires that the cursor end of the region always be visible in the visible part of the screen. And yes, perhaps that basic Emacs tenet of keeping the cursor visible is partly rooted in the emphasis Emacs gives to the keyboard, and in its origin before the widespread use of pointing devices (mouse). In that context you pretty much always want the insertion point (aka text cursor) to be visible. You are not typically selecting text with a mouse and then acting on it. HTH.