emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help sought understanding shorthands wrt modules/packages


From: João Távora
Subject: Re: Help sought understanding shorthands wrt modules/packages
Date: Tue, 08 Nov 2022 15:40:28 +0000
User-agent: Gnus/5.13 (Gnus v5.13)

Gerd Möllmann <gerd.moellmann@gmail.com> writes:

> What I meant was using shorthands as the basis for a general mechanism
> that somehow solves a "problem" that other languages use modules for.

We're in violent agreement here.  Shorthands are not a general mechanism
for doing that, nor was it ever their purpose when I proposed them.

> I mean, a design, or at least what I understand under a design, should
> have at least briefly considered things like Eldoc, xref, completions,
> and what else there is.

But shorthands _do_ work with ElDoc, Xref, and completions, and likely
anything that uses standard mechanisms to get the Elisp symbol at point.
xref-find-definition (the M-. shortcut) works.  The only main thing that
I know of that doesn't work is xref-find-references, the C-? shortcut.
And that's because the underlying backend for Elisp is based on... you
guessed it, grep!  See

   (cl-defmethod semantic-symref-perform-search ((tool 
semantic-symref-tool-grep))

Also note that shorthands are not the only thing that "break grep",
undermining such naive xref-find-references backends.  Symbol
indirection techniques such as (intern (format ...)) as found in
e.g. xref-create-fetcher of xref.el are just as problematic.

> I didn't see/hear this, and it only slowly comes up and generates "we
> could do this or that".

The only thing that remains to be done in shorthands is the
xref-find-references support.  Do you have that bit covered in your CL
packages branch?  I didn't check, but last I investigated, and saw
real-world implementations of cross-referencing systems (in SBCL and
Allegro CL), they were workable but not perfect either.

> TBH, that reminds me a bit of Greenspun's tenth. But anyways, the ship
> has sailed.

Maybe. Ultimately, Greenspun and CL are misunderstood sailors at heart,
but it shouldn't stop us from reaching for that boat.  So I commend you
for this work on CL packages, and hope you keep pushing it.  If you want
to discuss integration with other Emacs's facilities am I familiar with
(ElDoc, completions, xref backend ideas), feel free to reach out.

João



reply via email to

[Prev in Thread] Current Thread [Next in Thread]