From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: Escaping links Date: Fri, 11 Aug 2017 17:13:28 +0200 Message-ID: <87zib65e93.fsf@nicolasgoaziou.fr> References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49131) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dgBd2-0006je-2b for emacs-orgmode@gnu.org; Fri, 11 Aug 2017 11:13:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dgBcx-0001P9-3O for emacs-orgmode@gnu.org; Fri, 11 Aug 2017 11:13:36 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:59725) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dgBcw-0001Oi-T6 for emacs-orgmode@gnu.org; Fri, 11 Aug 2017 11:13:31 -0400 In-Reply-To: (Fabrice Popineau's message of "Fri, 11 Aug 2017 15:26:50 +0200") 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: Fabrice Popineau Cc: "emacs-orgmode@gnu.org" Hello, Fabrice Popineau writes: > Are links to a file whose name already holds (url-)escaped chars supported? > > If I have a directory named "c:/temp/foo bar/" > and files in this directory named > foo.txt > foo bar.txt > foo%2Fbar.txt > > I can create links in an Org buffer by using `insert' but I find the > situation a bit confusing. > > #+LINK: temp file:c:/temp/%s > > 1. [[temp:foo bar/foo bar.txt]] > 2. [[temp:foo%20bar/foo bar.txt]] > 3. [[temp:foo bar/foo%20bar.txt]] > 4. [[temp:foo%20bar/foo%20bar.txt]] > > > All of these links seem to work the same way. > > 5. [[temp:foo bar/foo%2Fbar.txt]] > 6. [[temp:foo bar/foo%252Fbar.txt]] > 7. [[temp:foo%20bar/foo%252Fbar.txt]] > > Link 5 does not work. > > Link 6 and 7 do work: as long as I press enter on the link, I visit the > file. > > Unfortunately, if I edit these links with 'C-c C-l', doing nothing > (return), Org replaces the escaped chars and unescape them. > > I have grabbed files whose name hold such %2F %3A and so on escaped chars. > Do I have any option to make a link point at them or should I rename > them? You might get around it by not using link abbreviation. Anyway, the core problem here is that: 1. Org uses percent escaping to get around its own limitations (e.g., no square brackets allowed in a link); 2. it's not possible to know if a string is percent-encoded or not; 3. percent-encoding is not idempotent. Using a different escaping mechanism to solve 1 and never ever percent-decode an URL could put an end to the link mess. Finding an escaping mechanism that also solves 2 is yet to be done. Regards, -- Nicolas Goaziou