From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Let input queue deal gracefully with up-events Date: Thu, 29 Jan 2015 00:06:10 +0100 Message-ID: <874mrapkt9.fsf@fencepost.gnu.org> References: <1422451883-6530-1-git-send-email-dak@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1422486381 31440 80.91.229.3 (28 Jan 2015 23:06:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 28 Jan 2015 23:06:21 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jan 29 00:06:20 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YGbgf-0000Pn-GB for ged-emacs-devel@m.gmane.org; Thu, 29 Jan 2015 00:06:17 +0100 Original-Received: from localhost ([::1]:56867 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGbge-0006hN-Cp for ged-emacs-devel@m.gmane.org; Wed, 28 Jan 2015 18:06:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34880) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGbga-0006hG-RP for emacs-devel@gnu.org; Wed, 28 Jan 2015 18:06:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YGbgZ-00008Q-Oc for emacs-devel@gnu.org; Wed, 28 Jan 2015 18:06:12 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39450) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGbgZ-00008L-Le for emacs-devel@gnu.org; Wed, 28 Jan 2015 18:06:11 -0500 Original-Received: from localhost ([127.0.0.1]:46625 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGbgY-0000Tm-Is; Wed, 28 Jan 2015 18:06:10 -0500 Original-Received: by lola (Postfix, from userid 1000) id 27724DF6AB; Thu, 29 Jan 2015 00:06:10 +0100 (CET) In-Reply-To: (Stefan Monnier's message of "Wed, 28 Jan 2015 17:19:15 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:181951 Archived-At: Stefan Monnier writes: >> - Down-clicks are eliminated. >> + Up/Down-clicks are eliminated. > > Actually, up-clicks (in the sens of *mouse* clicks) are not > eliminated. Well, they are at _this_ location. *mouse* clicks have been converted to click/drag at that point. > I think it's be better to explain that we auto-eliminate both the > "down-" and "up-" events such that, depending on which of the > up or down part of an event is the important one, we use "down- and > " or " and up-" Well, it is not really comparable since down-xxx + up-xxx for the mouse are combined into one xxx or drag-xxx event: in this case the "eliminated" down-xxx event still has its timing and area data integrated into the resulting event. When discarding an up-xxx event, the corresponding xxx event has already been delivered. I've thought about _modifying_ the original xxx event to add the up-xxx info, but in the case where you need it, you need something to trigger the related action anyway, and if such event-fixup needs to be done, it can be done by the separately bound up-xxx code under user control rather than silently modifying an already processed event. So the xxx-down/xxx combination has to work differently from xxx/xxx-up. But the point is that this difference is in the keyboard queue _frontend_ (the one creating the Lisp event, whether natively or synthetically). The keyboard queue backend can ignore this difference. -- David Kastrup