From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.bugs Subject: bug#56258: Changing major-mode with mouse event Date: Tue, 28 Jun 2022 14:50:16 +0200 Message-ID: <87czetq7ef.fsf@gnus.org> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22560"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: carlmarcos@tutanota.com, 56258@debbugs.gnu.org To: Phil Sainty Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jun 28 14:52:07 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1o6AhJ-0005RO-C6 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 28 Jun 2022 14:52:05 +0200 Original-Received: from localhost ([::1]:55042 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o6AhI-0006Vw-7V for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 28 Jun 2022 08:52:04 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38860) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o6AgJ-0005Wd-QE for bug-gnu-emacs@gnu.org; Tue, 28 Jun 2022 08:51:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:60343) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o6AgI-00044m-AI for bug-gnu-emacs@gnu.org; Tue, 28 Jun 2022 08:51:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1o6AgI-0003C0-6h for bug-gnu-emacs@gnu.org; Tue, 28 Jun 2022 08:51:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 28 Jun 2022 12:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56258 X-GNU-PR-Package: emacs Original-Received: via spool by 56258-submit@debbugs.gnu.org id=B56258.165642066112265 (code B ref 56258); Tue, 28 Jun 2022 12:51:02 +0000 Original-Received: (at 56258) by debbugs.gnu.org; 28 Jun 2022 12:51:01 +0000 Original-Received: from localhost ([127.0.0.1]:54240 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o6AgG-0003Bk-Kw for submit@debbugs.gnu.org; Tue, 28 Jun 2022 08:51:01 -0400 Original-Received: from quimby.gnus.org ([95.216.78.240]:48240) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o6AgA-0003BR-1N for 56258@debbugs.gnu.org; Tue, 28 Jun 2022 08:50:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=nyAXqfSkbNxeq7SduTrzbqX0Fgxig9fK/cZmOC4ThEQ=; b=UcAa2evgYHr6lmaSAfihQcO0FD mKZXFHVxopgYHXJyX5lhQOhU8whz5LPQ7iklTkt/R81pdk6xDdUMei0aBlFJAyaCoi81m7Rz88wH6 Wr52yCTeJXRLaZaLKi4AMMxK7RRohz3lzhHLaKvyjVoO2rEUAzE919NLMx9Bkn3UeZOY=; Original-Received: from [84.212.220.105] (helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o6Afd-0002Cr-TW; Tue, 28 Jun 2022 14:50:27 +0200 X-Now-Playing: umru & Laura Les's _PC Music Volume 3_: "popular" In-Reply-To: (Phil Sainty's message of "Tue, 28 Jun 2022 09:08:27 +1200") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:235536 Archived-At: Phil Sainty writes: > Major modes would need to be identifiable as such in order to > provide the menu you propose, and I don't believe there's a reliable > way to do that at present for all major modes. > > We can identify major modes defined with `define-derived-mode' > however, as all such modes have a `derived-mode-parent' property; > and that does cover the majority. Yes, it should be possible to provide a command to allow you to choose between modes. But I think having something like that callable from the mode line would be of limited value, but perhaps not? The reason is that we just have So Many Modes -- over 500, at least, so discovering modes via a menu would be cumbersome. > p.s. Tangentially, I think it would be good if all symbols for both > major and minor modes had (or rather, were expected to have) symbol > properties to explicitly identify which type of mode they are, > including differentiation between the various minor mode types > (buffer-local, global, and 'globalized' pairings), as I think there > would be other uses for being able to query the available modes. Yes, that might be nice if you want to explore "what are the major modes I can possibly use here?". We almost kinda sorta have that. All minor modes should be defined via define-minor-mode now, and that updates the global-minor-modes and local-minor-mode variables. So all mode functions that aren't there are major modes, so we could use heuristics to get us pretty far (along with `derived-mode-parent'). However, we do have functions that end with -mode that aren't modes. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no