From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Newsgroups: gmane.emacs.devel Subject: Re: "Raw" string literals for elisp Date: Thu, 9 Sep 2021 16:32:38 +0200 Message-ID: <20210909143238.GA30900@tuxteam.de> References: <4209edd83cfee7c84b2d75ebfcd38784fa21b23c.camel@crossproduct.net> <20210908160531.GA18656@tuxteam.de> <0E3E472D-0F65-45B8-BE70-118F88AAD29C@acm.org> <77353F5F-DCA0-4070-8DD8-CD0F80216378@acm.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="AqsLC8rIMeq19msA" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33575"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/1.5.21 (2010-09-15) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Sep 09 16:33:54 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mOL7h-0008VS-IW for ged-emacs-devel@m.gmane-mx.org; Thu, 09 Sep 2021 16:33:53 +0200 Original-Received: from localhost ([::1]:40180 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mOL7g-0001fW-82 for ged-emacs-devel@m.gmane-mx.org; Thu, 09 Sep 2021 10:33:52 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59506) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mOL6e-0000xi-B5 for emacs-devel@gnu.org; Thu, 09 Sep 2021 10:32:49 -0400 Original-Received: from mail.tuxteam.de ([5.199.139.25]:57160) by eggs.gnu.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.90_1) (envelope-from ) id 1mOL6X-0001gx-3X for emacs-devel@gnu.org; Thu, 09 Sep 2021 10:32:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tuxteam.de; s=mail; h=From:In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:To:Date; bh=/ObtAToTWJJ4pWlC6sZ7z48QcOUsPFXJ6QelsaVeGUU=; b=awUksjh490eEoqH/105DTXEvf4Pqn++KH7Mrel4U2nRB6v8SPapCqyaIvl5tJfvWzsRcslzUPBWXJnWEegSMsT+YG1+Dkwvttbt7D1A1nNSMaWzRadW+f4YRfOW3GO9GhJzIyVWcpyEnutmYv2AWgkBsIjEzQhpH0l0MfEpl1Qh6pwWa4sKILnmwqIYMBRnp3vO/TZSf4ppq9xyhmKjTWE61fxXRJRj7LOXCv+5F144bMqlyDFGG9KJybZ/Nlmh9QI4yAsW+DB5JBoA7eXu5Mq9rXY5xUOoiYQ3J85M7cDTmicJAcDaMfleuHy+WbhK4xKALpNHmxdGHzELIOGdqYg==; Original-Received: from tomas by mail.tuxteam.de with local (Exim 4.80) (envelope-from ) id 1mOL6U-0008Hf-J0 for emacs-devel@gnu.org; Thu, 09 Sep 2021 16:32:38 +0200 Content-Disposition: inline In-Reply-To: <77353F5F-DCA0-4070-8DD8-CD0F80216378@acm.org> Received-SPF: pass client-ip=5.199.139.25; envelope-from=tomas@tuxteam.de; helo=mail.tuxteam.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:274452 Archived-At: --AqsLC8rIMeq19msA Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Sep 09, 2021 at 03:33:44PM +0200, Mattias Engdeg=C3=A5rd wrote: [...] > Anna, I'm ashamed for welcoming a new friendly contributor as Mr. No. In = a weak attempt to compensate, here are some related areas in Emacs that mig= ht benefit from your energy and skill: I wouldn't give up that quickly. Actually, I think this discussion itself is invaluable, since it brings forward the issues involved in the design of such a feature. - For one, as Stefan points out, you don't really want totally "raw" strings. Some escaping mechanism is desirable. - Then, it becomes clear that they will ease the biggest pain in regexps, but they won't "fix" everything. Some work in the regexp part seems desirable, too. - People have been looking at what other languages do. Some of them (e.g. Perl) let you choose the delimiter (the operators `q' and `qq'). There are a couple of design decisions: just "hard" raw strings, and live with the limitation that tabs, newlines etc. are awkward? Use an alternative escape char (e.g. tilde)? Other "crazy" ideas might be examined ("here" documents? Perl has them, too). The discussion comes up every now and then; even if no code ends up being produced (I'd hope it does!) this might be a valuable resource for the next courageous person giving it a try. --AqsLC8rIMeq19msA Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAmE6GwYACgkQBcgs9XrR2kbmnwCfbl2lrlV29pZcDsT22A5HFSR5 sLwAn3jk/01/nuBpxHQf/yZy2YtqEQ8M =tdje -----END PGP SIGNATURE----- --AqsLC8rIMeq19msA--