Maxim Cournoyer <maxim.courno...@gmail.com> writes: > Ludovic Courtès <l...@gnu.org> writes:
[...] >> The ‘define-deprecated’ macro turns the given symbol into a macro; that >> macro raises a warning a compile time (in a way, this is similar to the >> ‘deprecated’ attribute in GCC). >> >> Since this is a macro, it must be in scope for any user that references >> it. Likewise, any file built against the previous definition (where >> ‘dhcp-client-service-type’ was *not* a macro) must be rebuilt against >> the new one; otherwise, you get the error above where the user expected >> ‘dhcp-client-service-type’ to resolve to a struct and now it resolves to >> a macro (aka. “syntax transformer”). > > Thanks for the clear explanation, it helps! So it has nothing with > requiring byte-compiling, rather it has to do with ensuring all > byte-compiled objects are rebuilt when used references such as syntax > objects change, right? Yes, exactly. Ludo’.