all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "João Távora" <joaotavora@gmail.com>
To: Dmitry Gutov <dgutov@yandex.ru>, emacs-devel <emacs-devel@gnu.org>
Subject: Use elisp--xref-backend in *Apropos* and *Help* (Was Re: [ELPA] New package: transient)
Date: Sat, 2 May 2020 12:09:36 +0100	[thread overview]
Message-ID: <CALDnm51K_-pr3-MXaaqRHKP75fpF-m+JwcMfp2k6g2st-5B0Fw@mail.gmail.com> (raw)
In-Reply-To: <CAGK7Mr6BCra2zVkeQJbi-BinGeUmaqaHgOU9gDdSRGTE6Z6DZQ@mail.gmail.com>

Since we're on the subject of Elisp development help, can we restart the
discussion on how to get the `elisp--xref-backend` activated in *Apropos*
and help?  The default `etags--xref-backend` isn't very useful there.  Plus,
when one is used to M-. and M-, it's a little strange to have to switch to C-h o
to follow the very commonly occurring references to symbols.

I recall correctly, we had already settles that it's a decently good idea,
but we ran into some loading precedence problem and the effort stalled.
Is that the right recollection?  It doesn't seem to make a lot of sense,
since all we apparently need is `add-hook`.

Anyway, it can be argued that `elisp--xref-backend` isn't the _best_ choice
for those buffers, and that we should be taking the user to say, the manual
when searching from those places.  Or maybe, the `elisp--xref-backend` could
also collect matches from the manual, why not?

Thanks,
João

On Sat, May 2, 2020 at 11:57 AM Philippe Vaucher
<philippe.vaucher@gmail.com> wrote:
>>
>> > My original use case is: I want to copy an association list, I know the function will probably have "copy" in its
>> > name and "alist", let's C-h f for "alist TAB" and fail because no results. Start again with "copy TAB" and filter
>> > the lots of "copy-*" function until I find copy-alist.
>>
>> "C-u C-h a copy alist RET" finds that function as the single hit.  As
>> does "C-u C-h a alist copy RET".
>
>
> Right, that works well. Thanks. It's not the most obvious keybinding but "C-h d copy alist" also works.
>
>
>>
>> > Now imagine if this particual function was named "asscpy"
>> > instead how frustrated I'd be :-)
>>
>> You will be frustrated because you use the wrong command.  "C-h f" is
>> not your friend unless you have a very good idea of the function's
>> name.  That's why "apropos" family of commands were invented: to help
>> you find something you don't know by name.  There's a best tool for
>> each job, and "C-h f" is not a good tool for this job.
>>
>> But I already said that, several times.  And since you still disagree,
>> then I must insist that my response to Richard was spot-on: he asked
>> why doesn't "C-h d" do the job, and my response was, in a nutshell,
>> that what "C-h d" does is not relevant for you and other users who
>> think and are accustomed to work like you do.  You disagreed with my
>> conclusion, but we now made one more full circle, and established that
>> my conclusion was correct after all.
>
>
> I think we are mixing two concepts here. To search for a single function, where you already know the keywords, yes "C-h d" works. To get a curated list of the API of a topic, not so much. Because my examples mix both finding a specific function and getting the curated list, I guess we were each talking about the specific function example and I want talking about the curated list.
>
> I still think "C-h d alist", because it does not give me assq and assoc is not doing a good job.
>
> Because alist is controversial let's take "C-h d regexp match": it does not give me string-match nor match-string. If I search for "regex match" then I find match-string.
>
> But overall I understand your point better now, you are not supposed to use "C-h d" to get a curated list of the api of a topic, it's just to find a single function. For that I agree it's a good tool.
>
>
>>
>> > Also imagine how self-documenting and self-discoverable Emacs Lisp would
>> > be if things where properly namespaced, like we ask for all packages to be on MELPA/ELPA and friends.
>>
>> I'm not objected to have aliases that would make it easier to find out
>> the function's name using simple completion, but I think you greatly
>> overestimate the usefulness of that in many practical situations.
>> Meanwhile there are existing features designed specifically for these
>> use cases, which do their job much more efficiently _today_, and you
>> choose to disregard them or treat them as second-class citizens.  I
>> think it's a mistake, but I can only make suggestions and point out
>> that those features do exist.
>
>
> I'm still not very satisfied about the tools you showed for listing an overview of the API to manipulate regexp, or files, or processes (etc). What you are basically saying is that wanting to have this overview is overrated, but for me it helps me understand the landscape of how the API works and is designed. What functions would be available should I need them in the future, what parts is missing, etc.
>
> For now the only tool I have is the manual page with "M-x keep-lines -- function".
>
>
>>
>> > As said earlier, probably that my way of thinking is not common around here, but I'd not be surprised if it was
>> > common for many developpers, maybe outside Emacs Lisp.
>>
>> My earnest advice for those developers is to try the features I
>> mentioned, they might find them useful in situations similar to the
>> one you described, and they might then decide to use them more than
>> what they do today.
>
>
> I'll certainly start to use it more.
>
> Thanks,
> Philippe



