emacs-devel
[Top][All Lists]
Advanced

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

Re: What to do about unmaintained ELPA packages


From: João Távora
Subject: Re: What to do about unmaintained ELPA packages
Date: Mon, 30 May 2022 15:46:11 +0100

On Mon, May 30, 2022 at 7:58 AM Philip Kaludercic <philipk@posteo.net> wrote:
Dmitry Gutov <dgutov@yandex.ru> writes:

Considering the number of issues that have been gathering in the above
mentioned issue tracker, I find it increasingly difficult to say it is
"stable".  It is far from being "bitrotten", but there is plenty of
space between the two.

Yes, I agree with this characterization.  Yasnippet's "display engine", though
highly tested (automatically and manually) is complex.  I recall some bugs
when interacting with other packages that make heavy use of indenting tricks
and overlays.  While these are the minority (as far as I know), Org is one
such package and it's pretty prominent. 

On the other hand, last time browsed the issue tracker, there were very many
specialized feature requests that wouldn't (IMO) make sense in the Yasnippet
engine.  Integrating them would be hard and awkward and it would turn it into
something else entirely. So, in that sense, Yasnippet is stable.

One interesting area of Yasnippet development is in its 'snippet-engine'
branch, in a file called simply snippet.e'.  It is the product of an exchange of
ideas between me and Stefan Monnier some years ago.  It's a bare-bones version
of Yasnippet's snippet expansion and navigation engine, more efficient and
Lisp-friendly.  The goal was to replace Yasnippet's engine in the master branch
with it. 

Alas, motivation fizzled and work stalled.  But it was pretty spiffy and almost
done.  As I recall, snippet definitions were simply Elisp forms, written in a
nice DSL which was not particularly obtrusive.  snippet.el is more or less
yasnippet.el done right.

snippet.el could be useful in light of a relatively recent development: LSP.

If I've ever actually used Yasnippet recently, it's been through LSP/eglot,
completely transparently.  When used though LSP, a lot of Yasnippet's legacy,
bug-prone, wish-I-was-Textmate, dont-really-know-elisp code isn't being
exercised at all. 

I've personally abandoned the idea of maintaining personal or shared
language-specific snippet collections via many little text files.  I would guess
others have, too.  LSP servers simply maintain that collection for you, as
they do so many other things, and that's agreeable to me.

It's true that LSP still uses the Textmate snippet description language, and
snippet.el accepts Lisp forms (as it should).  But translating from the former
to the latter isn't very hard (in fact someone over at the repo did it some years
ago).

To summarize, I don't have any particularly strong opinion on what should be done
with Yasnippet. In fact, I don't even know what problem Philip is trying to solve!
Is it just the general idea of abandonment of the fact that people's issue reports
go unanswered?  If the latter, then I think archiving the repo would make sense.  No
more issue reports would come in and one could advertise the Emacs bug tracker.
Would that improve things?

I do think that it's important to preserve the documentation though, as many people
seem to refer to it still. Or maybe transfer it to a more GNU ELPAish location/format.

Who knows if the description above motivates someone to pick up 'snippet.el',
finalize it, and make a new GNU ELPA package?  Or maybe it motivates someone
to pick up the maintenance of the existing Yasnippet. 

So let me and Noam know if you wish me to do something admin with the repository. 
While Noam is the official maintainer, I think I still retain those rights.

João




reply via email to

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