GNU bug report logs - #7802
24.0.50; Extraneous `mouse-3' event when do `double-mouse-3'

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: wishlist; Reported by: "Drew Adams" <drew.adams@HIDDEN>; dated Fri, 7 Jan 2011 19:05:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 8 Aug 2011 20:53:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 08 16:53:55 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1QqWpf-0007js-Ju
	for submit <at> debbugs.gnu.org; Mon, 08 Aug 2011 16:53:55 -0400
Received: from vm-emlprdomr-02.its.yale.edu ([130.132.50.143])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <cyd@HIDDEN>) id 1QqWpd-0007jl-Cf
	for 7802 <at> debbugs.gnu.org; Mon, 08 Aug 2011 16:53:54 -0400
Received: from furball (dhcp-128-36-14-148.central.yale.edu [128.36.14.148])
	(authenticated bits=0)
	by vm-emlprdomr-02.its.yale.edu (8.14.4/8.14.4) with ESMTP id
	p78KqmCU015837
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT);
	Mon, 8 Aug 2011 16:52:48 -0400
From: Chong Yidong <cyd@HIDDEN>
To: "Drew Adams" <drew.adams@HIDDEN>
Subject: Re: bug#7802: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
References: <6AF23E536D254FC88C35DA0BEC775C1A@HIDDEN>
	<7EB632A3268149CA89DA1D58C8046A01@HIDDEN>
	<AAEBC42BCCB3485EA3B4019BFAA5EF88@HIDDEN>
	<jwvhbdk2dmo.fsf-monnier+emacs@HIDDEN>
	<9496EDBB00F3470E9417340D3CDBA5E1@HIDDEN>
	<87tyhje666.fsf@HIDDEN>
	<0BC7B2E648C8499CAC13F1D3D3A7A72E@HIDDEN>
	<87oc7qeong.fsf@HIDDEN> <yyxtyhdv00z.fsf@HIDDEN>
	<701ADC457873416A99F98E84AF89B0EB@HIDDEN>
	<87fwsug7yh.fsf@HIDDEN>
	<E81A1DC7BB654F49BCA2B5D1C42051F0@HIDDEN>
Date: Mon, 08 Aug 2011 16:52:47 -0400
In-Reply-To: <E81A1DC7BB654F49BCA2B5D1C42051F0@HIDDEN> (Drew Adams's
	message of "Mon, 8 Aug 2011 11:45:52 -0700")
Message-ID: <87ty9rocbk.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Scanned-By: MIMEDefang 2.71 on 130.132.50.143
X-Spam-Score: -2.7 (--)
X-Debbugs-Envelope-To: 7802
Cc: 7802 <at> debbugs.gnu.org, 'Stefan Monnier' <monnier@HIDDEN>,
	'Jason Rumney' <jasonr@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -2.7 (--)

"Drew Adams" <drew.adams@HIDDEN> writes:

>> > Are you sure about your "I vaguely recall"?  I am not aware that we
>> > ever, ever separated the two like you say.  That's certainly not
>> > the case at least as far back as Emacs 20.
>>
>> I think that when mouse-1-click-follows-link was first introduced,
>> the implementation did pause to check for a double-click binding
>> before following the link.  That would have been for Emacs 22.
>
> I see no difference in this regard between Emacs 22 and 23, or for
> that matter, between Emacs 23 and 24.

This was during the Emacs 22 pretest.




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 8 Aug 2011 18:47:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 08 14:47:48 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1QqUrc-0004iF-65
	for submit <at> debbugs.gnu.org; Mon, 08 Aug 2011 14:47:48 -0400
Received: from rcsinet15.oracle.com ([148.87.113.117])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <drew.adams@HIDDEN>) id 1QqUrY-0004i5-JP
	for 7802 <at> debbugs.gnu.org; Mon, 08 Aug 2011 14:47:45 -0400
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by rcsinet15.oracle.com (Switch-3.4.4/Switch-3.4.4) with ESMTP id
	p78IkCSL006407
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 8 Aug 2011 18:46:21 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	p78Ik0bH014962
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 8 Aug 2011 18:46:02 GMT
Received: from abhmt109.oracle.com (abhmt109.oracle.com [141.146.116.61])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	p78Ijpbh003519; Mon, 8 Aug 2011 13:45:51 -0500
Received: from dradamslap1 (/130.35.178.194)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Mon, 08 Aug 2011 11:45:51 -0700
From: "Drew Adams" <drew.adams@HIDDEN>
To: "'Chong Yidong'" <cyd@HIDDEN>
References: <6AF23E536D254FC88C35DA0BEC775C1A@HIDDEN><7EB632A3268149CA89DA1D58C8046A01@HIDDEN><AAEBC42BCCB3485EA3B4019BFAA5EF88@HIDDEN><jwvhbdk2dmo.fsf-monnier+emacs@HIDDEN><9496EDBB00F3470E9417340D3CDBA5E1@HIDDEN><87tyhje666.fsf@HIDDEN><0BC7B2E648C8499CAC13F1D3D3A7A72E@HIDDEN><87oc7qeong.fsf@HIDDEN>
	<yyxtyhdv00z.fsf@HIDDEN><701ADC457873416A99F98E84AF89B0EB@HIDDEN>
	<87fwsug7yh.fsf@HIDDEN>
Subject: RE: bug#7802: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
Date: Mon, 8 Aug 2011 11:45:52 -0700
Message-ID: <E81A1DC7BB654F49BCA2B5D1C42051F0@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
In-Reply-To: <87fwsug7yh.fsf@HIDDEN>
Thread-Index: Acu0ZIMiVOMa+UHLQKGjo70XKWLAlChlfyWg
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6109
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
X-Auth-Type: Internal IP
X-CT-RefId: str=0001.0A090202.4E402F01.0093:SCFMA922111,ss=1,re=-4.000,fgs=0
X-Spam-Score: -4.2 (----)
X-Debbugs-Envelope-To: 7802
Cc: 7802 <at> debbugs.gnu.org, 'Stefan Monnier' <monnier@HIDDEN>,
	'Jason Rumney' <jasonr@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -4.2 (----)

> >> I vaguely recall that we used to try to separate single clicks from
> >> double-click, and the resulting user experience was rather 
> >> poor.  So it should not be the default, but rather anyone who cares 
> >> about this issue can do as described above.
> 
> > Are you sure about your "I vaguely recall"?  I am not aware 
> > that we ever, ever separated the two like you say.  That's certainly
> > not the case at least as far back as Emacs 20.
> 
> I think that when mouse-1-click-follows-link was first introduced, the
> implementation did pause to check for a double-click binding before
> following the link.  That would have been for Emacs 22.

I see no difference in this regard between Emacs 22 and 23, or for that matter,
between Emacs 23 and 24.





Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.
Severity set to 'wishlist' from 'normal' Request was from Chong Yidong <cyd@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 15 Jan 2011 03:22:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 14 22:22:25 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Pdwif-00052y-Ib
	for submit <at> debbugs.gnu.org; Fri, 14 Jan 2011 22:22:25 -0500
Received: from vm-emlprdomr-04.its.yale.edu ([130.132.50.145])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <cyd@HIDDEN>) id 1Pdwid-00052l-21
	for 7802 <at> debbugs.gnu.org; Fri, 14 Jan 2011 22:22:23 -0500
Received: from furball (dhcp128036014009.central.yale.edu [128.36.14.9])
	(authenticated bits=0)
	by vm-emlprdomr-04.its.yale.edu (8.14.4/8.14.4) with ESMTP id
	p0F3TuAq020615
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
	Fri, 14 Jan 2011 22:29:59 -0500
Received: by furball (Postfix, from userid 1000)
	id DA0E21605C6; Fri, 14 Jan 2011 22:29:58 -0500 (EST)
