emms-help
[Top][All Lists]
Advanced

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

Re: Emms and old Emacsen


From: Yoni Rabkin
Subject: Re: Emms and old Emacsen
Date: Wed, 06 Sep 2023 17:04:23 -0400
User-agent: Gnus/5.13 (Gnus v5.13)

Petteri Hintsanen <petterih@iki.fi> writes:

> Hello Yoni,
>
> There are two new features in Emacs 28 pertinent to emms-info-native:
>
> - Shorthands: we could use these to shorten long symbols, e.g.
>   `emms-info-native-mp3-FOO' to `einm-FOO'.  It would make the code more
>   readable and easier to type.

My understanding of shorthands was that they were added as a way for
emacs to incorporate some strangely named libraries (s.el), and not as a
way to name libraries strangely. Shorthands is a way of renaming poorly
named libraries in order to make them behave in the larger emacs
namespace. Therefore, I don't think they should be used to solve the
readability problem.

Here is what Eli had to say about shorthands back in the day (30 Oct
2022):

    """Before everyone starts presenting here that we made some
     nonsensical decision when we added shorthands, let me remind us
     that it was added to allow us to use packages like "s"
     (https://github.com/magnars/s.el), "f"
     (https://github.com/rejeep/f.el) and other similar ones, which use
     "problematic" function names.  We wanted to be able to use packages
     which have dependencies of those, while at the same time providing
     reasonably-named aliases for them.  (Gerd wasn't around back then,
     so he is excused, but the rest of us were here, so please let's not
     pretend those discussions never happened.)"""

Shorthands, and the larger question of packages in elisp, are a sticky
subject for sure. I don't think that the discussion is going away
anytime soon.

To my mind, one solution would be a package which displays text
"emms-info-native-mp3-FOO" as "einm-FOO" but leaves the underlying
string untouched. This way the programmer would have a tidier screen,
and the reader/compiler would be none the wiser. In other words,
something implemented at the level of the display and not the
reader. Does something like that already exist? In any case, that isn't
the problem shorthands was designed to solve.

> - Reworked bindat package, which is cleaner and more amenable to byte
>   compilation than earlier versions.  There is a talk in EmacsConf 2021
>   about this: https://emacsconf.org/2021/talks/bindat/
>
> I think these could be beneficial, especially the new bindat package.
> But they would work only with Emacs 28 and newer, so backward
> compatibility with older Emacsen would be broken.  What do you think
> about this?

This sounds very useful, but I can't find anything about this change to
bindat. Do you have a link to the emacs-devel thread or similar? I
assume there is a list of compatibility issues for developers to check
out.

> For bindat we could perhaps hack some compatibility layer, but for
> shorthands I don't think it is possible because it interacts with the
> Lisp reader.
>
>
> Thanks,
> Petteri
>

-- 
   "Cut your own wood and it will warm you twice"



reply via email to

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