Subject: bug#56743: 29.0.50; Sharing .eln files beween different builds

From: Andrea Corallo <[email-masked]>
Date: Mon, 25 Jul 2022 19:57:48 +0000

Eli Zaretskii <[email-masked]> writes:

>> From: Stefan Monnier <[email-masked]>
>> Cc: [email-masked]
>> Date: Sun, 24 Jul 2022 13:49:42 -0400
>> 
>> >> It would be good to try and make sure the `.eln` files can be shared
>> >> between different builds of the release tarballs (ie. the exact same
>> >> source code, just configured differently).  This would be beneficial for
>> >> example for distributions like Debian which offer `emacs-nox`,
>> >> `emacs-gtk`, and emacs-lucid` variants, which could then share the
>> >> `.eln` files.
>> >
>> > You want to remove the dependence of .eln files on the primitives that
>> > are implemented in C?
>> 
>> No, just make sure the hash used to find the `.eln` doesn't depend
>> whether the build is made with Lucid or Gtk or something else.
>
> AFAIU, if the set of the primitives is identical in the builds, the
> *.eln files should be compatible.  But I think there are primitives in
> some of these builds that don't exist in others; thus my question.

That's correct.  IIUC this is what Stefan meant as well.

>> IIUC this mostly means that all the Gtk/Lucid/X11-specific
>> functions&variables exported to ELisp will need to be exported in all
>> the builds (probably with dummy definitions).
>
> Even if this makes sense (and I'm not sure it does), this is a lot of
> work for very little gain.

Other than the work to go there the maintenance might not be trivial, and
elns most likely would be still not compatible between Emacs versions.

That said I can't comment on the trade off.

  Andrea