Subject: Re: bug#78995: [PATCH] ;;;autoload-expand for special macros

From: Stefan Monnier <[email-masked]>
Date: Tue, 29 Jul 2025 17:29:49 -0400

> One big category of nil car's resulted from all the :autoload-end's around.

Oh, what you mean is that nil is when the element is not a cons cell?
Indeed that makes sense.
[ Cons cells with a nil element would be surprising, OTOH.  ]

> That leaves a number with explicit nil cars in their expansion, for
> whatever reason:

I think these have `nil` in the list of forms (that follows a `progn`),
but not in the `car` of one of the forms, right?  So again, it's when
`form` is not a cons-cell.
In any case, indeed those non-cons situations justify the "not nil" check.

> Probably define-minor-mode includes some bare symbols in the expansion?
> Are there good reasons for including non-forms in an autoload file?
> Bare strings or symbols?

No, they can be removed, but if we compile the `.el`, then the
compiler takes care of it for us.

>> I'll gladly push it, if you prefer, of course.
> No, it's a good chance to learn.  Will want to iterate on docs first, if
> you think its ready (I think it is).

I was thinking to do it in the single-hunk bug fix, which I do think is
ready (it just needs a commit message).

> Have you had a chance to test it "in the wild" with a custom macro?

No, not yet.  But I think the transient macros are a good test case.

        Stefan