emacs-orgmode
[Top][All Lists]
Advanced

[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





reply via email to

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