-- 
João Távora



  parent reply	other threads:[~2020-05-02 11:09 UTC|newest]

Thread overview: 234+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-28 13:01 [ELPA] New package: transient Jonas Bernoulli
     [not found] ` <jwv4kt3d1r8.fsf-monnier+emacs@gnu.org>
     [not found]   ` <87v9ljo5d0.fsf@bernoul.li>
     [not found]     ` <jwvh7x3bfoe.fsf-monnier+emacs@gnu.org>
     [not found]       ` <87ftcnxu5m.fsf@bernoul.li>
2020-04-29  8:29         ` Philippe Vaucher
2020-04-29  9:26           ` Eli Zaretskii
2020-04-29  9:50             ` Philippe Vaucher
2020-04-29 10:05               ` Eli Zaretskii
2020-04-29 10:17                 ` tomas
2020-04-29 10:33                   ` Eli Zaretskii
2020-04-29 10:52                     ` tomas
2020-04-30 12:44                       ` Arthur Miller
2020-04-30 13:28                         ` tomas
2020-04-30 14:26                           ` Namespacing Emacs's core (was: [ELPA] New package: transient) Stefan Monnier
2020-04-30 15:08                             ` tomas
2020-04-30 18:23                             ` Philippe Vaucher
2020-04-30 18:56                               ` Philippe Vaucher
2020-04-30 19:02                                 ` tomas
2020-04-30  2:30                   ` [ELPA] New package: transient Richard Stallman
2020-05-01  2:49                     ` Richard Stallman
2020-05-01  6:33                       ` Eli Zaretskii
2020-05-02  2:24                         ` Richard Stallman
2020-05-02  7:04                           ` Eli Zaretskii
2020-05-02  8:09                             ` Philippe Vaucher
2020-05-02  9:05                               ` Eli Zaretskii
2020-05-02  9:19                                 ` Eli Zaretskii
2020-05-02 10:11                                   ` Philippe Vaucher
2020-05-02 10:33                                     ` Eli Zaretskii
2020-05-02 10:56                                       ` Philippe Vaucher
2020-05-02 10:59                                         ` Philippe Vaucher
2020-05-02 11:09                                         ` João Távora [this message]
2020-05-02 14:03                                           ` Use elisp--xref-backend in *Apropos* and *Help* (Was Re: [ELPA] New package: transient) Stefan Monnier
2020-05-03  2:08                                           ` Dmitry Gutov
2020-05-02 11:22                                         ` [ELPA] New package: transient Eli Zaretskii
2020-05-02 11:52                                           ` Philippe Vaucher
2020-05-02 12:08                                             ` Eli Zaretskii
2020-05-02 12:09                                           ` 조성빈
2020-05-02 12:14                                             ` Eli Zaretskii
2020-05-02 12:22                                               ` 조성빈
2020-05-02 12:54                                                 ` Eli Zaretskii
2020-05-02 17:33                                     ` Drew Adams
2020-05-04  3:07                                       ` Richard Stallman
2020-05-04 16:04                                         ` Drew Adams
2020-05-02  9:53                                 ` Philippe Vaucher
2020-05-02 10:39                                   ` João Távora
2020-05-02 11:10                                     ` Philippe Vaucher
2020-05-02 11:17                                       ` João Távora
2020-05-02 11:39                                         ` Philippe Vaucher
2020-05-02 12:02                                           ` João Távora
2020-05-02 12:11                                             ` 조성빈
2020-05-02 12:20                                               ` João Távora
2020-05-02 12:36                                                 ` 조성빈
2020-05-02 12:59                                                   ` João Távora
2020-05-02 13:02                                                   ` Eli Zaretskii
2020-05-02 13:12                                                     ` João Távora
2020-05-02 12:28                                               ` tomas
2020-05-02 12:22                                           ` tomas
2020-05-03  3:43                                           ` Richard Stallman
2020-05-03  4:24                                             ` Stefan Monnier
2020-05-04  3:08                                               ` Richard Stallman
2020-05-02 17:48                                         ` Drew Adams
2020-05-02 14:50                                     ` Dmitry Gutov
2020-05-02 14:57                                       ` João Távora
2020-05-02 17:42                                     ` Drew Adams
2020-05-02 10:54                                   ` Eli Zaretskii
2020-05-02 11:47                                     ` Philippe Vaucher
2020-05-02 12:04                                       ` Eli Zaretskii
2020-05-02 14:56                                     ` Dmitry Gutov
2020-05-02 15:37                                       ` Eli Zaretskii
2020-05-02 15:51                                         ` Dmitry Gutov
2020-05-02 16:09                                           ` Eli Zaretskii
2020-05-02 13:59                                 ` Stefan Monnier
2020-05-02 14:10                                   ` Philippe Vaucher
2020-05-02 14:12                                   ` Eli Zaretskii
2020-05-02 14:26                                     ` Philippe Vaucher
2020-05-02 15:29                                       ` Eli Zaretskii
2020-05-02 15:43                                         ` Philippe Vaucher
2020-05-02 16:05                                           ` Eli Zaretskii
2020-05-02 16:12                                             ` Philippe Vaucher
2020-05-02 16:26                                               ` Eli Zaretskii
2020-05-02 16:42                                                 ` Philippe Vaucher
2020-05-02 18:27                                       ` Drew Adams
2020-05-03  3:43                                       ` Richard Stallman
2020-05-03  7:47                                         ` Philippe Vaucher
2020-05-03 19:46                                           ` Drew Adams
2020-05-03 21:18                                             ` Stefan Monnier
2020-05-03 22:04                                               ` João Távora
2020-05-04  0:41                                               ` Drew Adams
2020-05-04  3:09                                           ` Richard Stallman
2020-05-02 16:48                                     ` Stefan Monnier
2020-05-02 17:17                                       ` Eli Zaretskii
2020-05-02 18:10                                         ` 조성빈
2020-05-02 18:30                                           ` Eli Zaretskii
2020-05-02 18:37                                             ` 조성빈
2020-05-02 18:45                                               ` Eli Zaretskii
2020-05-02 19:12                                                 ` 조성빈
2020-05-02 19:44                                               ` Drew Adams
2020-05-02 18:32                                           ` Yuan Fu
2020-05-02 20:41                                             ` Stefan Monnier
2020-05-02 20:39                                         ` Stefan Monnier
2020-05-02 21:00                                           ` João Távora
2020-05-02 21:53                                             ` Drew Adams
2020-05-02 22:13                                               ` João Távora
2020-05-04  3:07                                             ` Richard Stallman
2020-05-02 21:27                                           ` Philippe Vaucher
2020-05-03 14:45                                           ` Eli Zaretskii
2020-05-03 15:03                                             ` João Távora
2020-05-03 15:11                                               ` Joost Kremers
2020-05-03 15:28                                               ` C-h f and C-h v (was: [ELPA] New package: transient) Stefan Monnier
2020-05-03 17:41                                                 ` João Távora
2020-05-03 17:44                                                   ` João Távora
2020-05-03 16:21                                               ` [ELPA] New package: transient Eli Zaretskii
2020-05-03 15:17                                             ` Stefan Monnier
2020-05-03 16:32                                               ` Eli Zaretskii
2020-05-03 21:13                                                 ` Stefan Monnier
2020-05-04 13:52                                                   ` Eli Zaretskii
2020-05-04 15:14                                                     ` Stefan Monnier
2020-05-04 15:55                                                       ` Eli Zaretskii
2020-05-04 18:41                                                         ` Stefan Monnier
2020-05-04 18:58                                                           ` Eli Zaretskii
2020-05-03 16:23                                             ` Dmitry Gutov
2020-05-03 16:47                                               ` Eli Zaretskii
2020-05-03 17:04                                                 ` Dmitry Gutov
2020-05-03 17:29                                                   ` Eli Zaretskii
2020-05-03 17:42                                                     ` Dmitry Gutov
2020-05-03 18:58                                                       ` Eli Zaretskii
2020-05-04  0:04                                                         ` Dmitry Gutov
2020-05-03 19:49                                                       ` João Távora
2020-05-03 23:47                                                         ` Dmitry Gutov
2020-05-04  1:01                                                           ` João Távora
2020-05-04  1:28                                                             ` Dmitry Gutov
2020-05-04 18:05                                                               ` João Távora
2020-05-04 14:24                                                             ` Eli Zaretskii
2020-05-04 15:23                                                               ` Stefan Monnier
2020-05-04 16:00                                                                 ` Eli Zaretskii
2020-05-04 17:31                                                               ` Drew Adams
2020-05-04  1:13                                                     ` Jean-Christophe Helary
2020-05-04 14:22                                                       ` Eli Zaretskii
2020-05-05  8:23                                                         ` Jean-Christophe Helary
2020-05-05 14:48                                                           ` Eli Zaretskii
2020-05-05 15:39                                                             ` Jean-Christophe Helary
2020-05-05 16:13                                                               ` Eli Zaretskii
2020-05-05 16:33                                                                 ` Jean-Christophe Helary
2020-05-05 15:44                                                             ` Jean-Christophe Helary
2020-05-05 16:15                                                               ` Eli Zaretskii
2020-05-05 16:40                                                                 ` Jean-Christophe Helary
2020-05-05  8:27                                                         ` Jean-Christophe Helary
2020-05-03 21:04                                                 ` Stefan Monnier
2020-05-04 13:51                                                   ` Eli Zaretskii
2020-05-03 16:50                                               ` João Távora
2020-05-03 16:54                                                 ` Eli Zaretskii
2020-05-03 17:43                                                   ` João Távora
2020-05-04  3:08                                                 ` Richard Stallman
2020-05-02 18:57                                       ` Drew Adams
2020-05-02 19:15                                         ` 조성빈
2020-05-02 19:59                                           ` Drew Adams
2020-05-02 20:47                                         ` Stefan Monnier
2020-05-02 14:22                                   ` João Távora
2020-04-29 13:12                 ` Philippe Vaucher
2020-04-29 13:42                   ` tomas
2020-04-29 13:50                     ` Philippe Vaucher
2020-04-29 17:03                       ` Robert Pluim
2020-04-29 19:25                         ` Philippe Vaucher
2020-04-29 17:51                       ` Clément Pit-Claudel
2020-04-29 19:24                         ` Philippe Vaucher
2020-04-29 13:53                     ` Stefan Kangas
2020-04-29 14:01                       ` tomas
2020-04-29 14:20                   ` Eli Zaretskii
2020-04-29 15:25                     ` Philippe Vaucher
2020-04-30 18:13                       ` Dmitry Gutov
2020-04-30 18:19                         ` Philippe Vaucher
2020-04-30 18:41                           ` Dmitry Gutov
2020-04-30 19:26                             ` Philippe Vaucher
2020-04-30 19:34                               ` Philippe Vaucher
2020-04-30 22:47                                 ` Dmitry Gutov
2020-04-30 22:20                               ` Dmitry Gutov
2020-05-01  3:13                                 ` Stefan Monnier
2020-05-01  3:15                                 ` Stefan Monnier
2020-05-01 15:36                                   ` Dmitry Gutov
2020-05-01 16:05                                     ` Philippe Vaucher
2020-05-02  2:27                               ` Richard Stallman
2020-05-02  7:07                                 ` Eli Zaretskii
2020-05-02  8:06                                 ` Philippe Vaucher
2020-05-02 17:08                                   ` Drew Adams
2020-04-30 19:31                             ` Stefan Monnier
2020-04-29 17:27                   ` Alan Mackenzie
2020-04-29 19:01                     ` tomas
2020-04-29 19:31                     ` Philippe Vaucher
2020-04-30 11:51                       ` Alan Mackenzie
2020-04-30 12:38                         ` tomas
2020-04-30 17:30                           ` Dmitry Gutov
2020-04-30 17:53                             ` Philippe Vaucher
2020-04-30 18:42                               ` tomas
2020-04-30 18:41                             ` tomas
2020-04-30 18:14                           ` Philippe Vaucher
2020-04-30 18:58                             ` tomas
2020-04-30 19:13                               ` Philippe Vaucher
2020-04-30 19:33                                 ` tomas
2020-04-30 20:54                                 ` Alan Mackenzie
2020-04-30 22:46                                   ` chad
2020-05-02  2:27                                     ` Richard Stallman
2020-05-01  8:23                                   ` Philippe Vaucher
2020-05-02  2:24                                   ` Richard Stallman
2020-04-30 22:04                               ` Keeping it kind Clément Pit-Claudel
2020-05-01  7:17                                 ` tomas
2020-05-01  8:31                                 ` Philippe Vaucher
2020-05-02  2:24                                   ` Richard Stallman
2020-05-02  2:27                                 ` Richard Stallman
2020-05-01  2:51                       ` [ELPA] New package: transient Richard Stallman
2020-04-29 20:02                     ` Clément Pit-Claudel
2020-04-30  1:08                     ` Stefan Monnier
2020-04-29 13:19                 ` Philippe Vaucher
2020-04-29 14:28                   ` Eli Zaretskii
2020-04-29 14:51                     ` Eli Zaretskii
2020-04-30  2:28                   ` Richard Stallman
2020-04-29 13:32               ` Stefan Monnier
2020-04-29 13:43                 ` Philippe Vaucher
2020-04-29 14:17                 ` Yuan Fu
2020-04-29 14:19                   ` Yuan Fu
2020-04-30  2:28                   ` Richard Stallman
2020-04-29 15:31                 ` Eli Zaretskii
2020-04-29 15:48                   ` Stefan Monnier
2020-04-29 16:05                     ` Drew Adams
2020-05-01 17:38                 ` João Távora
2020-05-01 18:03                   ` Stefan Monnier
2020-04-30  2:30               ` Richard Stallman
2020-04-29 14:56           ` Drew Adams
2020-04-29 12:52         ` Adam Porter
2020-04-30  2:29 ` Richard Stallman
2020-04-30 10:50   ` Phil Sainty
2020-05-01  2:52     ` Richard Stallman
2020-05-01  5:36       ` Phil Sainty
2020-05-02  2:25         ` Richard Stallman
2020-05-02  2:30           ` T.V Raman
2020-05-01 10:40       ` Kévin Le Gouguec
2020-05-01 15:16         ` Clément Pit-Claudel
2020-05-02  2:24           ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CALDnm51K_-pr3-MXaaqRHKP75fpF-m+JwcMfp2k6g2st-5B0Fw@mail.gmail.com \
    --to=joaotavora@gmail.com \
    --cc=dgutov@yandex.ru \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.