Subject: Re: FW: [mouse-1 in Customize should respect mouse-1-click-follows-link]

From: Lars Magne Ingebrigtsen <[email-masked]>
Date: Wed, 06 Jul 2011 19:24:03 +0200

"Drew Adams" <[email-masked]> writes:

> These are links. They should be controlled by `mouse-1-click-follows-link'.

[...]

>> Click mouse-1 on a link in a Customize buffer that is a link to
>> another option name or similar. That is, on text between `' that is
>> highlighted with mouseover (`mouse-face').  The link is followed.
>> 
>> The link should not be followed by `mouse-1' if
>> `mouse-1-click-follows-link' is nil.  In that case, only clicking
>> `mouse-2' should follow the link.

That sounds logical.

The actual key binding in these buffers for the mouse is:

<down-mouse-1>	widget-button-click
<down-mouse-2>	widget-button-click

How is `mouse-1-click-follows-link' generally supposed to work?  Is
`widget-button-click' supposed to not do its thing if
`mouse-1-click-follows-link' is nil?  That seems rather yucky.  Or is
the mode not supposed to bind `down-mouse-1' to anything if it's nil?

That variable is unknown to me.  The documentation says:

------
This feature only works in modes that specifically identify
clickable text as links, so it may not work with some external
packages.  See `mouse-on-link-p' for details.
------

Customize can't be said to be an "external package".  :-)  

`mouse-on-link-p' says:

------
A clickable link is identified by one of the following methods:

- If the character at POS has a non-nil `follow-link' text or
overlay property, the value of that property determines what to do.

- If there is a local key-binding or a keybinding at position POS
for the `follow-link' event, the binding of that event determines
what to do.
------

And the widget stuff does put `follow-link' on stuff.  So how is this
supposed to tie together?

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/