From: Chong Yidong <cyd@HIDDEN>
To: "Drew Adams" <drew.adams@HIDDEN>
Subject: Re: bug#7802: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
References: <6AF23E536D254FC88C35DA0BEC775C1A@HIDDEN>
	<7EB632A3268149CA89DA1D58C8046A01@HIDDEN>
	<AAEBC42BCCB3485EA3B4019BFAA5EF88@HIDDEN>
	<jwvhbdk2dmo.fsf-monnier+emacs@HIDDEN>
	<9496EDBB00F3470E9417340D3CDBA5E1@HIDDEN>
	<87tyhje666.fsf@HIDDEN>
	<0BC7B2E648C8499CAC13F1D3D3A7A72E@HIDDEN>
	<87oc7qeong.fsf@HIDDEN> <yyxtyhdv00z.fsf@HIDDEN>
	<701ADC457873416A99F98E84AF89B0EB@HIDDEN>
Date: Fri, 14 Jan 2011 22:29:58 -0500
In-Reply-To: <701ADC457873416A99F98E84AF89B0EB@HIDDEN> (Drew Adams's
	message of "Wed, 12 Jan 2011 23:15:22 -0800")
Message-ID: <87fwsug7yh.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Scanned-By: MIMEDefang 2.71 on 130.132.50.145
X-Spam-Score: -2.7 (--)
X-Debbugs-Envelope-To: 7802
Cc: 7802 <at> debbugs.gnu.org, 'Stefan Monnier' <monnier@HIDDEN>,
	'Jason Rumney' <jasonr@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -2.7 (--)

"Drew Adams" <drew.adams@HIDDEN> writes:

>> I vaguely recall that we used to try to separate single clicks from
>> double-click, and the resulting user experience was rather poor.  So
>> it should not be the default, but rather anyone who cares about this
>> issue can do as described above.

> Are you sure about your "I vaguely recall"?  I am not aware that we ever, ever
> separated the two like you say.  That's certainly not the case at least as far
> back as Emacs 20.

I think that when mouse-1-click-follows-link was first introduced, the
implementation did pause to check for a double-click binding before
following the link.  That would have been for Emacs 22.




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 13 Jan 2011 17:25:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 13 12:25:24 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1PdQvM-00037j-7B
	for submit <at> debbugs.gnu.org; Thu, 13 Jan 2011 12:25:24 -0500
Received: from tomts36.bellnexxia.net ([209.226.175.93]
	helo=tomts36-srv.bellnexxia.net)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <monnier@HIDDEN>) id 1PdQvK-00037X-A3
	for 7802 <at> debbugs.gnu.org; Thu, 13 Jan 2011 12:25:22 -0500
Received: from toip3.srvr.bell.ca ([209.226.175.86])
	by tomts36-srv.bellnexxia.net
	(InterMail vM.5.01.06.13 201-253-122-130-113-20050324) with ESMTP id
	<20110113173242.NBAM2196.tomts36-srv.bellnexxia.net@HIDDEN>
	for <7802 <at> debbugs.gnu.org>; Thu, 13 Jan 2011 12:32:42 -0500
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvsEAB/CLk1GHsfC/2dsb2JhbACkR3S9EIVMBIRo
Received: from bas1-montreal07-1176422338.dsl.bell.ca (HELO ceviche.home)
	([70.30.199.194])
	by toip3.srvr.bell.ca with ESMTP; 13 Jan 2011 12:32:41 -0500
Received: by ceviche.home (Postfix, from userid 20848)
	id CCCA5660BB; Thu, 13 Jan 2011 12:32:40 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Chong Yidong <cyd@HIDDEN>
Subject: Re: bug#7802: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
Message-ID: <jwvsjwwenuh.fsf-monnier+emacs@HIDDEN>
References: <6AF23E536D254FC88C35DA0BEC775C1A@HIDDEN>
	<7EB632A3268149CA89DA1D58C8046A01@HIDDEN>
	<AAEBC42BCCB3485EA3B4019BFAA5EF88@HIDDEN>
	<jwvhbdk2dmo.fsf-monnier+emacs@HIDDEN>
	<9496EDBB00F3470E9417340D3CDBA5E1@HIDDEN>
	<87tyhje666.fsf@HIDDEN>
	<0BC7B2E648C8499CAC13F1D3D3A7A72E@HIDDEN>
	<87oc7qeong.fsf@HIDDEN> <yyxtyhdv00z.fsf@HIDDEN>
Date: Thu, 13 Jan 2011 12:32:40 -0500
In-Reply-To: <yyxtyhdv00z.fsf@HIDDEN> (Chong Yidong's message of
	"Thu, 13 Jan 2011 00:35:24 -0500")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -1.8 (-)
X-Debbugs-Envelope-To: 7802
Cc: 7802 <at> debbugs.gnu.org, Drew Adams <drew.adams@HIDDEN>,
	Jason Rumney <jasonr@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -1.8 (-)

> It's cleaner to let the calling Elisp code worry about this.  That is to
> say, the caller can bind the first click to a command that starts up a
> timer to execute the "single click" action after a short period, and
> bind the double click to a command that cancels that timer.

Admittedly, this is pretty delicate to do right:
- if nothing happens during those 500ms, run the timer.  O, that's the
  easy case.
- if a second clicks comes in before those 500ms cancel the timer.
  First difficulty: where do you put the code that cancels the timer?
- if another event like a click on another mouse button, or a keyboard
  key comes in before the 500ms, we should be careful to run the click
  command immediately (i.e. neither let the timer finish,
  not just cancel it outright).  And don't wait for this second event to
  complete to a key-sequence bound to a command (i.e. run the click
  command as soon as a C-x comes in, for example).
- but if that second event is a mouse-movement, we should not do anything.

