From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: New Context Menu and mouse-1 Date: Sun, 29 Aug 2021 19:53:56 +0300 Organization: LINKOV.NET Message-ID: <87h7f88aa7.fsf@mail.linkov.net> References: <20210818120834.i3orh535tb2enpos.ref@Ergus> <20210818120834.i3orh535tb2enpos@Ergus> <87tujb77vq.fsf_-_@mail.linkov.net> <83y28nqsuv.fsf@gnu.org> <87bl5ig6qk.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28321"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) Cc: Eli Zaretskii , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Aug 29 18:56:29 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mKO6e-0007G1-Dc for ged-emacs-devel@m.gmane-mx.org; Sun, 29 Aug 2021 18:56:28 +0200 Original-Received: from localhost ([::1]:37126 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mKO6d-00041F-24 for ged-emacs-devel@m.gmane-mx.org; Sun, 29 Aug 2021 12:56:27 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42286) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mKO5S-0002mu-JO for emacs-devel@gnu.org; Sun, 29 Aug 2021 12:55:14 -0400 Original-Received: from relay8-d.mail.gandi.net ([217.70.183.201]:60125) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mKO5Q-0008IG-Tm; Sun, 29 Aug 2021 12:55:14 -0400 Original-Received: (Authenticated sender: juri@linkov.net) by relay8-d.mail.gandi.net (Postfix) with ESMTPSA id AC3EB1BF206; Sun, 29 Aug 2021 16:55:08 +0000 (UTC) In-Reply-To: (Stefan Monnier's message of "Fri, 27 Aug 2021 18:01:54 -0400") Received-SPF: pass client-ip=217.70.183.201; envelope-from=juri@linkov.net; helo=relay8-d.mail.gandi.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:273422 Archived-At: > BTW, maybe another way to look at the problem is to say that > invoking the context-menu should not exit the transient map (but this > may come with its own set of problems, of course). The problem is that not to exit the transient map it's not possible to check for some known events, because e.g. selecting "Cut" produces 'cut', and other such symbols. So the other way around would be to check for the known events and then deactivate the mark. This is necessary because otherwise simply clicking mouse-1 will activate the mark and leave it active afterwards. diff --git a/lisp/mouse.el b/lisp/mouse.el index 7d3ed9a0e4..e97352cdf8 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -1579,8 +1579,9 @@ mouse-drag-track t (lambda () (setq track-mouse old-track-mouse) (setq auto-hscroll-mode auto-hscroll-mode-saved) - (deactivate-mark) - (pop-mark))))) + (when (memq (car-safe last-input-event) '(mouse-1 drag-mouse-1)) + (deactivate-mark) + (pop-mark)))))) This still exits the transient map in both cases, and I don't know how not to exit the transient map only for events from the context-menu.