From: "João Távora" <joaotavora@gmail.com>
To: "Gerd Möllmann" <gerd.moellmann@gmail.com>
Cc: Richard Stallman <rms@gnu.org>, Andrea Corallo <akrl@sdf.org>,
Eli Zaretskii <eliz@gnu.org>, emacs-devel <emacs-devel@gnu.org>
Subject: Re: Help sought understanding shorthands wrt modules/packages
Date: Tue, 08 Nov 2022 15:40:28 +0000 [thread overview]
Message-ID: <87pmdxa1zn.fsf@gmail.com> (raw)
In-Reply-To: <c91130bd-421d-e596-99c2-cf379391c639@gmail.com> ("Gerd Möllmann"'s message of "Tue, 8 Nov 2022 11:35:59 +0100")
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
next prev parent reply other threads:[~2022-11-08 15:40 UTC|newest]
Thread overview: 125+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-30 6:45 Help sought understanding shorthands wrt modules/packages Gerd Möllmann
2022-10-30 8:38 ` tomas
2022-10-30 8:54 ` Eli Zaretskii
2022-10-30 9:14 ` tomas
2022-10-30 10:26 ` Gerd Möllmann
2022-10-30 10:52 ` Eli Zaretskii
2022-10-30 11:24 ` Is there a need for a module system Gerd Möllmann
2022-10-30 11:38 ` Eli Zaretskii
2022-10-30 14:03 ` Gerd Möllmann
2022-10-30 10:40 ` Help sought understanding shorthands wrt modules/packages Eli Zaretskii
2022-10-30 11:06 ` tomas
2022-10-30 11:19 ` Eli Zaretskii
2022-10-30 12:50 ` Stefan Monnier
2022-10-30 13:48 ` Gerd Möllmann
2022-10-30 14:25 ` Stefan Monnier
2022-10-31 6:31 ` Gerd Möllmann
2022-10-30 20:16 ` Helmut Eller
2022-10-31 6:27 ` Gerd Möllmann
2022-10-31 12:13 ` Juanma Barranquero
2022-10-31 12:57 ` Gerd Möllmann
2022-10-31 13:38 ` Juanma Barranquero
2022-10-31 19:53 ` Stefan Monnier
2022-11-11 4:35 ` Richard Stallman
2022-11-11 9:33 ` Gerd Möllmann
2022-11-13 4:17 ` Richard Stallman
2022-11-13 6:41 ` Gerd Möllmann
2022-11-03 3:17 ` Richard Stallman
2022-11-03 8:12 ` Michael Albinus
2022-11-03 3:17 ` Richard Stallman
2022-11-03 5:33 ` Gerd Möllmann
2022-11-03 3:17 ` Richard Stallman
2022-11-03 8:46 ` Eli Zaretskii
2022-11-05 16:49 ` Richard Stallman
2022-11-05 17:04 ` Eli Zaretskii
2022-11-07 7:47 ` Richard Stallman
2022-11-07 12:52 ` Eli Zaretskii
2022-11-08 6:19 ` Gerd Möllmann
2022-11-08 9:54 ` João Távora
2022-11-08 10:35 ` Gerd Möllmann
2022-11-08 15:40 ` João Távora [this message]
2022-11-08 15:47 ` Stefan Kangas
2022-11-08 22:43 ` João Távora
2022-11-09 6:57 ` Gerd Möllmann
2022-11-09 7:23 ` Gerd Möllmann
2022-11-11 4:34 ` Richard Stallman
2022-11-11 9:25 ` Gerd Möllmann
2022-11-12 3:35 ` Richard Stallman
2022-11-19 22:51 ` [External] : " Drew Adams
2022-11-20 7:18 ` Eli Zaretskii
2022-11-20 18:55 ` [External] : " Drew Adams
2022-11-20 19:02 ` Eli Zaretskii
2022-11-22 12:14 ` [External] : " Richard Stallman
2022-11-22 14:22 ` Eli Zaretskii
2022-11-20 8:08 ` Gerd Möllmann
2022-11-12 3:35 ` Richard Stallman
2022-11-22 19:37 ` Matt Armstrong
2022-11-23 7:33 ` Juanma Barranquero
2022-11-26 23:32 ` Richard Stallman
2022-11-27 9:05 ` Juanma Barranquero
2022-11-30 23:55 ` Richard Stallman
2022-11-23 7:42 ` Gerd Möllmann
2022-12-14 22:21 ` Richard Stallman
2022-12-15 6:47 ` Eli Zaretskii
2022-12-17 14:53 ` Richard Stallman
2022-11-22 18:01 ` Matt Armstrong
2022-11-22 18:44 ` Eli Zaretskii
2022-11-23 0:55 ` Matt Armstrong
2022-11-23 7:49 ` Gerd Möllmann
2022-11-23 12:18 ` Eli Zaretskii
2022-11-11 4:35 ` Richard Stallman
2022-11-11 9:35 ` Gerd Möllmann
2022-11-11 12:09 ` João Távora
2022-11-11 13:01 ` Gerd Möllmann
2022-11-11 14:23 ` João Távora
2022-11-11 15:12 ` Gerd Möllmann
2022-11-12 9:17 ` João Távora
2022-11-12 13:00 ` Gerd Möllmann
2022-11-12 3:35 ` Richard Stallman
2022-11-05 21:47 ` Eduardo Ochs
2022-11-06 9:05 ` Michael Albinus
2022-11-06 11:19 ` João Távora
2022-11-11 4:35 ` Richard Stallman
2022-11-11 10:09 ` João Távora
2022-11-12 3:35 ` Richard Stallman
2022-11-12 10:11 ` João Távora
2022-11-12 14:36 ` Dmitry Gutov
2022-11-12 15:20 ` João Távora
2022-11-12 17:32 ` Dmitry Gutov
2022-11-12 18:45 ` João Távora
2022-11-14 1:03 ` Dmitry Gutov
2022-11-14 6:33 ` João Távora
2022-11-14 11:41 ` Dmitry Gutov
2022-11-14 13:41 ` João Távora
2022-11-14 3:13 ` Richard Stallman
2022-11-11 4:35 ` Richard Stallman
2022-11-11 8:53 ` Michael Albinus
2022-11-11 4:35 ` Richard Stallman
2022-11-11 7:10 ` Helmut Eller
2022-11-01 3:11 ` Ag Ibragimov
2022-11-02 20:11 ` João Távora
2022-11-03 5:12 ` Gerd Möllmann
2022-11-03 20:04 ` A short defense of shorthands.el (but CL packages are still better) (Was: Help sought understanding shorthands wrt modules/packages) João Távora
2022-11-04 3:28 ` Richard Stallman
2022-11-05 1:09 ` A short defense of shorthands.el (but CL packages are still better) João Távora
2022-11-07 7:44 ` Richard Stallman
2022-11-07 10:18 ` João Távora
2022-11-08 5:02 ` Richard Stallman
2022-11-08 5:18 ` João Távora
2022-11-05 3:13 ` Help sought understanding shorthands wrt modules/packages Richard Stallman
2022-11-06 11:31 ` João Távora
2022-11-08 0:27 ` Matt Armstrong
2022-11-08 4:52 ` João Távora
2022-11-08 5:34 ` Gerd Möllmann
2022-11-09 4:03 ` Richard Stallman
2022-11-09 5:42 ` Yuri Khan
2022-11-09 5:48 ` tomas
2022-11-09 6:02 ` Matt Armstrong
2022-11-09 7:15 ` Juanma Barranquero
2022-11-09 8:34 ` Gerd Möllmann
2022-11-09 10:07 ` Helmut Eller
2022-11-09 18:22 ` Matt Armstrong
2022-11-09 4:03 ` Richard Stallman
2022-11-09 5:13 ` Matt Armstrong
-- strict thread matches above, loose matches on Subject: below --
2022-11-07 21:20 Payas Relekar
2022-11-08 9:40 ` João Távora
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pmdxa1zn.fsf@gmail.com \
--to=joaotavora@gmail.com \
--cc=akrl@sdf.org \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=gerd.moellmann@gmail.com \
--cc=rms@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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).