Bastien <[email protected]> writes:
> Nicolas Goaziou <[email protected]> writes:
>
>> I think `org-translate-link' should be updated to provide correct type,
>> including internal ones, to `org-link-translation-function'. E.g.,
>>
>> http://orgmode.org => "http"
>> #something => "custom-id"
>> (ref:line) => "coderef"
>> whatever => "fuzzy"
>>
>> At least, this would be consistent with the parser.
>
> Agreed.
Done. There is one foreseeable incompatible change however. When link
type is unknown to Org, it is reported as fuzzy, e.g.:
[[foobar:something]]
is seen as ("fuzzy" "foobar:something") by
`org-link-translation-function', not ("foobar" "something"), unless
"foobar" belong to `org-link-types'.
In practice I don't think it matters because
`org-link-translation-function' isn't meant to create new link types but
handle conflicting link types. In any case, in the example above, one
can always use
(when (and (string= type "fuzzy")
(string-match "\\(.*?\\):\\(.*\\)" path))
(cons (match-string 1) (match-string 2)))
in `org-link-translation-function'.
Regards,