Eli Zaretskii writes: As a simple example, say your package uses a defstruct defined using cl-defstruct. (cl-defstruct foo a b c ) Other files in the package use functions generated by defstruct such as make-foo and foo-a At present, when jitted, those other files produce warnings at random such as make-foo is not known to be defined. >> Date: Sun, 30 May 2021 06:57:54 -0700 (PDT) >> From: "T.V Raman" via "Bug reports for GNU Emacs, >> the Swiss army knife of text editors" >> >> >> 1. Large packages that span multiple files can have build-order >> dependencies e.g. files containing macros need to be built and >> loaded when compiling the rest of the package. > > I became stuck right here at the 1st item: what do you mean by "files > containing macros need to be built and loaded"? For the "loaded" > part, we use 'require' and 'eval-when-compile', and these work with > *.el files exactly as they do with *.elc or *.eln. So what exactly is > the problem you are alluding to here, and in particularly what happens > when you "build" these files with macros that requires them to be > built? > > Without understanding this, I cannot follow the rest of your > description. > > (Andrea, I hope you are following this.) -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♈ Id: kg:/m/0285kf1 🦮