On 5 September 2017 at 21:49, Nicolas Goaziou wrote: > Hello, > ​Hi, thanks for looking at this.​ > Reuben Thomas writes: > > > This seems to be incorrect behaviour, as the docstring for > > org-insert-link says: > > > > If `org-make-link-description-function' is non-nil, this function > will be > > called with the link target, and the result will be the default > > link description. > > > > The implication is that the value returned is used as the default, not > > that it overrides the prompt. > > I agree. > > > First, org-make-link-description-function is called if it is non-nil, > > and used to set default-description. > > I think the optional parameter from the function call should still > prevail. I.e., shouldn't this function be called when > DEFAULT-DESCRIPTION is nil (e.g., called interatively)? > ​This question occurred to me too, but I didn't form an opinion. However, I am inclined to agree with you on thinking about it some more.​ > > Then (unless auto-desc is non-nil) the description is prompted for with > > default-description as the default value (unless > > org-make-link-description-function returned nil, in which case the > > current value of desc, if any, is used). > > > > There is one further matter that my patch does not address: the > > docstring for org-make-link-description-function says: > > > > “When [org-make-link-description-function is] nil, the link location > > will be used.” > > > > This does not happen (it’s precisely the behaviour I’ve been trying to > > obtain!), and my patch does not make it happen. Indeed, it’s not clear > > that it’s desirable (if one is using numbered sections, for example). > > Obviously, it would not be desirable. > > However, I think it should read "When > `org-make-link-description-function' _returns_ nil, the link location is > used". This is not what is implemented either, tho. > ​If you (or someone) can confirm your interpretation above, I would be happy to update my patch to implement the two behaviours required, namely, that org-make-link-description-function is only called if the default-description argument to org-insert-link is nil, and that if that function returns nil, then the link location is used. I would also clarify the docstring regarding the second behaviour. -- https://rrt.sc3d.org