From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Stephen J. Turnbull" Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Add shell-quasiquote. Date: Tue, 20 Oct 2015 13:35:32 +0900 Message-ID: <22053.50324.60123.654292@turnbull.sk.tsukuba.ac.jp> References: <87si59wj42.fsf@T420.taylan> <878u6znii9.fsf@T420.taylan> <836123gfh2.fsf@gnu.org> <87r3krm0t3.fsf@T420.taylan> <5624F66F.1030600@yandex.ru> <87io63lzkg.fsf@T420.taylan> <562508B7.3020202@yandex.ru> <876122n5v3.fsf@T420.taylan> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1445315757 18774 80.91.229.3 (20 Oct 2015 04:35:57 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 20 Oct 2015 04:35:57 +0000 (UTC) Cc: emacs-devel To: taylanbayirli@gmail.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Oct 20 06:35:49 2015 Return-path: Envelope-to: ged-emacs-devel@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 1ZoOeK-0008QN-8r for ged-emacs-devel@m.gmane.org; Tue, 20 Oct 2015 06:35:48 +0200 Original-Received: from localhost ([::1]:43663 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZoOeJ-0006Wp-B0 for ged-emacs-devel@m.gmane.org; Tue, 20 Oct 2015 00:35:47 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46327) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZoOeE-0006Ui-1U for emacs-devel@gnu.org; Tue, 20 Oct 2015 00:35:43 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZoOe9-0003oA-TM for emacs-devel@gnu.org; Tue, 20 Oct 2015 00:35:41 -0400 Original-Received: from turnbull.sk.tsukuba.ac.jp ([130.158.96.25]:41060) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZoOe9-0003nt-J1 for emacs-devel@gnu.org; Tue, 20 Oct 2015 00:35:37 -0400 Original-Received: from steve by turnbull.sk.tsukuba.ac.jp with local (Exim 4.86) (envelope-from ) id 1ZoOe4-0002Zj-95; Tue, 20 Oct 2015 13:35:32 +0900 In-Reply-To: <876122n5v3.fsf@T420.taylan> X-Mailer: VM 8.0.12-devo-585 under 21.5 (beta34) "kale" 698a9aa86de4 XEmacs Lucid (x86_64-apple-darwin14.5.0) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: steve@turnbull.sk.tsukuba.ac.jp X-SA-Exim-Scanned: No (on turnbull.sk.tsukuba.ac.jp); SAEximRunCond expanded to false X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 130.158.96.25 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:192149 Archived-At: (Sorry if anyone gets dupes, I horked my VM and it improperly handled Taylan's display name, which caused bounces from at least two MTAs.) Taylan Ulrich Bay=C4=B1rl=C4=B1/Kammer writes: > The collective "opinion" here seems to be that it's a good idea to > reject perfectly working code with well-defined semantics for made u= p > reasons. The reasons aren't made-up. Duplication of needed functionality is excessive complexity. Introduction of unneeded functionality is excessive complexity. Excessive complexity makes it harder to learn Emacs Lisp and/or harder to understand new code. Compare the horrible hash that is Emacs Lisp with a cleaner language like Guile[1], and the costs become clear. As an exercise, try getting shell-quasiquote into Guile and see if you fare better there. (Maybe you already have, in which case just say so, and what the result was. ;-)[2] Nor is it obvious to me that shell-quasiquote is "perfectly working". Shell quoting is a very fragile thing. If something is quoted that shouldn't be quoted, that is a bug. Sure, you provide ",,", but that's punting the problem back to the user. Whether it's better to punt on quoting or unquoting a given construct is a question of balance -- calling it "perfect" is a judgment that depends on the application and on the user. You have every right to say that for yourself, but not for Emacs, not even in your intended application. Different arguments apply to whether `shqq' *always* quotes enough to prevent code injection. None of that means `shqq' won't turn out to be right thing for many Emacs applications in the end. But your argument so far reduces to "it won't hurt and it works for me". That is inappropriate on both counts when requesting maintenance and distribution by the Emacs Project (which is what inclusion in GNU ELPA means, even if you are offering to do the maintenance yourself -- you could spend that time on other services to the project). If upon consideration you don't like that much better, then you should find an alternative way to contribute, or an alternative community to contribute to. But you seem to misunderstand what the needs of the Emacs Project are, and how that affects the community's evaluation of your proposed contribution. With a better understanding you may be more willing to contribute on the community's terms (and make no mistake, every community has its own terms). Footnotes:=20 [1] Not entirely a fair comparison, of course, because much of the yuckiness of Emacs is in the bundled applications. But consider how much functionality that is already in Emacs Lisp is duplicated by seq.el, and you see the point. There are reasons why seq.el cleared the bar, but the duplication is a wart, even many warts, and it needed to be justified. [2] Note that "quasiquote" already has a somewhat different meaning in Emacs: "backtick quoting".