emacs-devel
[Top][All Lists]
Advanced

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

Re: More reliable byte compilation, take 45


From: Adam Porter
Subject: Re: More reliable byte compilation, take 45
Date: Tue, 05 Oct 2021 09:06:01 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> And that's all?  Then why not fix that problem right away, it sounds
>> like something that should be easy to fix.  (Though I'm not sure I
>> understand why "some other ELisp file was not loaded beforehand" -- is
>> that a case of a missing 'require' or 'eval-when-compile' or somesuch?)
>
> Often the problem is with packages where you basically have to load
> all/most the files before you can call any of its functions (because of
> mutual dependencies between the files) and where the authors never
> compile the code or only ever compile the code from a running session
> where the files have already been loaded.
>
> Fixing those can be a pain in the rear, not only because of the amount
> of code you need to move between files to disentangle the dependencies,
> but also because it requires educating the authors about it (they may
> not see the value/importance).
>
>> Ah, so the problem is with buggy *.el files, and only with them?
>
> Yes, tho the authors may disagree about the characterization of "buggy",
> in the sense that it works reliably *if* you compile the code by running
> their Makefile.

FWIW, I mostly solved this kind of problem in my own packages by using
makem.sh to lint compilation, which now compiles each file separately:

https://github.com/alphapapa/makem.sh

It detects project Elisp files automatically, so it doesn't require
writing a Makefile or other configuration, which makes it easier for
package authors to use.




reply via email to

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