Subject: bug#55905: warn about misplaced or duplicated doc strings, `declare` or `interactive` forms

From: Lars Ingebrigtsen <[email-masked]>
Date: Sat, 11 Jun 2022 14:44:59 +0200

Mattias Engdegård <[email-masked]> writes:

> In function definitions, doc strings, `declare` and `interactive`
> forms are each optional but must appear in that order and duplications
> are not permitted. Many violations against these rules go undetected.
>
> The attached patch adds checks to `defun` and `defmacro`. Violations
> result in compilation warnings but it could be changed into hard
> errors if desired. It also accepts `(:documentation EXPR)` as
> alternative to a doc string literal, which currently doesn't work i
> all cases.

This is most welcome -- I can never remember myself what the order of
declare and interactive is.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no