If ‘mouse-on-link-p’ returns a string or vector, the first element
is to be used as new event. Translation to ‘mouse-2’ should only
happen if the return value is not a string or vector. See
docstring of ‘mouse-on-link-p’ and Bug#23288.
* lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
value of ‘mouse-on-link-p’ according to documentation.
* test/lisp/mouse-tests.el (bug23288-use-return-value)
(bug23288-translate-to-mouse-2): Tests for Bug#23288.