Subject: 25.0.50; EIEIO: Display of parents in help buffer broken
From: David Engster <[email-masked]>
To: [email-masked]
Date: Tue, 17 Feb 2015 23:10:50 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

In latest Emacs from Git (16d91bce1d05), evaluate

 (require 'eieio)
 (defclass foo () ())
 (defclass foochild (foo) ())

and then

  C-h f foochild RET

and you'll get an "Wrong type argument" error with the following
backtrace:

Debugger entered--Lisp error: (wrong-type-argument symbolp [defclass foo nil (foochild) #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ()) nil nil nil [] nil nil nil nil nil nil nil nil [] nil nil nil nil nil [] [eieio-class-tag--foo] (:custom-groups nil)])
  symbol-name([defclass foo nil (foochild) #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ( ...)) nil nil nil [] nil nil nil nil nil nil nil nil [] nil nil nil nil nil [] [eieio-class-tag--foo] (:custom-groups nil)])
  eieio-help-class(foochild)
  eieio-help-constructor(foochild)
  run-hook-with-args(eieio-help-constructor foochild)
  describe-function-1(foochild)
  describe-function(foochild)
  funcall-interactively(describe-function foochild)
  call-interactively(describe-function nil nil)
  command-execute(describe-function)

Another small nitpick: If you do

  C-h v foo RET

you'll see

 This variable is obsolete since 25.1;
 use 'foo instead

which is confusing.

-David