From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] master b88e7c8: Make transpose-regions interactive (Bug#30343) Date: Wed, 21 Mar 2018 09:22:19 +0200 Message-ID: <838tallwpg.fsf@gnu.org> References: <20180311105533.30002.78782@vcs0.savannah.gnu.org> <20180311105534.3DAFD23CF3@vcs0.savannah.gnu.org> <83woyiscns.fsf@gnu.org> <87po44jb7w.fsf@red-bean.com> <20180311105533.30002.78782@vcs0.savannah.gnu.org> <20180311105534.3DAFD23CF3@vcs0.savannah.gnu.org> <83woyiscns.fsf@gnu.org> <87a7v2zb27.fsf@red-bean.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1521616813 31695 195.159.176.226 (21 Mar 2018 07:20:13 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 21 Mar 2018 07:20:13 +0000 (UTC) Cc: emacs-devel@gnu.org To: Karl Fogel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Mar 21 08:20:09 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 1eyY2b-00086t-9c for ged-emacs-devel@m.gmane.org; Wed, 21 Mar 2018 08:20:09 +0100 Original-Received: from localhost ([::1]:53269 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyY4c-0007ly-T8 for ged-emacs-devel@m.gmane.org; Wed, 21 Mar 2018 03:22:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34303) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyY4W-0007ls-NU for emacs-devel@gnu.org; Wed, 21 Mar 2018 03:22:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eyY4U-0000AU-3T for emacs-devel@gnu.org; Wed, 21 Mar 2018 03:22:08 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:44365) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyY4T-0000AP-Vh; Wed, 21 Mar 2018 03:22:06 -0400 Original-Received: from [176.228.60.248] (port=1793 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eyY4T-000135-Bv; Wed, 21 Mar 2018 03:22:05 -0400 In-reply-to: <87a7v2zb27.fsf@red-bean.com> (message from Karl Fogel on Tue, 20 Mar 2018 16:33:52 -0500) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e 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:223876 Archived-At: > From: Karl Fogel > Date: Tue, 20 Mar 2018 16:33:52 -0500 > > So, here is why I would prefer to see that interactive spec moved to Lisp: > > Having it in C makes it less hackable. It's a rather complex interactive spec, and I can imagine someone wanting to play around with it, perhaps with the goal of suggesting a change to the interactive behavior of `transpose-regions'. If it were in an Elisp file, it would be much easier for people to make those experiments. (Yes, technically one could find ways to do it anyway, but it would be harder, and in general I think reducing barriers to hackability is a Good Thing.) > > Originally I thought my concerns were aesthetic, but when I thought about it more carefully, my concern is really about ease of hacking. The same argument could apply to the other non-trivial interactive specs defined as `eval'-able strings in C (there are not many of them -- I listed them in my previous mail, quoted below). To keep things simple, my proposal right now is just about `transpose-regions', though. > > If other people have arguments for or against restoring commit 3a3aa0e05, please speak up. I'll wait at least a week before coming to any conclusions about consensus, to ensure there's time for discussion. Thanks. Here are some reasons why not to make the change: . there's nothing wrong with that code . having it in C doesn't make hacking harder because one can always override functions in Emacs, and moving the interactive spec to Lisp will still leave the code preloaded anyway . it's good to have a small number of examples of using this feature of DEFUN in our sources, so that people knew it's possible, and could learn from these examples . moving code between files makes forensics harder ("git log -L" and its ilk become almost useless, for example) . there's nothing wrong with that code Yes, they are all weak reasons, but so are the proposed reasons in favor of the change.