From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Chong Yidong Newsgroups: gmane.emacs.devel Subject: Re: [drew.adams@oracle.com: mouse-1-click-follows-link doesn'tgovern behavior in Customize] Date: Sun, 05 Nov 2006 13:05:03 -0500 Message-ID: <87k629lqgg.fsf@stupidchicken.com> References: <874ptlfumq.fsf@stupidchicken.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1162749920 9892 80.91.229.2 (5 Nov 2006 18:05:20 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 5 Nov 2006 18:05:20 +0000 (UTC) Cc: drew.adams@oracle.com, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Nov 05 19:05:15 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1GgmMh-0003Ag-Gf for ged-emacs-devel@m.gmane.org; Sun, 05 Nov 2006 19:05:03 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GgmMh-000659-4h for ged-emacs-devel@m.gmane.org; Sun, 05 Nov 2006 13:05:03 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GgmMT-00062g-2s for emacs-devel@gnu.org; Sun, 05 Nov 2006 13:04:49 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GgmMR-00060K-H3 for emacs-devel@gnu.org; Sun, 05 Nov 2006 13:04:47 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GgmMR-000604-AX for emacs-devel@gnu.org; Sun, 05 Nov 2006 13:04:47 -0500 Original-Received: from [18.19.1.138] (helo=cyd) by monty-python.gnu.org with esmtp (Exim 4.52) id 1GgmMP-0006wP-3H; Sun, 05 Nov 2006 13:04:45 -0500 Original-Received: by cyd (Postfix, from userid 1000) id D07944E3FE; Sun, 5 Nov 2006 13:05:03 -0500 (EST) Original-To: rms@gnu.org In-Reply-To: (Richard Stallman's message of "Sat\, 04 Nov 2006 01\:38\:52 -0500") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.90 (gnu/linux) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:61827 Archived-At: Richard Stallman writes: > OTOH, it is not straightforward to implement the > mouse-1-click-follows-link behavior for widgets, including link > widgets: in particular, the part where holding the button down for a > certain time causes point to move. > > C-h v read-quoted-char-radix RET generates a buffer with a link. > It obeys mouse-1-click-follows-link. > > M-x customize-option RET read-quoted-char-radix RET creates a buffer > with a widget that looks just the same. But it doesn't act the same. > This is very bad UI design. > > Could we change cus-edit.el to make a link instead of a widget? > But changing widget-documentation-link-add, say? At the Lisp level, the custom-group-link widgets behave rather differently from ordinary links used in, e.g., the *Help* buffer. There's a lot amount of code in cus-edit.el that specifies an :action for the custom-group-link widget when the widget is defined. The minimum required change is to (i) make these callers specify some other widget property, say :link-action; (ii) somehow modify the custom-group-link so that it is inserted along with text properties that specify a mouse-2 local binding plus a `follow-link' property, which automagically calls the :link-action of the widget. It's a pretty big project. Recall that the link widgets were changed to look like links during the Emacs 22 release process; previously they looked like buttons. The change was made because they are conceptually links rather than buttons, and people don't expect links to look like buttons. I think the amount of inconsistency involved is negligible enough that we can postphone it for after the release. One compromise is to change the :pressed-face widget property of custom-group-link widgets. That way, they will change color when the user holds down the mouse button, which is a visual cue that they behave differently from other Emacs links.