Subject: Re: bug#25556: 26.0.50.1; Requiring uncompiled eieio issues obsoletion warnings

From: Glenn Morris <[email-masked]>
Date: Thu, 15 Mar 2018 21:31:34 -0400

David Engster wrote:

> Regarding eieio-object-name-string, the issue is indeed that it is first
> defined via cl-defgeneric with an obsolete declaration, which in turn
> means that any (uncompiled) cl-defmethod will issue an obsoletion
> warning (so in this case twice: for eieio and eieio-named in
> eieio-base.el).
>
> So couldn't we just simply remove the cl-defgeneric for
> eieio-object-name-string, and use make-obsolete instead?
>
> Stefan, what do you think?

Returning to this topic:
It seems eieio-object-name-string has been de-obsoleted, but the fact
that object-print is now obsolete causes 157 identical warnings
when bootstrapping:

  eieio.el: `object-print' is an obsolete generic function (as of 26.1);
  use `cl-print-object' instead.

Minimal example:
rm lisp/emacs-lisp/eieio.elc
and byte-compile any file that requires 'eieio.

It would be great if cl-defmethod only warned when it was in the file
actually being compiled.