From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Interpret #r"..." as a raw string Date: Sat, 06 Mar 2021 00:13:36 -0500 Message-ID: References: <20210227.031857.1351840144740816188.conao3@gmail.com> <83pn0mppjd.fsf@gnu.org> <87zgzqz6mu.fsf@db48x.net> <83h7ls67rv.fsf@gnu.org> <83y2f2xc4n.fsf@gnu.org> Reply-To: rms@gnu.org Content-Type: text/plain; charset=Utf-8 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14133"; mail-complaints-to="usenet@ciao.gmane.io" Cc: db48x@db48x.net, matt@rfc20.org, conao3@gmail.com, monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Mar 06 06:14:17 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 1lIPGa-0003av-Tr for ged-emacs-devel@m.gmane-mx.org; Sat, 06 Mar 2021 06:14:16 +0100 Original-Received: from localhost ([::1]:36422 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lIPGa-0006RW-0g for ged-emacs-devel@m.gmane-mx.org; Sat, 06 Mar 2021 00:14:16 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59410) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lIPFy-0005ze-B0 for emacs-devel@gnu.org; Sat, 06 Mar 2021 00:13:38 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:60947) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lIPFx-0000GA-FG; Sat, 06 Mar 2021 00:13:37 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1lIPFw-000171-9c; Sat, 06 Mar 2021 00:13:36 -0500 In-Reply-To: <83y2f2xc4n.fsf@gnu.org> (message from Eli Zaretskii on Fri, 05 Mar 2021 10:01:28 +0200) 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:266053 Archived-At: [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > I understand what you are saying, but still there is a difference > between > (concat foo bar) > and > (concat foo "what we call a literal string") I don't see a deep conceptual difference between them The secomd uses a constant where the first uses a variable. That is a difference in detail, but not a deep difference. At least, I don't see a deep difference. > And in fact, the difference is not only visual, because the > byte-compiler is allowed to treat such "literal" strings specially in > some situations. I am not entirely sure what that refers to; I am sort-of guessing. The thing it is treating specially is a string in the expression being compiled, if I understand what you mean. This discussion is not about the facts of what happens, if I understand. It's about the way to conceptualize them. > Another reason is that many (most?) readers understand "literal > string" in the sense of the above example, so it is a convenient way > of making sure the reader understands what is being discussed. Yes and no. Readers who know other languages will get an immediate understanding from "literal string". But that understanding is not exactly the right understanding. So we ought to correct it to get to the right understanding. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)