[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [bug] Org link dialog escapes URL spaces incorrectly
From: |
Nick Dokos |
Subject: |
Re: [O] [bug] Org link dialog escapes URL spaces incorrectly |
Date: |
Fri, 04 Nov 2011 12:33:00 -0400 |
Jeff Horn <address@hidden> wrote:
> I just pulled the latest org-mode. The problem persists for me, even
> though it was reported as fixed in a previous thread. Can anyone
> replicate with the latest org?
>
> Org-mode version 7.7 (release_7.7.513.g2a5877)
> GNU Emacs 24.0.50.3 (i386-apple-darwin9.8.0, NS apple-appkit-949.54)
> of 2011-08-10 on braeburn.aquamacs.org - Aquamacs Distribution 3.xdev
>
> On Tue, Nov 1, 2011 at 22:02, Jeff Horn <address@hidden> wrote:
> > Org-mode version 7.7 (release_7.7.404.ga17c.dirty)
> > GNU Emacs 24.0.50.3 (i386-apple-darwin9.8.0, NS apple-appkit-949.54)
> > of 2011-08-10 on braeburn.aquamacs.org - Aquamacs Distribution 3.xdev
> >
> > Inserting a link through the link dialog doesn't escape URLs with
> > spaces properly. Where a space is '%20', org will insert the link as
> > '%2520'. I'm not certain of URL escape codes, but could org be trying
> > to escape the % sign? Perhaps a missing slash in a regexp somewhere?
> >
> > 1) Use =C-c C-l= to use dialog. Paste a link, like the following.
> >
> > http://www.dartmouth.edu/~dirwin/Did%20France%20Cause%20the%20Great%20Depression.pdf
> >
> > 2) Use =C-c C-o= to open the link. Be weirded out about a 404. Inspect URL.
> >
> > ,----[ Actual ]
> > | - [ ]
> > [[http://www.dartmouth.edu/~dirwin/Did%2520France%2520Cause%2520the%2520Great%2520Depression.pdf][Link
> > Description]]
> > `----
> >
> > ,----[ Expected ]
> > | - [ ]
> > [[http://www.dartmouth.edu/~dirwin/Did%20France%20Cause%20the%20Great%20Depression.pdf][Link
> > Description]]
> > `----
> >
The problem is in org-insert-link: in one case, when we edit the link at point,
the link is unescaped:
,----
| ...
| ((org-in-regexp org-bracket-link-regexp 1)
| ;; We do have a link at point, and we are going to edit it.
| (setq remove (list (match-beginning 0) (match-end 0)))
| (setq desc (if (match-end 3) (org-match-string-no-properties 3)))
| (setq link (read-string "Link: "
| (org-link-unescape
| (org-match-string-no-properties 1)))))
`----
but in the other case, when we just paste the link into the minibuffer,
it is not - check from the (unwind-protect ... ) on line 9088 of org.el
and ff to the end of the function: the link that's read from the minibuffer
is passed untouched (well, at least unescaped) to org-make-link-string on
the very last line of the function and apparently the latter reescapes
everything:
try replacing the call
(org-make-link-string link desc)
on the last line of org-insert-link with
(org-make-link-string (org-link-unescape link) desc)
I think that'll fix it.
Nick
- [O] [bug] Org link dialog escapes URL spaces incorrectly, Jeff Horn, 2011/11/01
- Re: [O] [bug] Org link dialog escapes URL spaces incorrectly, Jeff Horn, 2011/11/04
- Re: [O] [bug] Org link dialog escapes URL spaces incorrectly, Nick Dokos, 2011/11/04
- Re: [O] [bug] Org link dialog escapes URL spaces incorrectly,
Nick Dokos <=
- Re: [O] [bug] Org link dialog escapes URL spaces incorrectly, Nick Dokos, 2011/11/04
- Re: [O] [bug] Org link dialog escapes URL spaces incorrectly, David Maus, 2011/11/05
- Re: [O] [bug] Org link dialog escapes URL spaces incorrectly, Nick Dokos, 2011/11/05
- Re: [O] [bug] Org link dialog escapes URL spaces incorrectly, David Maus, 2011/11/06
- Re: [O] [bug] Org link dialog escapes URL spaces incorrectly, Nick Dokos, 2011/11/06
- Re: [O] [bug] Org link dialog escapes URL spaces incorrectly, David Maus, 2011/11/13
- Re: [O] [bug] Org link dialog escapes URL spaces incorrectly, Nick Dokos, 2011/11/13