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#18100: 24.4.50; Restore simplicity of (put 'self-insert-command 'delete-selection 'kill) Date: Thu, 24 Jul 2014 10:22:23 -0700 (PDT) Message-ID: <4aea5d8d-c60c-4213-ad3d-1f701b50792a@default> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1406222677 641 80.91.229.3 (24 Jul 2014 17:24:37 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 24 Jul 2014 17:24:37 +0000 (UTC) To: 18100@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Jul 24 19:24:27 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XAMkl-0002qK-2o for geb-bug-gnu-emacs@m.gmane.org; Thu, 24 Jul 2014 19:24:27 +0200 Original-Received: from localhost ([::1]:51116 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XAMkk-0001MB-Ay for geb-bug-gnu-emacs@m.gmane.org; Thu, 24 Jul 2014 13:24:26 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59212) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XAMkW-0001KE-TG for bug-gnu-emacs@gnu.org; Thu, 24 Jul 2014 13:24:23 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XAMkM-0000wg-Hp for bug-gnu-emacs@gnu.org; Thu, 24 Jul 2014 13:24:12 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:41667) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XAMkM-0000wc-Fd for bug-gnu-emacs@gnu.org; Thu, 24 Jul 2014 13:24:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XAMkM-00032x-2i for bug-gnu-emacs@gnu.org; Thu, 24 Jul 2014 13:24:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 24 Jul 2014 17:24:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 18100 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.140622259511655 (code B ref -1); Thu, 24 Jul 2014 17:24:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 24 Jul 2014 17:23:15 +0000 Original-Received: from localhost ([127.0.0.1]:36933 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XAMjW-00031n-Vr for submit@debbugs.gnu.org; Thu, 24 Jul 2014 13:23:15 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:57295) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XAMjQ-00031B-8X for submit@debbugs.gnu.org; Thu, 24 Jul 2014 13:23:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XAMjA-0000ce-6Y for submit@debbugs.gnu.org; Thu, 24 Jul 2014 13:22:59 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:37516) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XAMjA-0000cR-3X for submit@debbugs.gnu.org; Thu, 24 Jul 2014 13:22:48 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58877) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XAMj0-0001FX-OF for bug-gnu-emacs@gnu.org; Thu, 24 Jul 2014 13:22:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XAMir-0000UH-E6 for bug-gnu-emacs@gnu.org; Thu, 24 Jul 2014 13:22:38 -0400 Original-Received: from userp1040.oracle.com ([156.151.31.81]:34101) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XAMir-0000Tw-7d for bug-gnu-emacs@gnu.org; Thu, 24 Jul 2014 13:22:29 -0400 Original-Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s6OHMRU7005428 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 24 Jul 2014 17:22:28 GMT Original-Received: from userz7021.oracle.com (userz7021.oracle.com [156.151.31.85]) by ucsinet22.oracle.com (8.14.5+Sun/8.14.5) with ESMTP id s6OHMOR5022380 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 24 Jul 2014 17:22:26 GMT Original-Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by userz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s6OHMOgf011930; Thu, 24 Jul 2014 17:22:24 GMT X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6691.5000 (x86)] X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 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: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:91774 Archived-At: This is a followup to bug #13312, whose status is "Fixed in version 24.4". The #13312 bug thread included this exchange between me and Juri Linkov: >From me: -------- > But when you want put `kill' as the `delete-selection' property > then it's better to use this code: > (put 'self-insert-command 'delete-selection > (lambda () > (and (not (run-hook-with-args-until-success > =09=09 'self-insert-uses-region-functions)) > =09 'kill))) Maybe so, but that is not at all what the `delete-selection-mode' doc & comments tell users. If this is a new requirement/guideline, then it needs to be documented. But I wonder why this must now be so. In the past, a user could just put `kill' as the property. The code does not seem so clean now. One of the benefits of the `delsel.el' design (and yes, along with those benefits come also some disadvantages) is its simplicity for users. This seems to go against that. Is it really necessary? Isn't there another way to accomplish the same thing (whatever that is), so we can keep the simple and clean design for users? What was the reason for introducing `self-insert-uses-region-functions'? It seems it was only for `electric-pair-mode'. IIRC, I wasn't too happy with that hack when it was done. Now it seems to be dirtying (complicating) `delsel.el'. Isn't there a better way? But again, we should probably be discussing this elsewhere, since it does not seem to be only about this bug. ... Users should be able to `put' a single, understandable symbol as the `delete-selection' property value. They should not need to fiddle with obscure lambda forms (or symbols whose names are not simple to understand). Symbol `kill' is simple - it says that you want the region to be killed. This simplicity was the case before (`delsel.el' is old and simple). Someone introduced `electric-pair-mode', and then someone else complained about its interaction with `delete-selection-mode'. The fix for that should not have involved screwing `delete-selection-mode', as seems to be the case so far. Juri's reply: ------------- I think (run-hook-with-args-until-success 'self-insert-uses-region-functions) could be moved to the body of `delete-selection-helper'. Then the users again will enjoy the simplicity of (put 'self-insert-command 'delete-selection t) and (put 'self-insert-command 'delete-selection 'kill) To which I replied: "That sounds good. Thank you, Juri." This new bug is about getting that fixed, IOW, restoring the ability to use a simple `put' to configure `delete-selection-mode' behavior for a given command, rather than having to jump through hoops with incomprehensible lambda forms in the `put' value. IOW not make users do things like this: > (put 'self-insert-command 'delete-selection > (lambda () > (and (not (run-hook-with-args-until-success > =09=09 'self-insert-uses-region-functions)) > =09 'kill))) In GNU Emacs 24.4.50.1 (i686-pc-mingw32) of 2014-06-28 on ODIEONE Bzr revision: 117431 rgm@gnu.org-20140628015517-eku6hj8mpgcvfnso Windowing system distributor `Microsoft Corp.', version 6.1.7601 Configured using: `configure --prefix=3D/c/Devel/emacs/snapshot/trunk --enable-checking=3Dyes,glyphs 'CFLAGS=3D-O0 -g3' LDFLAGS=3D-Lc:/Devel/emacs/lib 'CPPFLAGS=3D-DGC_MCHECK=3D1 -Ic:/Devel/emacs/include''