From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#46627: [PATCH] Add new help command 'describe-command' Date: Sun, 28 Feb 2021 23:40:06 +0200 Message-ID: <30bc14e5-febb-aab1-410b-5a56f9fe1843@yandex.ru> References: <835z2o4fes.fsf@gnu.org> <83k0r1xwyy.fsf@gnu.org> <83blcdxqzy.fsf@gnu.org> <831rd9xox5.fsf@gnu.org> <3801b6be-dd65-c256-6c57-52894fad2b12@yandex.ru> <83pn0tw564.fsf@gnu.org> <83k0r0w2q5.fsf@gnu.org> <83v9acm7bk.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5270"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 Cc: larsi@gnus.org, stefan@marxist.se, rms@gnu.org, 46627@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Feb 28 22:45:49 2021 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 1lGTsr-0001Hn-L5 for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 28 Feb 2021 22:45:49 +0100 Original-Received: from localhost ([::1]:42270 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lGTsq-00050K-LB for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 28 Feb 2021 16:45:48 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53540) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lGToE-00037g-2e for bug-gnu-emacs@gnu.org; Sun, 28 Feb 2021 16:41:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:35811) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lGToD-0003wZ-QZ for bug-gnu-emacs@gnu.org; Sun, 28 Feb 2021 16:41:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lGToD-0000wZ-Mv for bug-gnu-emacs@gnu.org; Sun, 28 Feb 2021 16:41:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 28 Feb 2021 21:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46627 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 46627-submit@debbugs.gnu.org id=B46627.16145484213569 (code B ref 46627); Sun, 28 Feb 2021 21:41:01 +0000 Original-Received: (at 46627) by debbugs.gnu.org; 28 Feb 2021 21:40:21 +0000 Original-Received: from localhost ([127.0.0.1]:47357 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGTnZ-0000vV-9i for submit@debbugs.gnu.org; Sun, 28 Feb 2021 16:40:21 -0500 Original-Received: from mail-wr1-f50.google.com ([209.85.221.50]:37168) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGTnX-0000vG-JK for 46627@debbugs.gnu.org; Sun, 28 Feb 2021 16:40:20 -0500 Original-Received: by mail-wr1-f50.google.com with SMTP id v15so14072864wrx.4 for <46627@debbugs.gnu.org>; Sun, 28 Feb 2021 13:40:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=T7opMedkjAO3pR17ZMvI8XSrKWlq9DG2fz/YJW4+nQk=; b=IcYuwEu7kJYMb/OJqzPaONzY/qEgHFh9xytkZMA1YNA2kkSBpfQrbjg6oSJxAmZnxT ds9cTFRLVLuY1mCV4NyIXK9ASgrzp6Qw09vJ/Riqh6BK+Xx7VcoYPdOHOxD1+fGMDc1P QwMbkXFp3sv+LhdQUFaDDCb3O1QV7Gxo1WD7QLkxv2PIozXxj8UE5yLOuYdV9VXlGQ8A DbhVy8c8/4BtDnz2dp9hls7X4h/JqLo6gNnBUcUXkvh9FA52fnr05HN665nEcZJ6ECLF l0tG3huqjkvRGmxVM5B41OsaYmZ+zbk0/vrPQmW1NIhYNqbPO5A5zhJO5GRUPjB64c/3 rILQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=T7opMedkjAO3pR17ZMvI8XSrKWlq9DG2fz/YJW4+nQk=; b=euHYfmT1Rv6fFVrzUtLYK8283y992xchm8q3KT//T/neDT5FF0vyEO9CPGgi8wAgAr CIH7wQNdSCYAhU4F1DN4JCWIbMaghewk+hXM2cuMCSAqg6dADTvdR6kZLrRtJby2cMvs A+WMHBgAHBVwqDMA9yzeSg8UXWoaZRkbtLqjRJbBGTe34QyODTvvCFU3kDf072uGsbPR bZisnBvQh3rrvqGqxIO0TaM3baD9UDxDUPbaqbhzqepIXtPg7wvmhLIdOitMYOD5Sbc7 q/VRuL+Sij6oGOTiiUPppGsolIy3C7Owt4UkQlCGDYWklmBry1z0SFd7p5474ZBqaUaQ JOQg== X-Gm-Message-State: AOAM530RH1cf5dSV4yPGIPiYc/6Kqvr81wuLB8Ck4OdSQkY3WENzdF9U Z8T3o62w5Tk+f0zhiL3PhwcVb+1MNxI= X-Google-Smtp-Source: ABdhPJxl0paJFdypvArp2zGs0k0ftY792mu5FG/vV7sQ5N3hsvXf6Yc3GNX3LXe1kqhXPjOgIZeuhw== X-Received: by 2002:a05:6000:245:: with SMTP id m5mr12757841wrz.284.1614548413567; Sun, 28 Feb 2021 13:40:13 -0800 (PST) Original-Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id u4sm14850024wrm.24.2021.02.28.13.40.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 28 Feb 2021 13:40:12 -0800 (PST) In-Reply-To: <83v9acm7bk.fsf@gnu.org> Content-Language: en-US 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:201030 Archived-At: On 28.02.2021 19:27, Eli Zaretskii wrote: >>> We are not ignoring the current practices. We are saying that people >>> who want their discovery based on completion will find the solution in >>> the completion alternatives we have already in Emacs, and if that >>> still doesn't fit the bill, in the 3rd-party packages out there. >> >> Do you have in mind some particular "completion alternative we have >> already" for 'describe-command'? > > icomplete.el, completion.el, pcomplete.el, and the non-default styles > in completion-styles-alist come to mind. All of these (with possible exception of completion.el, which I'm not familiar with) determine how completions are shown and/or how matching is performed, but the total set of completions (completion table) is determined by the command the user invokes. So they don't include anything that looks like a replacement for 'describe-command'. But when there is a standard command with a good completion table, they indeed can enhance the user experience. There are packages which create new commands (and might even have something similar to describe-command), but they are usually tied to a particular completion framework. >>> I >>> think Emacs provides, and will continue providing, ample >>> infrastructure for such extensions, and that's enough, IMO. There's >>> no reason we should feel obliged to develop these features in Emacs. >>> We will never be able to satisfy everyone there anyway. >> >> I believe the argument is that we can improve the default experience by >> enacting some minor changes which correspond to what we know about how >> users discover new commands (or functions) or remember existing ones. >> And do that without pulling in major new functionality or features from >> third-party packages (which goes against the "lean core" concept which >> you probably know I prefer). > > This loses the context. Minor improvements were not the issue I > raised, the issue was the perceived attempt to build a significant > discovery framework based on completion. "Significant discovery framework" is something very ill-defined. From where I'm standing, function and variable discovery based on completion is already in Emacs, and we sometimes provide minor fixes and improvement for it (such as this command). Sometimes we do request major changes that would help it as well... >> There were also suggestions for admittedly more invasive changes (like >> doing a bunch of renames in the standard library) which seem to have all >> been rejected by the leadership. I understand the reluctance to change >> things, but the argument about Emacs's extensibility and the 3rd party >> ecosystem wouldn't apply to it either because no matter how convenient >> and slick an external package might make completion experience, if the >> functions are irregularly named, that will remain a problem anyway. > > How is this relevant to the issue at hand? ...and see them thoroughly rejected. So I think this is relevant. But we might be talking about different things. >> So you might disagree on whether this feature is important. But I hope >> you can see how some aspects of the "whole new discovery framework" >> (which I'm saying isn't new) cannot be effectively enacted by 3rd party >> code without help from us here. > > I have nothing against providing infrastructure for more sophisticated > completion, I was talking only about adding new commands which aim to > provide discovery based on completion, But which otherwise duplicate existing commands? This is a valid concern, but I don't think we'll get a lot of them. > or extend existing > completion-related commands with the goal of providing discovery > through them. Do you mean like extensions of the completion-at-point interface with that aim? I'm curious about possibilities, but so far we haven't really discussed them here.