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’.

Reply via email to