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: master 128ed5c9f17: Add one more mouse-set-point call to functions xref-find-*-at-mouse Date: Sun, 03 Sep 2023 20:34:55 +0300 Organization: LINKOV.NET Message-ID: <8634zv7cyg.fsf@mail.linkov.net> References: <169344150641.11482.13012085201452768898@vcs2.savannah.gnu.org> <20230831002506.C0C6DC038B5@vcs2.savannah.gnu.org> <87il8wt52f.fsf@yahoo.com> <583ae120-d016-e9e8-2783-db21c1e018b8@gutov.dev> <87edjkt3sn.fsf@yahoo.com> <6c5251b1-c289-07cf-587d-013c781e31f5@gutov.dev> <8734zzudo7.fsf@yahoo.com> <86edjj7m5j.fsf@mail.linkov.net> <8734zyr9n5.fsf@yahoo.com> <86o7imidzk.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="32066"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) Cc: Dmitry Gutov , emacs-devel@gnu.org To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Sep 03 19:36:03 2023 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 1qcr10-00087f-Hi for ged-emacs-devel@m.gmane-mx.org; Sun, 03 Sep 2023 19:36:02 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qcr0Y-0001Iu-3C; Sun, 03 Sep 2023 13:35:34 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qcr0V-0001HU-Uf for emacs-devel@gnu.org; Sun, 03 Sep 2023 13:35:32 -0400 Original-Received: from relay1-d.mail.gandi.net ([217.70.183.193]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qcr0T-0007mO-IG for emacs-devel@gnu.org; Sun, 03 Sep 2023 13:35:31 -0400 Original-Received: by mail.gandi.net (Postfix) with ESMTPSA id ABF31240002; Sun, 3 Sep 2023 17:35:26 +0000 (UTC) In-Reply-To: <86o7imidzk.fsf@mail.linkov.net> (Juri Linkov's message of "Fri, 01 Sep 2023 09:50:23 +0300") X-GND-Sasl: juri@linkov.net Received-SPF: pass client-ip=217.70.183.193; envelope-from=juri@linkov.net; helo=relay1-d.mail.gandi.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:310015 Archived-At: >> Mind however that many of these commands are also meant to operate from >> the mode line lighters, in which case this is precisely the desired >> behavior. > > I see that such events show they originate from 'mode-line', > and events from the menu bar contain 'menu-bar'. So maybe > it would be sufficient to filter out 'mode-line' and 'menu-bar'. Instead of checking 'posn-area', much simpler would be to implement this only for the context-menu with a new option similar to 'mouse-yank-at-point'. Any objections to enabling this by default? ``` diff --git a/lisp/mouse.el b/lisp/mouse.el index 49549093985..48a3ab1acd3 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -407,6 +407,11 @@ context-menu-filter-function :type '(choice (const nil) function) :version "28.1") +(defcustom context-menu-move-point nil + "If non-nil, move point to the mouse click before opening context menu." + :type 'boolean + :version "30.1") + (defun context-menu-map (&optional click) "Return menu map constructed for context near mouse CLICK. The menu is populated by calling functions from `context-menu-functions'. @@ -426,6 +431,9 @@ context-menu-map (unless (eq (selected-window) window) (select-window window)) + (when context-menu-move-point + (goto-char (posn-point (event-start click)))) + (if (functionp fun) (setq menu (funcall fun menu click)) (run-hook-wrapped 'context-menu-functions ```