I think the best place to put such code is somewhere around
function-key-map.  Just like down-mouse-N can be dropped and
double-mouse-N can be demoted to just mouse-N, we could turn mouse-N
events that aren't bound to new single-mouse-N events.  I guess we could
do it with code along the lines of:

  [Check that there's no mouse-N binding, but there is a single-mouse-N
   binding in the active key maps]
  (let ((event
         (catch 'timeout
           (let ((timer
                  (run-with-timer 0.5 nil
                                  (lambda () (throw 'timeout 'timeout)))))
             (unwind-protect
                 (let (event)
                   (while (progn
                            (setq event (read-event))
                            (not (memq event '(mouse-movement))))) ; Any other?
                   event)
               (cancel timer))))))
    (cond
     ((eq event 'timeout) [single-mouse-N])
     ((eq event 'down-mouse-N)
      (push event unread-command-events)
      [])
     (t
      (push event unread-command-events)
      [single-mouse-N])))


-- Stefan




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 13 Jan 2011 07:09:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 13 02:09:40 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1PdHJU-0004H6-3x
	for submit <at> debbugs.gnu.org; Thu, 13 Jan 2011 02:09:40 -0500
Received: from rcsinet10.oracle.com ([148.87.113.121])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <drew.adams@HIDDEN>) id 1PdHJQ-0004Gq-6e
	for 7802 <at> debbugs.gnu.org; Thu, 13 Jan 2011 02:09:38 -0500
Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227])
	by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id
	p0D7H4Om002918
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 13 Jan 2011 07:17:06 GMT
Received: from acsmt355.oracle.com (acsmt355.oracle.com [141.146.40.155])
	by acsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id
	p0D5lINP023603; Thu, 13 Jan 2011 07:17:03 GMT
Received: from abhmt007.oracle.com by acsmt355.oracle.com
	with ESMTP id 921489351294902924; Wed, 12 Jan 2011 23:15:24 -0800
Received: from dradamslap1 (/10.159.242.207)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Wed, 12 Jan 2011 23:15:24 -0800
From: "Drew Adams" <drew.adams@HIDDEN>
To: "'Chong Yidong'" <cyd@HIDDEN>, "'Jason Rumney'" <jasonr@HIDDEN>
References: <6AF23E536D254FC88C35DA0BEC775C1A@HIDDEN><7EB632A3268149CA89DA1D58C8046A01@HIDDEN><AAEBC42BCCB3485EA3B4019BFAA5EF88@HIDDEN><jwvhbdk2dmo.fsf-monnier+emacs@HIDDEN><9496EDBB00F3470E9417340D3CDBA5E1@HIDDEN><87tyhje666.fsf@HIDDEN><0BC7B2E648C8499CAC13F1D3D3A7A72E@HIDDEN><87oc7qeong.fsf@HIDDEN>
	<yyxtyhdv00z.fsf@HIDDEN>
Subject: RE: bug#7802: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
Date: Wed, 12 Jan 2011 23:15:22 -0800
Message-ID: <701ADC457873416A99F98E84AF89B0EB@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
In-Reply-To: <yyxtyhdv00z.fsf@HIDDEN>
Thread-Index: Acuy47JdWB49pO9TQhuQy3QG+nsl+AACIqZA
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5994
X-Spam-Score: -6.4 (------)
X-Debbugs-Envelope-To: 7802
Cc: 7802 <at> debbugs.gnu.org, 'Stefan Monnier' <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -6.4 (------)

> It's cleaner to let the calling Elisp code worry about this.  
> That is to say, the caller can bind the first click to a command
> that starts up a timer to execute the "single click" action after
> a short period, and bind the double click to a command that
> cancels that timer.
> 
> I vaguely recall that we used to try to separate single clicks from
> double-click, and the resulting user experience was rather 
> poor.  So it should not be the default, but rather anyone who
> cares about this issue can do as described above.

Oh, sure, that's easy to say.  But not feasible in practice - might as well
rewrite everything, not to mention having user code implement the distinction of
single-click from double-click each time.

If you want to understand the context, it is simple.  The code is here:
http://www.emacswiki.org/emacs/download/mouse3.el

The case in question is explained in the Commentary's `Note:'.  It is the case
of setting `mouse3-second-click-default-command' to `mouse3-kill/delete-region'
and `mouse3-double-click-command' to `mouse3-region-popup-menu', that is,
opposite to their default values in the file.

You can also try the code to understand what is involved - very simple and
nothing else to load.  The default values do what I suggested in the 11/30
emacs-devel thread "Variable behavior for `mouse-3' second click at same spot"
(which evoked zero response).  That was a followup to the 11/05 thread
"`mouse-save-then-kill' changes" which also went nowhere.

What this bug is about is the opposite approach to the default behavior in file
mouse3.el: have a double-click open a menu and a second single-click in place do
what it does in emacs -Q (delete the region).

Doing what you suggest would mean redefining `mouse-save-then-kill' completely
(since the first click is then involved in implementing the timeout), and it
would take away any flexibility.  And this is just one example (use case) of the
general problem.

Are you sure about your "I vaguely recall"?  I am not aware that we ever, ever
separated the two like you say.  That's certainly not the case at least as far
back as Emacs 20.

Why not try it (implement a real single/double click distinction) and _see_ if
the delay is bothersome in practice, instead of presuming that it is?  As I
said:

d> Try and see.  In Emacs we can put such things under the control of the
d> individual user.  It should be possible to use both approaches, with a
d> user option deciding.  Once implemented it should be easy enough 
d> to conditionally ignore the timeout and get the current behavior.

You are both just assuming that the effect would be undesirable, with no
demonstration.  Why not let the user decide?

It seems to me that something _is not_ a single click if enough time has not
elapsed to distinguish it from a double-click.  That seems definitional, to me -
I don't see how anything else makes sense.  Otherwise, you never, ever know
whether the intention was a single-click.  There is then no such thing as a
single or double click.  Assuming that anytime the mouse gets clicked we want to
invoke the single-click action seems aberrant and perverse to me.  Microsoft
(apparently) notwithstanding.





Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 13 Jan 2011 05:27:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 13 00:27:59 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1PdFj5-00026N-9w
	for submit <at> debbugs.gnu.org; Thu, 13 Jan 2011 00:27:59 -0500
Received: from fencepost.gnu.org ([140.186.70.10])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <cyd@HIDDEN>) id 1PdFj3-00026B-MM
	for 7802 <at> debbugs.gnu.org; Thu, 13 Jan 2011 00:27:58 -0500
Received: from cyd by fencepost.gnu.org with local (Exim 4.69)
	(envelope-from <cyd@HIDDEN>)
	id 1PdFqG-00080M-Aj; Thu, 13 Jan 2011 00:35:24 -0500
From: Chong Yidong <cyd@HIDDEN>
To: Jason Rumney <jasonr@HIDDEN>
Subject: Re: bug#7802: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
References: <6AF23E536D254FC88C35DA0BEC775C1A@HIDDEN>
	<7EB632A3268149CA89DA1D58C8046A01@HIDDEN>
	<AAEBC42BCCB3485EA3B4019BFAA5EF88@HIDDEN>
	<jwvhbdk2dmo.fsf-monnier+emacs@HIDDEN>
	<9496EDBB00F3470E9417340D3CDBA5E1@HIDDEN>
	<87tyhje666.fsf@HIDDEN>
	<0BC7B2E648C8499CAC13F1D3D3A7A72E@HIDDEN>
	<87oc7qeong.fsf@HIDDEN>
Date: Thu, 13 Jan 2011 00:35:24 -0500
In-Reply-To: <87oc7qeong.fsf@HIDDEN> (Jason Rumney's message of "Sun, 09 Jan
	2011 11:34:11 +0800")
Message-ID: <yyxtyhdv00z.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2.91 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Spam-Score: -6.6 (------)
X-Debbugs-Envelope-To: 7802
Cc: 7802 <at> debbugs.gnu.org, 'Stefan Monnier' <monnier@HIDDEN>,
	Drew Adams <drew.adams@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -6.6 (------)

Jason Rumney <jasonr@HIDDEN> writes:

>>  "Maximum time between mouse clicks to make a double-click.
>>   Measured in milliseconds.  The value nil means disable double-click
>>   recognition; t means double-clicks have no time limit and are detected
>>   by position only."  [doc string]
>>
>>  "The variable `double-click-time' specifies how much time can elapse
>>   between clicks and still allow them to be grouped as a multiple click.
>>   Its value is in units of milliseconds.  If the value is `nil', double
>>   clicks are not detected at all.  If the value is `t', then there is no
>>   time limit.  The default is 500."   [(emacs) Mouse Buttons]
>
> 500ms is already a perceptable delay. And some users with motor control
> difficulties may set it much longer.  If we did this I have no doubt
> that YOU would be complaining about the response time of mouse click
> events.

It's cleaner to let the calling Elisp code worry about this.  That is to
say, the caller can bind the first click to a command that starts up a
timer to execute the "single click" action after a short period, and
bind the double click to a command that cancels that timer.

I vaguely recall that we used to try to separate single clicks from
double-click, and the resulting user experience was rather poor.  So it
should not be the default, but rather anyone who cares about this issue
can do as described above.




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 9 Jan 2011 14:12:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 09 09:12:25 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Pbw0P-0003tS-A9
	for submit <at> debbugs.gnu.org; Sun, 09 Jan 2011 09:12:25 -0500
Received: from rcsinet10.oracle.com ([148.87.113.121])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <drew.adams@HIDDEN>) id 1Pbw0M-0003tD-CV
	for 7802 <at> debbugs.gnu.org; Sun, 09 Jan 2011 09:12:23 -0500
Received: from rcsinet15.oracle.com (rcsinet15.oracle.com [148.87.113.117])
	by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id
	p09EJhL0005843
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Sun, 9 Jan 2011 14:19:44 GMT
Received: from acsmt354.oracle.com (acsmt354.oracle.com [141.146.40.154])
	by rcsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id
	p09EJgqQ019876; Sun, 9 Jan 2011 14:19:42 GMT
Received: from abhmt005.oracle.com by acsmt354.oracle.com
	with ESMTP id 910885841294582735; Sun, 09 Jan 2011 06:18:55 -0800
Received: from dradamslap1 (/10.159.221.32)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Sun, 09 Jan 2011 06:18:55 -0800
From: "Drew Adams" <drew.adams@HIDDEN>
To: "'Jason Rumney'" <jasonr@HIDDEN>
References: <6AF23E536D254FC88C35DA0BEC775C1A@HIDDEN><7EB632A3268149CA89DA1D58C8046A01@HIDDEN><AAEBC42BCCB3485EA3B4019BFAA5EF88@HIDDEN><jwvhbdk2dmo.fsf-monnier+emacs@HIDDEN><9496EDBB00F3470E9417340D3CDBA5E1@HIDDEN><87tyhje666.fsf@HIDDEN><0BC7B2E648C8499CAC13F1D3D3A7A72E@HIDDEN>
	<87oc7qeong.fsf@HIDDEN>
Subject: RE: bug#7802: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
Date: Sun, 9 Jan 2011 06:18:55 -0800
Message-ID: <4C6B7BF9D16340C3AADA83ACBC1C6B68@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
In-Reply-To: <87oc7qeong.fsf@HIDDEN>
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5994
Thread-Index: AcuvrhylJ+C9+Vh6Q+iXHJoxFuHUKAAV0ihA
X-Spam-Score: -6.4 (------)
X-Debbugs-Envelope-To: 7802
Cc: 7802 <at> debbugs.gnu.org, 'Stefan Monnier' <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -6.4 (------)

> > Are you saying that a Windows program _cannot_ bind a 
> > double-click mouse-2 or mouse-3?
> 
> Yes. If they want to handle double clicks of mouse-2 and mouse-3, or
> triple clicks of any mouse button then they need to handle it 
> themselves

So they _can_ bind them.

> the same way that Emacs does.

So it's not even a design decision, but the only possibility?
The Emacs way is the only way? ;-)

> > How about variable `double-click-time'
> 
> 500ms is already a perceptable delay. And some users with 
> motor control difficulties may set it much longer.  If we did
> this I have no doubt that YOU would be complaining about the
> response time of mouse click events.

Try and see.  In Emacs we can put such things under the control of the
individual user.  It should be possible to use both approaches, with a user
option deciding.  Once implemented it should be easy enough to conditionally
ignore the timeout and get the current behavior.

> > (BTW, shouldn't Emacs on Windows pick up this user setting as the
> > default value for `double-click-time'?)
> 
> I don't know if this setting is exposed to programs, as the 
> intention is for Windows to use it internally when generating
> double click events.  If it is exposed, then yes it would be
> good to use for the initial value of double-click-time.

I know nothing about whether it is exposed, but a quick google shows it might
be.  I see, for example, references to functions GetDoubleClickTime and
SetDoubleClickTime.  (Hm, the Emacs name is also `double-click-time'...)

http://msdn.microsoft.com/en-us/library/ms646258(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/ms646263(v=vs.85).aspx

http://www.pinvoke.net/default.aspx/user32/getdoubleclicktime.html?diff=y
http://www.jasinskionline.com/windowsapi/ref/s/setdoubleclicktime.html






Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 9 Jan 2011 03:27:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 08 22:27:04 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Pblvr-0004LX-Vy
	for submit <at> debbugs.gnu.org; Sat, 08 Jan 2011 22:27:04 -0500
Received: from mail-iw0-f172.google.com ([209.85.214.172])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <jasonrumney@HIDDEN>) id 1Pblvp-0004L5-9f
	for 7802 <at> debbugs.gnu.org; Sat, 08 Jan 2011 22:27:01 -0500
Received: by iwn40 with SMTP id 40so18360770iwn.3
	for <7802 <at> debbugs.gnu.org>; Sat, 08 Jan 2011 19:34:22 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=domainkey-signature:received:received:sender:received:from:to:cc
	:subject:references:date:in-reply-to:message-id:user-agent
	:mime-version:content-type;
	bh=ZXde9U3wj0RFOQeJAn0KcVva5T3ALnxY1lwvQwB+E88=;
	b=WNPF13l6eWxsfmK6MvQixehp7PqNnu6J/b8+VkLC83ZVs/lQA2+/Q8iaCSHK30419i
	Lst1GU+x2F9D2M4abTHSi/Lasq0iwtdpoylaFHkyIuL6e7JsMcbzN6nzfGYc0FQIbD+y
	nYqwuSJMzaEt94Nq7diStwQC7nC7Cc/Hie8HE=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
	h=sender:from:to:cc:subject:references:date:in-reply-to:message-id
	:user-agent:mime-version:content-type;
	b=NuIyUk7WvmWcQqhJUCWsQckiW+gNy0ABRf7eqlZAXXb8Lo5D/xhD7acHm2x4d9iEIK
	LSZBvQAP3X/LJswylRpF28XHEZunvMqrTQdGhzIjDj643Sqt6LWfk75fLqsqd/CXiauO
	wOMOCToJvBT7Bvj6oyhKVgN8ZVXFovcTFgTrU=
Received: by 10.231.169.208 with SMTP id a16mr13256774ibz.45.1294544062179;
	Sat, 08 Jan 2011 19:34:22 -0800 (PST)
Received: from home.jasonrumney.net ([180.72.70.79])
	by mx.google.com with ESMTPS id 34sm24690499ibi.8.2011.01.08.19.34.16
	(version=TLSv1/SSLv3 cipher=RC4-MD5);
	Sat, 08 Jan 2011 19:34:18 -0800 (PST)
Received: by home.jasonrumney.net (Postfix, from userid 1000)
	id 74833ED6; Sun,  9 Jan 2011 11:34:12 +0800 (MYT)
From: Jason Rumney <jasonr@HIDDEN>
To: "Drew Adams" <drew.adams@HIDDEN>
Subject: Re: bug#7802: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
References: <6AF23E536D254FC88C35DA0BEC775C1A@HIDDEN>
	<7EB632A3268149CA89DA1D58C8046A01@HIDDEN>
	<AAEBC42BCCB3485EA3B4019BFAA5EF88@HIDDEN>
	<jwvhbdk2dmo.fsf-monnier+emacs@HIDDEN>
	<9496EDBB00F3470E9417340D3CDBA5E1@HIDDEN>
	<87tyhje666.fsf@HIDDEN>
	<0BC7B2E648C8499CAC13F1D3D3A7A72E@HIDDEN>
Date: Sun, 09 Jan 2011 11:34:11 +0800
In-Reply-To: <0BC7B2E648C8499CAC13F1D3D3A7A72E@HIDDEN> (Drew Adams's
	message of "Sat, 8 Jan 2011 09:22:14 -0800")
Message-ID: <87oc7qeong.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -3.9 (---)
X-Debbugs-Envelope-To: 7802
Cc: 7802 <at> debbugs.gnu.org, 'Stefan Monnier' <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -3.9 (---)

"Drew Adams" <drew.adams@HIDDEN> writes:

>> No. Windows does the same as Emacs, which is why we inherit this
>> behaviour.
>
> Emacs design is based on Windows behavior (shudder)?  ;-)

No. But the fact that Windows has the same design leads weight to the
fact that this is a valid design decision.

> Are you saying that a Windows program _cannot_ bind a double-click mouse-2 or
> mouse-3?

Yes. If they want to handle double clicks of mouse-2 and mouse-3, or
triple clicks of any mouse button then they need to handle it themselves
the same way that Emacs does.

>  Or that a Windows program can _only_ have double-click mouse-1 select
> the item under the mouse pointer?

No. I was saying that normally that is what mouse-1 does in programs
that handle double clicks, so the fact that a double click also produces
a click event is not normally percieved as a problem.

> And even if Windows were by necessity "rather more limited", that
> wouldn't be an argument for limiting Emacs (in general) in this
> respect.

It was not supposed to be. I was using this example merely to show that
Emacs is not unique in this design decision.

>> > But why not just try to wait and see what the user action really is?
>> 
>> How long do you propose to wait?
>
> Oh, I dunno - some reasonable defined and documented time period. ;-)
>
> How about variable `double-click-time' (or some small adjustment thereof, if
> that's not entirely appropriate)?  Its two descriptions fit this well, AFAICT:
>
>  "Maximum time between mouse clicks to make a double-click.
>   Measured in milliseconds.  The value nil means disable double-click
>   recognition; t means double-clicks have no time limit and are detected
>   by position only."  [doc string]
>
>  "The variable `double-click-time' specifies how much time can elapse
>   between clicks and still allow them to be grouped as a multiple click.
>   Its value is in units of milliseconds.  If the value is `nil', double
>   clicks are not detected at all.  If the value is `t', then there is no
>   time limit.  The default is 500."   [(emacs) Mouse Buttons]

500ms is already a perceptable delay. And some users with motor control
difficulties may set it much longer.  If we did this I have no doubt
that YOU would be complaining about the response time of mouse click
events.

> (BTW, shouldn't Emacs on Windows pick up this user setting as the
> default value for `double-click-time'?)

I don't know if this setting is exposed to programs, as the intention is
for Windows to use it internally when generating double click events.
If it is exposed, then yes it would be good to use for the initial value
of double-click-time.




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 8 Jan 2011 19:43:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 08 14:43:02 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Pbego-0001Ss-Gp
	for submit <at> debbugs.gnu.org; Sat, 08 Jan 2011 14:43:02 -0500
Received: from mailout-de.gmx.net ([213.165.64.22] helo=mail.gmx.net)
	by debbugs.gnu.org with smtp (Exim 4.69)
	(envelope-from <grishka@HIDDEN>) id 1Pbegl-0001SO-Oh
	for 7802 <at> debbugs.gnu.org; Sat, 08 Jan 2011 14:43:01 -0500
Received: (qmail invoked by alias); 08 Jan 2011 19:50:18 -0000
Received: from unknown (EHLO [10.45.86.128]) [82.113.121.202]
	by mail.gmx.net (mp056) with SMTP; 08 Jan 2011 20:50:18 +0100
X-Authenticated: #18588216
X-Provags-ID: V01U2FsdGVkX1/hDkUjoXvh3l0srbzu4VJ78JJVgvBkdIAy3OJ+Lu
	iLTLrpr0xSd39S
Message-ID: <4D28BFF7.5070001@HIDDEN>
Date: Sat, 08 Jan 2011 20:50:15 +0100
From: grischka <grishka@HIDDEN>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: 7802 <at> debbugs.gnu.org
Subject: RE: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
X-Spam-Score: -3.8 (---)
X-Debbugs-Envelope-To: 7802
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -3.8 (---)

>> No. Windows does the same as Emacs, which is why we inherit this
>> behaviour.

No.  If the application does not set CS_DBLCLKS (which emacs doesn't),
Windows sends single clicks only always.

> Emacs design is based on Windows behavior (shudder)?  ;-)
> 
> (No, I assume that you mean only that the Emacs implementation for Windows
> adapts to Windows limitations.)
> 

Emacs limits Windows to behave like X in favor for its own
implementation which behaves like Windows.

--- grischka





Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 8 Jan 2011 17:15:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 08 12:15:27 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1PbcNu-0006nl-4r
	for submit <at> debbugs.gnu.org; Sat, 08 Jan 2011 12:15:27 -0500
Received: from rcsinet10.oracle.com ([148.87.113.121])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <drew.adams@HIDDEN>) id 1PbcNs-0006na-4C
	for 7802 <at> debbugs.gnu.org; Sat, 08 Jan 2011 12:15:20 -0500
Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227])
	by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id
	p08HMc89024316
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Sat, 8 Jan 2011 17:22:39 GMT
Received: from acsmt355.oracle.com (acsmt355.oracle.com [141.146.40.155])
	by acsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id
	p08GuHln018857; Sat, 8 Jan 2011 17:22:37 GMT
Received: from abhmt001.oracle.com by acsmt355.oracle.com
	with ESMTP id 910182221294507336; Sat, 08 Jan 2011 09:22:16 -0800
Received: from dradamslap1 (/10.159.216.42)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Sat, 08 Jan 2011 09:22:14 -0800
From: "Drew Adams" <drew.adams@HIDDEN>
To: "'Jason Rumney'" <jasonr@HIDDEN>
References: <6AF23E536D254FC88C35DA0BEC775C1A@HIDDEN><7EB632A3268149CA89DA1D58C8046A01@HIDDEN><AAEBC42BCCB3485EA3B4019BFAA5EF88@HIDDEN><jwvhbdk2dmo.fsf-monnier+emacs@HIDDEN><9496EDBB00F3470E9417340D3CDBA5E1@HIDDEN>
	<87tyhje666.fsf@HIDDEN>
Subject: RE: bug#7802: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
Date: Sat, 8 Jan 2011 09:22:14 -0800
Message-ID: <0BC7B2E648C8499CAC13F1D3D3A7A72E@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
In-Reply-To: <87tyhje666.fsf@HIDDEN>
Thread-Index: AcuvTUqn3xUTjWVsQvKre08FFbRUWQABRRRg
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5994
X-Spam-Score: -6.4 (------)
X-Debbugs-Envelope-To: 7802
Cc: 7802 <at> debbugs.gnu.org, 'Stefan Monnier' <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -6.4 (------)

> > I'm no expert on these things, but isn't that what the system
> > (whatever system is handling mouse events) needs to do anyway?
> >
> > Doesn't Windows, for instance, have to wait to see whether an
> > event is a single-click, double-click, or triple-click?
> 
> No. Windows does the same as Emacs, which is why we inherit this
> behaviour.

Emacs design is based on Windows behavior (shudder)?  ;-)

(No, I assume that you mean only that the Emacs implementation for Windows
adapts to Windows limitations.)

> > I can't see how it could be otherwise (logically).  I can't imagine
> > some action kicking in just as soon as the first click is detected,
> > without waiting to see whether the _user_ action is 
> > actually a single click or is really a double click.
> 
> The standard situation on Windows is rather more limited. There are no
> double click bindings for mouse-2 or mouse-3 in most programs 
> or on the desktop, only for mouse-1. And the click event for mouse-1
> generally selects the item below the mouse pointer, which the double
> click event then uses.

Are you saying that a Windows program _cannot_ bind a double-click mouse-2 or
mouse-3?  Or that a Windows program can _only_ have double-click mouse-1 select
the item under the mouse pointer?  I don't think so, given the qualifiers you
added.  That Windows doesn't use double-click mouse-2 or mouse-3 events much by
default is of course no argument for not letting Emacs do so.

And even if Windows were by necessity "rather more limited", that wouldn't be an
argument for limiting Emacs (in general) in this respect.  I'm not familiar with
this stuff, so I mentioned Windows just as a casual Windows user.  My impression
was (is) that it _can_ easily distinguish a single click from a double click,
but I trust your knowledge about this.
 
> > But why not just try to wait and see what the user action really is?
> 
> How long do you propose to wait?

Oh, I dunno - some reasonable defined and documented time period. ;-)

How about variable `double-click-time' (or some small adjustment thereof, if
that's not entirely appropriate)?  Its two descriptions fit this well, AFAICT:

 "Maximum time between mouse clicks to make a double-click.
  Measured in milliseconds.  The value nil means disable double-click
  recognition; t means double-clicks have no time limit and are detected
  by position only."  [doc string]

 "The variable `double-click-time' specifies how much time can elapse
  between clicks and still allow them to be grouped as a multiple click.
  Its value is in units of milliseconds.  If the value is `nil', double
  clicks are not detected at all.  If the value is `t', then there is no
  time limit.  The default is 500."   [(emacs) Mouse Buttons]

(Of course if the value of the option is `t' or `nil' then we would use a
reasonable fallback time period for this.  The point is that it is not heretical
to consider having a defined timeout period to distinguish single-click from
double-click.)

And on Windows (at least) users can typically define a similar time period
globally, in Control Panel > Mouse settings (e.g. tab Activities, in mine).
That's one thing that gave me the impression that Windows did (does) correctly
distinguish single-click from double-click.

In the case of my mouse, at least, you double-click an animated graphic to test
and see if the setting you are defining is adjusted to the value you want.  (The
exact interaction probably depends on which mouse you have.)

I would think that that interaction alone indicates that Windows _can_ avoid
just firing off some behavior as soon as it sees the first click.  But maybe
this preference-setting interaction is special - using the value you set as a
timeout for the test, and the rest of Windows _cannot_ tell the difference
between single-click and double-click adequately.

(BTW, shouldn't Emacs on Windows pick up this user setting as the default value
for `double-click-time'?)

And FWIW we do use option `double-click-time' in the Lisp code here and there.

E.g., both `foldout-mouse-swallow-events' and
`org-mouse-show-context-menu' use it this way:
(sit-for (/ double-click-time 1000.0))

See also option `viper-multiclick-timeout', which uses it with a fallback of
500ms.

(XEmacs apparently has `mouse-track-multi-click-time' for a similar purpose to
our `double-click-time'.)





Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 8 Jan 2011 15:54:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 08 10:54:00 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Pbb79-00055R-OU
	for submit <at> debbugs.gnu.org; Sat, 08 Jan 2011 10:54:00 -0500
Received: from mail-pz0-f44.google.com ([209.85.210.44])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <jasonrumney@HIDDEN>) id 1Pbb78-00055G-IH
	for 7802 <at> debbugs.gnu.org; Sat, 08 Jan 2011 10:53:59 -0500
Received: by pzk5 with SMTP id 5so3382968pzk.3
	for <7802 <at> debbugs.gnu.org>; Sat, 08 Jan 2011 08:01:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=domainkey-signature:received:received:sender:received:from:to:cc
	:subject:references:date:in-reply-to:message-id:user-agent
	:mime-version:content-type;
	bh=A2mkIVD0dqU+TXPBrhHmsMNgjbmSR4oPGSKaYxT2x6s=;
	b=aqolFgInLG6LIvmuKIhkMRz4ECWv8ebacftBALsg020KdNTLVghWmo0hPTGziZuIh4
	nmqHusK/6gWdAuzpyY3xzLmz6WdR+Mu36+HaPdO/+Ma2X3T22UgTfODP4escoSoUvOyE
	eO318L/70CE29I2UppQFBFVfZ01a06azsIq5w=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
	h=sender:from:to:cc:subject:references:date:in-reply-to:message-id
	:user-agent:mime-version:content-type;
	b=DxLVK5bpuJ79pleJPvBT02b247TffQ6YUdHw5HvFL4TegtHwRFuHfNQxljus85NH/5
	Xl40okNajRL8rWfcncB1JZQzIlCXpWZ7BO04u7TuDTDCeMQOfyqv+svZ8+vnKgJm2Mri
	hfvjEUwcJ8znTu7KSQOONx+88HKO6UG6LdmVI=
Received: by 10.142.82.4 with SMTP id f4mr2696408wfb.293.1294502477925;
	Sat, 08 Jan 2011 08:01:17 -0800 (PST)
Received: from home.jasonrumney.net ([180.72.70.79])
	by mx.google.com with ESMTPS id e14sm4456906wfg.20.2011.01.08.08.01.13
	(version=TLSv1/SSLv3 cipher=RC4-MD5);
	Sat, 08 Jan 2011 08:01:16 -0800 (PST)
Received: by home.jasonrumney.net (Postfix, from userid 1000)
	id 17072E8B; Sun,  9 Jan 2011 00:01:05 +0800 (MYT)
From: Jason Rumney <jasonr@HIDDEN>
To: "Drew Adams" <drew.adams@HIDDEN>
Subject: Re: bug#7802: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
References: <6AF23E536D254FC88C35DA0BEC775C1A@HIDDEN>
	<7EB632A3268149CA89DA1D58C8046A01@HIDDEN>
	<AAEBC42BCCB3485EA3B4019BFAA5EF88@HIDDEN>
	<jwvhbdk2dmo.fsf-monnier+emacs@HIDDEN>
	<9496EDBB00F3470E9417340D3CDBA5E1@HIDDEN>
Date: Sun, 09 Jan 2011 00:01:05 +0800
In-Reply-To: <9496EDBB00F3470E9417340D3CDBA5E1@HIDDEN> (Drew Adams's
	message of "Fri, 7 Jan 2011 22:36:04 -0800")
Message-ID: <87tyhje666.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -4.0 (----)
X-Debbugs-Envelope-To: 7802
Cc: 7802 <at> debbugs.gnu.org, 'Stefan Monnier' <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -3.9 (---)

"Drew Adams" <drew.adams@HIDDEN> writes:

> I'm no expert on these things, but isn't that what the system (whatever system
> is handling mouse events) needs to do anyway?  Doesn't Windows, for instance,
> have to wait to see whether an event is a single-click, double-click, or
> triple-click?

No. Windows does the same as Emacs, which is why we inherit this
behaviour.

> I can't see how it could be otherwise (logically).  I can't imagine
> some action kicking in just as soon as the first click is detected,
> without waiting to see whether the _user_ action is actually a single
> click or is really a double click.

The standard situation on Windows is rather more limited. There are no
double click bindings for mouse-2 or mouse-3 in most programs or on the
desktop, only for mouse-1. And the click event for mouse-1 generally
selects the item below the mouse pointer, which the double click event
then uses.

> But why not just try to wait and see what the user action really is?

How long do you propose to wait?




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 8 Jan 2011 06:30:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 08 01:30:10 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1PbSJW-0000q6-Jg
	for submit <at> debbugs.gnu.org; Sat, 08 Jan 2011 01:30:10 -0500
Received: from rcsinet10.oracle.com ([148.87.113.121])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <drew.adams@HIDDEN>) id 1PbSJU-0000pd-Cz
	for 7802 <at> debbugs.gnu.org; Sat, 08 Jan 2011 01:30:09 -0500
Received: from rcsinet13.oracle.com (rcsinet13.oracle.com [148.87.113.125])
	by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id
	p086bPdK025500
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Sat, 8 Jan 2011 06:37:26 GMT
Received: from acsmt355.oracle.com (acsmt355.oracle.com [141.146.40.155])
	by rcsinet13.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id
	p086bOaM022385; Sat, 8 Jan 2011 06:37:24 GMT
Received: from abhmt018.oracle.com by acsmt353.oracle.com
	with ESMTP id 941560121294468565; Fri, 07 Jan 2011 22:36:05 -0800
Received: from dradamslap1 (/10.159.216.42)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 07 Jan 2011 22:36:05 -0800
From: "Drew Adams" <drew.adams@HIDDEN>
To: "'Stefan Monnier'" <monnier@HIDDEN>
References: <6AF23E536D254FC88C35DA0BEC775C1A@HIDDEN><7EB632A3268149CA89DA1D58C8046A01@HIDDEN><AAEBC42BCCB3485EA3B4019BFAA5EF88@HIDDEN>
	<jwvhbdk2dmo.fsf-monnier+emacs@HIDDEN>
Subject: RE: bug#7802: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
Date: Fri, 7 Jan 2011 22:36:04 -0800
Message-ID: <9496EDBB00F3470E9417340D3CDBA5E1@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
In-Reply-To: <jwvhbdk2dmo.fsf-monnier+emacs@HIDDEN>
Thread-Index: Acuu8XVj1y4a+PTjTLG68sAipvs1DgACqEYg
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5994
X-Spam-Score: -6.4 (------)
X-Debbugs-Envelope-To: 7802
Cc: 7802 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -6.4 (------)

> > Sounds to me like this "design" is just a side effect of 
> > the implementation.
> 
> That might be the case.  There is a "design" argument in favor of this
> behavior, tho, which is that otherwise we'd have to wait after a click
> before running its command, to check whether it was the first part of
> a double-click or not.

I'm no expert on these things, but isn't that what the system (whatever system
is handling mouse events) needs to do anyway?  Doesn't Windows, for instance,
have to wait to see whether an event is a single-click, double-click, or
triple-click?

I can't see how it could be otherwise (logically).  I can't imagine some action
kicking in just as soon as the first click is detected, without waiting to see
whether the _user_ action is actually a single click or is really a double
click.

> Of course, we could try and only perform this waiting in the 
> case where there is a double-click binding, thus minimizing such
> undesirable delays, but it still might lead to undesirable delays
> giving the impression the system is somewhat unresponsive.

unresponsive...or just smart, correctly sensitive to what the user did.

I suppose your proposed optimization might make sense, if it doesn't lead to any
problems of its own.

But why not just try to wait and see what the user action really is?  How do we
know that would make things seem unresponsive?  Again, I cannot imagine that a
system could short-circuit things the way Emacs apparently does and still be
trustworthy.

I repeat that I know nothing about how such things are handled usually, but what
Emacs does just seems wrong (flawed) to me.  Does it sound right to you?  What
am I missing?  (Probably a lot.)

> PS: Of course, the same holds for double-vs-triple clicks, tho it's
> largely irrelevant.

Triple-clicks are no doubt rarer, if that's what you mean.  But I wouldn't want
to have double-click confirm "Do you really want to vote for Ronald McDonald?"
and have triple-click confirm "Do you really want to launch this missile and
start WW3?"  The way it is designed now nothing important can be allowed to be
disambiguated by the click count, it seems. ;-)






Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 8 Jan 2011 04:56:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 07 23:56:40 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1PbQr1-0006Zv-TL
	for submit <at> debbugs.gnu.org; Fri, 07 Jan 2011 23:56:40 -0500
Received: from ironport2-out.teksavvy.com ([206.248.154.181]
	helo=ironport2-out.pppoe.ca)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <monnier@HIDDEN>)
	id 1PbQqz-0006Zh-VK; Fri, 07 Jan 2011 23:56:38 -0500
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvsEAIZ/J01FxIbi/2dsb2JhbACkPnS7eYVMBIRnjiQ
X-IronPort-AV: E=Sophos;i="4.60,292,1291611600"; d="scan'208";a="87368285"
Received: from 69-196-134-226.dsl.teksavvy.com (HELO pastel.home)
	([69.196.134.226])
	by ironport2-out.pppoe.ca with ESMTP/TLS/ADH-AES256-SHA;
	08 Jan 2011 00:03:55 -0500
Received: by pastel.home (Postfix, from userid 20848)
	id 94B6058B68; Sat,  8 Jan 2011 00:03:55 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: "Drew Adams" <drew.adams@HIDDEN>
Subject: Re: bug#7802: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
Message-ID: <jwvhbdk2dmo.fsf-monnier+emacs@HIDDEN>
References: <6AF23E536D254FC88C35DA0BEC775C1A@HIDDEN>
	<7EB632A3268149CA89DA1D58C8046A01@HIDDEN>
	<AAEBC42BCCB3485EA3B4019BFAA5EF88@HIDDEN>
Date: Sat, 08 Jan 2011 00:03:55 -0500
In-Reply-To: <AAEBC42BCCB3485EA3B4019BFAA5EF88@HIDDEN> (Drew Adams's
	message of "Fri, 7 Jan 2011 11:38:25 -0800")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -2.1 (--)
X-Debbugs-Envelope-To: 7802
Cc: 7802 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -2.1 (--)

> Sounds to me like this "design" is just a side effect of the implementation.

That might be the case.  There is a "design" argument in favor of this
behavior, tho, which is that otherwise we'd have to wait after a click
before running its command, to check whether it was the first part of
a double-click or not.

Of course, we could try and only perform this waiting in the case where
there is a double-click binding, thus minimizing such undesirable
delays, but it still might lead to undesirable delays giving the
impression the system is somewhat unresponsive.


        Stefan

PS: Of course, the same holds for double-vs-triple clicks, tho it's
largely irrelevant.




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 7 Jan 2011 19:32:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 07 14:32:09 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1PbI2j-0002HJ-85
	for submit <at> debbugs.gnu.org; Fri, 07 Jan 2011 14:32:09 -0500
Received: from rcsinet10.oracle.com ([148.87.113.121])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <drew.adams@HIDDEN>) id 1PbI2h-0002Gt-5T
	for 7802 <at> debbugs.gnu.org; Fri, 07 Jan 2011 14:32:07 -0500
Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227])
	by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id
	p07JdLIk002871
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)
	for <7802 <at> debbugs.gnu.org>; Fri, 7 Jan 2011 19:39:23 GMT
Received: from acsmt355.oracle.com (acsmt355.oracle.com [141.146.40.155])
	by acsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id
	p07HPeD1018733
	for <7802 <at> debbugs.gnu.org>; Fri, 7 Jan 2011 19:39:21 GMT
Received: from abhmt007.oracle.com by acsmt353.oracle.com
	with ESMTP id 908880451294429106; Fri, 07 Jan 2011 11:38:26 -0800
Received: from dradamslap1 (/10.159.218.13)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 07 Jan 2011 11:38:25 -0800
From: "Drew Adams" <drew.adams@HIDDEN>
To: <7802 <at> debbugs.gnu.org>
References: <6AF23E536D254FC88C35DA0BEC775C1A@HIDDEN>
	<7EB632A3268149CA89DA1D58C8046A01@HIDDEN>
Subject: RE: bug#7802: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
Date: Fri, 7 Jan 2011 11:38:25 -0800
Message-ID: <AAEBC42BCCB3485EA3B4019BFAA5EF88@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
In-Reply-To: <7EB632A3268149CA89DA1D58C8046A01@HIDDEN>
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5994
thread-index: Acuun/Ue6ZqnV9N3SBualbyWt6gf/QAAKASQ
X-Spam-Score: -6.4 (------)
X-Debbugs-Envelope-To: 7802
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -6.4 (------)

> `mouse-3' will always be handled before the command bound to
> `double-mouse-3' is invoked.  So in general that command
> can do nothing to undo what the `mouse-3' command did.

What's more, you cannot even design the single-click command so that it someow
detects the situation and turns itself into a no-op, to get out of the way.
There is of course no way for it to know whether the following event is a
double-click event.

> "Therefore, you must design the command binding of the double 
> click event..." means nothing in the general case.  No matter
> how that command or its binding is "designed", the command is
> invoked too late to do anything, in general, about
> what the single-click command has already done.

Likewise wrt designing the single-click command.  How could you fix
`mouse-save-then-kill', for instance, to not do anything if the following event
is `double-mouse-3'?

Exercise: Design a command for `double-mouse-3' that will not let
`mouse-save-then-kill' first do its thing when you (just) double-click.  You can
even rewrite `mouse-save-then-kill' if that will help.

E.g., have `double-mouse-3' bound to a command that pops up a menu.  Try having
it not also delete the region if you first use `double-mouse-1' `mouse-3' to
select text.

> This is not great, IMO.

Sounds to me like this "design" is just a side effect of the implementation.
The doc tries to make a virtue out of the necessity that results from the
implementation - by claiming "convenience".  What it really should say is "This
is a sorry state of affairs; apologies."

But I hope instead of a doc workaround that this bug can actually be fixed...





Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.

Message received at 7802 <at> debbugs.gnu.org:


Received: (at 7802) by debbugs.gnu.org; 7 Jan 2011 19:13:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 07 14:13:31 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1PbHkg-0001rc-T1
	for submit <at> debbugs.gnu.org; Fri, 07 Jan 2011 14:13:31 -0500
Received: from rcsinet10.oracle.com ([148.87.113.121])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <drew.adams@HIDDEN>) id 1PbHkf-0001rR-1X
	for 7802 <at> debbugs.gnu.org; Fri, 07 Jan 2011 14:13:29 -0500
Received: from rcsinet15.oracle.com (rcsinet15.oracle.com [148.87.113.117])
	by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id
	p07JKgCD018747
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)
	for <7802 <at> debbugs.gnu.org>; Fri, 7 Jan 2011 19:20:43 GMT
Received: from acsmt355.oracle.com (acsmt355.oracle.com [141.146.40.155])
	by rcsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id
	p07HPeMF012510
	for <7802 <at> debbugs.gnu.org>; Fri, 7 Jan 2011 19:20:39 GMT
Received: from abhmt021.oracle.com by acsmt353.oracle.com
	with ESMTP id 908840221294428035; Fri, 07 Jan 2011 11:20:35 -0800
Received: from dradamslap1 (/10.159.218.13)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 07 Jan 2011 11:20:35 -0800
From: "Drew Adams" <drew.adams@HIDDEN>
To: <7802 <at> debbugs.gnu.org>
Subject: RE: bug #7802: 24.0.50;
	Extraneous `mouse-3' event when do `double-mouse-3'
Date: Fri, 7 Jan 2011 11:20:34 -0800
Message-ID: <7EB632A3268149CA89DA1D58C8046A01@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5994
thread-index: Acuun/Ue6ZqnV9N3SBualbyWt6gf/Q==
X-Spam-Score: -6.4 (------)
X-Debbugs-Envelope-To: 7802
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -6.4 (------)

OK, I see now (and remember) that this is "by design".  Further in the same node
it says:

 "When the user performs a double click, Emacs generates first an
ordinary click event, and then a double-click event.  Therefore, you
must design the command binding of the double click event to assume
that the single-click command has already run.  It must produce the
desired results of a double click, starting from the results of a
single click.

   This is convenient, if the meaning of a double click somehow "builds
on" the meaning of a single click--which is recommended user interface
design practice for double clicks."

But I don't see this as a great design.  Though it might sometimes be
"convenient" it is in general impossible to work around.

If a `mouse-3' always appears before the `double-mouse-3' that corresponds to
_what the user actually did_, then the `mouse-3' will always be handled before
the command bound to `double-mouse-3' is invoked.  So in general that command
can do nothing to undo what the `mouse-3' command did.

"Therefore, you must design the command binding of the double click event..."
means nothing in the general case.  No matter how that command or its binding is
"designed", the command is invoked too late to do anything, in general, about
what the single-click command has already done.

This is not great, IMO.





Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 7 Jan 2011 19:04:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 07 14:04:40 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1PbHc7-0000ti-SL
	for submit <at> debbugs.gnu.org; Fri, 07 Jan 2011 14:04:40 -0500
Received: from eggs.gnu.org ([140.186.70.92])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <drew.adams@HIDDEN>) id 1PbHc6-0000tW-Cb
	for submit <at> debbugs.gnu.org; Fri, 07 Jan 2011 14:04:38 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <drew.adams@HIDDEN>) id 1PbHj4-0004jq-0T
	for submit <at> debbugs.gnu.org; Fri, 07 Jan 2011 14:11:56 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED,
	T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1
Received: from lists.gnu.org ([199.232.76.165]:55903)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <drew.adams@HIDDEN>) id 1PbHj3-0004jk-U8
	for submit <at> debbugs.gnu.org; Fri, 07 Jan 2011 14:11:49 -0500
Received: from [140.186.70.92] (port=56741 helo=eggs.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43) id 1PbHj0-00035O-9y
	for bug-gnu-emacs@HIDDEN; Fri, 07 Jan 2011 14:11:49 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <drew.adams@HIDDEN>) id 1PbHiu-0004fC-QV
	for bug-gnu-emacs@HIDDEN; Fri, 07 Jan 2011 14:11:46 -0500
Received: from rcsinet10.oracle.com ([148.87.113.121]:50239)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <drew.adams@HIDDEN>) id 1PbHiu-0004eo-JC
	for bug-gnu-emacs@HIDDEN; Fri, 07 Jan 2011 14:11:40 -0500
Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227])
	by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id
	p07JBbx4029969
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)
	for <bug-gnu-emacs@HIDDEN>; Fri, 7 Jan 2011 19:11:39 GMT
Received: from acsmt355.oracle.com (acsmt355.oracle.com [141.146.40.155])
	by acsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id
	p07IUtjL007408
	for <bug-gnu-emacs@HIDDEN>; Fri, 7 Jan 2011 19:11:37 GMT
Received: from abhmt003.oracle.com by acsmt354.oracle.com
	with ESMTP id 908817001294427479; Fri, 07 Jan 2011 11:11:19 -0800
Received: from dradamslap1 (/10.159.218.13)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 07 Jan 2011 11:11:18 -0800
From: "Drew Adams" <drew.adams@HIDDEN>
To: <bug-gnu-emacs@HIDDEN>
Subject: 24.0.50; Extraneous `mouse-3' event when do `double-mouse-3'
Date: Fri, 7 Jan 2011 11:11:18 -0800
Message-ID: <6AF23E536D254FC88C35DA0BEC775C1A@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5994
thread-index: AcuunqmHYX33dvG9TrONQSmE3awV9A==
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2)
X-Spam-Score: -6.4 (------)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -6.4 (------)

emacs -Q
 
(global-set-key [mouse-3]
                (lambda () (interactive) (message "AAAAAAAAAAAA")))
(global-set-key [double-mouse-3] 
                (lambda () (interactive) (message "BBBBBBBBBBBBBB")))
 
Now just double-click `mouse-3'.  You see message "AAAAAAAAAAAA" in
*Messages*, as well as message "BBBBBBBBBBBBBB".
 
This is a no-no.  There is, or at least there should be, no single-click
event.  There should be only a double-click event.
 
The Elisp manual says (node `Repeat Events'):
"If a double-click event has no binding, the binding of the
corresponding ordinary click event is used to execute it."
 
Note the condition: "if a double-click event has no binding".  If there
is a double-click binding then I do not think the single-click binding
should be invoked.  Users should be able to have a double-click binding
be invoked without a single-click binding also being invoked.
 
---
 
[BTW, the rest of the sentence, after the condition, is not correct.  It
is grammatically correct, but it doesn't mean much, and it certainly
doesn't mean what we want.
 
The binding of the "ordinary click event" (which first of all should say
"single", not "ordinary", which is undefined) is a command.  It is not
correct to say that some command "is used to execute it".  Execute what?
How is a command used to execute something?]

In GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600)
 of 2011-01-03 on 3249CTO
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.4) --no-opt --cflags
-Ic:/imagesupport/include'
 





Acknowledgement sent to "Drew Adams" <drew.adams@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#7802; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.