Subject: 26.3; The info doc of eieio-class-name is outdated and its value looks incorrect

From: Xu Chunyang <[email-masked]>
Date: Tue, 26 Nov 2019 01:08:53 +0800

I sent this report two days ago, but it seems it is not received
because debbugs.gnu.org was down.

---------- Forwarded message ---------
From: Xu Chunyang <[email-masked]>
Date: Sun, Nov 24, 2019 at 11:11 PM
Subject: 26.3; The info doc of eieio-class-name is outdated and its
value looks incorrect
To: <[email-masked]>

(info "(eieio) Predicates") mentions

 -- Function: eieio-class-name class
     Return a string of the form ‘#<class myclassname>’ which should
     look similar to other Lisp objects like buffers and processes.
     Printing a class results only in a symbol.

but it is not right, the value is not string at all, it's a symbol

  (defclass my-class () ())
  ;; => my-class

  (eieio-class-name 'my-class)
  ;; => my-class

  (type-of (eieio-class-name 'my-class))
  ;; => symbol

The git master produced the same result as Emacs 26.3. I notice Emacs
24.3's class-name produces the expected result and the function is
replaced by eieio-class-name since 24.4

   (define-obsolete-function-alias 'class-name #'eieio-class-name "24.4")

however, these two functions are different. It seems eieio-class-name
contains a bug, the name suggests its value is a string, but it
returns a symbol.