[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] Links with description and '%3f' in URL fail
From: |
Sebastien Delafond |
Subject: |
[Orgmode] Links with description and '%3f' in URL fail |
Date: |
Thu, 4 Mar 2010 16:06:04 +0000 (UTC) |
User-agent: |
slrn/pre0.9.9-111 (Linux) |
Quoting from debian bug report #572404[0]:
This error is quite esoteric. Creating a link with a '%3f' escape
sequence in its URL (at least HTTP ones) makes it fail to be edited
with C-c C-l and exported with the error:
org-link-unescape: Wrong type argument: characterp, nil
But only if the link has a description. Other escape sequences like
'%3e' or '%40' or even the literal '?' corresponding to character 0x3f
don't trigger the error. For instance:
- http://www.example.com/x%3fx doesn't trigger the error
- [[http://www.example.com/x%3fx][test]] triggers the error
- [[http://www.example.com/x%3ex][test]] doesn't trigger the error
- [[http://www.example.com/x?x][test]] doesn't trigger the error
Even more strange, while '%3f' reveals the error, '%3F' does not. I
guess the ``org-link-unescape`` function has some serious problems
with the handling of '?': when using '%3F' in an HTTP URL, it is
unescaped when exported to HTML, resulting most of the time in invalid
URLs, since the '?' character separates the path from query arguments.
For instance, in "http://x.org/what%3F" the '%3F' should be left as is
instead of being exported as "http://x.org/what?". In
"http://x.org/query?foo=bar", the '?' should also be left as is.
Here it's better to trust the user and leave URLs untouched than
trying to be too smart.
It at least sounds a like strange that it'd behave diffrently depending
on whether or not there is a description alongside the link...
Cheers,
--Seb
[0] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572404
- [Orgmode] Links with description and '%3f' in URL fail,
Sebastien Delafond <=