emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Encoding Problem in export?


From: David Maus
Subject: Re: [O] Encoding Problem in export?
Date: Sun, 28 Jul 2013 13:16:35 +0200
User-agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.6 (Maruoka) FLIM/1.14.9 (Gojō) APEL/10.8 EasyPG/1.0.0 Emacs/24.3.50 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)

At Sun, 28 Jul 2013 14:06:54 +0530,
Jambunathan K wrote:
> 
> 
> If Org links are escaped by Org will the URLs be functional outside of
> Org?
> 
> i.e., If I am on some machine, that has no Emacs or Org or if I am using
> a version of Org that uses "new unescape" algorithm but the original
> link was encoded with the "old escape" algorithm, will Copy-pasting the
> link to a browser still work.

I think this is a good point or rather two good points: One is BC. If
we change the escaping algorithm we still have to deal with possibly
tons of old-style-links in user files. 

The other one is that leaving the edge cases aside it is possible to
just copy a link and paste it into the target application -- a percent
sign signifies percent encoding and the target application knows what
to do.

> If Org is a MUST to unescape the link then it would be a good decision
> to re-look at the link syntax so that the questions of escape and
> un-escape is dealt with squarely and have no reasons to arise in future.
> 

I'm not sure if it is worth the effort but, in theory, we could do
define our own URI schema `org' that disallows square brackets. If a
link is created programmatically (org-store-link et al.) we do not
store the URI as-is but as an "Orgmode-Link": Escape the square
brackets and prefix the link with `org:'. If we open a link we check
for the `org:'-prefix, reverse the escaping and handle the link to the
registered module. If the prefix is absent we skip the unescaping
step.

Best,
  -- David
-- 
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... address@hidden
Email..... address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]