Subject: bug#64232: 28.2; Incorrect(?) byte compilation warning about ‘ansi-color-apply-on-region’

From: Michael Heerdegen <[email-masked]>
Date: Fri, 30 Jun 2023 06:02:36 +0200

Stefan Monnier <[email-masked]> writes:

> Someone™ should sit down and figure out how to make `bytecomp.el` keep
> track of those things more reliably/predictably.
> In the mean time, maybe we can simply tweak `byte-compile-eval` so it
> never adds to `byte-compile-noruntime-functions` functions which have
> already been seen/declared during the current compilation?
>
>
> diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
> index 99202185d8d..cfec4b3be06 100644
> --- a/lisp/emacs-lisp/bytecomp.el
> +++ b/lisp/emacs-lisp/bytecomp.el
> @@ -1128,7 +1128,8 @@ byte-compile-eval
>  		     ;; we arguably should add it to b-c-noruntime-functions,
>                       ;; but it's not clear it's worth the trouble
>  		     ;; trying to recognize that case.
> -		     (unless (get f 'function-history)
> +		     (unless (or (get f 'function-history)
> +                                 (assq f byte-compile-function-environment))
>                         (push f byte-compile-noruntime-functions)))))))))))))

Seems appropriate (and fixes this bug).

Actually with that patch the situation looks already quite ok'ish to me.

Thx,

Michael.