From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: Smarter M-x that filters on major-mode Date: Mon, 15 Feb 2021 15:15:47 +0000 Message-ID: References: <87o8goryuj.fsf@gnus.org> <87y2fqepza.fsf_-_@gnus.org> <87pn12u3x8.fsf@tcd.ie> <87h7meenj0.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14864"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "Basil L. Contovounesios" , Lars Ingebrigtsen , emacs-devel@gnu.org To: Stefan Kangas Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Feb 15 16:21:57 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 1lBfhE-0003kR-ID for ged-emacs-devel@m.gmane-mx.org; Mon, 15 Feb 2021 16:21:56 +0100 Original-Received: from localhost ([::1]:56904 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lBfhD-0001IC-HH for ged-emacs-devel@m.gmane-mx.org; Mon, 15 Feb 2021 10:21:55 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59364) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lBfbO-00055y-U9 for emacs-devel@gnu.org; Mon, 15 Feb 2021 10:15:54 -0500 Original-Received: from colin.muc.de ([193.149.48.1]:34931 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.90_1) (envelope-from ) id 1lBfbM-0006p6-IQ for emacs-devel@gnu.org; Mon, 15 Feb 2021 10:15:54 -0500 Original-Received: (qmail 43743 invoked by uid 3782); 15 Feb 2021 15:15:48 -0000 Original-Received: from acm.muc.de (p4fe15ca1.dip0.t-ipconnect.de [79.225.92.161]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Mon, 15 Feb 2021 16:15:47 +0100 Original-Received: (qmail 7848 invoked by uid 1000); 15 Feb 2021 15:15:47 -0000 Content-Disposition: inline In-Reply-To: X-Submission-Agent: TMDA/1.3.x (Ph3nix) X-Primary-Address: acm@muc.de Received-SPF: pass client-ip=193.149.48.1; envelope-from=acm@muc.de; helo=mail.muc.de 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, 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:264849 Archived-At: Hello, Stefan. On Sun, Feb 14, 2021 at 17:33:30 -0600, Stefan Kangas wrote: > Alan Mackenzie writes: > >> - This is a clean and natural expansion of `interactive'. > > How can you say this? The new stuff going into `interactive' has > > nothing to do with its current function. See above. Please answer this > > point. > Well, what is `interactive'? According to the ELisp Manual: > -- Special Form: interactive arg-descriptor > This special form declares that a function is a command, and that > it may therefore be called interactively (via ‘M-x’ or by entering > a key sequence bound to it). > So `interactive' is exactly about showing it on `M-x'. Now we add an > extension to that which says _in which modes_ `M-x' will show it (by > default). That feels very natural to me. No, it's not about "showing" the command. It's about executing it. Surely you see there's a difference, a substantial difference, between searching for a command, or choosing one, and then executing it? At the very least, the new stuff proposed for `interactive' is MUCH more loosely connected with the current stuff, than the current stuff with itself. I would further say that the new stuff for `interactive' isn't anything to do the the command it's going into - it's to do with that command's relationship with other entities. So this change to `interactive' is suboptimal from a software engineering viewpoint - when these relationships change, lots of functions will need changing rather than just the forms expressing those relationships. I'm worried that Lars hasn't chosen to answer my post from yesterday afternoon, and that he may be ploughing ahead with this, despite the reservations expressed by several people. Just to be entirely clear, I'm in favour of this new functionality for M-x (provided, of course, that it is optional). But the degree of disruption caused to Emacs by the proposed way of implementation seems quite out of proportion to what will be gained, and also seems quite unnecessary. > >> - I'm not sure what it means to turn things upside down. > > Sorry, that's a bit of English idiom. It means moving things around > > a lot, changing lots of things, usually with the implication that > > the result won't have justified the extent of the required effort. > OK, that is approximately what I understood. But I put it in a bit > more blunt language that you did not intend to use. I apologize if > this misrepresented your position, as that was not my intention. No problem! If I use idiomatic English, I shouldn't expect it to be understood all the time. -- Alan Mackenzie (Nuremberg, Germany).