From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: [RFC] Fixing link encoding once and for all Date: Fri, 01 Mar 2019 09:14:06 +0100 Message-ID: <87lg1znh9t.fsf@nicolasgoaziou.fr> References: <87tvguyohn.fsf@nicolasgoaziou.fr> <87sgw9cxr8.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([209.51.188.92]:52481) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gzdJ8-00083u-35 for emacs-orgmode@gnu.org; Fri, 01 Mar 2019 03:14:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gzdJ7-0005MX-As for emacs-orgmode@gnu.org; Fri, 01 Mar 2019 03:14:14 -0500 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:41335) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gzdJ7-0005Hk-1w for emacs-orgmode@gnu.org; Fri, 01 Mar 2019 03:14:13 -0500 In-Reply-To: (Neil Jerram's message of "Thu, 28 Feb 2019 10:24:26 +0000") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Neil Jerram Cc: Org Mode List Hello, Neil Jerram writes: > Do you mean Windows file names in existing Org files? I.e. the > back-compatibility concern? > > If so, yes, I confess I didn't think at all about back-compatibility, > with my suggestion above. So perhaps that rules my idea out. > > If we were starting from scratch, however, > - I believe it would technically be fine; i.e. it's a complete and > unambiguous encoding > - it might be considered awkward for Windows users to have to write > c:\\system32\\mydoc.txt instead of c:\system32\mydoc.txt, but I don't > know how big a concern that would be. Thinking a bit more about it, we don't need to escape /all/ square brackets, only "]]" and "][" constructs. Therefore, we don't need to escape every backslash either. The regexp for bracket links could be, in its simple (!) form: \[\[\(.*?[^\\]\(?:\\\)*\)\]\(?:\[\([^\000]+?\)\]\)?\] Most links would need no change. I see one notable exception: directories in Windows: [[c:\system32\\]] for "c:\system32\" Some further notes: 1. Macros already use backslashes to escape commas in arguments, so it is at least consistent with this part of Org. 2. The description part of the link, like most parts of Org, does not use backslash escaping. If needed, we can implement an entity for a square bracket. 3. There will be some backward compatibility issues. We can add a checker in Org Lint to catch most of those. For example, we could look at URI where every percent is followed only by 25, 5B, and 5D. WDYT? Regards, -- Nicolas Goaziou