Are you saying the current code runs a URL through expand-file-name?

It seems so. Moreover :

(expand-file-name "c:/home/.emacs" "c:/temp")
"c:/home/.emacs"
(expand-file-name "http://www.google.fr/foo.html" "c:/home")
"c:/home/http:/www.google.fr/foo.html"
(expand-file-name "org-protocol://capture://www.google.fr/foo.html" "c:/home")
"c:/home/org-protocol:/capture:/www.google.fr/foo.html"

Emacs currrent trunk (more or less), windows 7, compiled by myself.
Anybody can confirm ?

Instead of using string-match, perhaps we have a predicate somewhere
that tests strings for being a URL?

I'm glad if anybody provides a cleaner patch.


--
Fabrice