From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: taylanbayirli@gmail.com (Taylan Ulrich =?utf-8?Q?Bay=C4=B1rl=C4=B1?= =?utf-8?Q?=2FKammer?=) Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Add shell-quasiquote. Date: Tue, 20 Oct 2015 18:41:14 +0200 Message-ID: <87zizdijbp.fsf@T420.taylan> References: <87si59wj42.fsf@T420.taylan> <878u6znii9.fsf@T420.taylan> <877fmjj9p6.fsf@fencepost.gnu.org> <87zizfm2dq.fsf@T420.taylan> <871tcr7yvq.fsf@fastmail.com> <87mvvfm0bd.fsf@T420.taylan> <56250803.5080601@cs.ucla.edu> <87a8ren5ys.fsf@T420.taylan> <56259BB1.3070908@cs.ucla.edu> <878u6ykmvt.fsf@T420.taylan> <87h9llvo98.fsf@members.fsf.org> <5626622A.3090707@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1445359322 26581 80.91.229.3 (20 Oct 2015 16:42:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 20 Oct 2015 16:42:02 +0000 (UTC) Cc: Paul Eggert , Nicolas Richard , emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Oct 20 18:41:54 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 1ZoZyj-0005OH-IY for ged-emacs-devel@m.gmane.org; Tue, 20 Oct 2015 18:41:37 +0200 Original-Received: from localhost ([::1]:47056 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZoZyj-0003ZK-4y for ged-emacs-devel@m.gmane.org; Tue, 20 Oct 2015 12:41:37 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38671) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZoZyQ-0003YO-Uc for emacs-devel@gnu.org; Tue, 20 Oct 2015 12:41:19 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZoZyP-0007UV-Tf for emacs-devel@gnu.org; Tue, 20 Oct 2015 12:41:18 -0400 Original-Received: from mail-wi0-x22f.google.com ([2a00:1450:400c:c05::22f]:33340) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZoZyP-0007U4-Nu for emacs-devel@gnu.org; Tue, 20 Oct 2015 12:41:17 -0400 Original-Received: by wijp11 with SMTP id p11so56319441wij.0 for ; Tue, 20 Oct 2015 09:41:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=OiaecIbUIZuY1w266D+gEmWy4sC/4wqf/RGoWkOOPag=; b=Mc8Zm31dd7+ydr5gfzOkOOsBVFtzHeoZFDuxVCwbMCY4K1jblUmz5gtJJm/nLOPCEs mK3mmycvFOUko+YhUEXXpdqmmDqi8xicyPbMOSSgZm/SA/ULzkGhfae/C80PbeXBgHjF LO+87TLlC8ZU1HLa5hXH3nvo0JuMno2v2nnFioXmTH1Iu8JqPcUNWR2IRaFlmaMGV7ZD Ifws6X7pFkxM4T8lc2fEZ7x1SgxDr5cXygq+lWga28JG0XZm5Fzyqj3rktI9OzjPt8OG cblDKxtWbMF8Mq6LeySMP7PgH3x5PSgW+Amem0m1M2+iu7M6RZmB/QwDEMmfgz2Pqdk5 tghw== X-Received: by 10.180.81.228 with SMTP id d4mr29391993wiy.38.1445359276386; Tue, 20 Oct 2015 09:41:16 -0700 (PDT) Original-Received: from T420.taylan ([2a02:908:c32:4740:221:ccff:fe66:68f0]) by smtp.gmail.com with ESMTPSA id g9sm5521624wix.1.2015.10.20.09.41.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Oct 2015 09:41:15 -0700 (PDT) In-Reply-To: <5626622A.3090707@yandex.ru> (Dmitry Gutov's message of "Tue, 20 Oct 2015 18:47:54 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::22f 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:192201 Archived-At: Dmitry Gutov writes: > On 10/20/2015 01:16 PM, Nicolas Richard wrote: > >> (defun shqq--quote-string (string) >> "Quote argument for any POSIX sh-compliant shell." >> (shell-quote-argument string)) >> >> would be good enough to please most people wrt this discussion. If that >> includes yourself (I hope), perhaps we can do that and move on ? > > Nice. :) Sorry for not replying to that earlier. I'm afraid it's effectively the same thing as using shell-quote-argument directly in my code. It puts the responsibility on me, because if shell-quote-argument breaks and I don't react fast enough to change shqq--quote-string, it's my fault for having used a definition of shqq--quote-string that was prone to breakage. To clarify, all this "responsibility" stuff I'm talking about is not about putting blame on people *after* a serious bug has happened. It's about APIs declaring their semantics (responsibilities) very precisely, and programmers accordingly choosing the right API for their task, so the responsibility of upholding a certain invariant is offloaded to the implementation of that API. Just a more pedantic way to look at the basic idea of abstraction really, which is necessary here because of security concerns. Responsibility of and blame on programmers serves as a less boring way to explain it. :-) Taylan